NEBU /ˈnɛ.buː/
ROOT / DOCS / CHANGELOG

# CHANGELOG

Notable changes to nebu, per release.

Full release artifacts — binaries, container images, checksums — live on GitHub Releases.

## v0.6.15

[ RELEASE CANDIDATE ]
  • · Correct fetches: bounded ranges fail when truncated, interruptions return 130, and documented stable exit codes distinguish usage, range, lookup, and source failures.
  • · Resumable backfills: opt-in checkpoints resume file output from the last durable ledger with atomic persistence and path-alias protection.
  • · Observable programs: OSC 7501 serves interactive terminals while the stable nebu.status.v1 NDJSON stream provides lifecycle and progress to automation.
  • · Processor contract: origin, transform, and sink helpers now share discovery, cancellation, status, and exit semantics suitable for flowctl integration without moving orchestration into nebu.
  • · Registry and SDK: strict description.yml support preserves metadata and refs; go-stellar-sdk is upgraded to v0.7.3.

## v0.6.14

[ GITHUB → ]
  • · Added OSC 7501 Program Status Protocol reporting to nebu and processor CLI helpers, with auto, always, and never modes.

## v0.6.13

[ GITHUB → ]
  • · Upgraded github.com/stellar/go-stellar-sdk to v0.7.1.

## v0.6.12

[ GITHUB → ]
  • · Corrected GoReleaser configuration and release packaging.

## v0.6.11

[ GITHUB → ]
  • · Protocol 28: upgraded github.com/stellar/go-stellar-sdk from v0.6.0 to v0.7.0 in nebu, the hooks example, and all 34 Go processor modules.
  • · Raw fetch: RPC and archive modes now use LedgerStream.RawLedgers and write backend XDR bytes directly to stdout or --output. The decode/re-encode cycle is gone and the existing concatenated-XDR wire format is unchanged.
  • · Processor ownership: published processors now have one canonical implementation in nebu-processor-registry; this repository retains only its educational processors.
  • · Build: make build-processors installs published processors from the external registry and builds educational processors locally.
  • · Release packaging: GoReleaser archives and the withobsrvr/nebu container now contain the nebu CLI only. Published processors release independently from the external registry.
  • · Verification: added byte-for-byte XDR compatibility, no-decode, stream-error, short-write, range, and RPC-header tests. RPC and public-S3 fetch pipelines were verified through token-transfer.

## v0.6.10

[ GITHUB → ]
  • · make build now emits the canonical bin/nebu executable before compiling the remaining packages.
  • · Build versions now come from git describe --tags --always --dirty, with the VERSION override and dev fallback preserved.

## v0.6.9

[ GITHUB → ]
  • · Added checksum-verified, atomic installation of prebuilt processor binaries, enabling processors written outside Go. Installed binaries must pass --describe-json.
  • · Added the normative, language-agnostic PROCESSOR_CONTRACT.md.
  • · Extended registry v1 entries with an optional install block while preserving existing Go-module installation.

## v0.6.8

[ GITHUB → ]
  • · Dependencies: github.com/stellar/go-stellar-sdk v0.5.0 → v0.6.0, and duckdb 1.5.1 → 1.5.4 in flake.nix.
  • · Testing: the pkg/source/rpc integration tests now derive ledger ranges from the RPC health endpoint instead of hardcoded sequences, and assert Stream errors instead of logging them. New fully offline unit coverage for auth-header injection, Stream error paths, and cancellation; network-dependent tests skip under go test -short.
  • · Docs: added AGENTS.md and docs/SMOKE_TESTING.md (bounded live-RPC end-to-end smoke test); skill-doc sync now covers every SKILL.md copy.
  • · Skill: rewrote the nebu skill and added trigger evals (skills/nebu/evals/).
  • · Reference hooks: added examples/hooks/ with three drop-in runtime.Hooks implementations — rate_limit.go (token-bucket, stdlib only), metrics.go (Prometheus counters + histograms), and tracing.go (OpenTelemetry spans). Each follows the same drop-in-file pattern as the existing progress.go. Smoke-tested end-to-end via hooks-demo against ledgers 62080000-62080010.
  • · Docs: archive-mode examples now default to the public aws-public-blockchain/v1.1/stellar/ledgers/pubnet S3 bucket (region us-east-2). No AWS account required — the Stellar SDK's S3 datastore falls back to AnonymousCredentials when no credentials are present. Verified end-to-end: fetching 10 ledgers anonymously and piping through token-transfer produces 8,713 well-formed events.
  • · Website: full redesign rolled out to docs/. New pages — man(1), processors, schemas, this changelog — plus shared assets/nebu.css and assets/nebu.js. Install script mirrored to docs/install.sh so curl -sSL https://nebu.withobsrvr.com/install.sh | sh resolves.

## v0.6.7

[ SECURITY ] [ GITHUB → ]
  • · Updated AWS SDK v2 dependencies across the root module and all reference processor modules to address the EventStream decoder DoS advisory:
    • → github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream → v1.7.8
    • → github.com/aws/aws-sdk-go-v2/service/s3 → v1.99.0
  • · Pulled related AWS SDK internals forward (aws-sdk-go-v2, smithy-go) via go mod tidy.
  • · Verified google.golang.org/grpc is at v1.80.0, newer than the fix version for the :path authorization-bypass advisory (v1.79.3).

## v0.6.6

[ GITHUB → ]
  • · Removed an unused command and cleaned up documentation (#24).

## v0.6.5

[ GITHUB → ]
  • · Updated library dependencies.

## v0.6.4

[ GITHUB → ]
  • · Documentation updates (#19).

## v0.6.3

[ GITHUB → ]
  • · Fixed _nebu_version in event envelopes for processors installed via go install.
  • · Pinned all reference processors to github.com/withObsrvr/nebu v0.6.2, so runtime build-info fallback now reports the real version instead of dev.
  • · No other code changes in this release.

## v0.6.2

[ GITHUB → ]
  • · Unblocked go install for in-tree processors.
  • · nebu --version now reads runtime build info when ldflags are absent.
  • · nebu install now includes captured go install output in failures.
  • · Fixed usdc-filter to read the correct transfer.assetCode field.
  • · Added Claude Code skill docs and worked pipeline examples.

## v0.6.0

[ MINOR ] [ GITHUB → ]
  • · Added runtime hooks via Runtime.Use(Hooks{...}).
  • · Added deterministic fatal-priority preemption.
  • · Added CI enforcement for stable API snapshots.

## v0.5.0

[ MINOR · CONTRACT ] [ GITHUB → ]
[ CONTRACT ] This release declared the stable contract surface. From this version on, breaking changes to pkg/processor / pkg/source require a major bump and a deprecation window.
  • · Declared the stable contract surface: pkg/processor, pkg/source, registry.yaml v1, and --describe-json.
  • · Formalized transform and sink interfaces.
  • · Split pkg/source into a dep-free interface package with concrete implementations elsewhere.
  • · Added the registry specification.
[ OLDER ]

Full release history including v0.4.x, v0.3.x, and earlier lives in the CHANGELOG.md in the repo and on GitHub Releases.

## LEGEND

[ MINOR ] — added features, backwards-compatible.
[ MAJOR ] — breaking changes to the stable contract.
[ CONTRACT ] — touches pkg/processor or pkg/source.
[ SECURITY ] — advisory fix. Upgrade promptly.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OBSRVR NEBU(7)