.. _relnotes_v0.9.4: v0.9.4 ====== .. _relnotes_v0.9.4_Highlights: 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. .. _relnotes_v0.9.4_Upgrade Notes: Upgrade Notes ------------- - Contributors need the new ``release`` dependency group to add a release note. Run ``uv sync --group release`` to install it, then create a note with ``make release-note NAME=my-change``. A pull request touching library code that carries no note fails the ``Check Release Notes`` job. - ``VLADEmbedder``, ``FisherVectorEmbedder``, ``Pipeline``, ``ContrastiveSiameseNetwork`` and ``TripletNeuralNetwork`` now L2-normalize what ``embed`` returns. Vectors already stored in an ``InMemoryImageEmbeddingStore`` built in the ``"l2"`` or ``"ip"`` space are on a different scale than newly embedded queries, so rebuild such a store or construct the embedder with ``normalize=False``. A ``"cosine"`` store is unaffected, since it normalizes its vectors anyway. - Subclasses outside the library that implement ``embed`` have to rename it to ``_embed``: ``ImageEmbedderBase.embed`` is now a concrete method that applies ``normalize`` to whatever ``_embed`` returns. - The ``.embedder`` file format carries the ``normalize`` setting 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. .. _relnotes_v0.9.4_New Features: New Features ------------ - Every image embedder now takes a ``normalize`` parameter, which ``ImageEmbedderBase`` owns and all embedders inherit. It defaults to ``True``, so ``embed`` returns rows of unit L2 length and two embeddings can be compared with a plain dot product. Pass ``normalize=False`` to 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-latest`` in CI. .. _relnotes_v0.9.4_Enhancement Notes: 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.md`` is frozen at ``0.9.3`` and is no longer updated. It stays in the repository as the record of every release up to that point. Notes for later releases live in ``releasenotes/notes`` and are rendered onto the GitHub Releases page.