diff --git a/CHANGELOG.md b/CHANGELOG.md index 4fea4d7..50db5fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 [unreleased] +## [1.2.0] - 2026-03-18 +### Added +- **System block management**: New method to read system blocks during selection for compatible storage card types: + - `StorageCardSelectionExtension.prepareSt25ReadSystemBlock()` method. + ## [1.1.1] - 2026-02-20 ### Removed - Removed SLF4J useless dependency @@ -101,7 +106,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [0.1.0] - 2025-06-18 This is the initial release. -[unreleased]: https://github.com/eclipse-keypop/keypop-storagecard-java-api/compare/1.1.1...HEAD +[unreleased]: https://github.com/eclipse-keypop/keypop-storagecard-java-api/compare/1.2.0...HEAD +[1.2.0]: https://github.com/eclipse-keypop/keypop-storagecard-java-api/compare/1.1.1...1.2.0 [1.1.1]: https://github.com/eclipse-keypop/keypop-storagecard-java-api/compare/1.1.0...1.1.1 [1.1.0]: https://github.com/eclipse-keypop/keypop-storagecard-java-api/compare/1.0.0...1.1.0 [1.0.0]: https://github.com/eclipse-keypop/keypop-storagecard-java-api/compare/0.3.0...1.0.0 diff --git a/gradle.properties b/gradle.properties index 019d581..5d66a10 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.eclipse.keypop title = Keypop Storage Card Java API description = API defining the needed interfaces to manage storage cards -version = 1.1.2-SNAPSHOT +version = 1.2.0-SNAPSHOT # Java Configuration javaSourceLevel = 1.8 diff --git a/src/main/java/org/eclipse/keypop/storagecard/StorageCardApiProperties.java b/src/main/java/org/eclipse/keypop/storagecard/StorageCardApiProperties.java index e1f8912..2f90898 100644 --- a/src/main/java/org/eclipse/keypop/storagecard/StorageCardApiProperties.java +++ b/src/main/java/org/eclipse/keypop/storagecard/StorageCardApiProperties.java @@ -23,7 +23,7 @@ public final class StorageCardApiProperties { * * @since 1.0.0 */ - public static final String VERSION = "1.1"; + public static final String VERSION = "1.2"; /** Private constructor */ private StorageCardApiProperties() {} diff --git a/src/main/java/org/eclipse/keypop/storagecard/card/StorageCardSelectionExtension.java b/src/main/java/org/eclipse/keypop/storagecard/card/StorageCardSelectionExtension.java index ae7e25a..6090f6a 100644 --- a/src/main/java/org/eclipse/keypop/storagecard/card/StorageCardSelectionExtension.java +++ b/src/main/java/org/eclipse/keypop/storagecard/card/StorageCardSelectionExtension.java @@ -56,6 +56,22 @@ public interface StorageCardSelectionExtension extends CardSelectionExtension { */ StorageCardSelectionExtension prepareReadBlocks(int fromBlockAddress, int toBlockAddress); + /** + * Prepares the reading of the system block from an ST25/SRT512 storage card. + * + *
This method is specific to ST25 and SRT512 card types which provide access to a system block + * at address 255 containing card-specific metadata and configuration data. + * + *
Once this command is processed, the result is available in {@link StorageCard} via {@link + * StorageCard#getSystemBlock()} method. + * + * @return The current instance. + * @throws UnsupportedOperationException If the current card type is not ST25/SRT512. + * @see StorageCard#getSystemBlock() + * @since 1.2.0 + */ + StorageCardSelectionExtension prepareSt25ReadSystemBlock(); + /** * Prepares a Mifare Classic authentication command using a provided key. * diff --git a/src/main/java/org/eclipse/keypop/storagecard/transaction/StorageCardTransactionManager.java b/src/main/java/org/eclipse/keypop/storagecard/transaction/StorageCardTransactionManager.java index e7924ac..48deeb2 100644 --- a/src/main/java/org/eclipse/keypop/storagecard/transaction/StorageCardTransactionManager.java +++ b/src/main/java/org/eclipse/keypop/storagecard/transaction/StorageCardTransactionManager.java @@ -104,10 +104,12 @@ public interface StorageCardTransactionManager *
This method is specific to ST25 and SRT512 card types which provide access to a system block * at address 255 containing card-specific metadata and configuration data. * - *
Once this command is processed, the result is available in {@link StorageCard}. + *
Once this command is processed, the result is available in {@link StorageCard} via {@link + * StorageCard#getSystemBlock()} method. * * @return The current instance. * @throws UnsupportedOperationException If the current card type is not ST25/SRT512. + * @see StorageCard#getSystemBlock() * @since 1.1.0 */ StorageCardTransactionManager prepareSt25ReadSystemBlock();