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

  • 1.0 source fix. The positive/negative keyword lists in
    main_text_confident are now annotated List[String]. Under 1.0 a
    bare list expression builds an Array, which no longer converts to
    _class_weight's List[String] parameter.

  • README test count corrected: 63 → 99. Robustness re-checked with 450
    mutated documents — zero crashes, zero hangs.

  • New html.errors module (exported from the package), following the
    shared mojo-* suite pattern: line_col(source, offset) maps a byte
    offset to a 1-based (line, column) pair — the column is the 1-based
    BYTE offset within the line, no UTF-8 decoding — and
    parse_error(msg, source, offset) builds an Error reading
    <msg> at line <L>, column <C>: '<snippet>', where the snippet is up
    to ~30 bytes of the offending line centered on the column,
    whitespace-trimmed, with ... where truncated, and never multi-line.

  • Strict-mode tokenizer errors now carry that position + snippet
    (previously a bare (line L, column C) suffix with no snippet), with
    more useful offsets: unclosed-element-at-EOF errors point at the
    unclosed start tag instead of the end of input, and entity errors
    (unknown entity, bare &, malformed numeric reference) point at the
    offending & — in text, attribute values, and escapable raw text —
    instead of the tokenizer's position after the run.

  • No mechanism change: the tokenizer still raises a plain Error, the
    mojo-html [strict]: prefix is unchanged, and existing
    contains=-style message checks keep matching. The default liberal
    mode still never raises on malformed markup.