Explore Release Notes

Release Version 4.43.0 (September 29, 2025)

29. 09. 2025

Pre-deployment steps

To be done before deployment

Check configuration changes and apply them in the application.yaml if the default configuration has been overridden there

Check if the release contains migrations. Migrations can affect deployment and downtime.

Use GET /i18n/export/{fileName} to download files with current i18n properties. Check if the downloaded file is correct.

Post-deployment steps

To be done after deployment

Verify permission changes and assign or remove required permissions if they have been overridden

Add new properties from the I18n properties changes to the downloaded i18n properties file and add translation for them if needed.

Use POST /i18n/import to upload and apply previously downloaded i18n file with added new properties.

Changes to notice

Changes to notice

For API PATCH ​/schedules​/{scheduleId} introduced a new request body structure, check API changes for details.

New functionality

Feature

Description

Benefits

Ability for users to change the schedule:

  • activate/deactivate

  • change name or description

Users can activate/deactivate the schedule, or change the name or description

Flexible schedule management

Ability for users to generate a statement in PDF format

Users can generate statements in PDF format for the specified in-system account and period

Improved user experience

Ability for merchants to perform in-system transfer in the Merchant portal

Merchants can perform in-system transfer in the Merchant portal

Extended functionality for merchants

Ability for service users to schedule a report

Users can schedule report and download the report when it is ready

More convenient reporting

We’ve started developing Business Account functionality.

This release introduces several foundational features listed below.

Future releases will continue to expand this area to enable full business account capabilities for legal entities.

Business account implementation will improve flexibility for users who operate as legal entities.

Feature

Description

Ability for registered users to create a company

Registered users can create one or more companies and view their details

Improvements

Feature

Description

NodeRed usage is removed from the SumSub integration, and the integration is built directly

Configure SumSub integration using variables specified in the Configuration changes

NodeRed usage is removed from the Comply Advantage integration, and the integration is built directly

Configure Comply Davantage integration using variables specified in the Configuration changes

Changes to prepare for migration to Vue.js 3.5 version:

  • updated dependencies

  • migrated Vuex stores to vue-query and services (removed the vuex-module-decorators library)

  • migrated mixins to the Composition API

Ability for not approved users to change the language in the mobile application

Locale can be passed in the systemLanguage in the APIs PATCH ​/profiles​/my​/person or PUT ​/profiles​/my​/person

Notifications for users are sent in the language specified by user in the mobile application.

When sending a notification to users, the system uses the locale specified in the systemLanguage in the user profile

UI changes: button Vendors -> View balances is shown depending on the permission SYSTEM_COIN_VIEWER

Fixes

Accept-Language header accepts language code according to the ISO 639-1, if language code is not correct, default English language is used

When calling BankWithdrawalOperationServiceImpl.holdOnRedeemRequest(String, Action), it is run once per transaction after Commit()

API changes

Updated

PATCH ​/schedules​/{scheduleId}

New request body structure:

{
"name": "string",
"description": "string",
"status": "ACTIVE"
}

POST ​/reports

Added type TransactionStatementFilter to generate a Statement in PDF format.

Request body example:

{
"type": "TransactionStatementFilter",
"serial": "4006567",
"dateFrom": "2025-08-02T12:00:03.857Z",
"dateTo": "2025-08-20T12:00:03.857Z"
}

If dateFrom is not provided, the current date will be used by default.

POST /business-requests/{requestIdentifier}/approve can be called with permission BUSINESS_REQUEST_MANAGER

Ability to approve the definite business process is defined according to the permissioins

BUSINESS_REQUEST_EXCHANGE_RESERVE_TOP_UP("BUSINESS_REQUEST_EXCHANGE_RESERVE_TOP_UP"),
BUSINESS_REQUEST_EXCHANGE_RESERVE_WITHDRAWAL("BUSINESS_REQUEST_EXCHANGE_RESERVE_WITHDRAWAL"),
BUSINESS_REQUEST_BANK_TOP_UP("BUSINESS_REQUEST_BANK_TOP_UP"),
BUSINESS_REQUEST_BANK_WITHDRAWAL("BUSINESS_REQUEST_BANK_WITHDRAWAL"),
BUSINESS_REQUEST_BANK_WITHDRAWAL_COMMISSION("BUSINESS_REQUEST_BANK_WITHDRAWAL_COMMISSION"),
BUSINESS_REQUEST_CASH_DESK_TOP_UP("BUSINESS_REQUEST_CASH_DESK_TOP_UP"),
BUSINESS_REQUEST_CASH_DESK_WITHDRAWAL("BUSINESS_REQUEST_CASH_DESK_WITHDRAWAL"),
BUSINESS_REQUEST_CASH_DESK_CHARGE("BUSINESS_REQUEST_CASH_DESK_CHARGE"),
BUSINESS_REQUEST_CASH_DESK_INVESTMENT("BUSINESS_REQUEST_CASH_DESK_INVESTMENT"),
BUSINESS_REQUEST_CASH_DESK_COLLECT("BUSINESS_REQUEST_CASH_DESK_COLLECT"),
BUSINESS_REQUEST_CASH_DESK_INPUT("BUSINESS_REQUEST_CASH_DESK_INPUT"),
BUSINESS_REQUEST_TRANSFER("BUSINESS_REQUEST_TRANSFER"),
BUSINESS_REQUEST_CURRENCY_EXCHANGE("BUSINESS_REQUEST_CURRENCY_EXCHANGE"),
BUSINESS_REQUEST_GATE_CARD_ATTACHMENT("BUSINESS_REQUEST_GATE_CARD_ATTACHMENT"),
BUSINESS_REQUEST_GATE_TOP_UP("BUSINESS_REQUEST_GATE_TOP_UP"),
BUSINESS_REQUEST_GATE_WITHDRAWAL("BUSINESS_REQUEST_GATE_WITHDRAWAL"),
BUSINESS_REQUEST_GATE_PURCHASE("BUSINESS_REQUEST_GATE_PURCHASE"),
BUSINESS_REQUEST_GATE_ISSUE_CARD("BUSINESS_REQUEST_GATE_ISSUE_CARD"),
BUSINESS_REQUEST_GATE_TOKENIZATION("BUSINESS_REQUEST_GATE_TOKENIZATION"),
BUSINESS_REQUEST_MERCHANT_PAYMENT_CASHBACK("BUSINESS_REQUEST_MERCHANT_PAYMENT_CASHBACK"),
BUSINESS_REQUEST_MERCHANT_INVOICE_CASHBACK("BUSINESS_REQUEST_MERCHANT_INVOICE_CASHBACK"),
BUSINESS_REQUEST_GATE_REFUND("BUSINESS_REQUEST_GATE_REFUND");

Added

POST /companies

PATCH /organizations/{{organizationId}}/profile

GET /companies

Deprecated/Deleted

Configuration changes

To allow customization of the company name and address in the generated PDF, the company.name and company.address properties were added to the application.yaml

company:
name: 'SDK.finance'
address: |
Didžioji g. 14-1 Str. T-01128
Vilnius
Lithuania

New Environment Variables

Application Core

  • APP_PORT – Application server port (default: 8080)

  • APP_SSL – Enable SSL/TLS (default: false)

  • APP_HOST – Application host (default: localhost)

  • CLIENT_NAME – Application name (default: sdk5)

  • CLIENT_LOGO – Logo URL (default: https://sdk-public-res.s3-eu-west-1.amazonaws.com/img/sandbox/logo.png)

  • BASIC_CURRENCIES – Basic currencies list (default: ‘USD, EUR, GBP’)

  • EMAIL_SUFFIX – Email suffix for default users (default: @sdkfinance.tech)

  • AGGREGATION_ENABLED – Enable aggregation module (default: false)

Database Configuration

PostgreSQL (Standardized)

  • PG_DB_HOST – PostgreSQL host (default: localhost)

  • PG_DB_PORT – PostgreSQL port (default: 5432)

  • PG_DB_NAME – PostgreSQL database name (default: sdk)

  • PG_DB_USER – PostgreSQL user (default: ps-user)

  • PG_DB_PASSWORD – PostgreSQL password (default: ps-user)

MongoDB (Standardized)

  • MONGO_DB_NAME – MongoDB database name

  • MONGO_DB_PORT – MongoDB port

  • MONGO_DB_HOST – MongoDB host

  • MONGO_DB_USER – MongoDB username

  • MONGO_DB_PASSWORD – MongoDB password

  • MONGO_DB_SSL_ENABLED – Enable SSL/TLS

  • MONGO_DB_AUTH_DB – Authentication database

  • MONGO_DB_MIN_CONN_PER_HOST – Minimum connections per host

  • MONGO_DB_MAX_CONN_PER_HOST – Maximum connections per host

  • MONGO_DB_CONN_IDLE – Maximum connection idle time

  • MONGO_DB_URI – Taken as whole, overrides other MongoDB configuration

Mail Server Configuration (Renamed)

  • SMTP_HOST – SMTP server host (default: mail.test-server.host)

  • SMTP_PORT – SMTP server port (default: 587)

  • SMTP_LOGIN – SMTP username (default: mail.test-server.username)

  • SMTP_PASSWORD – SMTP password (default: mail.test-server.password)

  • SMTP_STARTTLS – Enable STARTTLS (default: true)

  • SMTP_AUTH – Enable authentication (default: true)

Kafka Configuration

  • KAFKA_BOOTSTRAPSERVERS – Kafka bootstrap servers (default: localhost:9092)

  • KAFKA_SECURITY_PROTOCOL – Security protocol (default: SASL_SSL)

  • KAFKA_SASL_MECHANISM – SASL mechanism (default: SCRAM-SHA-512)

  • KAFKA_SASL_JAAS_CONFIG – JAAS configuration

  • KAFKA_AUTO_CREATE_TOPICS – Auto create topics (default: true)

  • OUTBOX_BATCH_SIZE – Outbox dispatcher batch size (default: 200)

  • OUTBOX_POLL_INTERVAL_MS – Outbox poll interval (default: 500)

Config Server

  • CONFIG_SERVER_USERNAME – Config server username

  • CONFIG_SERVER_PASSWORD – Config server password

  • CONFIG_SERVER_FAIL_FAST – Fail fast mode (default: false)

KYC Integration

  • KYC_INTEGRATION_KAFKA_CONSUMER_ID – KYC Kafka consumer ID (default: sdk5.local.kyc.core)

  • KYC_INTEGRATION_KAFKA_REQUESTS_TOPIC – KYC requests topic (default: sdk5.local.kyc.requests)

  • KYC_INTEGRATION_KAFKA_UPDATES_TOPIC – KYC updates topic (default: sdk5.local.kyc.updates)

Comply Advantage Integration

  • COMPLY_ADVANTAGE_API_KEY – Comply Advantage API key

  • COMPLY_ADVANTAGE_KYC_CONSUMER_ID – Consumer ID (default: sdk5.local.kyc.comply-advantage)

SumSub Integration

  • SUMSUB_BASE_URL – SumSub API base URL (default: https://api.sumsub.com)

  • SUMSUB_APP_TOKEN – Application token

  • SUMSUB_SECRET_KEY – Secret key

  • SUMSUB_CONNECTION_TIMEOUT – Connection timeout (default: 5000)

  • SUMSUB_READ_TIMEOUT – Read timeout (default: 30000)

  • SUMSUB_WEBHOOK_SECRET – Webhook secret key

  • SUMSUB_DEFAULT_LEVEL – Default verification level

  • LEVEL_NAME_INDIVIDUAL – Individual level name (default: basic-kyc-level)

  • SUMSUB_DOCUMENT_MAX_SIZE – Max document size in MB (default: 3)

  • SUMSUB_BUFFER_SIZE – Buffer size in MB (default: 4)

  • SUMSUB_KAFKA_CONSUMER_GROUP_ID – Kafka consumer group (default: sdk5.local.kyc.sumsub)

R2DBC Configuration (for SumSub)

  • R2DBC_URL – R2DBC connection URL (default: r2dbc:postgresql://localhost:5432/sdk)

  • R2DBC_USERNAME – R2DBC username (default: ps-user)

  • R2DBC_PASSWORD – R2DBC password (default: ps-user)

Notification Service

  • SMS_SENDER – SMS sender ID (default: SDKFinance)

  • NOTIFICATIONS_PUSH_PROVIDER – Push notification provider (default: logPushSender)

  • NOTIFICATIONS_COMPLIANCE_EMAIL – Compliance email (default: kyc_specialist@test.tech)

Reports Service

  • REPORTS_GROUP_ID – Reports Kafka consumer group (default: sdk5.dev.reports.report-module)

Business Process Messaging

  • Consumer group IDs updated to new format (e.g., sdk5.local.transactions.core)

Modified Environment Variables

Renamed Variables

Old Variable Name

New Variable Name

Notes

MAIL_SERVER_HOST

SMTP_HOST

Standardized naming

MAIL_SERVER_PORT

SMTP_PORT

Standardized naming

MAIL_SERVER_USERNAME

SMTP_LOGIN

Standardized naming

MAIL_SERVER_PASSWORD

SMTP_PASSWORD

Standardized naming

SPRING_KAFKA_BOOTSTRAPSERVERS

KAFKA_BOOTSTRAPSERVERS

Simplified naming

CURRENCY_CLOUD_LOGIN_ID

CURRENCY_CLOUD_LOGIN

Standardized naming

SALT_EDGE_SEKRET_KEY

SALT_EDGE_SECRET_KEY

Fixed typo

Changed Default Values

Variable

Old Default

New Default

Notes

BUSINESS_PROCESS_MESSAGING

true

Uses spring.kafka.enabled

Linked to Kafka enablement

KYC_INTEGRATION_KAFKA_TOPIC

user-profile-data

Split into requests/updates topics

Architecture change

STATUS_CHANGE_CONSUMER_GROUP_ID

status-change-consumers

sdk5.local.transactions.core

Naming convention

GATE_TX_STATUS_CHANGE_CONSUMER_GROUP_ID

tx_status-change-consumers

sdk5.local.tx.core

Naming convention

REPORTS_GROUP_ID

reports-kafka-consumer-group

sdk5.dev.reports.report-module

Naming convention

Deprecated/Removed Variables

MongoDB (Old Format)

  • MONGO_DB_DATABASE – Replaced by MONGO_DB_NAME

  • MONGO_DB_REPORTS_DATABASE – Uses main MongoDB config

  • MONGO_DB_REPORTS_URI – Uses main MongoDB config

  • Individual MongoDB SSL settings replaced by unified configuration

Kafka (Old Format)

  • SPRING_KAFKA_PROPERTIES_CLIENT_ID – No longer used

  • SPRING_KAFKA_PROPERTIES_SASL_MECHANISM – Replaced by KAFKA_SASL_MECHANISM

  • SPRING_KAFKA_PROPERTIES_SASL_JAAS_CONFIG – Replaced by KAFKA_SASL_JAAS_CONFIG

  • SPRING_KAFKA_PROPERTIES_SECURITY_PROTOCOL – Replaced by KAFKA_SECURITY_PROTOCOL

Permission changes

The new permission COMPANY_CREATOR was added to the following roles:

  • individual

  • administrator

  • ceo

  • customer_success_specialist

The new permission COMPANY_MANAGER was added to the following roles:

  • individual

  • administrator

  • ceo

  • customer_success_specialist

The new permission COMPANY_VIEWER was added to the following roles:

  • individual

  • administrator

  • ceo

  • kyc_specialist

  • customer_success_specialist

  • aml_specialist

The following old roles were removed from the system:

  • customer_support

  • customer_support_manager

  • compliance_specialist

  • head_of_compliance

  • compliance_manager

Default users in these roles were also removed, not default users were moved to the new roles:

  • customer_support, customer_support_manager – to Customer Success specialist

  • compliance_specialist, head_of_compliance, compliance_manager – to KYC specialist

Permission CASH_DESK_MANAGER added to the accountant role