Skip to content

Releases: goToMain/libosdp

Release v3.0.6

10 May 10:43
Compare
Choose a tag to compare

Patch release to address rust build failure issue.

Fixes:

  • examples: python: Fix pyserial read timeout
  • Continue normally on successful command callback on status commands
  • phy: Enhance package scan logging by printing mark-byte
  • ci: Exclude cpp sample from all and build explicitly in build-ci
  • ci: Fix broken release action

v3.0.5

23 Mar 10:19
Compare
Choose a tag to compare

More vcpkg integration issue fixes. This relaese is also about more platform suppport.

See full changelog here.

Enhancements:

  • ci: Enhance to run on different platforms; start doc builds
  • cmake: Add options to disable shared/static builds

Fixes:

  • examples: cpp: Use std::this_thread::sleep_for instead of usleep
  • doc: Fix doxygen build by copying and patching osdp.h
  • api: Fix some more doxygen formatting issues
  • doc: Remove deprecated doxygen config entries
  • cmake: cpack: Fix package definitions
  • crypto: openssl: Remove call to ERR_print_errors_fp()
  • crypo: Add missing headers for openssl.c
  • api: Add OSDP_EXPORT to exported methods in osdp.h
  • python: example: Update README.md with socat link option
  • ci: Fix cross-platform build and change cpack artifact path
  • cmake: Fix MSVC OSDP_EXPORT macro issue
  • cmake: Fix MSVC compiler flag issue
  • CI: Add an on-demand cross platform build check runner
  • cmake: Fix broken CI build due utils build

Release v3.0.4

19 Mar 21:59
Compare
Choose a tag to compare

A release to patch cmkae issues found during vcpkg integration. This version
will be pegged to the first vcpkg release.

Fixes:

  • cmake: Fix issues found when integrating with vcpkg
  • Fix input_check() macros for windows builds
  • api: Fixup comamnd queue flush function name

Release v3.0.3

13 Mar 22:04
Compare
Choose a tag to compare

Minor release with a few fixes required for rust development to progress

Enhancements:

  • make: Add support for make install
  • api: cp: Add method to flush command queue
  • python: osdp_sys: Add some error context for public API
  • doc: Add libosdp/compatibility to top level index.rst

Fixes:

  • doc: Fixup doc in multiple places
  • api: More doxygen fixups
  • cmake: Fix packet trace and data trace linkage
  • api: Fix regression caused by doxygen formatting commit
  • api: Fix doxygen comments style all over osdp.h
  • Fix minor typos in the Wireshark payload dissector
  • doc: More README updates
  • doc: Update README; fix compatibility table
  • libosdp: Fix issue with SC retry timer
  • utils: Pull in fix for time usage on Windows

Release v3.0.2

09 Mar 01:59
Compare
Choose a tag to compare

Yet another minor release to address some of the issues that were identified in
3.0.0 release. With this release, LibOSDP supports Windows as a first-class
citizen.

Enhancements:

  • pytest: run.sh: Add an option to skip running the tests
  • doc: Add LibOSDP compatibility table
  • publish-pypi: Enable windows build/publish
  • doc: Update security.md
  • python: example: Add some CLI args and add a README.md
  • pytest: Add some stage info for run.sh
  • libosdp: phy: some minor houekeeping
  • python: Deprecate master key based key derivation
  • python: Remove concrete "channel" implementations
  • libosdp: file: Make impossible conditions as BUG_ON()
  • libosdp: file: Do not disrupt SC when file TX fails
  • pcap: Replace ':' with '_' in pcap file name timestamp
  • utils: bump submodule to fix __weak warning

Fixes:

  • Fix bug in SC setup due to missing call to cp_keyset_complete
  • python: Fix buggy call to PyArg_Parse due to type of len
  • python: fix some minor issues for MSVC to build libosdp
  • pcap: Fix file name character replacement bug
  • dissector: Remove extra space in command ID text
  • libosdp: Fix broken SC due to missing sc_init call

Release v3.0.1

20 Feb 20:20
Compare
Choose a tag to compare

A quick follow up release adding a few key features that got left out in 3.0.0.
Most notably, packet trace and data trace infrastructure has been reworked and
a custom Wireshark protocol dissector for OSDP was added. Additionally, Some
efforts has been made to support Windows as a build platform.

Enhancements:

  • libosdp: Add Packet scan skipped bytes instrumentation
  • pcap: Move declarations to a separate header
  • doc: Update info about dissector loading on windows
  • libosdp: Add support for windows builds
  • dissector: Append command/reply name to tree view for better analysis
  • libosdp: Migrate rust code to a dedicated repo
  • misc: dissector: Add support for data tracer
  • libosdp: data_trace: Fix bug in packet length passed to tracer
  • libosdp: pcap: Log the number of packets captured
  • libosdp: pcap: Bump utils submodule to fix issues
  • libosdp: Extend tracing infrastructure to DATA_TRACE
  • libosdp: Add timestamp to trace files for uniqueness
  • libosdp: Add a custom protocol disector for WireShark
  • libosdp: Switch to pcap based packet tracing

Fixes:

  • libosdp: Fix packet scan skipped bytes instrumentation
  • Repaired references to osdp_millis_now()
  • doc: Update debugging.rst and README.md with new tracing changes
  • examples: python: Fixup some more minor issues
  • libosdp: Rename samples/ as examples/ as it sounds better
  • examples: python: Fix CP and PD examples for the higher level osdp module
  • CI: Allow publish-pypi.yml to be activated on manual triggers
  • CI: Update python publishing to multilinux

Release v3.0.0

13 Feb 23:34
Compare
Choose a tag to compare

This Major release bring rust support, CP state machine cleanups, API cleanups,
and many other enhancemtns and fixes.

Enhancements:

  • Add rust support (single entry for 80+ patches)
  • Rewrite osdpctl in rust (single entry for many patches)
  • chore: Update copyright year to 2024
  • python: vendor LibOSDP sources when packaging
  • python: Remove code referring to CMakeLists.txt version
  • API, python: Add LED color constants from v2.2 of the spec
  • doc: Update top-level README.md
  • libosdp: cp: Move keyset completion handler to get_next_ok_state()
  • tests: pytest: Add install_mode SCBK set test
  • libosdp: Unify StatusReport query and event structs
  • libosdp: cp: Move functionality away from command builders
  • pytests: Remove timeout from CP status test
  • python: Adapt to changes to status event/command handling
  • libosdp: Rework status command and event handling
  • libosdp: cp: Reword event callback mechanism to use requests
  • libosdp: Permit REPLY_COM response for CMD_COMSET
  • rust: Add method to make a pair of unix channels
  • libosdp: Split events data maxlen macro as we have for commands
  • libosdp: Reduce command/event pool size
  • python: Add a get_file_tx_status() for PD
  • test: unit-test: Add command and event callback logging for file tx command
  • pyosdp: Move set_log_level() to be module method
  • tests: unit-tests: Add initial skeleton for command test
  • libosdp: cp: Rework CP state machine
  • libosdp: cp: Remove some more master key related code
  • libosdp: cp: Move call to cp_cmd_free into cp_translate_cmd
  • libosdp: cp: Add BUG() macro and call for file TX cmd translate
  • libosdp: cp: Decouple internal and external command queue
  • cmake: utils,samples: Bump minimum required version
  • libosdp: CP: Lower comeset reply log level to info
  • libosdp: API: Do not indiate SC active when using SCBK-D
  • libosdp: phy: Also ignore commands with PD address.MSB set
  • libosdp: phy: Ignore reply with PD address.MSB cleared
  • Increasing the max data contained in an OSDP enevt to 128bytes
  • utils: Bump submodule to latest commit
  • doc: Add some notes about make build
  • libosdp: API: Remove osdp_set_command_complete_callback
  • libosdp: Set PD address to 0x7F for broadcast packets
  • libosdp: API: common: Increase PD offline status timeout to 600ms
  • scripts: Unify release generation scripts into one place
  • rust: Add workaround for osdp_config.h.in copy to OUT_DIR
  • rust: cp: Add support for the new status command
  • libosdp: cp: Add different query options for OSDP_CMD_STATUS
  • libosdp: cp: Refactor API command handling (translating) logic
  • python: Update README.me and samples after testing
  • python: osdp: pd: Add support sc_wait() method
  • python: osdp: Add support for non-blocking get_{command,event}
  • cmake: Remove python/ subdirectory from chain
  • python: Merge test/pytest/testlib as main python package
  • libosdp: const-annotate some more public API
  • libosdp: Const-ize parameters of exposed methods
  • libosdp: Remove deprecated methods tree-wide
  • libosdp: Add support for Magenta and Cyan LED colors
  • libosdp: Demote osdp_logger_init to a macro alias

Fixes:

  • utils: Bump submodule to fix build failure due to VLA
  • Fix regression in Rust binding. Commit
    51b626c increased buffer size to 128
    bytes. Adjust binding accordingly.
  • make: Fix configure.sh for linux
  • libosdp: Fix warnings that break rust build
  • utils: Bump submodule to fix log line termination issue
  • libosdp: phy: Fix PACKET_TRACE command byte offset
  • libosdp: phy: Fix packet trace mark byte logging
  • doc: security: Update doc to have latest info; fix a typo
  • libosdp: cp: Fix broken keyset for an install_mode PD
  • CP: API: Fix callback signature in cpp header
  • python: osdp_sys: fix memory leak in pyosdp_add_pd_cap
  • pytest: Fix run.sh to be invokable from other dirs
  • python: Fix pd_info builder after const qualification of info->cap
  • src/osdp_common.c: waring: _GNU_SOURCE redefined
  • utils: version bump - pickup fixes for gcc warnings/errors
  • unit-test: Fix broken build due to old API drop changes
  • Fix potential null pointer deref at LOG_* call site
  • cp: disallow unexpected SC responses

Release v2.4.0

28 Oct 08:05
Compare
Choose a tag to compare

This release bring some minor updates and fixes. It also marks the end of 2.x version of libosdp. A stable branch v2.4.x is created from this tip to backport critical fixes for the time being.

Enhancements:

  • libosdp: Add new API to set a log callback function
  • unit-test: Add line noise simulation methods
  • pytest: Add new test for CP/PD status reports
  • pyosdp: pd: Expose a new API to check online status
  • libosdp: Update to new logger API
  • Expose new configure time macro REPO_ROOT
  • configure: Add new option --debug to enable debug symbols
  • make: Don't remove and rebuild unit-test target each time
  • cmake: Add hook to checkout submodules
  • pd: Use teardown in peripheral destructor only if context exists
  • cp: Use teardown in control panel destructor only if context exists

Fixes:

  • libosdp: Fix stable API change violation
  • unit-tests: Fix warning due to change of fclose sinature
  • libosdp: cmake: Fix static builds with local openssl
  • c++: add header guards
  • pytest: testlib: Fix bug in retry count
  • pytest: Make CP and PD restart-able
  • API: common: Fix osdp_get_status_mask for PD mode
  • Fix null pointer deref issue osdp_reply_name
  • doc: Update domain name to sidcha.dev as gotomain.io has expired
  • Update copyright year to 2023
  • Remove obsolete travis CI config file and it's refs
  • check osdp close file status (according prototype function comments)
  • save PD Local Status

Release v2.3.0

27 Jun 10:34
Compare
Choose a tag to compare

A standard mid-year release with accumulated fixes and enhancements.
Interestingly, this release has a high number of community contributions :)

Enhancements:

  • Add support for additional baud rate 57600
  • Add deprecation notice for command_complete_callback API
  • pyosdp: refactor make_(struct|dict) methods into translators
  • pyosdp: Move similar methods closer for maintainability
  • pyosdp: Refactor event handling method names
  • pyosdp: refactor command handling method names
  • pytest: Add tests for IO and status events
  • pyosdp: export IO and status events to use in pytests
  • libosdp: Add support for tamper and power status events
  • phy: Allow sequence repeat packets
  • libosdp: Limit max packet size to reported peer RX size
  • pd: Add support for handling multiple records in output command
  • pytest: More multidrop test related changes
  • zephyr: Refactor command_callback into a method
  • PD: Reset phy state when ignoring a packet
  • libosdp: file: Promote to be a fist-class citizen
  • libosdp: Allow file transfers to be aborted
  • pd: Handle OSDP_EVENT_MFGREP case in pd_translate_event
  • pyosdp, pytests: Add test case for mfgrep event

Fixes:

  • pyosdp: Hoist cmd->id set in pyosdp_make_struct_cmd
  • fix LED & Buzzer repeated command
  • mbedtls: fix incorrect mode in ecb encryption
  • fix: converts uint64 to uint32 for arm device capability.
  • Disable FindMbedTLS.cmake to fix issue in #108
  • Fix typos in secure channel docs
  • Make installation with cmake happier
  • pd: Fix CMD_ABORT length check
  • cp: Add support for local status query command
  • Fix sequence reversing issue during phy_reset()
  • libosdp: Fix plethora of bugs in input/output events
  • pyosdp: Drop Py_TPFLAGS_HAVE_GC flags on osdp class
  • Fix issues in configure.sh
  • corrected typo in doxygen documentation
  • file: Fix bug in return value processing in build_command
  • libosdp: raw loops to memcpy and other zephyr review fixes
  • fixup! libosdp: file: Promote to be a fist-class citizen
  • pytest: Add file transfer abort test
  • unit-test: Fix test failure due to missing extern
  • unit-test: Fix a use-after-free bug in test async runner
  • fixup! pd: Handle OSDP_EVENT_MFGREP case in pd_translate_event

Release v2.2.0

01 Dec 11:19
Compare
Choose a tag to compare

Yet another minor release with accumulated fixes and enhancements. Notable
changes since last release include,

Enhancements:

  • pd: add method to flush event queue
  • Enable REPLY_ISTATR and REPLY_OSTATR support
  • libosdp: Added opaque argument to command_complete_callback
  • pytest: Add events tests
  • phy: Only flush channel on errors in osdp_phy_state_reset
  • phy: Don't attempt to send a NACK for some early failures
  • libosdp: Make osdp_cmd_mfg and osdp_mfgrep identical
  • cp: Do not propagate PHY errors as-is
  • libosdp: Add a ring buffer to store the RX data
  • libosdp: Move channel read/writes into phy layer
  • unit-tests: Resurrect the old unit-tests modules
  • libosdp: Add a softname for PDs in the info struct
  • Avoid one ifdef by reorg and static inline-ing
  • libosdp: Add support for I/O status monitoring/reporting
  • Enable address sanitizer enabled builds

Fixes:

  • libosdp: Fix CMD_ABORT's assigned command code
  • cp: Fix cardread and keypress event decode cases
  • unit-tests: Add a test case to validate the mark-byte skip
  • pytest: Fix is_sc_active() to return boolean
  • fixup: libosdp: Add support for I/O status monitoring/reporting
  • Fix build failure
  • Fix OSDP_QUEUE_SLAB_SIZE defintion and some typos
  • Fix a heap-buffer-overflow in __cp_setup()