ast_serialize is a fast Python extension that parses Python files and serializes the AST using the native binary format used by mypy. It’s useful for replacing mypy’s current stdlib ast-based parser, and for testing end-to-end parsing and serialization as part of mypy’s “NativeParser” work.
Project status
- Actively maintained, with the upstream last push on 2026-09-13 and multiple tagged updates in mid-September 2026, indicating ongoing work into the last few weeks relative to today (2026-10-02).
- Apparent update cadence is relatively fast recently, with v0.11.0 (2026-09-08), v0.11.1 (2026-09-09), and v0.11.2 (2026-09-13), suggesting short-interval iterations during this period.
AI summary generated
Recent updates
v0.12.0
This release bumps the crate version to v0.12.0 and makes a small but behaviorally relevant change to how type ignore error codes are parsed. Specifically, the parser now allows ':' characters inside the bracketed ignore error code portion.
v0.11.2
Release v0.11.2 contains changes to AST serialization logic, specifically around how import metadata is encoded and how invalid type annotations are serialized when they originate from string literals used as type expressions. No release notes were provided for this version, so the behavior changes below are not documented by the publisher.
Featuresv0.11.1
Release v0.11.1 contains a small internal change in the AST serialization pipeline, plus version bumps across the crate workspace. The only meaningful code behavior change visible in the diff is around how source text with Windows or classic Mac newlines is normalized and how the hash is computed.
v0.11.0
Release v0.11.0 was published on 2026-09-08, but the publisher did not include release notes (no changes described). As a result, there is no documented information here about new features, bug fixes, breaking changes, security, or migration steps.
v0.10.0
No release notes were provided for v0.10.0. The code diff shows changes to AST serialization options and cache format, plus significant updates to how type comments and type ignore directives are parsed and validated.
BreakingFeaturesv0.9.0
Release v0.9.0 has no published release notes, so the changes must be inferred from the code diff. The diff shows a major vendored Ruff crate update, including a substantial refactor in the `ruff_annotate_snippets` crate (new `Report`/`Group` model, new `Level` API, and a renderer rewrite), plus workspace and dependency version bumps.
Featuresv0.8.0
No release notes were provided for v0.8.0. The diff shows mostly packaging and CI changes, including rebuilding emscripten wheels with a Python-version matrix, and a Rust dependency bump (mypy_parser 0.7.0 to 0.8.0) plus version metadata updates in Cargo.toml and pyproject.toml.
BreakingFeaturesv0.7.0
Release v0.7.0 contains no publisher-provided release notes. The diff shows a substantial internal update: the project now vendors Ruff crates via an internal Cargo workspace, upgrades PyO3, and expands CI and wheel build coverage to include free-threaded Python (including abi3t for Python 3.15t).
Breakingv0.6.0
This release (v0.6.0) primarily updates build and packaging configuration rather than application code. The GitHub Actions workflow now builds and uploads an additional Emscripten (WebAssembly) wheel artifact, and the release job is gated on that new build.
Featuresv0.5.0
This release is tagged v0.5.0, but the publisher did not provide any release notes. As a result, there is no information available here about new features, bug fixes, breaking changes, security updates, or migration requirements.