APIZIT Linking 0.5.0
The final 0.5 release adds useful OpenAPI 3.1 documentation and minimal documentary responses while preserving manifest version 1 and runtime artifact version 1.
Publication status: 0.5.0 is available from PyPI as a wheel and source distribution and is the preceding stable public beta, retained here as history. The earlier 0.5.0rc1 remains available as the evaluation candidate that preceded this release.
Install the exact final release#
Virtual environment
python -m pip install "apizit-linking[preview]==0.5.0"
apizit-linking validate .
apizit-linking preview . --port 8080This examples repository's requirements.txt, guides, and CI use this exact final pin. Deployment adapters must also recompile their artifacts instead of reusing outputs built with 0.4.0 or 0.5.0rc1.
Observed 0.5.0 behavior#
- Local preview exposes Swagger UI, ReDoc, and an OpenAPI 3.1 document. If a linked
GETorHEADroute would shadow a standard documentation path, preview relocates its documentation URLs. - OpenAPI operations are generated statically from the compiled contract. The generator does not import or execute customer modules to inspect metadata.
- Explicit path, query, header, JSON body, form, and file bindings are described with source-aware wire schemas. Defaults, nullable annotations, repeated values, and automatic source resolution are represented.
- Operations document a minimal successful
200, stable Linking request errors as400, and generic business failures as500.HEADdoes not advertise a response body. - Linking remains responsible for request resolution, so this change does not introduce FastAPI/Pydantic request
422responses.
Compatibility decisions#
| Contract | 0.4 to 0.5.0 treatment |
|---|---|
| User-authored manifest | Manifest version: 1 remains unchanged. |
| Generated runtime artifact | Runtime artifact version: 1 remains unchanged. |
| Artifact engine identity | Exact engine_version matching remains mandatory, so artifacts must be recompiled with the final engine. |
| HTTP responses | Response schemas are documentary only. Return annotations do not validate or transform customer return values, and there is no new manifest response block. |
| Legacy route-list adapter | The deprecated bridge remains through 0.5 under the public one-following-minor policy; earliest normal removal is 0.6. |
Artifact format and engine compatibility answer different questions. Keeping artifact version: 1 means the envelope shape stays readable; it does not make a 0.4-generated artifact executable by the 0.5 runtime.
Responses are documentary only#
The OpenAPI return schema is a useful description derived from the Python annotation, not a runtime response contract. APIZIT Linking sets no FastAPI response model and does not reject, coerce, or reshape a returned value to match that annotation. FastAPI still performs its normal response serialization. Custom status codes, response headers, streaming, and user-configured response models remain outside manifest v1.
Final APIZIT promotion is verified#
Publication of the standalone final package does not promote APIZIT automatically. Its separate integration has now been merged with the exact 0.5.0 dependency pin and a recompiled Linking artifact. Checks of APIZIT source, the generated pre-install runtime, and its wheel prove that no Linking engine source is vendored.
The integration passed 12 Linking tests and 89 backend tests; its merged main-branch CI is green.
The complete documentary checklist is in the 0.4-to-0.5 migration guide.
Completed publication gates#
The final release workflow completed nine gated jobs before PyPI publication:
- one immutable wheel and source-distribution build;
- six clean-environment smoke jobs installing the exact same wheel on Linux, Windows, and macOS with Python 3.10 and 3.14;
- one smoke with the minimum supported preview dependencies on Python 3.10;
- one PyPI Trusted Publishing job.
Each wheel smoke verified the installed CLI, public schema, OpenAPI document, FastAPI adapter, and a real ASGI request outside the source checkout. These final package gates passed. APIZIT subsequently passed its independent integration and anti-vendoring gates.
From 0.5.0rc1 to final 0.5.0#
Version 0.5.0rc1 was first published for isolated evaluation. The final 0.5.0 package then repeated the release gates and became the exact pin used by the public examples, guides, and CI. APIZIT was then promoted independently with its own recompilation, test, packaging, and anti-vendoring evidence.