Skip to content

v3.0.0: the library is now Ozzit

Choose a tag to compare

@ryanduguid ryanduguid released this 19 Aug 06:17
· 42 commits to main since this release

The library is renamed from Nabla to Ozzit, and every function's prefix moves from nb. to oz. Nothing computes differently: the same 259 assertions pass on the same 1,129 formulas, and the only cells that differ from v2.6.0 are text.

Why

Nabla sits one edit from an acronym nobody wants beside their name on a public repository. It was also a poor description of the library: the nabla operator means a gradient, and there is no calculus anywhere in here.

Migrating

Replace nb. with oz. That is the whole of it.

The bare names are untouched, so nb.Amortiseλ becomes oz.Amortiseλ and nb.SumRowsUλ becomes oz.SumRowsUλ. No argument, result or rounding moves with the prefix. v2.0.0 shipped a 130-row mapping table because its rename collapsed six namespaces into one and tagged the collisions; this one is a uniform three-character swap, so a table would only restate the rule 130 times.

Formulas written against nb. stop resolving. The break is taken now, while nothing depends on them.

The rename is length-preserving

Nabla and Ozzit are both five characters, nb. and oz. both three, and the bare nb the help text names in prose is two, like oz. Every function carries a help block aligned in columns, so a replacement of any other width would have re-aligned 130 of them. tools/rebrand_to_ozzit.py asserts the property on every string it rewrites rather than trusting it.

What the rename does not touch

tools/released-names-v1.2.6.txt, the previous_name column of functions.csv, and the changelog entries before this one still read nabla.d.Aboutλ and the rest. They record what earlier releases actually shipped. Somebody migrating off an older workbook has to be able to look up a name that existed rather than one that never did.

Also in this release

  • nabla.xlsx is now ozzit.xlsx, and the mark in assets/ no longer draws the operator the library never implemented
  • the repository itself is renamed, so the help blocks link to github.com/ryanduguid/Ozzit. GitHub redirects the old address, so existing links and clones keep working
  • tools/transform_from_upstream.py names the upstream functions ozzit.* on the way through and lands them in oz., so a rebuild from the upstream workbook produces this release
  • the version stamp each function carries reads 19 August 2026

Verification

20,226 cached values match the values their formulas produce. 130 functions across 211 parts. src/ reproduces every one of them. 117 signatures, 122 parameter tables and 119 example blocks describe their own function. The Excel self-test recalculates 1,129 formulas and runs 259 assertions with none failing and none in error.