Releases: Z-bit-Systems-LLC/OSDP.Net
Releases · Z-bit-Systems-LLC/OSDP.Net
Release list
v5.0.49
Changes
- Fix PDConsole
.osdpcaptrace output — strip the leading0xFFdriver byte from PD reply packets so captured packets begin at the SOM (0x53), matching the ACU's output format. - Fix
TraceEntry.Address— the property read the SOM byte instead of the address byte, returning83for every real trace; it now correctly reads the device address (with the reply bit masked off). Docs and tests updated accordingly. - Document PDConsole
appsettings.jsonconfiguration.
Full Changelog: v5.0.48...v5.0.49
v5.0.48
What's changed in v5.0.48
Secure channel & packet tracing
- Decode the secure channel handshake (osdp_CHLNG / osdp_CCRYPT / osdp_SCRYPT / osdp_RMAC_I) in parsed trace output, including the security block type and SEC_BLK_DATA for every SCS packet.
- Fix packet-trace parsing of replies that carry a leading 0xFF mark byte (replies were misclassified as commands).
- Align osdp_RMAC_I with the spec: emit SCS_14, with 0x01 indicating the server cryptogram was accepted (per OSDP D.1.3.4).
- Drop a stale PD secure-channel session when the ACU restarts the connection (sequence 0), so the ACU can re-discover and re-establish after osdp_KEYSET.
PD (Device) compliance
- Answer osdp_LSTAT / osdp_ISTAT / osdp_OSTAT / osdp_RSTAT with the proper report (LSTATR/ISTATR/OSTATR/RSTATR) instead of ACK in PDConsole.
- Guard the Device command handler so report-mandated commands can no longer reply with an invalid type (substitutes NAK).
- Fix OutputStatus serialization inversion so output state round-trips correctly.
PDConsole
- Wire up EnableLogging and EnableTracing settings.
- Simplify secure channel configuration and fix settings not loading from appsettings.json.
Full test suite (575 tests) and ReSharper inspection pass clean.
v5.0.47
Changes
- Add full osdp_TEXT command support with all OSDP 2.2 options — expose TextCommand, Row, Column, and TemporaryTextTime in the Reader Text Output dialog; follows the LED/Buzzer pattern with device selection and capability check
- Add random key generator button to EncryptionKeySetDialog
v5.0.45
What's Changed
Bug Fix
- Fix ACU wedging when PD sends NAK(UnexpectedSequenceNumber) at sequence 0 — When a PD resets and sends NAK with
UnexpectedSequenceNumberat sequence 0 while the ACU'sIsConnectedis false (e.g., after an 8-second timeout or a recent device reset), the ACU would get stuck in a polling loop at sequence 1. Removed theSequence > 0guard so the ACU always resets onUnexpectedSequenceNumberNAK regardless of reply sequence number.
Documentation
- Add transparent mode guide link to SmartCardSample README
v5.0.44
What's Changed
- Add PD-side OSDP transparent mode (XWR/XRD) support — PDs can now answer
osdp_XWRcommands and push unsolicitedosdp_XRDreplies for smart-card APDU passthrough, symmetric with the existing ACU implementation. Includes a simulated PDConsole implementation that pairs with the existing SmartCardSample end-to-end, plus a new transparent mode usage guide underdocs/transparent-mode-guide.md. - Expand
release the code/release the libraryalias to also create a GitHub release and regenerate Doxygen documentation.
Full Changelog: v5.0.43...v5.0.44
v5.0.43
What's Changed
- Rename field to match private instance naming convention
- Add OSDP transparent mode (XWR/XRD) and SmartCardSample
- fix(crauth): use 2-byte size and offset in message fragments for osdp_CRAUTH (#211)
- Add OSDP 2.2.2 PD compliance validation report (Phase 7)
- Add OSDP 2.2.2 optional feature validation tests (Phase 6)
- Add OSDP 2.2.2 secure channel compliance tests (Phase 5)
- Add OSDP 2.2.2 timing compliance tests (Phase 4)
- Add OSDP 2.2.2 error handling and NAK validation tests (Phase 3)
- Add OSDP 2.2.2 PD compliance validation tests (Phase 1-2)
Full Changelog: v5.0.42...v5.0.43
v5.0.37
Enhancements
- Add NET 10 support
- Basic support for PD
- Provide helper functions for tracing packets
v4.1.7
v4.1.1
Enhancements
- Add NET 7.0 support
Bug Fixes
- Unable to process OSDP Cap files with spaces between bytes in the data field #133