smartcardx
Version:
Backend library for communication with smartcards using system native PCSC interface. Plain Iso7816 + EMV + GlobalPlatform functionality.
107 lines (66 loc) • 3.31 kB
Markdown
<!-- markdownlint-disable MD024 -->
# ChangeLog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/).
and this project adheres to [Semantic Versioning](http://semver.org/).
## [0.9.7] - 2025-04-01
### Fixed
- Internal reader error events are now propagated to `Device` class instead of `PcscDevicesManager`
## [0.9.6] - 2025-03-12
### Fixed
- Types in event handlers for 'command-issued' and 'response-received' handlers
## [0.9.5] - 2025-03-12
### Changed
- Event handler signature for events 'command-issued' on Card class from `(event: { card: ICard; command: CommandApdu }) => void` to `(event: { device: IDevice; card: ICard; command: CommandApdu }) => void`.
- Event handler signature for events 'response-received' on Card class from `(event: { card: ICard; command: CommandApdu; response: ResponseApdu; }) => void` to `(event: { device: IDevice; card: ICard; command: CommandApdu; response: ResponseApdu; }) => void`.
## [0.9.4] - 2025-03-11
### Changed
- Event handler signature for event 'error' on Device class from `( error: any ) => void` to `(event: { error: any, device: Device }) => void`.
## [0.9.3] - 2025-03-11
### Changed
- Event handler signature for event 'card-removed' on Device class from `(event: { name: string; card: Card }) => void` to `(event: { device: Device; card: Card }) => void`.
## [0.9.2] - 2025-03-11
### Added
- Methods for events removal on Card, Device and PcscDevicesManager classes.
## [0.9.0] - 2025-02-20
### Changed
- Card ATR now gets decoded automatically and is available from `<cardInstance>.decodedAtr`
### Added
- `Logger.isAtLeastLevel()`
- added CHANGELOG.md to package files
- added missing Iso7816 INS values
- added `GET_DATA_EVEN`, `GET_DATA_ODD`, `INT_AUTH`, `EXT_MUT_AUTH`, `GET_CHALLENGE` Iso7816 commands
- added missing GlobalPlatform INS values
- additional ber parser check for better error description
- BerObject path list caching. Now the list won't be rebuilt for every single search. Cache must be invalidated manually upon editing BerObject.
- `BerObject.invalidatePathListCache()` method for manual cache invalidation.
- Asn1 utility for OID decoding
- GlobalPlatform enums for privileges, key types, key usages, key access and card/sd/app lifecycle states
- GlobalPlatform utility for getting card info
- GlobalPlatform utility for getting card capabilities
### Fixed
- ICard.issueCommand() overload type
- ICard.issueCommand() unhandled error during submission
### TODO
- get following GP card data:
- "c0" "Key Information Data";
- "e0" "Key Information Template";
## [0.8.1] - 2024-09-23
### Changed
- decodeAtr() fixes and additional checks
## [0.8.0] - 2024-09-22
### Added
- ATR decoding `Utils.decodeAtr()`
- "values" exports for GlobalPlatform and "Iso7816" containing respective commonly used values as, for example, command apdu INS byte values
- INS values for Iso7816-defined commands (according to Iso7816-4(2014) specifications)
### Changed
- Gathered GlobalPlatform and Iso7816 stuff under respective exported namespaces:
- `Iso7816.values`
- `Iso7816.commands`
- `GP.values`
- `GP.commands`
- `GP.SCP02`
- `GP.SCP11`
## [0.7.0] - 2024-09-17
### Added
- Initial package release