Skip to content

oxabl_preprocessor: v0.7.0

Choose a tag to compare

@evanbrobertson evanbrobertson released this 16 Oct 12:49
ca5da31

0.7.0 (2026-10-16)

� BREAKING CHANGES

  • scope: oxabl_semantic::AnalysisContext has a new public field, elided_includes, so a struct literal of it no longer compiles. Build it with AnalysisContext::new and with_elided_includes.
  • pipeline: PreprocessedFile has a new pub field, skipped_text. MAX_INCLUDE_DEPTH is now public.
  • preprocessor: PreprocessedFile has a new pub field, skipped_includes.

Features

  • pipeline: list class and program names in not-taken &IF branches and the closure of conditional includes (6b153d6)
  • preprocessor: carry include references in not-taken &IF branches (b1057ac)
  • preprocessor: record the references the expansion replaced with no text (a188a23)
  • scope: strict-analysis M3: oxabl_scope, the LISTING harness, LK001-LK003 and TX001-TX005 (d4779c9)

Bug Fixes

  • issue sweep 2 (downstream edges, parser members) (430fc3b)
  • preprocessor: keep an unresolved include in list position as text (42b6893), closes #108
  • preprocessor: read a doubled quote in an include argument as one quote (2d80ed1)
  • scope: let an include that did not arrive between statements hide a write or a release (5afe7fd)
  • sweep of 25 open parser, semantic, lint and schema issues (f01fcce)

Performance Improvements

  • preprocessor: step over plain text in one scan (570c939)
  • win back parser, resolve and preprocessor time (07a6324)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • oxabl_common bumped from 1.2.0 to 1.2.1
      • oxabl_ast bumped from 2.0.0 to 3.0.0
      • oxabl_workspace bumped from 2.0.0 to 3.0.0