Release notes

What changed in each release, newest first. A behaviour change that can stop something that worked before comes first in its release. nfltr version prints the version you run; nfltr update updates it.


v2.1.56

Fixes

v2.1.55

Who can read your traffic, said plainly

Every CLI banner, the dashboard and the proof page now say one of two things:

The old "Verified" and "Blind relay" labels on share links are gone. A share link is always decrypted by the relay, even when the agent has its own certificate: only a client that checks the agent's key gets end to end. An agent whose ACME certificate isn't issued yet shows no fingerprint and no badge, instead of ACME:pending.

Behaviour changes

Security fixes

We reviewed every claim in Proving nfltr's end-to-end encryption against a hostile relay against the code. The post's update note lists what we found:

Fixes

v2.1.54

Every machine has its own identity

Until now one API key stood for a whole account. From v2.1.54 each machine has its own identity, key and certificate. A lost key affects only that machine: revoke it, and your other machines keep working. You also decide which machines can reach which.

This is a hard cut. Keys from before v2.1.54 are refused with machine_not_enrolled. On each machine:

  1. nfltr update --apply (add --with orch where nfltr orch or nfltr node runs).
  2. nfltr config login --machine <name>. On a machine without a browser, choose Add machine in the dashboard's Fleet view and use the code or key it shows.
  3. Restart what runs there (nfltr up, nfltr http, nfltr node join, ...).

Behaviour changes

Machines and groups

Security fixes

These came from the new machine-checked proofs of every end-to-end encrypted path, written with the relay as the attacker (Proving nfltr's end-to-end encryption against a hostile relay):

Additions and fixes

Dashboard

v2.1.53

Custom domains

Behaviour changes

Fixes

Dashboard

Docs and site

v2.1.52

Behaviour change: nfltr tcp refuses a session without a pin

nfltr tcp offers end-to-end encryption by default (--e2ee), and it now takes only sessions that pin its certificate. A session without a pin was plain text inside the relay's own TLS, so the relay could read it while the agent's banner said "e2ee: enabled". Such a session is now refused: nfltr tcp-connect and nfltr dial exit 4 with the reason ERROR_REASON_E2EE_REQUIRED, and the message says how to pin.

The post What "end to end" means for nfltr tcp explains the change, what the relay sees on each path and how it was tested.

Fixes

Relay

Dashboard

Running your own relay

Not in this release