Skip to main content
Skip table of contents


Release notes


Release date: January 31, 2024.

Release version: 3.0.8790.22039

New features

  • Alerts

    • It is now possible to contruct alert emails with formatted text (not only plain text).

  • Document type configuration

    • It is no longer possible to associate a document type with a xsd schema for CDM. If the message needs to be validated at the CDM stage, the solution is to unclude an itinerary step that does so.

  • Document retention

    • It is now possible to specify how long to keep documents and information related to documents. There are configurable default thresholds as well as possibility to deviate from the default thresholds on a document type level.

  • Monitor

    • Improved performance when opening a monitor item.

  • Ingoing control

    • A new Ingoing Control plugin has been added, that can can be configured to update statuses based on an xml file.

    • For Ingoing Control plugins that identifies messages based on globally unique identifiers (DocumentGuid, InterchangeGuid, TransmissionId), the requirement that sender and receiver should match sender and receiver of the original message (in the reverse order) is removed.

  • HTTP Steps (both transport and itinerarys step)

    • It is now possible to bypass certificate validation (which is not recommended but can be necessary when communicating with sites using self-signed certificates).

  • Test tool

    • It is now possible to add documents to a test-case where the expected test output is taken from an additional backup file associated with the interchange/documents. This is a feature that is utilized in migration scenarios where the expected output file is provided when posting the message to Link (Inbox).

  • Public API

    • It is now possible to deploy artifacts (both assembly and xml artifacts) throug Links API.

    • Async tracking

      • A framwork within Link for tracking message flows, that are not processed in Links runtime engine. This are operations to track documents and related files and statuses in a fire & forget patterne for optimal performance and throughput.

  • HTTP handlers

    • When a http handler is registered the actual full endpoint for that handler is given, so that it can be copied and given to whomever should call it.

  • AS4 outbound

    • HTTP header user-agent is added when sending AS4 messages. This is added since this results in firewall rejections for various service providers.

  • Better handling of system shutdowns

    • Some interfaces for Link plugins where missing a CancellationToken in their primary invokation methods. For these plugin there has come a new version of the interface (the old will be obsolete at some point). So now that all plugins get a Cancellation token we are in a position to make shutdowns go faster, since whatever process i currently in action can get notified when a shutdown is taking place.

Fixed bugs:

  • SFTP Polling locations

    • Default timeouts have been added as unresponsible SFTP Server could cause the connection to stall.

  • Import of Errorcodes showed a wrong display of :undefined

    • This has now been fixed so it just says new

  • Import of partner fails with exception when id exsit on another partner

    • Now give a nice error message

  • Create Format type/Format/Variant/Variant Version gives excpetion when allready exist

    • Now gives nice error

  • Import of XSLT with include/import gives error

    • It is now possible

  • Format Type - Grid keep data of deleted record

    • Will now update and reflect change

  • Possibility to update artifact with dependecy dll that is placed under wrong category

    • Fixed so it is checked on update that the new dll still belongs to same interface

  • Tracking field creation groups not showing

    • When creating a new tracking field the groups will not show a newly created group unless you click back and edit. This is now fixed so new groups are added right away.

  • My profile - could be saved with blank in name

    • Not possible anymore

  • Data groups of type partners - show a partner multible times

    • When adding and removing a proxy partner the partner will be shown twice in the list. This is now solved.

  • Format types - show log - reset removed lines

    • If you click show log and it shows some lines, and you without filtering log click “reset search” it should show the same lines. This has been fixed.

  • Changing document type on a Document Config might cause strange issues if that is already in use. It has now been locked so it is no longer possible to change document type after a document configuration has been created.

  • Event host crashed if it is not possible to send mail to stakeholder

  • Import compare fails when bandwith to low to get result

    • Now wait for result

  • XmlDisassembler puts namespace on all elements

    • Now it dont change anything

  • Improvements to the JSON disassembler and assembler

    • Both the disassembler and the assembler now handle xml attributes in the same way.
      The disassembled xml now contains metadata (xml attributes) that reflect non-string data types. The assembler is able to interpret the same attributes when assembling to JSON.

  • Settings grid behave strangely

    • When you group white space apear. Has now been fixed

  • Batched documents failing in send caused exception

    • Now send can handle batched documents

  • Changing error handling stakeholder did not clear cache

  • SFTP Monitor - Invalid cast exception

  • Resuse of idenfification value on another parter that was deleted did not work

  • Error while resending interchange in Inbox state

  • Change encoding fail in case of small xml document with xml declaration

  • ControlIn handling did not create exception instance but only failed the document

  • Mail template macroes not resolved is now output as blank. By mistake the name of the macro was written.

  • Edifact Assembler - overwrite UNB6_1 and UNB6_2 now works no matter how they are set on partner

  • Saved seach below tracking didn’t work until you refreshed

  • Document number macro on inbound location did not work

  • Partner import could result in nullreference exception

Breaking changes:

In this release several old classes/interfaces have been removed or changed - see the list below. We have analyzed existing solutions and have concluded that no Link 3 instances will be affected by the changes.

However, we always recommend testing any custom-built artifacts with new releases prior to performing an upgrade.

JSON disassembler improvements

The Json disassembler has been improved with some features that might break existing schema validations because of the attributes.

Our recommendation is not to validate the direct output of the disassembler, but instead map the output to a new defined format, that reflects the business rules (or map it to the CDM and validate that).

Package: Bizbrains.Link.Base.Implementations

  • Removed classes/interfaces

    • Removed class: Bizbrains.Link.Base.Implementations.MessageProperties.PropertyContainers.ItineraryStepsDistributionJsonConfigs

Package: Bizbrains.Link.Repositories

  • Changed classes/interfaces

    • Class: Bizbrains.Link.Repositories.Transaction.Tracking.Entities.TrackingSearcher

      • Removed property: String XmlTrackingFields

    • Interface: Bizbrains.Link.Repositories.Configuration.User.IRoleRepository

      • Obsolete: Task<RoleEntity> Save(RoleEntity roleEntity, IEnumerable<Int32> permissionIds) (will be removed in future versions)

    • Interface: Bizbrains.Link.Repositories.Configuration.User.IUserGroupRepository

      • Obsolete: Task<UserGroupEntity> Save(UserGroupEntity userGroup, IEnumerable<Int32> roleIds, IEnumerable<Int32> dataGroupIds) (will be removed in future versions)

Package: Bizbrains.Link.Services

  • Changed classes/interfaces

    • Class: Bizbrains.Link.Services.Configuration.Transport.Models.TransportAndConfig`1

      • Removed property: TransportConfigEntityBase TransportConfig

      • Removed property: TransportTypeEntity TransportType

    • Interface: Bizbrains.Link.Services.Configuration.Partner.IDataAccessService

      • Obsolete: Task<IEnumerable<DataAccessRestrictionItem>> GetDocumentTypeIdsUserHasAccessTo() (will be removed in future versions)

    • Interface: Bizbrains.Link.Services.Configuration.Partner.IPartnerService

      • Obsolete: Task<Int64> GetNextPartnerSequenceNumber(Int32 partnerId) (will be removed in future versions)

      • Obsolete: Task<Int64> GetPartnerOutSequenceNumber(ILinkPropertyBag linkPropertyBag) (will be removed in future versions)

      • Obsolete: Task<Int64> GetPartnerInSequenceNumber(ILinkPropertyBag linkPropertyBag) (will be removed in future versions)

    • Interface: Bizbrains.Link.Services.Smtp.ISmtpService

      • Obsolete: Task Send(String from, String recipients, String subject, String body, Boolean isBodyHtml, CancellationToken cancellationToken) (will be removed in future versions)

      • Obsolete: Task Send(MailMessage message, CancellationToken cancellationToken) (will be removed in future versions)

    • Interface: Bizbrains.Link.Services.Smtp.IStakeholderMailService

      • Obsolete: Task Send(Int32 stakeholderId, String templateKey, IDictionary<String, String> macros, Boolean isUrgent) (will be removed in future versions)

      • Obsolete: Task Send(Int32 stakeholderId, String subject, String body, IDictionary<String, String> macros, Boolean isUrgent) (will be removed in future versions)

    • Interface: Bizbrains.Link.Services.Smtp.ITemplateSmtpService

      • Obsolete: Task Send(String templateKey, IDictionary<String, String> macros, String from, IEnumerable<String> to, IEnumerable<String> cc, IEnumerable<String> bcc, MailPriority priority) (will be removed in future versions)

      • Obsolete: Task Send(String subject, String body, IDictionary<String, String> macros, String from, IEnumerable<String> to, IEnumerable<String> cc, IEnumerable<String> bcc, MailPriority priority) (will be removed in future versions)

    • Interface: Bizbrains.Link.Services.Tools.TestTool.ITestToolService

      • Removed method: Task AddDocumentsToTestCase(Int32 testCaseId, IEnumerable<Int64> documentIds, Boolean includeInterchange)

    • Interface: Bizbrains.Link.Services.Configuration.Transport.ITransportService

      • Removed method: Task<TransportAndConfig<T>> GenerateTransportImplementation(TransportConfigEntityBase transportConfig)

      • Removed method: Task<TransportOutConfigurationEntity> GetTransportOutConfiguration(ILinkMessage linkMessage)

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.