Releases: cyberbit/telem
v0.8.0
🛠️ 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
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
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
⚙️ 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
Backplane
- Add
cache()
to save/load the state of cacheable output adapters to/from filesystem
Outputs
- Add
cacheable()
,getState()
, andloadState()
to OutputAdapter to facilitating state caching
Full Changelog: v0.5.3...v0.6.0
v0.5.3
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
v0.5.1
Outputs
- Breaking change: Update GraphOutputAdapter and LabelOutputAdapter for Basalt 1.7
Full Changelog: v0.5.0...v0.5.1
v0.5.0
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
andunpack
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
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