Skip to content

Releases

v0.4.1

Choose a tag to compare

@eyelock eyelock released this 02 Nov 19:10
1380c5d

Entwistle · ynw release seat

Release v0.4.1: the spoolexporter Go module can send OTLP/HTTP JSON, so a tool can meet ADR-006 rule 1 without the standard OTLP exporters.

Added

  • spoolexporter has an OTLP/HTTP JSON exporter for an operator's OTEL_EXPORTER_OTLP_* settings (ynr #90). It posts the existing OTLP/JSON encoding to the endpoints the operator names, reads ENDPOINT, the per-signal endpoints, HEADERS and TIMEOUT, and names the setting that stops it (a protocol other than http/json, custom certificates, compression). Each export is bounded (2 seconds by default), errors are counted in Stats and never returned, redirects are not followed, and header values appear nowhere. No module is added.

Docs

  • ADR-006 rule 10: tool details sit behind the strip list, and account ids are hashed (ynr #96).
  • ADR-004, the package doc and the spoolexporter README now say the Go module also sends OTLP/HTTP (ynr #90).

The spoolexporter Go module is tagged separately.

v0.4.0

Choose a tag to compare

@eyelock eyelock released this 01 Nov 16:07
4857735

Entwistle · ynw release seat

Release v0.4.0: the relay strips paths, host names, email addresses and full names before the spool.

Privacy

  • ynr relay strips paths and host names before the spool, so ADR-006 rule 10's "no paths or host names" is enforced at one point for every vendor (ynr #86). It drops cwd, host.name, host.id, host.ip, host.mac, process.owner, process.command, process.command_line, process.command_args and process.executable.path, and any attribute whose string value is the user's home folder or a path under it, from resource, scope, span, span event, span link, data point, exemplar and log record attributes, for traces, metrics and logs. Log record bodies and span names are not scrubbed.
  • The relay's exit line reports N attributes stripped.
  • The relay also drops user.email, user.full_name and any attribute whose whole value is an email address (ynr #87).

Docs: ADR-006 rule 10, ADR-004's relay paragraph, the ynr relay reference and the tutorial's exit line (#86), and ADR-006 and the ynr relay reference for the email and name rule (#87).

v0.3.2

Choose a tag to compare

@eyelock eyelock released this 30 Oct 15:25
d49c8ef

ynr v0.3.2.

Fix

  • The linux full binaries (ynr-full_0.3.2_linux_{amd64,arm64}.tar.gz) link libstdc++ and libgcc statically. v0.3.1's needed GLIBCXX_3.4.32 and would not start on Ubuntu 22.04 or Debian 12. They now need glibc 2.25 or newer (#83).
  • The release checks each linux full binary before publishing, and fails if it still needs libstdc++ or libgcc_s (#83).

The slim, stub-vendor and darwin builds are unchanged from v0.3.1.

v0.3.1

Choose a tag to compare

@eyelock eyelock released this 30 Oct 12:21
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.

v0.2.2

Choose a tag to compare

@eyelock eyelock released this 07 Oct 22:27
9f0f22c

Changelog

  • 9e56a04 Drop the private-repository wording now that ynr is public (#55)
  • 7ec70a3 Merge pull request #39 from eyelock/dependabot/github_actions/actions/checkout-7
  • 9f0f22c Merge pull request #56 from eyelock/develop

v0.2.1

Choose a tag to compare

@eyelock eyelock released this 07 Oct 18:39
ebeb1c7

Changelog

  • dd055fb Bring ynr up to the public-ready standard (#37)
  • 26a5d20 Fix serve with a store and an upstream; ship on shutdown without a store; stream-json mode for the stub vendor (#53)
  • 19be66a Merge pull request #52 from eyelock/chore/ynr-public
  • ebeb1c7 Merge pull request #54 from eyelock/develop
  • 005f8be Offer support@eyelock.net for security and conduct reports (#49)

v0.2.0

Choose a tag to compare

@eyelock eyelock released this 07 Oct 11:56
bc94ab7

Changelog

  • 654dfb4 ADR-004/006: another collector only when the operator enables it (#26)
  • fca978f ADR-005/007/008: PATH-only tools, compaction leases, conformance file fields (#35)
  • 24c6ba1 Add infra/aws: the S3 store, a role per collector, central's role (#30)
  • cb7de3f Add the S3 store adapter, tested against MinIO (slice 3, part 1) (#29)
  • a583ebc Add the full build's DuckDB query engine and ynr query (slice 2, part 2) (#12)
  • 6462386 Add the hot tier, answering ynr query from a running ynr serve (slice 2, part 3) (#13)
  • 08255f9 Add the local dashboard: lanes, items, a trace waterfall and the live tail (slice 2, part 8) (#19)
  • fdfdaea Add ynr central: change feed, compaction leases, shared-store reader (slice 3) (#32)
  • 51c82a7 Add ynr conformance and the stub vendor (slice 4) (#34)
  • aaf1396 Add ynr doctor (slice 2) (#28)
  • 9cca1e5 Add ynr tail: the live stream from the spool (slice 2, part 7) (#17)
  • ffb0471 Cap the spool as a whole, evicting the oldest closed files first (slice 2) (#27)
  • 4db1439 Compact closed hours into Parquet with manifests (slice 2, part 4) (#14)
  • 7d0ba60 Keep a daily item index, so an item's history reads only its hours (slice 2, part 5) (#15)
  • ffc5edc Learn tool registries and count names they do not declare (ADR-007) (#31)
  • 8d2ac85 Merge pull request #23 from eyelock/main
  • 498c4b4 Merge pull request #25 from eyelock/feature/retention-erasure
  • bc94ab7 Merge pull request #38 from eyelock/develop
  • 8cdf384 Retain a folder store by age and size, and erase handles (slice 2)
  • 3bf8e2f Roll up runs and metrics by day and month, for long-range queries (slice 2, part 6) (#16)

v0.1.1

Choose a tag to compare

@eyelock eyelock released this 06 Oct 06:28
1fd3e92

Changelog

  • e9db895 Merge pull request #20 from eyelock/hotfix/cosign-installer
  • ad96e5b Merge pull request #21 from eyelock/hotfix/release-token
  • 1fd3e92 Merge pull request #22 from eyelock/hotfix/revert-release-token
  • 9679dc8 Pin the cosign installer to v4.1.2, as ynh does: there is no v4 tag
  • 3542bdd Release with the workflow's own token; RELEASE_TOKEN only for the tap
  • 1414dc5 Revert the release token split (#21): RELEASE_TOKEN will write both repositories