Changelog


This page serves as a centralized hub, bringing a dynamic chronological overview that showcases the progress and updates across all Keyple components repositories.
DateComponent
2024-10-25Keyple Card Calypso Java Lib3.1.5

Fixed

  • 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).
2024-10-25Keyple Card Calypso Java Lib2.3.12

Fixed

  • 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).
2024-10-08Keyple Plugin Pcsc Java Lib2.4.0

Added

  • Added a new method setProvider(Provider provider) in PcscPluginFactoryBuilder to allow the use of a custom PC/SC provider.
2024-10-01Keyple Service Java Lib3.3.3

Fixed

  • Fixed the issue caused by caching the isContactless flag for local readers. This information is now cached for remote readers only.
2024-10-01Keyple Plugin Pcsc Java Lib2.3.1

Fixed

  • Avoid creating multiple contexts when monitoring readers.
2024-09-25Keyple Service Java Lib3.3.2

Fixed

  • Fixed distributed backward compatibility for legacy keyple-less clients.
2024-09-25Keyple Card Calypso Java Lib3.1.4

Fixed

  • Revert version 3.1.3 due to useless fixed of distributed backward compatibility for legacy keyple-less clients.
2024-09-25Keyple Card Generic Java Lib3.1.2

Fixed

  • Revert version 3.1.1 due to useless fixed of distributed backward compatibility for legacy keyple-less clients.
2024-09-24Keyple Plugin Pcsc Java Lib2.3.0

Fixed

  • Use jnasmartcardio lib built with Java 8.

Added

  • Add configurable card monitoring cycle duration through a new method setCardMonitoringCycleDuration(int cycleDuration) to set the card monitoring cycle duration in PcscPluginFactoryBuilder, enabling customization of the default 500ms value. Especially useful under Linux environments.
2024-09-19Keyple Distributed Remote Java Lib2.5.1

Fixed

  • Fixed the backward compatibility for clients that do not transmit the apiLevel field (issue [#15]).

Upgraded

  • Keyple Distributed Network Lib 2.5.0 -> 2.5.1
2024-09-19Keyple Distributed Local Java Lib2.5.1

Fixed

  • Fixed the backward compatibility for clients that do not transmit the apiLevel field (issue [eclipse-keyple/keyple-distributed-remote-java-lib#15]).

Upgraded

  • Keyple Distributed Network Lib 2.5.0 -> 2.5.1
2024-09-19Keyple Service Java Lib3.3.1

Fixed

  • Fixed reader search pattern for distributed mode (issue [#74]).
2024-09-19Keyple Distributed Network Java Lib2.5.1

Fixed

  • Fixed the backward compatibility for clients that do not transmit the apiLevel field (issue [eclipse-keyple/keyple-distributed-remote-java-lib#15]).
2024-09-19Keyple Card Generic Java Lib3.1.1

Fixed

  • Fixed distributed backward compatibility for legacy keyple-less clients.
2024-09-19Keyple Card Calypso Java Lib3.1.3

Fixed

  • Fixed distributed backward compatibility for legacy keyple-less clients.
2024-09-18Keyple Plugin Pcsc Java Lib2.2.3

Fixed

  • Force net.java.dev.jna:jna:5.15.0 to bypass bug JDK-8313765.
  • Embed jnasmartcardio-0.2.8-SNAPSHOT.jar until an official release is published.
2024-09-16Keyple Plugin Pcsc Java Lib2.2.2

Fixed

  • Fixed smartcardio weaknesses by using jnasmartcardio as provider.
  • Fixed errors in the distinction between Reader IO and Card IO exceptions.

Changed

  • Logging improvement.
2024-09-06Keyple Card Generic Java Lib3.1.0

Changed

  • Logging improvement.

Upgraded

  • Keyple Service Resource Library 3.0.1 -> 3.1.0 (optimization of network exchanges)
2024-09-06Keyple Card Calypso Crypto Legacysam Java Lib0.8.0

Added

  • Added an optimization to the SAM resource profile extension which consists in automatically adding the Get Challenge command when selecting the SAM.

Upgraded

  • Keyple Service Resource Library 3.0.2 -> 3.1.0 (optimization of network exchanges)
2024-09-06Keyple Service Resource Java Lib3.1.0

Added

  • Added the method SmartCard matches(SmartCard smartCard) to CardResourceProfileExtension SPI. When using the card resource with pool plugins, this method allows the potentially smart card selected during reader allocation process to be directly validated by the card profile extension. This feature enables network exchanges optimizations.

Upgraded

  • Keyple Service Lib 3.2.3 -> 3.3.0 (source code not impacted)
2024-09-06Keyple Service Java Lib3.3.0

Added

  • Caching of the flag indicating whether the reader is contactless or not.

Upgraded

  • Keyple Distributed Remote API 3.0.1 -> 3.1.0 (Optimization of network exchanges)
  • Keyple Distributed Local API 2.1.1 -> 2.2.0 (Optimization of network exchanges)
2024-09-06Keyple Distributed Remote Java Lib2.5.0

Added

  • Optimizes the “Reader Client Side” usage mode. When a remote service is requested, the client sends the server information on whether the local reader is in contact or contactless mode. This reduces the number of network exchanges. This optimization will only be effective if the client is running version 2.5+ of the Keyple Distributed Local Library.

Upgraded

  • Keyple Distributed Remote API 3.0.1 -> 3.1.0
  • Keyple Distributed Network Lib 2.4.0 -> 2.5.0
2024-09-06Keyple Distributed Local Java Lib2.5.0

Added

  • Optimizes the “Reader Client Side” usage mode. When a remote service is requested, the client sends to the server the information on whether the local reader is in contact or contactless mode. This reduces the number of network exchanges. This optimization will only be effective if the server is running version 2.5+ of the Keyple Distributed Remote Library.

Changed

  • Logging improvement.

Upgraded

  • Keyple Distributed Local API 2.1.1 -> 2.2.0
  • Keyple Distributed Network Lib 2.3.1 -> 2.5.0
2024-09-06Keyple Distributed Local Java Api2.2.0

Added

  • Added a new method boolean isReaderContactless(String readerName) to the LocalServiceApi interface. This method enables the Local lib to identify whether or not a reader is contactless, so that it can transmit this information to the Remote lib as soon as possible. This reduces the number of network exchanges.
2024-09-06Keyple Distributed Network Java Lib2.5.0

⚠️ API level: 3

Added

  • Added a property indicating if a local reader is contactless or not.
2024-09-06Keyple Distributed Remote Java Api3.1.0

Added

  • Added a new method Boolean isContactless() to the RemoteReaderSpi interface. This method enables the main Keyple service to identify as soon as possible whether a remote reader is contactless or not, if this information has been transmitted to the remote lib. This reduces the number of network exchanges.
2024-06-25Keyple Card Calypso Crypto Legacysam Java Lib0.7.1

Fixed

  • Fixed the name of the field stopOnUnsuccessfulStatusWord in the adapter of CardRequestSpi.

Changed

  • Logging improvement.

Upgraded

  • Keyple Service Resource Library 3.0.1 -> 3.0.2 (source code not impacted)
2024-06-25Keyple Service Resource Java Lib3.0.2

Changed

  • Logging improvement.

Upgraded

  • Keyple Service Lib 3.2.1 -> 3.2.3 (source code not impacted)
2024-06-25Keyple Card Calypso Java Lib3.1.2

Fixed

  • Fixed the name of the field stopOnUnsuccessfulStatusWord in the adapter of the CardRequestSpi (issue [#115]).

Changed

  • Logging improvement.
2024-06-25Keyple Card Calypso Java Lib2.3.11

Fixed

  • Fixed the name of the field stopOnUnsuccessfulStatusWord in the adapter of CardRequestSpi (issue [#115]).

Changed

  • Java source and target levels 1.6 -> 1.8

Upgraded

  • Gradle 6.8.3 -> 7.6.4
2024-06-25Keyple Service Java Lib3.2.3

Fixed

  • Fixed exception while deserializing a reader event (issue [#70]).
2024-06-25Keyple Service Java Lib2.3.5

Fixed

  • Fixed exception while deserializing a reader event (issue [#70]).
2024-06-04Keyple Service Java Lib2.3.4

Fixed

  • Fixed exception while deserializing a plugin event (issue [#69]).

Changed

  • Java source and target levels 1.6 -> 1.8

Upgraded

  • Gradle 6.8.3 -> 7.6.4
2024-06-04Keyple Service Java Lib3.2.2

Fixed

  • Fixed exception while deserializing a plugin event (issue [#69]).
  • Fixed a weakness related to observable reader observation in SINGLESHOT detection mode. The onStopDetection() method of the ObservableReaderSpi interface is now called whenever the state machine switches to the WAIT_FOR_START_DETECTION state.

Changed

  • Logging improvement.
2024-06-03Keyple Distributed Remote Java Lib2.4.0

Added

  • Addition of two methods for configuring the timeout value used by server nodes in “Reader Client Side” usage mode (issue [eclipse-keyple/keyple-distributed-network-java-lib#13]). The timeout defines the maximum time the client can wait for the server’s response, as well as the maximum time the server can wait between two client calls.
    • RemotePluginServerFactoryBuilder.NodeStep.withSyncNode(int timeoutSeconds)
    • RemotePluginServerFactoryBuilder.NodeStep.withAsyncNode(AsyncEndpointServerSpi endpoint, int timeoutSeconds)

Changed

  • Logging improvement.

Upgraded

  • Keyple Distributed Network Lib 2.3.1 -> 2.4.0
2024-06-03Keyple Distributed Network Java Lib2.4.0

Added

  • Allows configuration of the timeout value used by server nodes (issue [#13]).

Changed

  • Logging improvement.
2024-04-17Keyple Card Calypso Crypto Legacysam Java Lib0.7.0

Upgraded

  • Keypop Calypso Crypto Legacy SAM API 0.5.0 -> 0.6.0
2024-04-17Keyple Card Calypso Crypto Pki Java Lib0.2.0

Changed

  • Merged CaCertificateType and CardCertificateType to CertificateType.
2024-04-15Keyple Distributed Remote Java Lib2.3.1

Changed

  • Java source and target levels 1.6 -> 1.8

Upgraded

  • Keyple Common API 2.0.0 -> 2.0.1
  • Keyple Distributed Remote API 3.0.0 -> 3.0.1
  • Keyple Distributed Network Lib 2.3.0 -> 2.3.1
  • Keyple Util Lib 2.3.1 -> 2.4.0
  • Gradle 6.8.3 -> 7.6.4
2024-04-15Keyple Distributed Local Java Lib2.3.1

Changed

  • Java source and target levels 1.6 -> 1.8

Upgraded

  • Keyple Common API 2.0.0 -> 2.0.1
  • Keyple Distributed Local API 2.1.0 -> 2.1.1
  • Keyple Distributed Network Lib 2.3.0 -> 2.3.1
  • Keyple Util Lib 2.3.1 -> 2.4.0
  • Gradle 6.8.3 -> 7.6.4
2024-04-12Keyple Card Calypso Crypto Pki Java Lib0.1.0
This is the initial release.
2024-04-12Keyple Card Generic Java Lib3.0.1

Changed

  • Java source and target levels 1.6 -> 1.8

Upgraded

  • Keypop Reader API 2.0.0 -> 2.0.1
  • Keypop Card API 2.0.0 -> 2.0.1
  • Keyple Common API 2.0.0 -> 2.0.1
  • Keyple Service Resource Lib 3.0.0 -> 3.0.1
  • Keyple Util Lib 2.3.1 -> 2.4.0
  • Gradle 6.8.3 -> 7.6.4
2024-04-12Keyple Card Calypso Crypto Legacysam Java Lib0.6.0

Changed

  • Java source and target levels 1.6 -> 1.8

Upgraded

  • 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 Legacy SAM API 0.4.0 -> 0.5.0
  • Keypop Calypso Crypto Symmetric API 0.1.0 -> 0.1.1
  • 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
2024-04-12Keyple Card Calypso Java Lib3.1.1

Changed

  • Java source and target levels 1.6 -> 1.8

Added

  • Added dependency to “Keypop Calypso Crypto Asymmetric API” 0.1.0
  • Added support for PKI card transactions.

Fixed

  • Fixed Le value 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).

Upgraded

  • 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
2024-04-12Keyple Plugin Cardresource Java Lib2.0.1

Changed

  • Java source and target levels 1.6 -> 1.8

Upgraded

  • Keypop Reader API 2.0.0 -> 2.0.1
  • Keyple Common API 2.0.0 -> 2.0.1
  • Keyple Plugin API 2.2.0 -> 2.3.1
  • Keyple Service Resource Lib 3.0.0 -> 3.0.1
  • Keyple Util Lib 2.3.1 -> 2.4.0
  • Gradle 6.8.3 -> 7.6.4
2024-04-12Keyple Service Resource Java Lib3.0.1

Changed

  • Java source and target levels 1.6 -> 1.8

Upgraded

  • Keypop Reader API 2.0.0 -> 2.0.1
  • Keyple Common API 2.0.0 -> 2.0.1
  • Keyple Service Lib 3.0.0 -> 3.2.1
  • Keyple Util Lib 2.3.1 -> 2.4.0
  • Gradle 6.8.3 -> 7.6.4
2024-04-12Keyple Plugin Android Omapi Java Lib2.1.0

Changed

  • Java source and target levels 1.6 -> 1.8
  • Kotlin version 1.4.20 -> 1.7.20

Upgraded

  • Keyple Plugin API 2.0.0 -> 2.3.1
  • Keyple Util Lib 2.1.0 -> 2.4.0
  • Gradle 6.8.3 -> 7.6.4

Added

  • Added project status badges on README.md file.

Fixed

  • CI: code coverage report when releasing.

Removed

  • Dependency to logger implementation.
2024-04-12Keyple Plugin Android Nfc Java Lib2.2.0

Changed

  • Java source and target levels 1.6 -> 1.8
  • Kotlin version 1.4.20 -> 1.7.20

Upgraded

  • Keyple Plugin API 2.2.0 -> 2.3.1
  • Keyple Util Lib 2.1.0 -> 2.4.0
  • Gradle 6.8.3 -> 7.6.4

Fixed

  • Management of physical channel: the actual closing is now done by the card removal procedure. The associated timeout has been removed.

Removed

  • Dependency to logger implementation.
2024-04-12Keyple Distributed Network Java Lib2.3.1

Changed

  • Java source and target levels 1.6 -> 1.8

Upgraded

  • Keyple Util Lib 2.3.1 -> 2.4.0
  • Gradle 6.8.3 -> 7.6.4
2024-04-12Keyple Service Java Lib3.2.1

Fixed

  • Fixed serialization/deserialization of AbstractApduException.

Changed

  • Java source and target levels 1.6 -> 1.8
  • Logging level for transmission of CardRequest and CardResponse changed from “debug” to “trace”.

Upgraded

  • Gradle 6.8.3 -> 7.6.4
  • Keyple Util Lib 2.3.1 -> 2.4.0
2024-04-12Keyple Plugin Stub Java Lib2.2.1

Changed

  • Java source and target levels 1.6 -> 1.8

Upgraded

  • Gradle 6.8.3 -> 7.6.4
  • Keyple Plugin API 2.2.0 -> 2.3.1
  • Keyple Util Library 2.3.1 -> 2.4.0
2024-04-12Keyple Plugin Pcsc Java Lib2.2.1

Changed

  • Java source and target levels 1.6 -> 1.8

Upgraded

  • Gradle 6.8.3 -> 7.6.4
2024-04-12Keyple Distributed Local Java Api2.1.1

Changed

  • Java source and target levels 1.6 -> 1.8

Upgraded

  • Gradle 6.8.3 -> 7.6.4
2024-04-12Keyple Plugin Java Api2.3.1

Changed

  • Java source and target levels 1.6 -> 1.8

Upgraded

  • Gradle 6.8.3 -> 7.6.4
2024-04-12Keyple Distributed Remote Java Api3.0.1

Changed

  • Java source and target levels 1.6 -> 1.8

Upgraded

  • Gradle 6.8.3 -> 7.6.4
2024-04-12Keyple Common Java Api2.0.1

Added

  • CHANGELOG.md file (issue [eclipse-keyple/keyple#6]).
  • CI: Forbid the publication of a version already released (issue [#5]).
  • Added project status badges on README.md file.

Fixed

  • CI: code coverage report when releasing.

Changed

  • Java source and target levels 1.6 -> 1.8

Upgraded

  • Gradle 6.8.3 -> 7.6.4
2024-04-12Keyple Util Java Lib2.4.0

Added

  • Class ByteBufferJsonAdapter for serialization of ByteBuffer objects.

Changed

  • Java source and target levels 1.6 -> 1.8
  • Renaming of ThrowableJsonSerializer -> ThrowableJsonAdapter

Upgraded

  • Gradle 6.8.3 -> 7.6.4
2024-03-29Keyple Service Java Lib3.2.0

Upgraded

  • Keyple Plugin API 2.2.0 -> 2.3.0 (remains compliant with plugins using the version 2.2.0 and 2.1.0)
2024-03-29Keyple Service Java Lib2.3.3

Upgraded

  • Keyple Plugin API 2.2.0 -> 2.3.0 (remains compliant with plugins using the version 2.2.0 and 2.1.0)
2024-03-29Keyple Plugin Pcsc Java Lib2.2.0

Added

  • Added a note to warn about observability issues when using Java 16+ to README.md file.
  • Added project status badges on README.md file.

Fixed

  • CI: code coverage report when releasing.
  • Documentation of setDisconnectionMode (the default value indicated was incorrect).

Upgraded

  • Keyple Plugin API 2.0.0 -> 2.3.0
  • Keyple Util Library 2.3.0 -> 2.3.1 (source code not impacted)
2024-03-29Keyple Plugin Java Api2.3.0

Added

  • CardPresenceMonitorBlockingSpi as a replacement of the deprecated WaitForCardRemovalDuringProcessingBlockingSpi interface.
2024-03-26Keyple Card Calypso Java Lib2.3.10

Fixed

  • Fix 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).
2024-01-10Keyple Card Calypso Crypto Legacysam Java Lib0.5.0

Upgraded

  • Keypop Calypso Crypto Legacy SAM API 0.3.0 -> 0.4.0 (management of advanced SAM unlocking)
2024-01-08Keyple Card Calypso Java Lib2.3.9

Fixed

  • Fixed Le value sent in SV Get card command.
2023-12-22Keyple Service Java Lib3.1.0

Added

  • The findReader methods has been added to SmartCardService and Plugin interfaces to make it easier to search for readers using a regular expression (issue [#47]).
2023-12-06Keyple Card Calypso Java Lib3.0.1

Fixed

  • InvalidPinException exception is now thrown instead of the generic UnexpectedCommandStatusException when the PIN entered is incorrect.
2023-12-06Keyple Service Java Lib3.0.1

Fixed

  • Corrects a server-side anomaly in communication between the server and a client using a version of the Distributed JSON API prior to 2.0, when the card selection request does not contain an additional card request.
  • CARD_REMOVED events are no longer notified when the card selection scenario notification mode is set to MATCH_ONLY and a non-matching card has been inserted then removed.
2023-11-30Keyple Plugin Stub Java Lib2.2.0

Added

  • Added project status badges on README.md file.

Fixed

  • CI: code coverage report when releasing.

Upgraded

  • Keyple Plugin API 2.0.0 -> 2.2.0
  • Keyple Util Library 2.1.0 -> 2.3.1
2023-11-28Keyple Plugin Cardresource Java Lib2.0.0

⚠️ Major version! Following the migration of the “Calypsonet Terminal” APIs to the Eclipse Keypop project, this library now implements Keypop interfaces.

Added

  • Added project status badges on README.md file.

Fixed

  • CI: code coverage report when releasing.

Upgraded

  • Calypsonet Terminal Reader API 1.2.0 -> Keypop Reader API 2.0.0
  • Keyple Plugin API 2.1.0 -> 2.2.0
  • Keyple Service Resource Library 2.1.1 -> 3.0.0
  • Keyple Util Library 2.3.0 -> 2.3.1
2023-11-28Keyple Card Calypso Crypto Legacysam Java Lib0.4.0

⚠️ Major version! Following the migration of the “Calypsonet Terminal” APIs to the Eclipse Keypop project, this library now implements Keypop interfaces.

Added

  • Added dependency to “Keypop Calypso Crypto Symmetric API” 0.1.0
  • Added S1D3 to S1D7 to the list of SAM types recognized by the library.
  • Added a new interface ContextSetting to manage the limitations of some not fully compliant terminals.
  • Added new methods to class LegacySamExtensionService:
    • ContextSetting getContextSetting() to access to the new interface.
    • LegacySamApiFactory getLegacySamApiFactory() to get an implementation of the LegacySamApiFactory Keypop interface.
    • CardResourceProfileExtension createLegacySamResourceProfileExtension(LegacySamSelectionExtension legacySamSelectionExtension, String powerOnDataRegex)
  • Added project status badges on README.md file.

Changed

  • Refactoring:
    • Class LegacySamCardExtensionService -> LegacySamExtensionService

Removed

  • Removed methods from class LegacySamExtensionService:
    • LegacySamSelectionFactory getLegacySamSelectionFactory() (now provided by the LegacySamApiFactory Keypop interface)
    • LSSecuritySettingFactory getSecuritySettingFactory() (now provided by the LegacySamApiFactory Keypop interface)
    • LSTransactionManagerFactory getTransactionManagerFactory() (now provided by the LegacySamApiFactory Keypop interface)
    • LSCommandDataFactory getCommandDataFactory() (now provided by the LegacySamApiFactory Keypop interface)

Fixed

  • CI: code coverage report when releasing.

Upgraded

  • Calypsonet Terminal Reader API 1.2.0 -> Keypop Reader API 2.0.0
  • Calypsonet Terminal Card API 1.0.0 -> Keypop Card API 2.0.0
  • Calypsonet Terminal Calypso API 1.8.0 -> Keypop Calypso Card API 2.0.0
  • Calypsonet Terminal Calypso Crypto Legacy SAM API 0.2.0 -> Keypop Calypso Crypto Legacy SAM API 0.3.0
  • Keyple Service Resource Library 2.0.2 -> 3.0.0
  • Keyple Util Library 2.3.0 -> 2.3.1 (source code not impacted)
2023-11-28Keyple Card Generic Java Lib3.0.0

⚠️ Major version! Following the migration of the “Calypsonet Terminal” APIs to the Eclipse Keypop project, this library now implements Keypop interfaces.

Added

  • Added project status badges on README.md file.

Changed

  • Class renamed:
    • GenericCardSelection -> GenericCardSelectionExtension
  • Methods renamed or signatures refactored:
    • GenericCardSelection createCardSelection () -> GenericCardSelectionExtension createGenericCardSelectionExtension()
    • CardResourceProfileExtension createCardResourceProfileExtension(GenericCardSelectionExtension genericCardSelectionExtension) -> CardResourceProfileExtension createCardResourceProfileExtension(CardSelector<IsoCardSelector> cardSeletor, GenericCardSelectionExtension genericCardSelectionExtension)
    • processApdusToByteArrays () -> processApdusToByteArrays (ChannelControl channelControl) and processApdusToHexStrings () -> processApdusToHexStrings (ChannelControl channelControl) The enum ChannelControl` has been created for this purpose.

Removed

  • Removed methods from GenericCardSelectionExtension (now available from Keyple core service):
    • filterByCardProtocol(...)
    • filterByPowerOnData(...)
    • filterByDfName(...)
    • setFileOccurrence(...)
    • setFileControlInformation(...)
  • Removed enumerations:
    • FileOccurrence
    • FileControlInformation
  • Removed method from GenericExtensionService:
    • prepareReleaseChannel()

Fixed

  • CI: code coverage report when releasing.

Upgraded

  • Calypsonet Terminal Reader API 1.0.0 -> Keypop Reader API 2.0.0
  • Calypsonet Terminal Card API 1.0.0 -> Keypop Card API 2.0.0
  • Keyple Util Library 2.1.0 -> 2.3.1
  • Keyple Service Resource Library 2.0.1 -> 3.0.0
2023-11-28Keyple Card Calypso Java Lib3.0.0

⚠️ Major version! Following the migration of the “Calypsonet Terminal” APIs to the Eclipse Keypop project, this library now implements Keypop interfaces.

Fixed

  • Fixed the crash that occurred when using “Read” commands in best-effort mode during a free card transaction.

Added

  • Added dependency to “Keypop Calypso Crypto Symmetric API” 0.1.0
  • Added the method CalypsoCardApiFactory getCalypsoCardApiFactory() to the CalypsoCardExtensionService class to get an implementation of the CalypsoCardApiFactory Keypop interface.

Removed

  • Removed dependency to “Keyple Service Resource Library”.
  • Removed methods from CalypsoExtensionService:
    • getContextSetting() (now provided by specific Calypso crypto module)
    • createSearchCommandData() (now provided by the CalypsoCardApiFactory Keypop 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 the CalypsoCardApiFactory Keypop interface)
    • createSamSelection() (now provided by specific Calypso crypto module)
    • createSamResourceProfileExtension(...) (now provided by specific Calypso crypto module)
    • createCardSecuritySetting() (now provided by the CalypsoCardApiFactory Keypop interface)
    • createCardTransaction(...) (now provided by the CalypsoCardApiFactory Keypop interface)
    • createCardTransactionWithoutSecurity(...) (now provided by the CalypsoCardApiFactory Keypop 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)

Upgraded

  • Calypsonet Terminal Reader API 1.3.0 -> Keypop Reader API 2.0.0
  • Calypsonet Terminal Card API 1.0.0 -> Keypop Card API 2.0.0
  • Calypsonet Terminal Calypso API 1.8.0 -> Keypop Calypso Card API 2.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)
2023-11-28Keyple Service Resource Java Lib3.0.0

⚠️ Major version! Following the migration of the “Calypsonet Terminal” APIs to the Eclipse Keypop project, this library now implements Keypop interfaces.

Added

  • Added project status badges on README.md file.

Changed

  • Signature of method CardResourceProfileExtension.matches(...):
    • previous: SmartCard matches(CardReader reader, CardSelectionManager cardSelectionManager)
    • current: SmartCard matches(CardReader reader, ReaderApiFactory readerApiFactory)

Fixed

  • CI: code coverage report when releasing.

Upgraded

  • Calypsonet Terminal Reader API 1.2.0 -> Keypop Reader API 2.0.0
  • Keyple Service Library 2.2.0 -> 3.0.0
  • Keyple Util Library 2.3.0 -> 2.3.1 (source code not impacted)
2023-11-28Keyple Service Java Lib3.0.0

⚠️ Major version! Following the migration of the “Calypsonet Terminal” APIs to the Eclipse Keypop project, this library now implements Keypop interfaces.

Added

  • Added the method ReaderApiFactory getReaderApiFactory() to the SmartCardService interface to get an implementation of the ReaderApiFactory Keypop interface.
  • Added a property indicating the Core JSON API level in exchanged JSON data (current value: "coreApiLevel": 2).
  • Added project status badges on README.md file.

Changed

  • Distributed JSON API 1.0 -> 2.0 (compatibility with previous versions remains assured for the time being)
  • Method signatures:
    • Interface Plugin: Set<Reader> getReaders() -> Set<CardReader> getReaders()
    • Interface Plugin: Reader getReader(String readerName) -> CardReader getReader(String readerName)
    • Interface PoolPlugin: Reader allocateReader(String readerGroupReference) -> CardReader allocateReader(String readerGroupReference)

Removed

  • Deprecated interfaces:
    • Reader (replaced by CardReader in all methods signatures)
    • ObservableReader (replaced by ObservableCardReader)
    • ConfigurableReader (replaced by ConfigurableCardReader)
    • ReaderEvent (replaced by CardReaderEvent)
  • Method SmartCardService.createCardSelectionManager() (now provided by the ReaderApiFactory Keypop interface)

Fixed

  • CI: code coverage report when releasing.

Upgraded

  • Calypsonet Terminal Reader API 1.3.0 -> Keypop Reader API 2.0.0
  • Calypsonet Terminal Card API 1.0.0 -> Keypop Card API 2.0.0
  • Keyple Distributed Local API 2.0.0 -> 2.1.0
  • Keyple Distributed Remote API 2.1.0 -> 3.0.0
2023-11-28Keyple Distributed Local Java Lib2.3.0

Added

  • Added a property indicating the Distributed JSON API level in exchanged JSON data (current value: "apiLevel": 2).
  • Added project status badges on README.md file.

Fixed

  • CI: code coverage report when releasing.

Upgraded

  • Keyple Distributed Local API 2.0.0 -> 2.1.0
  • Keyple Distributed Network Library 2.2.0 -> 2.3.0
  • Keyple Util Library 2.3.0 -> 2.3.1 (source code not impacted)
2023-11-28Keyple Distributed Remote Java Lib2.3.0

Added

  • Added a property indicating the Distributed JSON API level in exchanged JSON data (current value: "apiLevel": 2).
  • Added project status badges on README.md file.

Fixed

  • CI: code coverage report when releasing.

Upgraded

  • Keyple Distributed Remote API 2.1.0 -> 3.0.0
  • Keyple Distributed Network Library 2.2.0 -> 2.3.0
  • Keyple Util Library 2.3.0 -> 2.3.1 (source code not impacted)
2023-11-28Keyple Distributed Network Java Lib2.3.0

Added

  • Added a property indicating the Distributed JSON API level in exchanged JSON data (current value: "apiLevel": 2).
  • Added project status badges on README.md file.

Fixed

  • CI: code coverage report when releasing.

Upgraded

  • Keyple Util Library 2.3.0 -> 2.3.1 (source code not impacted)
2023-11-27Keyple Distributed Local Java Api2.1.0

Added

  • Added a new method int exchangeApiLevel(int coreApiLevel) to the LocalServiceSpi interface to enable Core and Distributed layers to exchange their JSON API levels.
  • CHANGELOG.md file (issue [eclipse/keyple#6]).
  • Added project status badges on README.md file.
  • CI: Forbid the publication of a version already released (issue [#3]).

Fixed

  • CI: code coverage report when releasing.
2023-11-27Keyple Distributed Remote Java Api3.0.0

Added

  • Added a new method int exchangeApiLevel(int coreApiLevel) to the AbstractRemotePluginSpi interface to enable Core and Distributed layers to exchange their JSON API levels.
  • Added project status badges on README.md file.

Changed

  • Updated the signature of the method addRemoteReader in the ObservableRemotePluginApi interface. The original signature was void addRemoteReader(RemoteReaderSpi remoteReaderSpi), and it has now been modified to void addRemoteReader(RemoteReaderSpi remoteReaderSpi, int clientCoreApiLevel). The new clientCoreApiLevel parameter will enable the Distributed layer to transmit the client’s Core layer API level to the server’s Core layer when a reader creation request is made.

Fixed

  • CI: code coverage report when releasing.
2023-11-13Keyple Plugin Android Nfc Java Lib2.1.0

⚠️ CAUTION: this version requires to use at least version 2.3.2 of the Keyple Service Library!

Added

  • Added project status badges on README.md file.

Fixed

  • CI: code coverage report when releasing.
  • Handled SecurityException raised when closing the physical channel, to resolve a malfunction of Keyple Service’s internal state machine on recent versions of Android (API 12+).

Upgraded

  • Keyple Plugin API 2.0.0 -> 2.2.0
2023-11-13Keyple Service Java Lib2.3.2

Fixed

  • CI: code coverage report when releasing.

Added

  • Added project status badges on README.md file.

Changed

  • Reduced monitoring cycle for observable readers implementing non-blocking insertion/removal states (100 ms instead of 200 ms).

Upgraded

  • Keyple Plugin API 2.1.0 -> 2.2.0 (remains compliant with plugins using the version 2.1.0)
  • Keyple Util Library 2.3.0 -> 2.3.1 (code source not impacted)
2023-11-13Keyple Plugin Java Api2.2.0

Fixed

  • CI: code coverage report when releasing.

Added

  • CI: added project status badges on README.md file.
  • Added precisions to Javadoc of openPhysicalChannel(), closePhysicalChannel() and checkCardPresence() methods of the ReaderSpi interface.
  • CardInsertionWaiterAsynchronousApi (renaming)
  • CardRemovalWaiterAsynchronousApi (renaming)
  • CardInsertionWaiterAsynchronousSpi (renaming)
  • CardInsertionWaiterBlockingSpi (renaming)
  • CardInsertionWaiterNonBlockingSpi (renaming and adds the capability to customize the polling cycle duration)
  • CardRemovalWaiterAsynchronousSpi (renaming)
  • CardRemovalWaiterBlockingSpi (renaming)
  • CardRemovalWaiterNonBlockingSpi (renaming and adds the capability to customize the polling cycle duration)
  • AutonomousObservablePluginSpi.setCallback(...) (renaming)

Deprecated

  • WaitForCardInsertionAutonomousReaderApi (replaced by CardInsertionWaiterAsynchronousApi)
  • WaitForCardRemovalAutonomousReaderApi (replaced by CardRemovalWaiterAsynchronousApi)
  • WaitForCardInsertionAutonomousSpi (replaced by CardInsertionWaiterAsynchronousSpi)
  • WaitForCardInsertionBlockingSpi (replaced by CardInsertionWaiterBlockingSpi)
  • WaitForCardInsertionNonBlockingSpi (replaced by CardInsertionWaiterNonBlockingSpi)
  • DontWaitForCardRemovalDuringProcessingSpi (no more used)
  • WaitForCardRemovalDuringProcessingBlockingSpi (no more used)
  • WaitForCardRemovalAutonomousSpi (replaced by CardRemovalWaiterAsynchronousSpi)
  • WaitForCardRemovalBlockingSpi (replaced by CardRemovalWaiterBlockingSpi)
  • WaitForCardRemovalNonBlockingSpi (replaced by CardRemovalWaiterNonBlockingSpi)
  • AutonomousObservablePluginSpi.connect(...) (replaced by setCallback(...))
2023-09-11Keyple Card Calypso Java Lib2.3.8

Added

  • Added S1D3 to S1D7 to the list of SAM types recognized by the library (issue [#99]).

Fixed

  • Fixed the prepareSetCounter(...) method to allow the use of simulated counters (issue [#100]).

Upgraded

  • Keyple Util Library 2.3.0 -> 2.3.1 (source code not impacted)
2023-09-11Keyple Util Java Lib2.3.1

Added

  • Added project status badges on README.md file.

Fixed

  • Fixed compatibility issue with date formatting across Java versions in DateJsonSerializer and CalendarJsonAdapter classes (issue [#25]).
  • CI: code coverage report when releasing.

Upgraded

  • “Google Gson Library” (com.google.code.gson) 2.8.8 -> 2.10.1 (source code not impacted)
2023-06-29Keyple Card Calypso Java Lib2.3.7

Fixed

  • Fixed remaining PIN attempt value in CalypsoCard after the PIN has been successfully changed.
  • Fixed DF invalidation status in CalypsoCard after a successful invalidation or rehabilitation.
  • Fixed an error that occurred with simulated counters.

Upgraded

  • Calypsonet Terminal Reader API 1.2.0 -> 1.3.0 (source code not impacted)
2023-06-20Keyple Card Calypso Java Lib2.3.6

Added

  • Added project status badges on README.md file.

Fixed

  • 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 prepareIncreaseCounter and prepareDecreaseCounter methods to allow the use of simulated counters.
  • CI: code coverage report when releasing.
2023-06-05Keyple Service Cpp Lib2.1.1.1

Fixed

  • Fix: CLang / Windows compilation fixes
  • Fix: fixed runtime issue on Windows
2023-05-30Keyple Service Java Lib2.3.1

Fixed

  • Fixes an issue with exception handling in the WAIT_FOR_CARD_REMOVAL state of the observable reader state machine that blocked the state machine in the same state.
  • Fixes a performance issue introduced in version 2.1.3 related to the closing of the physical channel when processing a new card selection scenario with the same card (issue [#58]).
2023-05-22Keyple Service Java Lib2.3.0

Upgraded

  • Calypsonet Terminal Reader API 1.2.0 -> 1.3.0. Introduced a new capability to export a locally processed card selection scenario to be imported and analyzed remotely by another card selection manager. For this purpose, the following two methods have been added to the CardSelectionManager interface:
    • exportProcessedCardSelectionScenario
    • importProcessedCardSelectionScenario
2023-05-10Keyple Card Calypso Java Lib2.3.5

Fixed

  • 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

Upgraded

  • “Keyple Service Resource Library” to version 2.1.1
2023-05-05Keyple Distributed Remote Java Lib2.2.1

Fixed

  • Fixes the communication issue between client and server components when using the “Reader Client Side” usage mode that appeared with version 2.2.0.
2023-05-05Keyple Service Java Lib2.2.1

Fixed

  • Fixes the communication issue between client and server components of the “Distributed” solution that appeared with version 2.1.4.
2023-05-05Keyple Util Cpp Lib2.3.0.4
2023-05-05Keyple Plugin Pcsc Cpp Lib2.1.0.1
2023-04-27Keyple Plugin Cardresource Java Lib1.0.1

Fixed

  • Exception handling associated with the reader allocation process.

Upgraded

  • “Keyple Service Resource Library” to version 2.1.1
2023-04-27Keyple Service Resource Java Lib2.1.1

Fixed

  • The issue of resource allocation associated with regular (non-pool) plugins, happening when the resource usage timeout was not explicitly configured.
2023-04-25Keyple Plugin Cardresource Java Lib1.0.0
This is the initial release.
2023-04-25Keyple Service Resource Java Lib2.1.0

Added

  • The method CardResource.getReaderExtension to access the reader extension.

Changed

  • CardResource is now an interface.

Upgraded

  • “Calypsonet Terminal Reader API” to version 1.2.0
  • “Keyple Service Library” to version 2.2.0
  • “Keyple Util Library” to version 2.3.0
  • “Google Gson Library” (com.google.code.gson) to version 2.10.1
2023-04-25Keyple Service Java Lib2.2.0

⚠️ CAUTION: In the case of a distributed mode, it is required to use at least this version on the client and server side.

Added

  • The PoolPlugin.getSelectedSmartCard method to retrieve the smart card if it has been automatically selected by the reader allocation process.

Upgraded

  • “Keyple Plugin API” to version 2.1.0
2023-04-25Keyple Plugin Java Api2.1.0

Added

  • The method PoolPluginSpi.allocateReader now returns the new interface PoolReaderSpi, which extends ReaderSpi, in order to retrieve the smart card that may be automatically selected.
  • CHANGELOG.md file (issue [eclipse/keyple#6]).
  • CI: Forbid the publication of a version already released (issue [#7]).
2023-04-24Keyple Plugin Pcsc Java Lib2.1.2

Fixed

  • Unnecessary logging in Java 16+ during reflexive calls used to overcome the deficiencies of smartcard.io in Windows environment.
2023-04-17Keyple Util Cpp Lib2.3.0.3
2023-04-12Keyple Service Cpp Lib2.1.1
2023-04-12Keyple Util Cpp Lib2.3.0.2
2023-04-05Keyple Plugin Pcsc Java Lib2.1.1

Changed

  • PcscPluginFactoryBuilder.useContactReaderIdentificationFilter method marked as deprecated.

Fixed

  • Use default reader type identification filters.
  • Logging of the available readers names in the AbstractPcscPluginAdapter class.
2023-04-04Keyple Distributed Local Java Lib2.2.0

⚠️ CAUTION: this version requires to use at least version 2.2.0 of the Keyple Distributed Remote Library!

Added

  • CHANGELOG.md file (issue [eclipse/keyple#6]).
  • CI: Forbid the publication of a version already released (issue [#5]).

Changed

  • Initial card content and user input/output data used for “ReaderClientSide” mode are now serialized/de-serialized as JSON objects, and no more as strings containing JSON objects.
  • All JSON property names are now “lowerCamelCase” formatted.

Upgraded

  • “Keyple Distributed Network Library” to version 2.2.0.
  • “Keyple Util Library” to version 2.3.0.
  • “Google Gson Library” (com.google.code.gson) to version 2.10.1.
2023-04-04Keyple Distributed Remote Java Lib2.2.0

⚠️ CAUTION: this version requires to use at least version 2.2.0 of the Keyple Distributed Local Library!

Changed

  • Initial card content and user input/output data used for “ReaderClientSide” mode are now serialized/de-serialized as JSON objects, and no more as strings containing JSON objects.

Upgraded

  • “Keyple Distributed Network Library” to version 2.2.0.
2023-04-04Keyple Card Calypso Java Lib2.3.4

Changed

  • Prevent internal fields serialization.

Upgraded

  • “Calypsonet Terminal Calypso API” to version 1.8.0 (initialize SAM context for next transaction).
2023-04-04Keyple Service Java Lib2.1.4

Changed

  • Objects transmitted through the network for “Distributed” solution are now serialized/de-serialized as JSON objects, and no more as strings containing JSON objects.
  • All JSON property names are now “lowerCamelCase” formatted.
2023-04-04Keyple Distributed Network Java Lib2.2.0

Added

  • CHANGELOG.md file (issue [eclipse/keyple#6]).
  • CI: Forbid the publication of a version already released (issue [#6])

Changed

  • All JSON property names are now “lowerCamelCase” formatted.

Upgraded

  • “Keyple Util Library” to version 2.3.0.
  • “Google Gson Library” (com.google.code.gson) to version 2.10.1.
2023-03-08Keyple Card Calypso Java Lib2.3.3

Fixed

  • SV reload and debit logs are now updated in CalypsoCard during a transaction.

Upgraded

  • “Calypsonet Terminal Calypso API” to version 1.7.0 (pre-open secure session variant).
2023-02-27Keyple Card Calypso Crypto Legacysam Java Lib0.3.0

Upgraded

  • “Calypsonet Terminal Reader API” to version 1.2.0.
  • “Calypsonet Terminal Calypso Crypto Legacy SAM API” to version 0.2.0.
  • “Google Gson Library” (com.google.code.gson) to version 2.10.1.
2023-02-17Keyple Distributed Remote Java Lib2.1.0

Added

  • The possibility to provide to the RemotePluginServer a custom executor service to be used to asynchronously notify remote reader connection events (see new method RemotePluginServerFactoryBuilder.builder(String remotePluginName, ExecutorService executorService)).
  • CHANGELOG.md file (issue [eclipse/keyple#6]).
  • CI: Forbid the publication of a version already released (issue [#3])

Upgraded

  • “Keyple Distributed Remote API” to version 2.1.0
  • “Keyple Util Library” to version 2.3.0
  • “Google Gson Library” (com.google.code.gson) to version 2.10.1
2023-02-17Keyple Service Java Lib2.1.3

Fixed

  • Management of the physical channel when chaining multiple selection scenarios.

Upgraded

  • “Keyple Distributed Remote API” to version 2.1.0
  • “Google Gson Library” (com.google.code.gson) to version 2.10.1.
2023-02-17Keyple Card Calypso Java Lib2.3.2

Changed

  • The errors raised by the “Read Record” command executed during the card selection process are no longer blocking.

Upgraded

  • “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.
2023-02-17Keyple Distributed Remote Java Api2.1.0

Added

  • The possibility to provide to the observable remote plugin a custom executor service to be used to asynchronously notify remote reader connection events (see new method ObservableRemotePluginSpi.getExecutorService).
  • CHANGELOG.md file (issue [eclipse/keyple#6]).
  • CI: Forbid the publication of a version already released (issue [#3])
2023-01-31Keyple Util Cpp Lib2.3.0.1
2023-01-10Keyple Service Java Lib2.1.2

Upgraded

  • “Calypsonet Terminal Reader API” to version 1.2.0.
  • “Keyple Util Library” to version 2.3.0.
2023-01-01Keyple Plugin Stub Cpp Lib2.1.0
2022-12-31Keyple Plugin Pcsc Cpp Lib2.1.0
2022-12-30Keyple Card Generic Cpp Lib2.0.2.1
2022-12-30Keyple Service Resource Cpp Lib2.0.2
2022-12-29Keyple Service Cpp Lib2.1.0
2022-12-28Keyple Util Cpp Lib2.3.0
2022-12-28Keyple Util Cpp Lib2.2.0
2022-12-28Keyple Util Cpp Lib2.1.0
2022-12-22Keyple Card Calypso Java Lib2.3.1

Fixed

  • SAM exception management for signature command.
  • Increase/Decrease commands postponed data management for legacy cards.

Deprecated

  • CalypsoExtensionService.createSamSecuritySetting method.
  • CalypsoExtensionService.createSamTransaction method.
  • CalypsoExtensionService.createSamTransactionWithoutSecurity method.

Upgraded

  • “Calypsonet Terminal Calypso API” to version 1.5.0 (extended mode management).
2022-12-13Keyple Card Calypso Crypto Legacysam Java Lib0.2.0

Added

  • LegacySamCardExtensionService to gather all providers.
2022-12-12Keyple Card Calypso Crypto Legacysam Java Lib0.1.0
This is the initial release.
2022-12-06Keyple Card Calypso Java Lib2.3.0

Added

  • ContextSetting setting to CalypsoExtensionService to manage the limitations of some not fully compliant terminals.

Fixed

  • Maximum payload length management for card and SAM APDUs.
  • Exception management within a secure session.
2022-11-17Keyple Card Calypso Java Lib2.2.5

Fixed

  • Signature issue when doing SV operation in secure session.
2022-11-17Keyple Card Calypso Java Lib2.2.4

Fixed

  • 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 xx
    • 06 0A 01 02 xx xx xx
    • xx xx 0x xx 15 xx xx
    • xx xx 1x xx 15 xx xx

Changed

  • Enable binary commands with PRIME_REVISION_2 cards.

Upgraded

  • “Calypsonet Terminal Calypso API” to version 1.4.1.
  • “Keyple Util Library” to version 2.3.0.
2022-11-17Keyple Util Java Lib2.3.0

Added

  • ByteArrayUtil.extractBytes method to extract bytes from a number.
  • ByteArrayUtil.extractShort method.
  • ByteArrayUtil.extractLong method.
  • ByteArrayUtil.copyBytes method.
2022-11-04Keyple Plugin Cpp Api2.0.0
2022-10-27Keyple Card Calypso Java Lib2.2.3

Added

  • JSON serializers for the new import/export feature of the card selection manager.

Changed

  • Merge of internal setApduResponse and checkStatus methods to parseApduResponse method.
  • Improvement of the card command parsing process.
  • Internal identification of the currently selected file.

Fixed

  • Management of “Read Records” card command for cards not supporting multiple record reads.

Upgraded

  • “Calypsonet Terminal Reader API” to version 1.1.0.
  • “Calypsonet Terminal Calypso API” to version 1.4.0 (issues [#40], [#41], [#42]).
2022-10-26Keyple Service Java Lib2.1.1

Fixed

  • Logging format for distributed service.

Upgraded

  • “Calypsonet Terminal Reader API” to version 1.1.0.
  • “Keyple Util Library” to version 2.2.0.
2022-10-04Keyple Card Calypso Java Lib2.2.2

Changed

  • Use the SAM “Digest Update Multiple” command whenever possible.

Upgraded

  • “Calypsonet Terminal Calypso API” to version 1.3.0.
2022-10-03Keyple Util Java Lib2.2.0

Added

  • Class CalendarJsonAdapter for serialization of Calendar objects in ISO 8601 format.
  • Class DateJsonSerializer for serialization of Date objects in ISO 8601 format.
2022-07-25Keyple Card Calypso Java Lib2.2.1

Fixed

  • Problem occurring when reusing a CalypsoSamSelection containing unlocking data.

Upgraded

  • “Keyple Service Resource Library” to version 2.0.2.
2022-07-25Keyple Service Resource Java Lib2.0.2

Changed

  • Usage of CardReader instead of Reader.

Upgraded

  • “Keyple Service Library” to version 2.1.0
  • “Keyple Util Library” to version 2.1.0
2022-07-25Keyple Service Java Lib2.1.0

Added

  • SmartCardService.getPlugin from a CardReader reference.
  • SmartCardService.getReader from a CardReader name.
  • Plugin.getReaderExtension to access the reader’s extension class.

Deprecated

  • Reader in favor of CardReader from the “Calypsonet Terminal Reader API”.
  • ObservableReader in favor of ObservableCardReader from the “Calypsonet Terminal Reader API”.
  • ConfigurableReader in favor of ConfigurableCardReader from the “Calypsonet Terminal Reader API”.
  • ReaderEvent in favor of CardReaderEvent from the “Calypsonet Terminal Reader API”.

Fixed

  • Auto management of 61XX and 6CXX status words and case 4 commands (Calypsonet Terminal Requirements: RL-SW-61XX.1, RL-SW-6CXX.1, RL-SW-ANALYSIS.1 and RL-SW-CASE4.1) (issue [#37]).
  • Returned value of getActiveSmartCard method when there is no active smart card (issue [#40]).
  • JSON serialization for interfaces in objects trees (issue [#43]).
  • No longer clear the selection requests after processing the card selection.
  • Closing the physical channel when unregistering a reader.

Upgraded

  • “Keyple Util Library” to version 2.1.0 by removing the use of deprecated methods.
2022-07-25Keyple Plugin Pcsc Java Lib2.1.0

Added

  • PcscReader.transmitControlCommand and PcscReader.getIoctlCcidEscapeCommandId methods (issue [#9]).
  • “CHANGELOG.md” file (issue [eclipse/keyple#6]).
  • CI: Forbid the publication of a version already released (issue [#6]).

Upgraded

  • “Keyple Util Library” to version 2.1.0 by removing the use of deprecated methods.

Fixed

  • Setting the smartcard.io path in the case of MacOS platform.
2022-07-05Keyple Util Cpp Lib2.0.0
2022-07-05Keyple Service Resource Cpp Lib2.0.1
2022-07-05Keyple Service Cpp Lib2.0.1
2022-07-05Keyple Plugin Stub Cpp Lib2.0.0
2022-07-05Keyple Plugin Pcsc Cpp Lib2.0.0
2022-07-05Keyple Common Cpp Api2.0.0
2022-07-05Keyple Card Generic Cpp Lib2.0.2
2022-06-09Keyple Plugin Android Omapi Java Lib2.0.1

Added

  • CHANGELOG.md file (issue [eclipse/keyple#6]).
  • CI: Forbid the publication of a version already released (issue [#3]).

Fixed

  • Removal of the unused Jacoco plugin for compiling Android applications that had an unwanted side effect when the application was launched (stacktrace with warnings).

Upgraded

  • “Keyple Util Library” to version 2.1.0 by removing the use of deprecated methods.
2022-06-09Keyple Plugin Android Nfc Java Lib2.0.1

Added

  • CHANGELOG.md file (issue [eclipse/keyple#6]).
  • CI: Forbid the publication of a version already released (issue [#5]).

Fixed

  • Removal of the unused Jacoco plugin for compiling Android applications that had an unwanted side effect when the application was launched (stacktrace with warnings).

Upgraded

  • “Keyple Util Library” to version 2.1.0 by removing the use of deprecated methods.
2022-06-03Keyple Plugin Stub Java Lib2.1.0

Added

  • “CHANGELOG.md” file (issue [eclipse/keyple#6]).
  • CI: Forbid the publication of a version already released (issue [#7]).
  • New way of mocking APDU responses for a StubSmartCard using a provider (issue [#10]).

Upgraded

  • “Keyple Util Library” to version 2.1.0 by removing the use of deprecated methods.
2022-05-30Keyple Card Calypso Java Lib2.2.0

Added

  • CalypsoExtensionService.createBasicSignatureComputationData method.
  • CalypsoExtensionService.createTraceableSignatureComputationData method.
  • CalypsoExtensionService.createBasicSignatureVerificationData method.
  • CalypsoExtensionService.createTraceableSignatureVerificationData method.
  • CalypsoExtensionService.createSamSecuritySetting method.
  • CalypsoExtensionService.createSamTransaction method.
  • CalypsoExtensionService.createSamTransactionWithoutSecurity method.
  • 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]).

Upgraded

  • “Calypsonet Terminal Calypso API” to version 1.2.0 (issue [#66]).
  • “Keyple Util Library” to version 2.1.0.

Fixed

  • 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]).
2022-05-30Keyple Util Java Lib2.1.0

Added

  • “CHANGELOG.md” file (issue [eclipse/keyple#6]).
  • CI: Forbid the publication of a version already released (issue [#14]).
  • JSON serializer/deserializer for short and long data types (issue [#17]).
  • Assert.isHexString method.
  • HexUtil.isValid method.
  • HexUtil.toByteArray method.
  • HexUtil.toByte method.
  • HexUtil.toShort method.
  • HexUtil.toInt method.
  • HexUtil.toLong method.
  • HexUtil.toHex methods for byte[], byte, short, int and long data types.
  • ByteArrayUtil.extractBytes method.
  • ByteArrayUtil.extractInt method.
  • BerTlvUtil.parse method to parse TLV data structure having several identical TAGs (issue [#19]).

Changed

  • Optimizations of hexadecimal data conversions.

Deprecated

  • ByteArrayUtil.isValidHexString method replaced by HexUtil.isValid method.
  • ByteArrayUtil.normalizeHexString method.
  • ByteArrayUtil.fromHex method replaced by HexUtil.toByteArray method.
  • ByteArrayUtil.toHex method replaced by HexUtil.toHex method.
  • ByteArrayUtil.twoBytesToInt method replaced by ByteArrayUtil.extractInt method.
  • ByteArrayUtil.twoBytesSignedToInt method replaced by ByteArrayUtil.extractInt method.
  • ByteArrayUtil.threeBytesToInt method replaced by ByteArrayUtil.extractInt method.
  • ByteArrayUtil.threeBytesSignedToInt method replaced by ByteArrayUtil.extractInt method.
  • ByteArrayUtil.fourBytesToInt method replaced by ByteArrayUtil.extractInt method.
  • ContactCardCommonProtocol class.
  • ContactlessCardCommonProtocol class.
2022-05-25Keyple Service Resource Cpp Lib2.0.1-ipr
2022-05-25Keyple Common Cpp Api2.0.0-ipr
2022-05-24Keyple Util Cpp Lib2.0.0-ipr
2022-05-24Keyple Service Cpp Lib2.0.1-ipr
2022-05-24Keyple Plugin Stub Cpp Lib2.0.0-ipr
2022-05-24Keyple Plugin Pcsc Cpp Lib2.0.0-ipr
2022-05-24Keyple Plugin Cpp Api2.0.0-ipr
2022-05-24Keyple Card Generic Cpp Lib2.0.2-ipr
2022-02-01Keyple Card Calypso Java Lib2.1.0

Added

  • Implementation of EF_LIST and TRACEABILITY_INFORMATION tags to prepareGetData methods (issue [#33]).
  • Implementation of prepareUpdateBinary and prepareWriteBinary methods (issue [#34]).
  • Implementation of prepareReadBinary method (issue [#35]).
  • Implementation of prepareReadRecordsPartially method (issue [#36]).
  • Implementation of prepareSearchRecords method (issue [#37]).
  • Implementation of prepareIncreaseCounters and prepareDecreaseCounters methods (issue [#38]).
  • Implementation of processChangeKey method (issue [#39]).
  • Management of EFs with SFI equal to 0 (issue [#55]).

Changed

  • Internal parameter P2 to FFh for the “Change PIN” card APDU command.

Fixed

  • Revision 2 case for prepareSelectFile method (issue [#32]).

Upgraded

  • “Calypsonet Terminal Calypso API” to version 1.1.0 (issue [#53]).
2021-12-17Keyple Card Calypso Java Lib2.0.3

Fixed

  • Commands anticipation management during “processClosing” method (issue [#30])

Upgraded

  • “Calypsonet Terminal Calypso API” to version 1.0.5.
2021-12-17Keyple Card Generic Java Lib2.0.2

Fixed

  • Logging of APDU request command (issue [#9]).
2021-12-16Keyple Card Calypso Java Lib2.0.2

Upgraded

  • “Calypsonet Terminal Calypso API” to version 1.0.3 (issue [#28]).
2021-12-08Keyple Service Java Lib2.0.1

Added

  • CHANGELOG.md file (issue [eclipse/keyple#6]).
  • CI: Forbid the publication of a version already released (issue [#34]).

Fixed

  • Logical channel management for multiple selections (issue [#38]).
2021-11-22Keyple Card Generic Java Lib2.0.1

Added

  • “CHANGELOG.md” file (issue [eclipse/keyple#6]).
  • CI: Forbid the publication of a version already released (issue [#4]).

Fixed

  • Returned value of addSuccessfulStatusWord method (issue [#7]).

Upgraded

  • “Keyple Service Resource Library” to version 2.0.1
2021-11-22Keyple Card Calypso Java Lib2.0.1

Added

  • CHANGELOG.md file (issue [eclipse/keyple#6]).
  • CI: Forbid the publication of a version already released (issue [#20]).

Changed

  • Merging of internal builders and parsers of APDU commands (issue [#24]).

Fixed

  • Take into account the last DF status for isDfInvalidated() method (issue [#22]).

Upgraded

  • “Calypsonet Terminal Calypso API” to version 1.0.2
  • “Keyple Service Resource Library” to version 2.0.1

Deprecated

  • addSuccessfulStatusWord method (issue [calypsonet/calypsonet-terminal-calypso-java-api#11]).
2021-11-22Keyple Service Resource Java Lib2.0.1

Added

  • “CHANGELOG.md” file (issue [eclipse/keyple#6]).
  • CI: Forbid the publication of a version already released (issue [#4]).

Changed

  • Useless check removed in configurator builder (issue [#9])

Fixed

  • Sonar issues (issue [#6]).
2021-10-06Keyple Card Generic Java Lib2.0.0
This is the initial release of the Keyple Card Generic Java Library. It follows the extraction of Keyple 1.0 components contained in the eclipse/keyple-java repository to dedicated repositories. It also brings many major API changes.
2021-10-06Keyple Card Calypso Java Lib2.0.0
This is the initial release of the Keyple Card Calypso Java Library. It follows the extraction of Keyple 1.0 components contained in the eclipse/keyple-java repository to dedicated repositories. It also brings many major API changes.
2021-10-06Keyple Distributed Remote Java Lib2.0.0
This is the initial release of the Keyple Distributed Remote Java Library. It follows the extraction of Keyple 1.0 components contained in the eclipse/keyple-java repository to dedicated repositories. It also brings many major API changes.
2021-10-06Keyple Distributed Local Java Lib2.0.0
This is the initial release of the Keyple Distributed Local Java Library. It follows the extraction of Keyple 1.0 components contained in the eclipse/keyple-java repository to dedicated repositories. It also brings many major API changes.
2021-10-06Keyple Service Resource Java Lib2.0.0
This is the initial release of the Keyple Service Resource Java Library. It follows the extraction of Keyple 1.0 components contained in the eclipse/keyple-java repository to dedicated repositories. It also brings many major API changes.
2021-10-06Keyple Plugin Android Omapi Java Lib2.0.0
This is the initial release of the Keyple Plugin Android OMAPI Java Library. It follows the extraction of Keyple 1.0 components contained in the eclipse/keyple-java repository to dedicated repositories. It also brings many major API changes.
2021-10-06Keyple Distributed Network Java Lib2.0.0
This is the initial release of the Keyple Distributed Network Java Library. It follows the extraction of Keyple 1.0 components contained in the eclipse/keyple-java repository to dedicated repositories. It also brings many major API changes.
2021-10-06Keyple Plugin Android Nfc Java Lib2.0.0
This is the initial release of the Keyple Plugin Android NFC Java Library. It follows the extraction of Keyple 1.0 components contained in the eclipse/keyple-java repository to dedicated repositories. It also brings many major API changes.
2021-10-06Keyple Plugin Stub Java Lib2.0.0
This is the initial release of the Keyple Plugin Stub Java Library. It follows the extraction of Keyple 1.0 components contained in the eclipse/keyple-java repository to dedicated repositories. It also brings many major API changes.
2021-10-06Keyple Plugin Pcsc Java Lib2.0.0
This is the initial release of the Keyple Plugin PC/SC Java Library. It follows the extraction of Keyple 1.0 components contained in the eclipse/keyple-java repository to dedicated repositories. It also brings many major API changes.
2021-10-06Keyple Service Java Lib2.0.0
This is the initial release of the Keyple Service Java Library. It follows the extraction of Keyple 1.0 components contained in the eclipse/keyple-java repository to dedicated repositories. It also brings many major API changes.
2021-10-06Keyple Distributed Local Java Api2.0.0
This is the initial release of the Keyple Distributed Local Java API. It follows the extraction of Keyple 1.0 components contained in the eclipse/keyple-java repository to dedicated repositories. It also brings many major API changes.
2021-10-06Keyple Distributed Remote Java Api2.0.0
This is the initial release of the Keyple Distributed Remote Java API. It follows the extraction of Keyple 1.0 components contained in the eclipse/keyple-java repository to dedicated repositories. It also brings many major API changes.
2021-10-06Keyple Plugin Java Api2.0.0
This is the initial release of the Keyple Plugin Java API. It follows the extraction of Keyple 1.0 components contained in the eclipse/keyple-java repository to dedicated repositories. It also brings many major API changes.
2021-10-06Keyple Util Java Lib2.0.0
This is the initial release of the Keyple Util Java Library. It follows the extraction of Keyple 1.0 components contained in the eclipse/keyple-java repository to dedicated repositories. It also brings many major API changes.
2021-10-06Keyple Common Java Api2.0.0
This is the initial release of the Keyple Common Java API. It follows the extraction of Keyple 1.0 components contained in the eclipse/keyple-java repository to dedicated repositories. It also brings many major API changes.
2021-08-27Keyple Card Generic Java Lib2.0.0-rc4
2021-08-27Keyple Card Calypso Java Lib2.0.0-rc4
2021-08-27Keyple Distributed Remote Java Lib2.0.0-rc4
2021-08-27Keyple Distributed Local Java Lib2.0.0-rc4
2021-08-27Keyple Service Resource Java Lib2.0.0-rc3
2021-08-26Keyple Plugin Android Omapi Java Lib2.0.0-rc3
2021-08-26Keyple Plugin Android Nfc Java Lib2.0.0-rc3
2021-08-26Keyple Service Java Lib2.0.0-rc5
2021-08-26Keyple Plugin Stub Java Lib2.0.0-rc4
2021-08-26Keyple Distributed Network Java Lib2.0.0-rc4
2021-08-26Keyple Plugin Pcsc Java Lib2.0.0-rc4
2021-08-26Keyple Distributed Remote Java Api2.0.0-rc4
2021-08-26Keyple Plugin Java Api2.0.0-rc4
2021-08-26Keyple Common Java Api2.0.0-rc4
2021-08-26Keyple Distributed Local Java Api2.0.0-rc4
2021-08-26Keyple Util Java Lib2.0.0-rc4
2021-07-09Keyple Card Generic Java Lib2.0.0-rc3
2021-07-09Keyple Card Calypso Java Lib2.0.0-rc3
2021-07-09Keyple Service Resource Java Lib2.0.0-rc2
2021-07-09Keyple Distributed Remote Java Lib2.0.0-rc3
2021-07-09Keyple Distributed Local Java Lib2.0.0-rc3
2021-07-09Keyple Distributed Network Java Lib2.0.0-rc3
2021-07-09Keyple Plugin Stub Java Lib2.0.0-rc3
2021-07-09Keyple Plugin Pcsc Java Lib2.0.0-rc3
2021-07-09Keyple Plugin Android Omapi Java Lib2.0.0-rc2
2021-07-09Keyple Plugin Android Nfc Java Lib2.0.0-rc2
2021-07-09Keyple Service Java Lib2.0.0-rc4
2021-07-09Keyple Common Java Api2.0.0-rc3
2021-07-09Keyple Distributed Remote Java Api2.0.0-rc3
2021-07-09Keyple Distributed Local Java Api2.0.0-rc3
2021-07-09Keyple Plugin Java Api2.0.0-rc3
2021-07-09Keyple Util Java Lib2.0.0-rc3
2021-07-02Keyple Plugin Android Omapi Java Lib2.0.0-rc1
2021-07-02Keyple Plugin Android Nfc Java Lib2.0.0-rc1
2021-07-02Keyple Distributed Local Java Lib2.0.0-rc2
2021-07-02Keyple Distributed Remote Java Lib2.0.0-rc2
2021-07-02Keyple Distributed Network Java Lib2.0.0-rc2
2021-07-02Keyple Util Java Lib2.0.0-rc2
2021-06-28Keyple Service Java Lib2.0.0-rc3
2021-06-28Keyple Card Generic Java Lib2.0.0-rc2
2021-06-28Keyple Card Calypso Java Lib2.0.0-rc2
2021-06-28Keyple Plugin Pcsc Java Lib2.0.0-rc2
2021-06-28Keyple Plugin Stub Java Lib2.0.0-rc2
2021-06-28Keyple Distributed Remote Java Api2.0-rc2
2021-06-28Keyple Distributed Local Java Api2.0-rc2
2021-06-28Keyple Plugin Java Api2.0-rc2
2021-06-28Keyple Common Java Api2.0-rc2
2021-06-23Keyple Service Java Lib2.0.0-rc2
2021-06-21Keyple Distributed Network Java Lib2.0.0-rc1
2021-06-21Keyple Plugin Pcsc Java Lib2.0.0-rc1
2021-06-21Keyple Plugin Stub Java Lib2.0.0-rc1
2021-06-21Keyple Service Java Lib2.0.0-rc1
2021-06-21Keyple Distributed Remote Java Lib2.0.0-rc1
2021-06-21Keyple Distributed Local Java Lib2.0.0-rc1
2021-06-21Keyple Service Resource Java Lib2.0.0-rc1
2021-06-21Keyple Card Calypso Java Lib2.0.0-rc1
2021-06-21Keyple Card Generic Java Lib2.0.0-rc1
2021-06-21Keyple Util Java Lib2.0.0-rc1
2021-06-21Keyple Distributed Remote Java Api2.0-rc1
2021-06-21Keyple Plugin Java Api2.0-rc1
2021-06-21Keyple Distributed Local Java Api2.0-rc1
2021-06-21Keyple Common Java Api2.0-rc1