Back to Explore

mypyc/ast_serialize

GitHub
9 updates · last 90 daysOpen source

Last release:

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: Yes, the upstream repo had a push on 2026-10-16, and the source published v0.13.1 on 2026-10-16 and v0.13.0 on 2026-10-12, indicating ongoing development.
  • Update cadence: Recent updates are close together (about 4 days apart for v0.13.0 and v0.13.1), with prior updates also occurring roughly weekly to biweekly through September and early October 2026.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v0.13.1

    Release v0.13.1 updates the ignore-directive handling logic in the AST serialization flow, specifically around global mypy/type ignore comments at the top of a Python file. Release notes were not provided, so the behavioral changes below are derived from the actual code diff and tests added in this patch.

    BreakingFeatures
  • v0.13.0

    Release v0.13.0 has no publisher-provided release notes. The code diff shows a change to how type comments and type ignores are parsed and serialized, including new parsing rules gated by a bumped internal cache version.

    Features
  • v0.12.1

    Release v0.12.1 has no documented release notes content. The code diff shows a small but meaningful change to the AST type serialization logic in src/serialize_ast.rs, plus version bumps across the crate and internal dependency crates.

  • 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.

    Features
  • v0.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.

    BreakingFeatures
  • v0.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.

    Features
  • v0.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.

    BreakingFeatures
  • v0.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).

    Breaking
  • v0.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.

    Features
  • v0.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.