Skip to content

v0.3.0

Compare
Choose a tag to compare
@github-actions github-actions released this 25 Nov 02:57
· 170 commits to main since this release
e171d67

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

2023-11-24_21 25 51

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 metric adapter 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 and addComponentByPeripheralType 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 (except vendor/init.lua)
  • Update build script to package Telem sources and vendor sources into separate files

Full Changelog: v0.2.0...v0.3.0