Avatar for the BoundaryML user
BoundaryML
baml
BlogDocsChangelog

Performance History

Latest Results

test(fmt): trivia preservation + refutability assertions for let constructs Two follow-up gaps from the if-let / while-let / let-else commit: 1. Trivia. `IfLetExpr::print` and `WhileLetStmt::print` re-implemented the let-header printing inline, which silently dropped comments around `=` and the initializer. Both now delegate to a shared `LetStmt::print_header` helper that uses the same `trivia.get_for_range_split` / `print_trivia_squished` plumbing as plain `let`. Added `crates/baml_fmt/tests/let_constructs_fmt.rs` with 13 regression tests covering line/block comments at every position around the header and body, blank-line preservation, and format-is-idempotent for each construct (and all three together). 2. Refutability. Today BAML doesn't have a dedicated diagnostic for "irrefutable pattern in if-let / while-let / let-else"; the match-arm exhaustiveness checker emits `unreachable arm` on the synthesised fall-through arm instead. Added a new `diagnostic_errors/let_refutability/` project (8 functions) with snapshot-checked diagnostics for: - `if let _ = ...` / `if let x = ...` / `if let n: int = (int)` - `while let n = i` / `while let n: int = (int)` - `let n = 5 else { ... }` / `let n: int = (int) else { ... }` - `let n: int = 1+2+3 else { ... }` (statically narrowed) If we wire up a more specific "irrefutable in if-let" diagnostic later, these snapshots will fail and act as the migration hook.
avery/pattern-control-flow
3 hours ago
Merge branch 'canary' into paulo/optional-function-parameters
paulo/optional-function-parameters
1 day ago
GC Fixes (#3514) - Fixes bug where TLAB could be allocated for new VMs even during GC - Fixes bug where read operations that used ChunkedVec index (instead of specific TLAB/object pointer/references) could happen during GC or resize - Fixes bug where write barrier was not set when resolving futures, meaning a potentially invalid card table state - Fixes regression where globals were not a `RootHaver` - Fixes bug where the `RootHaver` implementation for `Watch` did not include all held references - Add debug assertions to validate heap/GC state to prevent future regressions - Other cleanup <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Stronger GC integrity checks to prevent dead references and invalid forwarding. * Fixed race conditions in concurrent heap operations to avoid use-after-free and stale pointers. * **Improvements** * Safer concurrent heap APIs via internal locking and write-barrier-aware updates. * Frozen globals now use a guarded shared representation to ensure safe reads during GC. * TLAB initialization deferred to avoid stale allocation cursors. * **Tests** * Previously skipped GC/future regression tests re-enabled and expanded. [![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/BoundaryML/baml/pull/3514) <!-- end of auto-generated comment: release notes by coderabbit.ai -->
canary
1 day ago
re add baml image inputs and outputs (#3481) <!-- CURSOR_SUMMARY --> > [!NOTE] > **Medium Risk** > Medium risk because it changes core parsing/lowering and LSP diagnostics/completions behavior, which can affect editor features and error reporting across many files. The changes are internal but touch multiple compiler layers (parser → AST → HIR → visualization). > > **Overview** > Improves declarative LLM ergonomics by threading `return_type` through `PrimitiveClient.build_request*` calls and updating builtins accordingly. > > Adds Jinja-aware validation for LLM prompts, `template_string`s, and `@check`/`@assert` constraint expressions in `baml_lsp2_actions`, backed by new `sys_jinja`/`sys_jinja_types` crates; includes span-accurate diagnostics, cross-file template-string resolution, and updated golden test expectations. > > Extends compiler2 lowering to collect `env.VAR` references (including inside config blocks) into HIR, exposes them via a new `all_env_var_names` API, and tightens LSP actions/annotations to skip non-user/synthetic functions. > > Enhances editor/visualization UX: control-flow graphs gain an `LlmFunction` node type plus optional `callee_name`/source span metadata, visualization inlines non-empty branch-arm containers into labeled edges, and completions now pull builtin primitive/media methods from the stdlib (including static constructors and `uint8array`) while improving parser recovery for malformed map/object literals and header-comment LLM detection. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 6c5d2de18e080bd2529731cdac84065ce70bf5f9. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Image outputs: in-node previews, multi-image grids, and image-generation provider support * Persistent environment variables across sessions * Source-code navigation from playground execution * Toggle internal function visibility and origin badges in sidebar * **Bug Fixes** * Header comments containing "prompt" no longer misclassify LLM bodies * Function execution events now include error details for clearer diagnostics * **Improvements** * Richer graph visuals, layouts, and runtime previews * Smarter media-aware prompt/request handling and enhanced completions <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: hellovai <vbv@boundaryml.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
canary
2 days ago
Temporarily ignore GC await test
aaron/imageoutputs2
2 days ago
simplify audit
avery/array-destruct
3 days ago

Latest Branches

CodSpeed Performance Gauge
-18%
baml_language: add if-let, while-let, and let-else#3525
3 hours ago
4048d72
avery/pattern-control-flow
CodSpeed Performance Gauge
+67%
Paulo/optional function parameters#3476
1 day ago
e5aa6e2
paulo/optional-function-parameters
CodSpeed Performance Gauge
+19%
2 days ago
533a971
aaron/imageoutputs2
© 2026 CodSpeed Technology
Home Terms Privacy Docs