All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
3.2.2 - 2026-02-20
- Normalized logging and error messages using Keyple coding standards.
keyple-util-java-libfrom2.4.0to2.4.1(source code not impacted)slf4j-apifrom1.7.32to1.7.36(compileOnly)
3.2.1 - 2025-12-12
- Fixed the possible
BufferOverflowexception when processing the CA/Card certificates data returned by the card (issue #129).
- Postponed counter-value updates are now detected dynamically during command execution rather than through static patches.
- Static startup-info rules that previously forced counter-value postponing for certain card patterns.
3.2.0 - 2025-11-21
- Added
processCommandsmethods usingorg.eclipse.keypop.reader.ChannelControlfrom Reader API in transaction managers to replace deprecated methods using Calypso Card API.
FreeTransactionManager.processCommands(org.eclipse.keypop.calypso.card.transaction.ChannelControl)method. UseprocessCommands(org.eclipse.keypop.reader.ChannelControl)instead.SecurePkiModeTransactionManager.processCommands(org.eclipse.keypop.calypso.card.transaction.ChannelControl)method. UseprocessCommands(org.eclipse.keypop.reader.ChannelControl)instead.SecureSymmetricCryptoTransactionManager.processCommands(org.eclipse.keypop.calypso.card.transaction.ChannelControl)method. UseprocessCommands(org.eclipse.keypop.reader.ChannelControl)instead.
- Keypop Reader API
2.0.1->2.1.0 - Keypop Calypso Card API
2.1.2->2.2.0 - Keyple Common API
2.0.1->2.0.2
3.1.9 - 2025-09-10
- Corrected inconsistent initialization of
sfiandrecordNumberinCommandOpenSecureSession, ensuring they are always properly set when configuring read mode. - Harmonized debug log message formatting for consistency.
- Migrated the CI pipeline from Jenkins to GitHub Actions.
3.1.8 - 2025-04-11
- Fix length check
3.1.7 - 2025-03-20
- Restrict methods
prepareGetData,preparePutData,prepareReadRecord,prepareReadRecordsPartiallyandprepareSearchRecordsfrom being used in secure session
- Keypop Calypso Card API
2.1.0->2.1.2
3.1.6 - 2025-01-17
- Fix postponed data issue for increase/decrease counter commands for PACA cards revision 2 having the following startup
information pattern:
0A 28 13 02 10 12 2B(Contributed by SNCF Connect).
3.1.5 - 2024-10-25
- Fix postponed data issue for increase/decrease counter commands for OURA cards revision 2 having the following startup
information pattern:
0A 2E 13 02 00 01 01(issue #119) (Contributed by SNCF Connect).
3.1.4 - 2024-09-25
- Revert version
3.1.3due to useless fixed of distributed backward compatibility for legacy keyple-less clients.
3.1.3 - 2024-09-19
- Fixed distributed backward compatibility for legacy keyple-less clients.
3.1.2 - 2024-06-25
- Fixed the name of the field
stopOnUnsuccessfulStatusWordin the adapter of theCardRequestSpi(issue #115).
- Logging improvement.
3.1.1 - 2024-04-12
- Java source and target levels
1.6->1.8
- Added dependency to "Keypop Calypso Crypto Asymmetric API"
0.1.0 - Added support for PKI card transactions.
- Fixed
Levalue sent in SV Get card command. - Fixed postponed data issue for increase/decrease counter commands for PACA cards revision 2 having the following
startup information pattern:
0A 0A 01 02 20 03 11(issue #109) (Contributed by SNCF Connect).
- Keypop Reader API
2.0.0->2.0.1 - Keypop Card API
2.0.0->2.0.1 - Keypop Calypso Card API
2.0.0->2.1.0 - Keypop Calypso Crypto Symmetric API
0.1.0->0.1.1 - Keypop Calypso Crypto Asymmetric API
0.1.0->0.2.0 - Keyple Common API
2.0.0->2.0.1 - Keyple Util Lib
2.3.1->2.4.0 - Gradle
6.8.3->7.6.4
3.0.1 - 2023-12-06
InvalidPinExceptionexception is now thrown instead of the genericUnexpectedCommandStatusExceptionwhen the PIN entered is incorrect.
3.0.0 - 2023-11-28
- Fixed the crash that occurred when using "Read" commands in best-effort mode during a free card transaction.
- Added dependency to "Keypop Calypso Crypto Symmetric API"
0.1.0 - Added the method
CalypsoCardApiFactory getCalypsoCardApiFactory()to theCalypsoExtensionServiceclass to get an implementation of theCalypsoCardApiFactoryKeypop interface.
- Removed dependency to "Keyple Service Resource Library".
- Removed methods from
CalypsoExtensionService:getContextSetting()(now provided by specific Calypso crypto module)createSearchCommandData()(now provided by theCalypsoCardApiFactoryKeypop interface)createBasicSignatureComputationData()(now provided by specific Calypso crypto module)createTraceableSignatureComputationData()(now provided by specific Calypso crypto module)createBasicSignatureVerificationData()(now provided by specific Calypso crypto module)createTraceableSignatureVerificationData()(now provided by specific Calypso crypto module)createCardSelection()(now provided by theCalypsoCardApiFactoryKeypop interface)createSamSelection()(now provided by specific Calypso crypto module)createSamResourceProfileExtension(...)(now provided by specific Calypso crypto module)createCardSecuritySetting()(now provided by theCalypsoCardApiFactoryKeypop interface)createCardTransaction(...)(now provided by theCalypsoCardApiFactoryKeypop interface)createCardTransactionWithoutSecurity(...)(now provided by theCalypsoCardApiFactoryKeypop interface)createSamSecuritySetting()(now provided by specific Calypso crypto module)createSamTransaction(...)(now provided by specific Calypso crypto module)createSamTransactionWithoutSecurity(...)(now provided by specific Calypso crypto module)
- Removed interface
ContextSetting(now provided by specific Calypso crypto module)
- Calypsonet Terminal Reader API
1.3.0-> Keypop Reader API2.0.0 - Calypsonet Terminal Card API
1.0.0-> Keypop Card API2.0.0 - Calypsonet Terminal Calypso API
1.8.0-> Keypop Calypso Card API2.0.0 - Keyple Util Library
2.3.0->2.3.1(source code not impacted) - Removed dependency to "Keyple Service Resource Library" (used only by crypto components)
2.3.8 - 2023-09-11
- Added S1D3 to S1D7 to the list of SAM types recognized by the library (issue #99).
- Fixed the
prepareSetCounter(...)method to allow the use of simulated counters (issue #100).
- Keyple Util Library
2.3.0->2.3.1(source code not impacted)
2.3.7 - 2023-06-29
- Fixed remaining PIN attempt value in
CalypsoCardafter the PIN has been successfully changed. - Fixed DF invalidation status in
CalypsoCardafter a successful invalidation or rehabilitation. - Fixed an error that occurred with simulated counters.
- Calypsonet Terminal Reader API
1.2.0->1.3.0(source code not impacted)
2.3.6 - 2023-06-20
- Added project status badges on
README.mdfile.
- Fixed the unexpected behavior of card transactions containing only SAM commands, such as signature computation or verification, in which SAM commands were not taken into account.
- Fixed the
prepareIncreaseCounterandprepareDecreaseCountermethods to allow the use of simulated counters. - CI: code coverage report when releasing.
2.3.5 - 2023-05-09
- An issue with "Select File" and "Read Record" commands when the card is a legacy ASK Tango card having the following
startup information value:
03 08 03 04 00 02 00
- "Keyple Service Resource Library" to version
2.1.1.
2.3.4 - 2023-04-04
- Prevent internal fields serialization.
- "Calypsonet Terminal Calypso API" to version
1.8.0(initialize SAM context for next transaction).
2.3.3 - 2023-03-08
- SV reload and debit logs are now updated in
CalypsoCardduring a transaction.
- "Calypsonet Terminal Calypso API" to version
1.7.0(pre-open secure session variant).
2.3.2 - 2023-02-17
- The errors raised by the "Read Record" command executed during the card selection process are no longer blocking.
- "Calypsonet Terminal Reader API" to version
1.2.0. - "Calypsonet Terminal Calypso API" to version
1.6.0(replacement of "process" commands by "prepare" commands). - "Google Gson Library" (com.google.code.gson) to version
2.10.1.
2.3.1 - 2022-12-22
- SAM exception management for signature command.
- Increase/Decrease commands postponed data management for legacy cards.
CalypsoExtensionService.createSamSecuritySettingmethod.CalypsoExtensionService.createSamTransactionmethod.CalypsoExtensionService.createSamTransactionWithoutSecuritymethod.
- "Calypsonet Terminal Calypso API" to version
1.5.0(extended mode management).
2.3.0 - 2022-12-06
ContextSettingsetting toCalypsoExtensionServiceto manage the limitations of some not fully compliant terminals.
- Maximum payload length management for card and SAM APDUs.
- Exception management within a secure session.
2.2.5 - 2022-10-17
- Signature issue when doing SV operation in secure session.
2.2.4 - 2022-10-17
- Take card revision into account when parsing the FCP structure (issue #83).
- Generate multiple increase/decrease counter commands when the card does not support Increase/DecreaseMultiple commands (issue #84).
- Expected length issue in "Read Binary" card command.
- Set payload capacity to 235 for cards revision 3 having the following startup information pattern:
xx 3C xx xx xx 10 xx - Set payload capacity to 128 for cards revision 1 & 2.
- Fix postponed data issue for increase/decrease counter commands for cards revision 1 & 2 having the following startup
information pattern:
06 xx 01 03 xx xx xx06 0A 01 02 xx xx xxxx xx 0x xx 15 xx xxxx xx 1x xx 15 xx xx
- Enable binary commands with
PRIME_REVISION_2cards.
- "Calypsonet Terminal Calypso API" to version
1.4.1. - "Keyple Util Library" to version
2.3.0.
2.2.3 - 2022-10-27
- JSON serializers for the new import/export feature of the card selection manager.
- Merge of internal
setApduResponseandcheckStatusmethods toparseApduResponsemethod. - Improvement of the card command parsing process.
- Internal identification of the currently selected file.
- Management of "Read Records" card command for cards not supporting multiple record reads.
- "Calypsonet Terminal Reader API" to version
1.1.0. - "Calypsonet Terminal Calypso API" to version
1.4.0(issues #40, #41, #42).
2.2.2 - 2022-10-04
- Use the SAM "Digest Update Multiple" command whenever possible.
- "Calypsonet Terminal Calypso API" to version
1.3.0.
2.2.1 - 2022-07-25
- Problem occurring when reusing a
CalypsoSamSelectioncontaining unlocking data.
- "Keyple Service Resource Library" to version
2.0.2.
2.2.0 - 2022-05-30
CalypsoExtensionService.createBasicSignatureComputationDatamethod.CalypsoExtensionService.createTraceableSignatureComputationDatamethod.CalypsoExtensionService.createBasicSignatureVerificationDatamethod.CalypsoExtensionService.createTraceableSignatureVerificationDatamethod.CalypsoExtensionService.createSamSecuritySettingmethod.CalypsoExtensionService.createSamTransactionmethod.CalypsoExtensionService.createSamTransactionWithoutSecuritymethod.- Additional Calypso requirements related to Stored Value operations (issue #59).
- Additional Calypso requirements related to abortion of a secure session (issue #57).
- Additional Calypso requirement related to the analysis of the APDU response length (issue #62).
- Additional Calypso requirement related to the card extended mode command management (issue #64).
- Additional Calypso requirement related to the card transaction counter (issue #66).
- Additional Calypso requirement related to the transaction audit data (issue #68).
- "Calypsonet Terminal Calypso API" to version
1.2.0(issue #66). - "Keyple Util Library" to version
2.1.0.
- Null Pointer Exception raised when the "open secure session" command returns an unexpected status word #70
- JSON serialization for interfaces in objects trees (issue #71).
2.1.0 - 2022-02-01
- Implementation of
EF_LISTandTRACEABILITY_INFORMATIONtags toprepareGetDatamethods (issue #33). - Implementation of
prepareUpdateBinaryandprepareWriteBinarymethods (issue #34). - Implementation of
prepareReadBinarymethod (issue #35). - Implementation of
prepareReadRecordsPartiallymethod (issue #36). - Implementation of
prepareSearchRecordsmethod (issue #37). - Implementation of
prepareIncreaseCountersandprepareDecreaseCountersmethods (issue #38). - Implementation of
processChangeKeymethod (issue #39). - Management of EFs with SFI equal to 0 (issue #55).
- Internal parameter P2 to FFh for the "Change PIN" card APDU command.
- Revision 2 case for
prepareSelectFilemethod (issue #32).
- "Calypsonet Terminal Calypso API" to version
1.1.0(issue #53).
2.0.3 - 2021-12-17
- Commands anticipation management during
processClosingmethod (issue #30).
- "Calypsonet Terminal Calypso API" to version
1.0.5.
2.0.2 - 2021-12-15
- "Calypsonet Terminal Calypso API" to version
1.0.3(issue #28).
2.0.1 - 2021-11-22
CHANGELOG.mdfile (issue eclipse-keyple/keyple#6).- CI: Forbid the publication of a version already released (issue #20).
- Merging of internal builders and parsers of APDU commands (issue #24).
- Take into account the last DF status for
isDfInvalidated()method (issue #22).
- "Calypsonet Terminal Calypso API" to version
1.0.2 - "Keyple Service Resource Library" to version
2.0.1
2.0.0 - 2021-10-06
This is the initial release.
It follows the extraction of Keyple 1.0 components contained in the eclipse-keyple/keyple-java repository to dedicated
repositories.
It also brings many major API changes.