Skip to content

Releases: cyberbit/telem

v0.8.0

10 Jul 23:42
b26fc29
Compare
Choose a tag to compare

🛠️ The Mekanism Update

After many weeks of coding, testing, refactoring, and so much more testing, it is finally here: comprehensive input coverage for nearly every Mekanism machine, cable, pipe, tube, and container, representing over 900 combined metrics. Big thanks to @bananasov for early contributions towards this major milestone!

Due to the volume of additional adapters, the install size has increased across the release types (1.5 - 2x). Future updates will explore decreasing Telem's install footprint, so hopefully this increase will be temporary.

In addition to the Mekanism updates, a few other internal changes have been made that are outlined below.

Important

Documentation will take additional time to complete, but the release is ready to go. If any questions arise that aren't documented yet, please ask in the Discussion for this release or on Discord!

Dependencies

  • Fluent: Add 5 chainable methods to entrypoint
  • Fluent: Fix bug with Fluent.reduce

Inputs

  • Mekanism: Add 65 input adapters (#53)
  • Mekanism: Update 4 input adapters to use query model

Middleware

  • Calculate Delta: Add tick rate interval t
  • Calculate Delta: Add option to use "ingame" as the rate interval basis (default "utc")

Full Changelog: v0.7.2...v0.8.0

v0.7.2

21 Jun 04:11
3bae242
Compare
Choose a tag to compare

This update adds support for the Energy Detector from Advanced Peripherals.

Inputs

  • Add baseline Advanced Peripherals input adapter by @bananasov
  • Add Advanced Peripherals Energy Detector by @bananasov (#54)

Full Changelog: v0.7.1...v0.7.2

v0.7.1

16 Jun 03:55
cd99739
Compare
Choose a tag to compare

This is a QoL update for the Mekanism integration. These changes result in a code footprint that is easier to maintain, reduces the build file by 10%, and has improved in-game performance.

Additionally, several methods have been added to Telem's implementation of Fluent. All standard Fluent features are still available.

Dependencies

  • Add 9 chainable methods to Fluent entrypoint

Inputs

  • Add baseline Mekanism input adapter
  • Update all Mekanism inputs to extend baseline Mekanism input
  • Update all Mekanism inputs to define metrics with Fluent-based queries
  • Update Mekanism peripheral calls to run in parallel for better performance

Full Changelog: v0.7.0...v0.7.1

v0.7.0

12 Jun 14:42
0f1fea5
Compare
Choose a tag to compare

⚙️ The Middleware Update

This update introduces a long-awaited core API class, Middleware. This feature allows you to add, update, and remove metrics between reading inputs and writing outputs. You can calculate deltas, rates, and averages of existing metrics, or craft your own using custom middleware. There are three pre-built middleware available in this release, with a custom endpoint for exploring your own implementations.

"Middleware: we put the T in ETL."

Dependencies

API

  • Add Middleware class

Backplane

  • Add middleware support (executes after reading all inputs, before starting output writes)
  • Remove default collection sorting, use telem.middleware.sort() to sort metrics instead

Inputs

  • Add middleware support (executes after input reads, before sending to backplane)

Outputs

  • Add Area Chart output adapter

Middleware

  • Add Calculate Average middleware
  • Add Calculate Delta middleware
  • Add Custom middleware
  • Add Sort middleware

Full Changelog: v0.6.0...v0.7.0

v0.6.0

05 Jun 03:37
d634d03
Compare
Choose a tag to compare

Backplane

  • Add cache() to save/load the state of cacheable output adapters to/from filesystem

Outputs

  • Add cacheable(), getState(), and loadState() to OutputAdapter to facilitating state caching

Full Changelog: v0.5.3...v0.6.0

v0.5.3

02 Jun 16:55
Compare
Choose a tag to compare

Outputs

  • Add maxEntries parameter to Basalt Graph and Plotter Line Chart adapters for changing buffer size

Full Changelog: v0.5.2...v0.5.3

v0.5.2

21 May 17:38
12ad7c3
Compare
Choose a tag to compare

Dependencies

Full Changelog: v0.5.1...v0.5.2

v0.5.1

14 May 02:01
195b32b
Compare
Choose a tag to compare

Outputs

  • Breaking change: Update GraphOutputAdapter and LabelOutputAdapter for Basalt 1.7

Full Changelog: v0.5.0...v0.5.1

v0.5.0

07 Jan 23:17
f90b72f
Compare
Choose a tag to compare

While these changes are technically bug fixes, I have chosen a minor version bump due to some breaking changes affecting SecureModem protocols.

This release improves SecureModem adapter stability (#36). As an added bonus, the adapters can safely transmit several times more data thanks to a new custom serializer and opportunistic LZW compression.

Please note that any SecureModems from older versions are not compatible with this release and will need to be updated.

Dependencies

API

  • Add pack and unpack functions to Metric and MetricCollection to reduce serialization footprint

Inputs

  • Breaking change: Update SecureModemInputAdapter to new protocol version: telem v2.0.0
  • Update SecureModemInputAdapter to expect packed payloads, with transparent compression handling

Outputs

  • Breaking change: Update SecureModemOutputAdapter to new protocol version: telem v2.0.0
  • Update SecureModemOutputAdapter to pack MetricCollection before send (large collections will be packed and compressed)

Full Changelog: v0.4.2...v0.5.0

v0.4.2

02 Jan 21:49
c0429b3
Compare
Choose a tag to compare

Backplane

  • Add updateLayouts function to force any graphical output adapters to update their layouts and re-render immediately

Outputs

  • Update ChartLineOutputAdapter to lazy update layout when window size differs from internal plotter dimensions

Full Changelog: v0.4.1...v0.4.2