Skip to content

v0.8.25

Choose a tag to compare

@tamnd tamnd released this 22 Sep 18:04
1596aa8

Built against Mojo 1.0.0 (ed45d567).

A patch release. Two entries about the engine and two about whether anybody would find out if the engine broke.

The engine

A lookaround can stand beside a backreference, an atomic group or a conditional. Each of those three was refused with a sentence of its own, and all three sentences said the same thing: a lookaround is a search inside a search, one engine could run the inner one, and a backreference, a cut and a test are the three shapes that engine cannot be handed, so a pattern holding both had nowhere to go. It has somewhere to go now. With that the list of constructs pandas sends to Python's own engine and this library cannot answer is empty.

A list written out by name is refused by name rather than by accident.

The pipeline

The Python extension suite had been red on main for five merges. Nothing in the engine was wrong. Eight rows were asserting that a pattern raises NotImplementedError, the two changes that taught the engine to answer those patterns updated the Mojo tests beside them and left these behind, and what the job printed was DID NOT RAISE NotImplementedError, which reads like a fussy test rather than a break. So five changes landed on a pipeline that was already red and nobody read it. The eight rows now ask pandas what the answer is and compare against it, which is what every other row in those files does.

The Actions cache had gone over its ten gigabyte allowance, to 11.36 across 75 entries, with about a third of that in entries that had already been superseded. The compiler cache is keyed on the commit that wrote it and restored by prefix, so every merge writes about twenty new entries and the ones they replace are never read again, and nothing was deleting them. Going over is not self correcting in the direction you want: GitHub evicts the least recently used entry, which is not the same as the useless one, so the space a dead entry holds is paid for by whichever platform has been quiet for a day going cold on its next run, which is worth between three and nine times on a test file. A job at the end of CI now deletes the superseded ones, keeping the newest per key family. It has run on a merge and took the cache from 75 entries and 11.36 GB to 42 and 7.54.

Neither of those two changes what the library does. Both change whether a break would be noticed, which is the same thing one step removed.