Skip to content
This repository was archived by the owner on Sep 24, 2026. It is now read-only.

0.2.0 — Mojo 1.0

Latest

Choose a tag to compare

@conorbronsdon conorbronsdon released this 12 Aug 00:28
ae800e0
  • Builds on released Mojo 1.0. The pixi channel moved from
    max-nightly to max and the dependency pin from >=1.0.0b3.dev… to
    >=1.0,<2; CI installs mojo==1.0.0 from PyPI instead of the nightly
    index with --prerelease allow. The weekly drift check still runs
    against the latest nightly, so the repo still reports when the language
    moves under it. No source changes were needed.

  • README test count corrected: 38 → 59. The 173 CPython urllib.parse
    fixtures still regenerate byte-identical, and 600 mutated inputs ran
    with zero crashes and zero hangs.

  • New url.errors module — the position-aware parse-error pattern shared
    across the mojo-* parser suite: line_col maps a byte offset in a
    source buffer to a 1-based (line, byte-column) pair, and parse_error
    builds an Error reading <msg> at line <L>, column <C>: '<snippet>'
    with a whitespace-trimmed, ~30-byte, UTF-8-safe snippet of the
    offending line. Exported as url.line_col / url.parse_error.
    The library itself mirrors urllib.parse's permissive behavior and has
    no raising parse paths today, so no existing messages changed; the
    helpers are ready for future strict/validating APIs. 21 new unit tests
    in test/test_errors.mojo cover every documented edge case.