Skip to content

chore: release master - #46

Merged
evanbrobertson merged 1 commit into
masterfrom
release-please--branches--master
Aug 10, 2026
Merged

chore: release master#46
evanbrobertson merged 1 commit into
masterfrom
release-please--branches--master

Conversation

@evanbrobertson

@evanbrobertson evanbrobertson commented Apr 17, 2026

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

oxabl: 1.0.0

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 {&macro} 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
oxabl_analyze: 1.0.0

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.

Features

  • ast: full-fidelity spans on AST wrapper nodes (#91) (2e774b1)
  • capture SHARED/NEW SHARED flags on variable, temp-table, and buffer defines (04abd6c)
  • capture SHARED/NEW SHARED flags on variable, temp-table, and buffer defines (2be6087)
  • 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)
  • seed full ABL system-handle set for LINT0001 (b461dd7)
  • semantic: the cross-file resolution seam, with the rules held still (#146) (3cee2c0)

Bug Fixes

  • complete shared-flag fields on schema-PR test fixtures after #63 merge (d78cd4c)
  • credit table reads in buffer, empty-table, and query forms (#130) (#138) (6e39138)
  • reconcile FUNCTION FORWARD/IN SUPER prototype + definition (#69) (#73) (beda23c)
  • resolve PR #140 review findings (#141) (dd0849e)
  • semantic: resolve unqualified FIRST-OF/LAST-OF field against block buffers (#111) (6dcf5db), closes #107
  • semantic: scope temp-table fields to their temp-table, not program scope (#110) (3d19165), closes #106
  • stop three lint rules reporting variables that unmodelled statements touch (#137) (28c0a1e)

Dependencies

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

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.

Features

  • api: diagnostic renderer, Display, and serde on the diagnostic family (#55) (#114) (0681257)
  • ast: add NodeId to Expression via wrapper struct (phase 1b) (be6abe4)
  • ast: add NodeId to Statement via wrapper struct (Phase 1a) (ad6ac60)
  • ast: comment side-table on Program + blank-line detection (#92) (2d6b92e)
  • ast: full-fidelity spans on AST wrapper nodes (#91) (2e774b1)
  • capture SHARED/NEW SHARED flags on variable, temp-table, and buffer defines (04abd6c)
  • capture SHARED/NEW SHARED flags on variable, temp-table, and buffer defines (2be6087)
  • close residual LINT0001 language-coverage gaps (#58) (b3124fd)
  • judge the cross-file population, and drain the top of the unmodelled-statement suppression (#153) (a1e03e6)
  • semantic: the cross-file resolution seam, with the rules held still (#146) (3cee2c0)

Bug Fixes

  • credit table reads in buffer, empty-table, and query forms (#130) (#138) (6e39138)
  • stop three lint rules reporting variables that unmodelled statements touch (#137) (28c0a1e)
oxabl_codegen: 0.5.0

0.5.0 (2026-08-04)

Features

  • ast: full-fidelity spans on AST wrapper nodes (#91) (2e774b1)
  • close residual LINT0001 language-coverage gaps (#58) (b3124fd)
  • formatter: oxabl_formatter layout engine (Track B slice 3) (#93) (11a9659)
  • resolve abbreviated built-in function calls in undefined-symbol lint (3f45edd)
  • resolve abbreviated built-in function calls in undefined-symbol lint (7f763a3)

Bug Fixes

  • resolve built-in ABL functions in undefined-symbol lint (c47b55a), closes #58
  • silence LINT0001 for MAX/MIN/ABS/VALUE, NO-APPLY, lock method args (1e997d2)
oxabl_common: 1.0.0

1.0.0 (2026-08-04)

⚠ BREAKING CHANGES

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

Features

  • api: diagnostic renderer, Display, and serde on the diagnostic family (#55) (#114) (0681257)
  • api: panic-safe parse, analyze, and format entry points, and browser crash recovery (#135) (2e87258)
  • ast: comment side-table on Program + blank-line detection (#92) (2d6b92e)
  • lint: add block-var-used-outside advisory (LINT0005) (#123) (e870d5b)
  • lsp: ship oxabl lsp diagnostics-to-editor skeleton (#90) (d025e3d)
  • oxabl_semantic: add crate skeleton and declare pass (Phase 3) (c3db693)
  • oxabl_semantic: crate skeleton and declare pass (Phase 3) (f155645)
  • pipeline: wire cross-file resolution into every client, and prove they agree (#148) (967331b)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • oxabl_ast bumped from 0.5.0 to 1.0.0
oxabl_formatter: 0.1.1

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • oxabl_ast bumped from 0.5.0 to 1.0.0
      • oxabl_common bumped from 0.5.0 to 1.0.0
      • oxabl_lexer bumped from 0.4.1 to 1.0.0
      • oxabl_parser bumped from 0.6.0 to 1.0.0
oxabl_index: 0.1.1

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • oxabl_ast bumped from 0.5.0 to 1.0.0
      • oxabl_common bumped from 0.5.0 to 1.0.0
      • oxabl_lexer bumped from 0.4.1 to 1.0.0
      • oxabl_parser bumped from 0.6.0 to 1.0.0
      • oxabl_schema bumped from 0.1.0 to 0.2.0
      • oxabl_semantic bumped from 0.1.0 to 1.0.0
      • oxabl_workspace bumped from 0.4.0 to 1.0.0
oxabl_lexer: 1.0.0

1.0.0 (2026-08-04)

⚠ BREAKING CHANGES

  • SymbolTable::inherited_member_type and record_inherited_member_type are removed; read Symbol::data_type.

Features

  • api: format_source() convenience and a streaming lexer iterator (#55) (#116) (f285ca0)
  • ast: full-fidelity spans on AST wrapper nodes (#91) (2e774b1)
  • close residual LINT0001 language-coverage gaps (#58) (b3124fd)
  • judge the cross-file population, and drain the top of the unmodelled-statement suppression (#153) (a1e03e6)
  • oxabl_schema: add .df parser and Schema loader (Phase 2) (52ef860)
  • oxabl_schema: add .df parser and Schema loader (Phase 2) (3e22f9e)
  • resolve abbreviated built-in function calls in undefined-symbol lint (3f45edd)
  • resolve abbreviated built-in function calls in undefined-symbol lint (7f763a3)

Bug Fixes

  • ADM2 mid-line &IF (#65) and xp-property BUFFER-FIELD path (#66) (#67) (872c741)
  • lex TERM as an abbreviation of TERMINAL (8cd524f)
  • resolve built-in ABL functions in undefined-symbol lint (c47b55a), closes #58
  • silence LINT0001 for MAX/MIN/ABS/VALUE, NO-APPLY, lock method args (1e997d2)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • oxabl_common bumped from 0.5.0 to 1.0.0
oxabl_lint: 1.0.0

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.

Features

  • ast: full-fidelity spans on AST wrapper nodes (#91) (2e774b1)
  • capture SHARED/NEW SHARED flags on variable, temp-table, and buffer defines (04abd6c)
  • capture SHARED/NEW SHARED flags on variable, temp-table, and buffer defines (2be6087)
  • close residual LINT0001 language-coverage gaps (#58) (b3124fd)
  • judge the cross-file population, and drain the top of the unmodelled-statement suppression (#153) (a1e03e6)
  • lint: add block-var-used-outside advisory (LINT0005) (#123) (e870d5b)
  • lint: credit table parameters, split dead stores into LINT0006 (#129) (d539c31)
  • lsp: ship oxabl lsp diagnostics-to-editor skeleton (#90) (d025e3d)
  • oxabl_lint: add lint crate with 4 v1 rules (Phase 5) (ed159e6)
  • resolve abbreviated built-in function calls in undefined-symbol lint (3f45edd)
  • resolve abbreviated built-in function calls in undefined-symbol lint (7f763a3)
  • schema-backed symbol resolution for single-file field validation (91d6097)
  • seed full ABL system-handle set for LINT0001 (b461dd7)
  • semantic: resolve cross-file names, with the rules still held still (#147) (8873de9)
  • semantic: the cross-file resolution seam, with the rules held still (#146) (3cee2c0)

Bug Fixes

  • bind FUNCTION signature params into function scope (#68) (#70) (8699d86)
  • complete shared-flag fields on schema-PR test fixtures after #63 merge (d78cd4c)
  • credit table reads in buffer, empty-table, and query forms (#130) (#138) (6e39138)
  • eliminate unused-variable false positives from block-body parse errors (#79) (#80) (e653c36)
  • lint: count OUTPUT-argument passing as a use in unused-variable (LINT0002) (#127) (a6eabb7)
  • resolve built-in ABL functions in undefined-symbol lint (c47b55a), closes #58
  • semantic: treat DO loop counter as a use of an existing variable (#83) (#85) (9d77fcf)
  • silence LINT0001 for MAX/MIN/ABS/VALUE, NO-APPLY, lock method args (1e997d2)
  • stop three lint rules reporting variables that unmodelled statements touch (#137) (28c0a1e)

Dependencies

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

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • oxabl_analyze bumped from 0.1.0 to 1.0.0
      • oxabl_common bumped from 0.5.0 to 1.0.0
      • oxabl_index bumped from 0.1.0 to 0.1.1
      • oxabl_pipeline bumped from 0.1.0 to 1.0.0
      • oxabl_semantic bumped from 0.1.0 to 1.0.0
      • oxabl_workspace bumped from 0.4.0 to 1.0.0
    • dev-dependencies
      • oxabl_analyze bumped from 0.1.0 to 1.0.0
      • oxabl_ast bumped from 0.5.0 to 1.0.0
      • oxabl_schema bumped from 0.1.0 to 0.2.0
      • oxabl_common bumped from 0.5.0 to 1.0.0
      • oxabl_workspace bumped from 0.4.0 to 1.0.0
      • oxabl_pipeline bumped from 0.1.0 to 1.0.0
oxabl_parser: 1.0.0

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

  • api: curated public facade + parse() convenience (#55) (#113) (dd496e0)
  • api: diagnostic renderer, Display, and serde on the diagnostic family (#55) (#114) (0681257)
  • api: panic-safe parse, analyze, and format entry points, and browser crash recovery (#135) (2e87258)
  • ast: add NodeId to Expression via wrapper struct (phase 1b) (be6abe4)
  • ast: add NodeId to Statement via wrapper struct (Phase 1a) (ad6ac60)
  • ast: comment side-table on Program + blank-line detection (#92) (2d6b92e)
  • ast: full-fidelity spans on AST wrapper nodes (#91) (2e774b1)
  • bench: add preprocessor benchmark suite (1e14fa7)
  • capture SHARED/NEW SHARED flags on variable, temp-table, and buffer defines (04abd6c)
  • capture SHARED/NEW SHARED flags on variable, temp-table, and buffer defines (2be6087)
  • close residual LINT0001 language-coverage gaps (#58) (b3124fd)
  • judge the cross-file population, and drain the top of the unmodelled-statement suppression (#153) (a1e03e6)
  • seed full ABL system-handle set for LINT0001 (b461dd7)
  • semantic: the cross-file resolution seam, with the rules held still (#146) (3cee2c0)

Bug Fixes

  • ADM2 mid-line &IF (#65) and xp-property BUFFER-FIELD path (#66) (#67) (872c741)
  • bind FUNCTION signature params into function scope (#68) (#70) (8699d86)
  • credit table reads in buffer, empty-table, and query forms (#130) (#138) (6e39138)
  • eliminate unused-variable false positives from block-body parse errors (#79) (#80) (e653c36)
  • expand undefined {&macro} references to empty string (3397101)
  • parser: stamp full-extent spans on IF/ELSE block branches (#97) (6ed9268)
  • silence LINT0001 for MAX/MIN/ABS/VALUE, NO-APPLY, lock method args (1e997d2)
  • stop three lint rules reporting variables that unmodelled statements touch (#137) (28c0a1e)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • oxabl_ast bumped from 0.5.0 to 1.0.0
      • oxabl_common bumped from 0.5.0 to 1.0.0
      • oxabl_lexer bumped from 0.4.1 to 1.0.0
    • dev-dependencies
      • oxabl_preprocessor bumped from 0.3.1 to 0.4.0
      • oxabl_workspace bumped from 0.4.0 to 1.0.0
oxabl_pipeline: 1.0.0

1.0.0 (2026-08-04)

⚠ BREAKING CHANGES

  • SymbolTable::inherited_member_type and record_inherited_member_type are removed; read Symbol::data_type.
  • 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.

Features

  • judge the cross-file population, and drain the top of the unmodelled-statement suppression (#153) (a1e03e6)
  • 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)

Bug Fixes

  • pipeline: unblock the release run by dropping the self dev-dependency (#145) (a6878dc)
  • resolve PR #140 review findings (#141) (dd0849e)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • oxabl_analyze bumped from 0.1.0 to 1.0.0
      • oxabl_common bumped from 0.5.0 to 1.0.0
      • oxabl_formatter bumped from 0.1.0 to 0.1.1
      • oxabl_index bumped from 0.1.0 to 0.1.1
      • oxabl_schema bumped from 0.1.0 to 0.2.0
      • oxabl_semantic bumped from 0.1.0 to 1.0.0
      • oxabl_workspace bumped from 0.4.0 to 1.0.0
    • dev-dependencies
      • oxabl_ast bumped from 0.5.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_preprocessor: 0.4.0

0.4.0 (2026-08-04)

Features

  • auto-load oxabl.toml include paths + loud unresolvable-include diagnostic (6447178)
  • auto-load oxabl.toml include paths + loud unresolvable-include diagnostic (bf346d8)
  • bench: add preprocessor benchmark suite (1e14fa7)
  • cli: wire preprocessor into oxabl check --preprocess (9870f98)
  • preprocessor: add include file argument support (positional and named) (2591eca)
  • preprocessor: add MATCHES, BEGINS, and keyword operators to condition evaluator (0bd1d19)
  • preprocessor: add oxabl_preprocessor crate with include expansion, &IF evaluation, and variable tracking (379389b)
  • preprocessor: resolve dynamic include names like {{&frame}.f …} (69deb29)

Bug Fixes

  • ADM2 mid-line &IF (#65) and xp-property BUFFER-FIELD path (#66) (#67) (872c741)
  • allow '.' in preprocessor macro names for include-once guards (#74) (#75) (9f9fd51)
  • check: silence &MESSAGE noise and only surface error-level preprocessor diagnostics (e04476f)
  • eliminate unused-variable false positives from block-body parse errors (#79) (#80) (e653c36)
  • expand undefined {&macro} references to empty string (3397101)
  • preprocessor: downgrade missing-include from Error to Warning (dc115dd)
  • preprocessor: handle multi-line include arguments and spaces around = (f7dda13)
  • preprocessor: handle whitespace after include name, surface diagnostics (45ba132)
  • preprocessor: resolve named {&…} refs in define values at define time (#121) (84912cc)
  • preprocessor: skip .i files in check command and preserve undefined refs (1617ebe)
  • preprocessor: skip comment bodies when scanning for directives and includes (b754eaf)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • 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_schema: 0.2.0

0.2.0 (2026-08-04)

Features

  • api: analyze() convenience, AnalyzeOptions, and schema conveniences (#55) (#115) (3b4dd6e)
  • oxabl_schema: add .df parser and Schema loader (Phase 2) (52ef860)
  • oxabl_schema: add .df parser and Schema loader (Phase 2) (3e22f9e)
  • schema-backed symbol resolution for single-file field validation (91d6097)

Bug Fixes

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • oxabl_ast bumped from 0.5.0 to 1.0.0
      • oxabl_common bumped from 0.5.0 to 1.0.0
      • oxabl_lexer bumped from 0.4.1 to 1.0.0
      • oxabl_workspace bumped from 0.4.0 to 1.0.0
oxabl_semantic: 1.0.0

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.

Features

  • ast: full-fidelity spans on AST wrapper nodes (#91) (2e774b1)
  • capture SHARED/NEW SHARED flags on variable, temp-table, and buffer defines (04abd6c)
  • capture SHARED/NEW SHARED flags on variable, temp-table, and buffer defines (2be6087)
  • close residual LINT0001 language-coverage gaps (#58) (b3124fd)
  • judge the cross-file population, and drain the top of the unmodelled-statement suppression (#153) (a1e03e6)
  • lint: add block-var-used-outside advisory (LINT0005) (#123) (e870d5b)
  • lint: credit table parameters, split dead stores into LINT0006 (#129) (d539c31)
  • lsp: ship oxabl lsp diagnostics-to-editor skeleton (#90) (d025e3d)
  • oxabl_lint: add lint crate with 4 v1 rules (Phase 5) (ed159e6)
  • oxabl_semantic: add crate skeleton and declare pass (Phase 3) (c3db693)
  • oxabl_semantic: add per-pass semantic benches + release config (Phase 8) (56cc85b)
  • oxabl_semantic: add type-check pass (Phase 4b) (79435cd)
  • oxabl_semantic: crate skeleton and declare pass (Phase 3) (f155645)
  • pipeline: wire cross-file resolution into every client, and prove they agree (#148) (967331b)
  • resolve abbreviated built-in function calls in undefined-symbol lint (3f45edd)
  • schema-backed symbol resolution for single-file field validation (91d6097)
  • seed full ABL system-handle set for LINT0001 (b461dd7)
  • semantic: resolve cross-file names, with the rules still held still (#147) (8873de9)
  • semantic: the cross-file resolution seam, with the rules held still (#146) (3cee2c0)

Bug Fixes

  • complete shared-flag fields on schema-PR test fixtures after #63 merge (d78cd4c)
  • credit table reads in buffer, empty-table, and query forms (#130) (#138) (6e39138)
  • lint: count OUTPUT-argument passing as a use in unused-variable (LINT0002) (#127) (a6eabb7)
  • reconcile FUNCTION FORWARD/IN SUPER prototype + definition (#69) (#73) (beda23c)
  • resolve built-in ABL functions in undefined-symbol lint (c47b55a), closes #58
  • semantic: accumulate read/write counts on schema field symbols (#60) (#112) (c70c768)
  • semantic: resolve unambiguous abbreviated field references (#82) (#84) (f3a340c)
  • semantic: resolve unqualified FIRST-OF/LAST-OF field against block buffers (#111) (6dcf5db), closes #107
  • semantic: scope DEFINE VARIABLE to the routine, not the block (#122) (edc98f8)
  • semantic: scope temp-table fields to their temp-table, not program scope (#110) (3d19165), closes #106
  • semantic: treat DO loop counter as a use of an existing variable (#83) (#85) (9d77fcf)
  • silence LINT0001 for MAX/MIN/ABS/VALUE, NO-APPLY, lock method args (1e997d2)
  • stop three lint rules reporting variables that unmodelled statements touch (#137) (28c0a1e)

Performance Improvements

  • seed ABL system handles once via LazyLock (#72) (5fabd77)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • oxabl_ast bumped from 0.5.0 to 1.0.0
      • oxabl_common bumped from 0.5.0 to 1.0.0
      • oxabl_lexer bumped from 0.4.1 to 1.0.0
      • oxabl_schema bumped from 0.1.0 to 0.2.0
    • dev-dependencies
      • oxabl_lexer bumped from 0.4.1 to 1.0.0
      • oxabl_parser bumped from 0.6.0 to 1.0.0
      • oxabl_schema bumped from 0.1.0 to 0.2.0
oxabl_wasm: 0.1.1

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • oxabl bumped from 0.5.0 to 1.0.0
      • oxabl_pipeline bumped from 0.1.0 to 1.0.0
    • dev-dependencies
      • oxabl_pipeline bumped from 0.1.0 to 1.0.0
oxabl_workspace: 1.0.0

1.0.0 (2026-08-04)

⚠ BREAKING 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.

Features

  • 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)
  • lint: add block-var-used-outside advisory (LINT0005) (#123) (e870d5b)
  • lint: credit table parameters, split dead stores into LINT0006 (#129) (d539c31)
  • lsp: ship oxabl lsp diagnostics-to-editor skeleton (#90) (d025e3d)
  • pipeline: one shared lint and format run behind every client (#140) (58d961e)
  • vscode: LSP client extension for format-on-save and diagnostics (#104) (cff70d7)

Bug Fixes

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • oxabl_common bumped from 0.5.0 to 1.0.0
      • oxabl_ast bumped from 0.5.0 to 1.0.0

This PR was generated with Release Please. See documentation.

@evanbrobertson
evanbrobertson force-pushed the release-please--branches--master branch 3 times, most recently from cef44a9 to e198a6f Compare April 18, 2026 03:01
@evanbrobertson
evanbrobertson force-pushed the release-please--branches--master branch 4 times, most recently from b6b30bf to 2290f8d Compare May 1, 2026 02:12
@evanbrobertson
evanbrobertson force-pushed the release-please--branches--master branch from 2290f8d to c4bcde3 Compare July 16, 2026 16:28
@codspeed-hq

codspeed-hq Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Merging this PR will not alter performance

✅ 42 untouched benchmarks


Comparing release-please--branches--master (dd46784) with master (a1e03e6)

Open in CodSpeed

@evanbrobertson
evanbrobertson force-pushed the release-please--branches--master branch 19 times, most recently from ea4a7d1 to 6f287a7 Compare July 22, 2026 03:24
@evanbrobertson
evanbrobertson force-pushed the release-please--branches--master branch 25 times, most recently from 139f115 to dece703 Compare July 30, 2026 19:48
@evanbrobertson
evanbrobertson force-pushed the release-please--branches--master branch 2 times, most recently from 9c76b2f to 86973d0 Compare July 31, 2026 13:19
@evanbrobertson
evanbrobertson force-pushed the release-please--branches--master branch from 86973d0 to dd46784 Compare August 4, 2026 18:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment