Documentation for a newer release is available. View Latest

Release Notes for IPF-2024.3.0

This page details everything required to get going on IPF Release 2024.3.0 made available on 20th November 2024.

Change Spotlight

You must choose whether to start exporting IPF Processing Data in the V2 schema (the default if you do nothing), or in the existing V1 schema. To pin/fix the data model version, use ipf.processing-data.egress.schema-version = 1 to stay with the current version, or ipf.processing-data.egress.schema-version = 2.

See the migration guide for Migration Steps for IPF Processing Data Version 2.

  • Archetype has now been replaced by ipf-project-scaffolder

The latest version of the scaffolder is 1.0.5

Instructions on how to use the scaffolder to create new projects are here

Fix Spotlight

  • More descriptive error handling in Identity Resolution (PAY-9675)

  • Circuit Breakering and Retry configuration is now more flexible and intuitive to configure (PAY-4362)

Non Breaking Changes

  • The IPF Processing Data ingress receive connector supports handling a batch of records when using Kafka. Handling a batch of IPF Processing Data envelopes is opt-in and requires a code-change supplying a batch handler. The existing non-batched handler continues to be supported.

  • reference.conf added to the configuration hierarchy for IPF modules (where configuration is local to the module and not for a dependency)

Breaking Changes

  • As part of the continued drive for better re-usability across DSL components, response and reason codes are now only generated once for the model that they are defined within. This means that the packaging of these classes may change, particularly if using the core 'AcceptOrReject' or 'IsoReasonCodes'. See the migration guide for further details.

  • IPF produces IPF Processing Data in the V2 schema by default. To remain on V1 set ipf.processing-data.egress.schema-version = 1. See the migration guide for further details.

  • As part of the IPF test framework update, in class com.iconsolutions.ipf.core.test.kafka.KafkaTestTransporter, withProducerConfig and withConsumerConfig have been removed from the builder. withPropertiesPath should be used to build this class.

  • Validation interfaces moved into separate API. Previously in Clear and Settle API - customers using the validation api, will also need to add the validation-api jar

  • Extension Point API and client port moved into its own API project (previously was contained in SEPA CT API). SEPA CT API, now depends on the Extension Point API project

    • Specifications for both V1 and V2 can be found here.

  • Notification-service interface AdditionalPaymentObjectHandler updated to decouple from IPF processing data model. See notification-service changes for migration details

  • IPF Archiver produces archive bundles in the V2 IPF Processing Data schema by default. If you want to continue to use the V1 schema, it must be enabled with ipf.archiver.bundle.schema-version = 1.

  • To ensure BigDecimal datatypes in business data that have values with trailing zeros (e.g. 15.00) no longer lose precision during payment processing or when this data is exported to ODS, the jackson deserialization feature USE_BIG_DECIMAL_FOR_FLOATS has been enabled by default in:

    • the akka serialization config in ipf-common-starter-core via the parameter:

      • akka.serialization.jackson.deserialization-features.USE_BIG_DECIMAL_FOR_FLOATS=on

    • the SerializationHelper utility class via the ObjectMapper property:

      • DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS

  • If you wish to override this new default behaviour:

    • add the following config parameter to your application config file:

      • akka.serialization.jackson.deserialization-features.USE_BIG_DECIMAL_FOR_FLOATS=off

    • Create a custom object mapper implementation using the SerializationHelper.objectMapper() method, and disable the DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS property:

      • SerializationHelper.objectMapper().disable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS)

  • withResiliencySettings(ResiliencySettings resiliencySettings) has been deprecated and has been replaced with Function<ResiliencySettings, ResiliencySettings> resiliencySettingsCustomiser

Release Details

Binaries

The core binaries are available from IPF-Releases.

Lightbend Telemetry (formerly known as "Cinnamon") binaries are available from IPF Lightbend.

Akka/Alpakka binaries from 2.9.x onwards are no longer on Maven Central and are available from the Akka Library Repository which Icon mirror.

To enable the new mirror, add the following to your settings.xml in the <repositories> section:

<repository>
  <id>akka-repository</id>
  <name>Akka library repository</name>
  <url>https://nexus.ipf.iconsolutions.com/repository/akka-repository</url>
</repository>

Some MPS dependencies are also mirrored by Icon and can be found by adding the following repository to the same section:

<repository>
  <id>icon-thirdparty</id>
  <name>IPF icon-thirdparty repository</name>
  <url>https://nexus.ipf.iconsolutions.com/repository/icon-thirdparty</url>
</repository>

Add the following to your <servers> section for each new repository:

<server>
  <id>Repository_name_here</id>
  <username>xxxx</username>
  <password>xxxx</password>
</server>

Where xxxx is the username and password repectively provided to you by Icon.

Developer App

The latest version of the Developer App is 2.3.23

2024.3.0 Jar/Pom list

The Jars and Poms for 2024.3.0 and the associated versions are listed here: 2024-3-artifacts.xlsx