v0.9.4¶
Highlights¶
Release notes are now managed with reno. Every contributor adds a note for the change they are making in the same pull request that carries the code, and the notes of a release are published as the body of its GitHub Release.
Upgrade Notes¶
Contributors need the new
releasedependency group to add a release note. Runuv sync --group releaseto install it, then create a note withmake release-note NAME=my-change. A pull request touching library code that carries no note fails theCheck Release Notesjob.VLADEmbedder,FisherVectorEmbedder,Pipeline,ContrastiveSiameseNetworkandTripletNeuralNetworknow L2-normalize whatembedreturns. Vectors already stored in anInMemoryImageEmbeddingStorebuilt in the"l2"or"ip"space are on a different scale than newly embedded queries, so rebuild such a store or construct the embedder withnormalize=False. A"cosine"store is unaffected, since it normalizes its vectors anyway.Subclasses outside the library that implement
embedhave to rename it to_embed:ImageEmbedderBase.embedis now a concrete method that appliesnormalizeto whatever_embedreturns.The
.embedderfile format carries thenormalizesetting and is bumped to version 3. Files written by earlier versions lack the key and no longer load, so re-save any embedder saved with pyvisim 0.9.3 or older.
New Features¶
Every image embedder now takes a
normalizeparameter, whichImageEmbedderBaseowns and all embedders inherit. It defaults toTrue, soembedreturns rows of unit L2 length and two embeddings can be compared with a plain dot product. Passnormalize=Falseto get the raw encoding instead.macOS is now a supported operating system. The package metadata lists it next to Linux and Windows, and the unit and slow test suites run on
macos-latestin CI.
Enhancement Notes¶
The documentation now shows the pyvisim symbol above the title in the sidebar, with a separate variant for the dark theme, and a clickable GitHub icon in the page footer.
CHANGELOG.mdis frozen at0.9.3and is no longer updated. It stays in the repository as the record of every release up to that point. Notes for later releases live inreleasenotes/notesand are rendered onto the GitHub Releases page.