chore(release): v1.3.0rc1 - #438
Merged
Merged
Conversation
Pre-release for smoke-testing the optional Milvus derived-index backend and the everalgo transitive pin against a real PyPI resolution — the release pipeline's own smoke installs the built wheel with `--no-deps`, so it cannot catch a resolution break on its own. `docs/openapi.json` moves with the version: `app.openapi()["info"] ["version"]` reads `everos.__version__` (installed package metadata), and `make lint` fails on a stale dump. Testers must pass `--pre`; pip skips pre-releases by default and would silently install 1.2.3 instead.
cyfyifanchen
approved these changes
Sep 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pre-release for smoke-testing the optional Milvus derived-index backend (#332) and the everalgo transitive pin against a real PyPI resolution.
Why an RC
The release pipeline's own smoke installs the built wheel with
--no-deps(Makefilepackagetarget), so it cannot catch a dependency-resolution break. That is exactly how 1.2.3 shipped withPOST /addanswering 500 on a default install:everalgo-boundaryfloated to 0.3.0, which added a third required field to the publicDetectionResultNamedTuple whileeveralgo-agent-memory0.4.0 still built it with two. An RC is the first chance to verify the pin through a realpip install.Changes
pyproject.tomlversion = "1.3.0rc1"docs/openapi.jsoninfo.versiontrackseveros.__version__(installed package metadata), andmake lintfails on a stale dumpuv.lockNo CHANGELOG section:
release.ymlrequires one only for stable tags (if match is None and not prerelease), and a pre-release page falls back to a generic body. The 1.3.0 prose comes with the stable bump.Verification
make lint— all checks pass, 4 import-linter contracts kept, openapi dump matchespytest tests/unit— 2143 passedtests/unit/test_entrypoints/test_api/test_app_metadata.py— pinsapp.openapi()["info"]["version"] == __version__Smoke-testing the RC
pipskips pre-releases by default, so the version must be named explicitly. Pin the exact version — do not use--pre:Caution
An earlier revision of this description said
pip install --pre everos. That is wrong and was corrected after it broke a smoke run.--pre(and uv's--prerelease=allow) is a global switch: it permits pre-releases for every transitive dependency too, not justeveros. It resolvedhttpx— not declared inpyproject.toml, pulled in transitively — to1.0.dev6, whose top-level API has noTimeout, andPOST /addanswered 500 withAttributeError: module 'httpx' has no attribute 'Timeout'. Same failure class as the boundary break this RC exists to verify, one package over. An exact==pin needs no--preand leaves every other dependency on its stable resolution (httpx 0.28.1, matchinguv.lock).RC verification (2026-09-07, against the published package)
Installed from PyPI by exact pin, both installation paths,
everos init→ server →/add→/flush→ cascade →/get→/search:[milvus]extraeveralgo-boundaryDetectionResult._fields('cells','tail')extractedextracted/get episode/searchdiscrimination (4 methods x 3 topics)The one LanceDB miss is
keywordx one topic, caused by extraction-language drift (that episode came back in Spanish from English input, so English BM25 terms cannot reach it) — a known LLM instruction-following issue, unrelated to the index backend, and absent from the Milvus run on the same input.