FD-2503

Release Date: 2025-04-17

Software Version

The document refers to the following applications and corresponding software versions:
Application Version
Basket Client SDK 3.0.0-beta01
Basket Service 4.0.0
Item Registration Service 4.0.0
Checkout Service 3.0.0
Basket Finalization Service 2.0.0
Basket Event Bridge Service 2.0.0
Basket Notification Service 2.0.0
Offer Registration Service 2.0.0

What's New - Basket Client SDK

This release contains no new features.

Resolved Issues

Issue Key Summary Change Description
POCP-76487 Fixed naming issues in exported Objective-C code
  • Added missing klogger and oshai-kotlin-logging dependencies
  • Improves iOS integration experience
POCP-76488 Enhanced synchronization capabilities
  • Added missing AN synchronization trigger when device transitions from offline to online
  • Ensures seamless data consistency across network state changes
POCP-76579 Improved Active Basket observation
  • Fixed issue where empty flows were not triggering state updates
  • Provides more reliable basket state monitoring
POCP-76585 Enhanced error handling
  • Fixed mapping of voidedLineItem error
  • Improves error reporting and debugging

What's New - Basket Service

Spring 6, Spring Boot 3 & Java 17

This upgrade brings several important technical improvements that modernize the application stack and enhance long-term maintainability:

  • Java 17 Support (LTS): Leverages new language features (sealed classes, records, pattern matching) and improved performance with long-term support from the Java platform.
  • Spring Boot 3 Migration: Introduces Jakarta EE 9 namespace alignment, updated configuration options, and improved observability with Micrometer and Actuator enhancements.
  • Spring Framework 6 Compatibility: Enables baseline support for native compilation with GraalVM and improved baseline for reactive and modular applications.
  • Improved Security Defaults: Updated security configuration aligns with the latest Spring Security practices and deprecates legacy patterns.
  • Dependency & API Modernization: Cleans up deprecated APIs, updates third-party libraries, and ensures alignment with modern ecosystem standards.
Norway Fiscalization

This feature introduces support for fiscalization in Norway, following a modular and extensible approach:

  • Fiscal Service Integration for Norway: Implements communication with the official Norwegian Fiscal Service for transactions where countryCode = "NO".
  • Country-Specific Logic: Maps the fiscal service response directly into the basket transaction, ensuring compliance with local fiscal regulations.
  • Plugin-Like Design: Designed as a removable plugin, enabling easy exclusion or replacement without affecting the core system.
  • Inspired by POS Server Country Packages: Follows the same modular architecture as the POS Server country packages, allowing teams to develop and integrate their own fiscal modules independently.
  • Separation of Concerns: Isolates Norwegian fiscal logic to maintain clean, maintainable, and scalable code within the BAS project.
Issue Key Summary Change Description
POCP-74886 Upgrade to Spring 6, Spring Boot 3, and Java 17 Migrated the project to Spring Framework 6, Spring Boot 3, and Java 17 to leverage the latest features, improved performance, enhanced security, and long-term support. This upgrade may include changes to dependencies, configuration properties, and APIs to align with the latest platform standards.
POCP-75299 Norway Fiscalization Implemented fiscalization support for Norway by integrating with the Norwegian Fiscal Service for transactions with countryCode = "NO". The solution is designed as a modular plugin, similar to the POS Server country packages, allowing for easy removal or replacement without impacting the core system.

Resolved Issues

Issue Key Summary Change Description
POCP-76412 Call Fiscal Service Norway with service token After the S2S server part is implemented on Fiscal Service NO, it should be called with the service token. New roles might be added to the basket-service service token. The fiscal team should be consulted.
POCP-76170 Add inputCount to ADD_NONPERSONALIZED_COUPON Added inputCount to the ADD_NONPERSONALIZED_COUPON action request so that ORES can map it.

What's New - Item Registration Service

Spring 6, Spring Boot 3 & Java 17

This upgrade brings several important technical improvements that modernize the application stack and enhance long-term maintainability:

  • Java 17 Support (LTS): Leverages new language features (sealed classes, records, pattern matching) and improved performance with long-term support from the Java platform.
  • Spring Boot 3 Migration: Introduces Jakarta EE 9 namespace alignment, updated configuration options, and improved observability with Micrometer and Actuator enhancements.
  • Spring Framework 6 Compatibility: Enables baseline support for native compilation with GraalVM and improved baseline for reactive and modular applications.
  • Improved Security Defaults: Updated security configuration aligns with the latest Spring Security practices and deprecates legacy patterns.
  • Dependency & API Modernization: Cleans up deprecated APIs, updates third-party libraries, and ensures alignment with modern ecosystem standards.
Issue Key Summary Change Description
POCP-74887 Upgrade to Spring 6, Spring Boot 3, and Java 17 Migrated the project to Spring Framework 6, Spring Boot 3, and Java 17 to leverage the latest features, improved performance, enhanced security, and long-term support. This upgrade may include changes to dependencies, configuration properties, and APIs to align with the latest platform standards.

Resolved Issues

Issue Key Summary Change Description
POCP-76586 Investigate 400 Bad Request on Add Empties Transaction Analyzed the 400 Bad Request error returned by the transaction pool during the "Add Empties Transaction" request. Verified behavior across environments and confirmed that the issue does not occur on the QA cloud. The investigation focused on identifying whether the root cause lies within SDC or IRES.

What's New - Checkout Service

Spring 6, Spring Boot 3 & Java 17

This upgrade brings several important technical improvements that modernize the application stack and enhance long-term maintainability:

  • Java 17 Support (LTS): Leverages new language features (sealed classes, records, pattern matching) and improved performance with long-term support from the Java platform.
  • Spring Boot 3 Migration: Introduces Jakarta EE 9 namespace alignment, updated configuration options, and improved observability with Micrometer and Actuator enhancements.
  • Spring Framework 6 Compatibility: Enables baseline support for native compilation with GraalVM and improved baseline for reactive and modular applications.
  • Improved Security Defaults: Updated security configuration aligns with the latest Spring Security practices and deprecates legacy patterns.
  • Dependency & API Modernization: Cleans up deprecated APIs, updates third-party libraries, and ensures alignment with modern ecosystem standards.
Issue Key Summary Change Description
POCP-74888 Upgrade to Spring 6, Spring Boot 3, and Java 17 Migrated the project to Spring Framework 6, Spring Boot 3, and Java 17 to leverage the latest features, improved performance, enhanced security, and long-term support. This upgrade may include changes to dependencies, configuration properties, and APIs to align with the latest platform standards.

Resolved Issues

This release contains no resolved issues.

What's New - Basket Finalization Service

Spring 6, Spring Boot 3 & Java 17

This upgrade brings several important technical improvements that modernize the application stack and enhance long-term maintainability:

  • Java 17 Support (LTS): Leverages new language features (sealed classes, records, pattern matching) and improved performance with long-term support from the Java platform.
  • Spring Boot 3 Migration: Introduces Jakarta EE 9 namespace alignment, updated configuration options, and improved observability with Micrometer and Actuator enhancements.
  • Spring Framework 6 Compatibility: Enables baseline support for native compilation with GraalVM and improved baseline for reactive and modular applications.
  • Improved Security Defaults: Updated security configuration aligns with the latest Spring Security practices and deprecates legacy patterns.
  • Dependency & API Modernization: Cleans up deprecated APIs, updates third-party libraries, and ensures alignment with modern ecosystem standards.
Issue Key Summary Change Description
POCP-74890 Upgrade to Spring 6, Spring Boot 3, and Java 17 Migrated the project to Spring Framework 6, Spring Boot 3, and Java 17 to leverage the latest features, improved performance, enhanced security, and long-term support. This upgrade may include changes to dependencies, configuration properties, and APIs to align with the latest platform standards.

Resolved Issues

Issue Key Summary Change Description
POCP-74239 Call POS Service with service token Updated the integration with the POS Service to authenticate requests using the service token, following the implementation of the S2S server-side logic on the POS Service. Ensured proper token handling and coordination with the POS Service team regarding any new roles required for basket-finalization-service.
POCP-74237 Call SVS with service token Updated the integration with SVS to authenticate requests using the service token, following the implementation of the S2S server-side logic on SVS. Ensured proper token handling and coordination with the SVS team regarding any new roles required for basket-finalization-service.

What's New - Basket Event Bridge Service

Spring 6, Spring Boot 3 & Java 17

This upgrade brings several important technical improvements that modernize the application stack and enhance long-term maintainability:

  • Java 17 Support (LTS): Leverages new language features (sealed classes, records, pattern matching) and improved performance with long-term support from the Java platform.
  • Spring Boot 3 Migration: Introduces Jakarta EE 9 namespace alignment, updated configuration options, and improved observability with Micrometer and Actuator enhancements.
  • Spring Framework 6 Compatibility: Enables baseline support for native compilation with GraalVM and improved baseline for reactive and modular applications.
  • Improved Security Defaults: Updated security configuration aligns with the latest Spring Security practices and deprecates legacy patterns.
  • Dependency & API Modernization: Cleans up deprecated APIs, updates third-party libraries, and ensures alignment with modern ecosystem standards.
Issue Key Summary Change Description
POCP-74892 Upgrade to Spring 6, Spring Boot 3, and Java 17 Migrated the project to Spring Framework 6, Spring Boot 3, and Java 17 to leverage the latest features, improved performance, enhanced security, and long-term support. This upgrade may include changes to dependencies, configuration properties, and APIs to align with the latest platform standards.

Resolved Issues

This release contains no new features.

What's New - Basket Notification Service

Spring 6, Spring Boot 3 & Java 17

This upgrade brings several important technical improvements that modernize the application stack and enhance long-term maintainability:

  • Java 17 Support (LTS): Leverages new language features (sealed classes, records, pattern matching) and improved performance with long-term support from the Java platform.
  • Spring Boot 3 Migration: Introduces Jakarta EE 9 namespace alignment, updated configuration options, and improved observability with Micrometer and Actuator enhancements.
  • Spring Framework 6 Compatibility: Enables baseline support for native compilation with GraalVM and improved baseline for reactive and modular applications.
  • Improved Security Defaults: Updated security configuration aligns with the latest Spring Security practices and deprecates legacy patterns.
  • Dependency & API Modernization: Cleans up deprecated APIs, updates third-party libraries, and ensures alignment with modern ecosystem standards.
Issue Key Summary Change Description
POCP-74891 Upgrade to Spring 6, Spring Boot 3, and Java 17 Migrated the project to Spring Framework 6, Spring Boot 3, and Java 17 to leverage the latest features, improved performance, enhanced security, and long-term support. This upgrade may include changes to dependencies, configuration properties, and APIs to align with the latest platform standards.

Resolved Issues

This release contains no new features.

What's New - Offer Registration Service

Spring 6, Spring Boot 3 & Java 17

This upgrade brings several important technical improvements that modernize the application stack and enhance long-term maintainability:

  • Java 17 Support (LTS): Leverages new language features (sealed classes, records, pattern matching) and improved performance with long-term support from the Java platform.
  • Spring Boot 3 Migration: Introduces Jakarta EE 9 namespace alignment, updated configuration options, and improved observability with Micrometer and Actuator enhancements.
  • Spring Framework 6 Compatibility: Enables baseline support for native compilation with GraalVM and improved baseline for reactive and modular applications.
  • Improved Security Defaults: Updated security configuration aligns with the latest Spring Security practices and deprecates legacy patterns.
  • Dependency & API Modernization: Cleans up deprecated APIs, updates third-party libraries, and ensures alignment with modern ecosystem standards.
Bulk Registration of Non-Personalized Coupons

Introduced a new bulk endpoint

POST /baskets/<basketId>/offers/bulk

to register multiple non-personalized coupons in one request, similar to item bulk processing. Each coupon includes an

actionId

, and basket recalculation occurs only after processing all actions.

Additionally, added support for the

inputCount

field to specify the maximum usage count of a coupon - available both in the ORES API and in the

ADD_NONPERSONALIZED_COUPON

action sent to BAS.

Customer Session Start

Enhanced the Customer Session Start process by mapping the availableInstances attribute from the Engage Coupon Service (GET /coupons/active) to the inputCount field in the internal coupon representation. This ensures correct handling of coupon usage limits during session initialization in line with the latest coupon service specification.

Issue Key Summary Change Description
POCP-74889 Upgrade to Spring 6, Spring Boot 3, and Java 17 Migrated the project to Spring Framework 6, Spring Boot 3, and Java 17 to leverage the latest features, improved performance, enhanced security, and long-term support. This upgrade may include changes to dependencies, configuration properties, and APIs to align with the latest platform standards.
POCP-75670 Bulk Registration of Non-Personalized Coupons with Input Count Added a new bulk endpoint
POCP-76445 Customer Session Start Enhanced the Customer Session Start

Resolved Issues

This release contains no new features.