Skip to content

v0.51.0: AGPL-3.0-or-later, and a read stays under its cap

Choose a tag to compare

@john-broadway john-broadway released this 01 Nov 19:32

The license is AGPL-3.0-or-later from this release. A minor release for that reason: the rest are fixes. Every release through 0.50.1 was Apache-2.0 and stays Apache-2.0. The code Alessandro Del Prete (@alexdelprete) and RavenLiao contributed came in under Apache-2.0; those portions remain available under it as well, and its text ships beside the AGPL one (LICENSES/Apache-2.0.txt).

A read's answer stays under its cap. The answer cap (PROXIMO_RAW_MAX_BYTES, default 1,152 bytes and 750 estimated tokens) is what keeps a read small enough for a model's window. Every way an answer went past it is older than this release. The path a read was called on was clipped by characters, not by what it costs once sent, so an emoji path shipped over 2,000 bytes before a single row. A sight line, a wait= read's task words, the default node and the door's read-only note each joined the answer after it was sized, or were bounded alone and went over together. Now everything echoed beside the data shares one bound and is counted before the rows are cut, and the shrink loop can no longer grow the room it is shrinking. Measured through every published read with a path placeholder, path values of eight kinds of character at four lengths, twelve cap settings: 394,752 answered reads, none over.

The cap has a floor: its default. A cut answer still carries its header, its path, how to narrow it, its sight line and its notes, at most 1,136 bytes and 737 tokens. A cap set lower is raised to the default, and proximo doctor names the raise. Nothing changes for a setup that leaves the caps unset.

In a running door, a receipt costs the same on a long ledger as on a new one. Every call writes a receipt, and every receipt read the whole ledger twice. Measured on one machine, without a profiler: on 0.50.1 a read cost 3.2 ms on a new ledger and 486 ms at 37,632 rows; now 1.2 ms at 37,632 rows in a running door (the MCP server, the network doors). A new process, as each proximo-core call is, still reads the file once to learn the chain's mode. The chain is unchanged: the last hash is read from the end of the file and held to the old forward walk over every line shape a file can hold, and a chain that turns mixed is still called mixed.

Also: the shell lane keeps its exit code under a small token cap, and keeps more of a stream inside it. A cut answer's fields= advice names keys its rows really carry. pyasn1 0.6.5 for four advisories, reached only through the a2a extra.

Tested: 4,651 tests, and eleven adversarial review rounds on this release, each fix planted reversed and caught.

Full history for this release, commit by commit, is on the internal mirror; this public branch carries one squashed commit per release by design. Every change here is described in CHANGELOG.md.

Where to read more

Install: uvx proximo-proxmox · pip install proximo-proxmox · ghcr.io/john-broadway/proximo:0.51.0