Skip to content

Releases: tinythings/logjet

0.11.0

Choose a tag to compare

@isbm isbm released this 12 Aug 11:42
434301a

What's Changed

Full Changelog: 0.10.0...0.11.0

0.10.0

Choose a tag to compare

@isbm isbm released this 23 Jul 14:10
74a9ce5

What's Changed

Full Changelog: 0.9.0...0.10.0

0.9.0

Choose a tag to compare

@isbm isbm released this 16 May 21:40

Summary

OTLP/HTTP ingest now runs on an async hyper+tokio runtime, replacing the previous synchronous tiny_http implementation. No config migration needed — ingest.protocol: otlp-http works identically; only the underlying transport is different.

Async HTTP Ingest

ingest.max-clients now properly gates concurrent HTTP connections (plain and TLS). gRPC, wire, and plugin ingest paths are unchanged.

Rustls Crypto Provider

Rustls 0.23 requires an explicit crypto provider at startup. ljd now installs the ring provider on boot, guarding against future crate updates that may drop the implicit default.

What's Changed

  • Add view tailing by @isbm in #19
  • Add CLI query by @isbm in #20
  • Fix TUI pop-ups when they get ruined by terminal resize by @isbm in #21
  • Extended log view by @isbm in #22
  • Plugins loading path by @isbm in #23
  • Plugins to multiple ingestors by @isbm in #24
  • Multipass! by @isbm in #25
  • Extend ABI for different OTel types by @isbm in #26
  • Ingestor implementation for Google Perfetto by @isbm in #27
  • Cover all perfetto types by @isbm in #28
  • Implement ingestor of Perfetto traces using RPC by @isbm in #29
  • Add metrics and traces support by @isbm in #30
  • Add parquet metrics and traces export by @isbm in #31
  • Operation hardening by @isbm in #32
  • Implement async HTTP by @isbm in #33

Full Changelog: 0.8.0...0.9.0

0.8.0

Choose a tag to compare

@isbm isbm released this 22 Apr 18:27
3b4c9b8

What's Changed

  • Address issue where IterMut violates Stacked Borrows by invalidating … by @isbm in #16
  • Add gRPC/mTLS/TLS and fan-out bridge proxy to collectors by @isbm in #17
  • Add version bumping by @isbm in #18

Full Changelog: 0.7.0...0.8.0

0.7.0

Choose a tag to compare

@isbm isbm released this 20 Apr 23:24
c39662d

Added exporter C/C++ ABI and headers. This release allows to build your own exporter and load it as .so shared object.

0.6.0

Choose a tag to compare

@isbm isbm released this 16 Apr 18:43

What's Changed

Full Changelog: 0.5.0...0.6.0

0.5.0

Choose a tag to compare

@isbm isbm released this 15 Apr 13:41

What's Changed

Full Changelog: 0.4.0...0.5.0

0.4.0

Choose a tag to compare

@isbm isbm released this 13 Apr 16:47

logjet 0.4.0

Wire protocol

  • CRC32C trailing checksum on every wire frame
  • LZ4 per-record compression — ~60% bandwidth savings on typical OTLP payloads
  • Auto-skip: incompressible payloads sent raw
  • Configurable: wire.compression = true|false for low-power CPUs
  • Single write_all for all wire frames (record, hello, request, ack)
  • Persistent TCP keep-alive to OTLP collectors with auto-reconnect

Storage

  • Multi-record blocks — removed per-record flush, 200ms timed flush
  • Zstd codec added (file.codec = lz4 | zstd | none) — 66% savings on protobuf
  • BufWriter wrapping for flash-friendly I/O
  • Block-aligned writes (4 KiB default) — avoids read-modify-write on eMMC/SD
  • Pre-allocated segment files via fallocate — reduces flash fragmentation
  • Automatic retention: file.max-bytes deletes oldest segments on rotation
  • Configurable fsync policy: file.fsync = none | block | interval

OTLP export

  • Re-batching on file replay and backpressure export paths
  • Merges by Resource+Scope, configurable batch size and timeout
  • collector.batch-size, collector.batch-timeout-ms

Build

  • make check and make fix now cover all crates including demos

New demos

  • demo/compression-bench/ — compares none vs LZ4 vs Zstd on real workloads

0.3.0: Add liblogjet for dynamic use

Choose a tag to compare

@isbm isbm released this 17 Mar 16:34

What's Changed

  • Add logjet export as a sharedlib by @isbm in #7

Full Changelog: 0.2.0...0.3.0

0.2.0: Merge pull request #6 from tinythings/isbm-ljd-rename

Choose a tag to compare

@isbm isbm released this 09 Mar 22:58

Release Notes

What’s New

New: ljx file toolbox

This release introduces ljx, a new standalone CLI for working with .logjet files.

You can now:

  • inspect and browse stored data locally
  • filter records into new files
  • count and summarize records quickly
  • split and join .logjet files for offline workflows

New: interactive TUI viewer

ljx view adds an interactive terminal UI for browsing filtered records in real time.

Highlights:

  • fast keyboard-driven navigation
  • live filtering with string and regex modes
  • record detail viewing
  • export/save filtered results

Usability Improvements

  • Improved typing in the filter field (q now types normally while editing).
  • Refined TUI visuals for better readability and consistency.

Daemon Naming Update

The daemon command is now ljd (previously logjetd).

Docs and demo run scripts have been updated to use ljd.