v0.3.0
This release introduces metric transfer between computers via the new Secure Modem adapters!
Secure Modem works in a request/response fashion: input adapters send requests, output adapters respond to those requests. Both adapters are designed to recover from broken connections, disconnected modems, and other skill issues. Behind the scenes, the adapter utilizes the excellent ECNet2 library to secure all communications with modern encryption methodology.
Because of the new dependencies, I have also introduced an installer that downloads and organizes required external modules. In the future, this installer will be packaged with the release to facilitate updates.
To make all this come together, a lot of internal APIs have been updated. There are also some miscellaneous changes, so please take a quick look at the changelog below.
Thanks for reading! 👋
Installer
- Add installer with options to download packaged release or full source files, utilizing MCJack123's PrimeUI toolkit
Dependencies
Backplane
- Breaking change: Update
backplane:cycleEvery(n)
to return a list containing the cycle scheduler and any defined async handlers - Update
debug()
to propagate debug state to any adapters added after calling it. Adapters previously added are not affected - Update debug logs to enhance traceability
- Update
cycle()
to prefix metricadapter
values with the name of the adapter being processed:"existing" => "new:existing"
- Add
backplane.collection
to save the last cycle’s prepared MetricCollection
Inputs
- Add SecureModemInputAdapter (requires ECNet2)
- Add SecureModem protocol:
telem v1.0.0
Outputs
- Add SecureModemOutputAdapter (requires ECNet2)
- Add SecureModem protocol:
telem v1.0.0
- Add
boot()
to OutputAdapter - Update
addComponentByPeripheralID
andaddComponentByPeripheralType
to match InputAdapter implementations
API
- Add debug state and debug log to adapters
- Add adapter-defined async handlers (threads)
Internal
- Add
src/telem/vendor
folder for dependencies. During a source install, these are copied to the root folder (exceptvendor/init.lua
) - Update build script to package Telem sources and vendor sources into separate files
Full Changelog: v0.2.0...v0.3.0