Revision history for Device-Serial-SLuRM

0.09    2025-07-11
        [CHANGES]
         * Added `slurm-snoop.pl` example script
         * Added a local test system for contrib/slurm.[ch]

        [BUGFIXES]
         * Update unit tests for breakage caused by new failure message in
           `Test::Future::Deferred` v0.51
         * Sigrok decoder: ignore TX/RX crosstalk

0.08    2025-01-23
        [CHANGES]
         * Dynamically calculate retransmission timeout based on serial line
           baud rate, to account for transmission time on slow links
         * Add actual delay between the two attempts of `->send_twice`
         * Added libsigrokdecode decoder for wire format
         * contrib/slurm.[ch]
            + Mark data arguments for transmission as `const`
            + Compile-time configurable max packet size and number of command
              slots

        [BUGFIXES]
         * Requires perl version 5.28 because use of delete on kvslices

0.07    2024-07-11
        [CHANGES]
         * Use new `Future::Selector` for neater code logic
         * Use Object::Pad::MetaFunctions to avoid an internal-use accessor
           just for unit tests
         * Much code refactor into new `Device::Serial::SLuRM::Protocol`
           module
         * Added docs about supporting a broadcast address in multi-drop mode
         * contrib/slurm.[ch]
            + Support optional broadcast address in mult-drop mode

0.06    2023-11-13
        [CHANGES]
         * Define and support multi-drop MSLµRM protocol
         * Clean shutdown on EOF from TTY device
         * Swap all unit tests from `Test::More` to `Test2::V0`
         * Use Object::Pad v0.800
         * contrib/slurm.[ch]:
            + Support optional TX/RX direction control for RS-485 bus, etc
            + Support MSLµRM multi-drop mode as a non-controller node

0.05    2022-12-17
        [CHANGES]
         * Updated for Object::Pad v0.76:
            + No longer need to disable :experimental(init_expr) warning
         * Add docs for recently-added metrics
         * Receipt of an unrecognised packet type should be just printed as
           a warning, not fatal

0.04    2022-12-05
        [CHANGES]
         * Additionally report a request_duration metric
         * Updated for Object::Pad v0.73:
            + Use `//=` operator in ADJUST :params block
            + Use `field NAME = EXPR` syntax

0.03    2022-10-29
        [CHANGES]
         * Fixes and improvements to metrics
         * Use ADJUST :params from Object::Pad v0.70

0.02    2022-10-11
        [CHANGES]
         * Export metrics using Metrics::Any
         * Automatically ->reset when first required
         * Ensure timeout failures still set the category name of `slurm`
         * contrib/slurm.c: Clear all the cmdslots back to free state on
           receipt of a META-RESET packet

0.01    2022-10-07
        First version, released on an unsuspecting world.
