Skip to content

v0.3.1

Choose a tag to compare

@eyelock eyelock released this 30 Oct 12:21
· 38 commits to develop since this release
1b55c17

ynr v0.3.1. (v0.3.0 was tagged but never published: its release run found the long-hostname bug fixed in #81.)

Install

  • Homebrew now installs the full build: DuckDB, the hot tier, query, central and the dashboard, as ADR-001 says (#73). Releases add ynr-full_<ver>_<os>_<arch>.tar.gz archives. The slim ynr_… and ynr-stub-vendor_… archives keep their names. The release job runs on macOS, with GCC cross toolchains for linux. This is the first release built that way.
  • make install, as ynh, ynf and ynm have (#60).
  • The docs site: https://eyelock.github.io/ynr/, a Diátaxis tutorial, how-tos, reference and explanation (#61).

Behaviour

  • ynr serve stops reading a run folder over its budget, and stamps ynr.provenance.warning=over-budget (ADR-003). The budget is the manifest's run_quota_bytes, which ynf writes from telemetry.run_quota, else 64 MiB (#75).
  • ynr conformance implements rule 13, "never into memory". It compares ynm's store before and after the runs, in a scratch YNM_HOME (#70).
  • Query windows longer than 7 days include days without a rollup yet, such as today, with no double counting (#71).
  • recent, item and trace return the actor handle, so an erasure can be checked: it shows (erased) (#71).
  • New columns collector_instance and received_at, which ynr stamps as ynr.received_at when it receives a record (ADR-005, #74).
  • Parquet files carry ynr.schema_version, now 2. Files from v0.2.2 have no key and read as version 1. A newer version is refused (#76, #78).
  • A store with v0.2.2 parts and new parts reads correctly. Before #78, DuckDB bound every part to the first file's columns and silently dropped the new values.
  • ynr query finds a central whose socket fell back to the temp folder, so --socket isn't needed (#72).
  • The embedded collector logs warnings and errors only, unless --debug is set. The top-level usage lists every flag and environment variable (#72).

Dependencies

  • DuckDB 2.0 (duckdb-go v2.20000.0): SQL lambdas use lambda a: … (#67).
  • spoolexporter v0.3.0 (OpenTelemetry 3 peers for the npm exporter, #69, #79), plus Go, npm and Actions updates (#57, #58, #63, #64, #66, #68).

Tests: three flaky tests fixed. They counted at-least-once redelivery as a failure (#65), and a lease test stole the lease without the store's lock (#77).

Fix in v0.3.1: ynr serve default collector id stays within 63 characters on long hostnames (#81).

Known limit: the linux full archives need libstdc++ from GCC 13 or later (Ubuntu 24.04, Debian 13 or newer); on older systems use the slim archive.