Skip to content

oxabl: v1.0.0

Choose a tag to compare

@evanbrobertson evanbrobertson released this 10 Aug 17:51
a13d729

1.0.0 (2026-08-04)

⚠ BREAKING CHANGES

  • SymbolTable::inherited_member_type and record_inherited_member_type are removed; read Symbol::data_type.
  • semantic: UnresolvedReason gains NotFoundInWorkspace and Unknowable. An exhaustive match on it will no longer compile. Both are skip-listed by every lint rule, so no diagnostic changes.
  • pipeline: oxabl check no longer reports parse conformance. It lints and reports formatting drift, and its --json shape has changed accordingly. The previous behaviour, report text, --json shape, and exit codes are available unchanged as oxabl conformance.
  • api: oxabl::parse, oxabl::analyze, oxabl::analyze_with_fs, and oxabl_formatter::format_source are deprecated in favor of their try_* siblings. They still compile and behave identically; callers denying deprecation warnings will need to migrate or allow them.
  • api: the oxabl umbrella no longer glob-re-exports its sub-crates at the crate root; consumers use the named modules (e.g. oxabl::ast::Statement). oxabl_parser no longer exposes its skip_to_* recovery helpers or its expressions/statements modules.

Features

  • add find_statements example to extract AST statements as CSV (#76) (ddeffa2)
  • api: analyze() convenience, AnalyzeOptions, and schema conveniences (#55) (#115) (3b4dd6e)
  • api: curated public facade + parse() convenience (#55) (#113) (dd496e0)
  • api: diagnostic renderer, Display, and serde on the diagnostic family (#55) (#114) (0681257)
  • api: format_source() convenience and a streaming lexer iterator (#55) (#116) (f285ca0)
  • api: panic-safe parse, analyze, and format entry points, and browser crash recovery (#135) (2e87258)
  • ast: full-fidelity spans on AST wrapper nodes (#91) (2e774b1)
  • auto-load oxabl.toml include paths + loud unresolvable-include diagnostic (6447178)
  • auto-load oxabl.toml include paths + loud unresolvable-include diagnostic (bf346d8)
  • cli: oxabl format CLI + oxabl.toml [workspace.style] discovery (Track B slice 4) (#94) (a290fed)
  • judge the cross-file population, and drain the top of the unmodelled-statement suppression (#153) (a1e03e6)
  • lsp: ship oxabl lsp diagnostics-to-editor skeleton (#90) (d025e3d)
  • oxabl_analyze: add dump crate + oxabl analyze subcommand (Phase 6) (47153ea)
  • pipeline: one shared lint and format run behind every client (#140) (58d961e)
  • pipeline: wire cross-file resolution into every client, and prove they agree (#148) (967331b)
  • schema-backed symbol resolution for single-file field validation (91d6097)
  • semantic: the cross-file resolution seam, with the rules held still (#146) (3cee2c0)
  • vscode: LSP client extension for format-on-save and diagnostics (#104) (cff70d7)

Bug Fixes

  • ADM2 mid-line &IF (#65) and xp-property BUFFER-FIELD path (#66) (#67) (872c741)
  • correct AST span-seeding placement (supersedes merged version) (#88) (7172c66)
  • expand undefined {¯o} references to empty string (3397101)
  • resolve PR #140 review findings (#141) (dd0849e)
  • semantic: accumulate read/write counts on schema field symbols (#60) (#112) (c70c768)
  • stop three lint rules reporting variables that unmodelled statements touch (#137) (28c0a1e)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • oxabl_parser bumped from 0.6.0 to 1.0.0
      • oxabl_lexer bumped from 0.4.1 to 1.0.0
      • oxabl_common bumped from 0.5.0 to 1.0.0
      • oxabl_ast bumped from 0.5.0 to 1.0.0
      • oxabl_workspace bumped from 0.4.0 to 1.0.0
      • oxabl_preprocessor bumped from 0.3.1 to 0.4.0
      • oxabl_semantic bumped from 0.1.0 to 1.0.0
      • oxabl_schema bumped from 0.1.0 to 0.2.0
      • oxabl_analyze bumped from 0.1.0 to 1.0.0
      • oxabl_pipeline bumped from 0.1.0 to 1.0.0
      • oxabl_lint bumped from 0.1.0 to 1.0.0
      • oxabl_lsp bumped from 0.1.0 to 0.1.1
      • oxabl_formatter bumped from 0.1.0 to 0.1.1
    • dev-dependencies
      • oxabl_analyze bumped from 0.1.0 to 1.0.0
      • oxabl_common bumped from 0.5.0 to 1.0.0
      • oxabl_schema bumped from 0.1.0 to 0.2.0
      • oxabl_workspace bumped from 0.4.0 to 1.0.0
      • oxabl_pipeline bumped from 0.1.0 to 1.0.0