Skip to content

Commit 40ff877

Browse files
committed
Squashed commit of the following:
commit 351017d Author: Tianzhi Jin <[email protected]> Date: Thu Oct 16 07:12:46 2025 +0800 Correct link in README.md (#2615) Signed-off-by: Tianzhi Jin <[email protected]> commit ddb1272 Author: Greg Hale <[email protected]> Date: Wed Oct 15 15:26:07 2025 -0700 Rename emit to watch (#2614) commit 7037524 Author: Sam Lijin <[email protected]> Date: Wed Oct 15 10:36:58 2025 -0700 chore: remove some cargo warnings (#2617) commit 700bd39 Author: aaronvg <[email protected]> Date: Tue Oct 14 15:00:27 2025 -0700 actually emit the version when opening baml file (#2612) <!-- CURSOR_SUMMARY --> > [!NOTE] > Emit generator version on BAML file open and track the last active BAML file in VS Code to scope version updates; improve reload/logging and simplify debug/telemetry handling. > > - **Engine (LSP)**: > - **didOpen**: Reload project and send `baml_src_generator_version`; add tracing around generator version retrieval. > - **didSave**: Add info log when no generator version map is available. > - **Session.reload**: Enhance logging (per-project and total file counts) during initial reload. > - **VS Code Extension**: > - **Active file tracking**: Introduce `LAST_ACTIVE_BAML_FILE` and update it on cursor selection; use it to validate `baml_src_generator_version` root before acting. > - **Debug/telemetry**: Replace `isDebugOrTestSession` with `isDebugMode`; always initialize telemetry; adjust disposal condition; add debug-mode CLI logs. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 95dc502. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> commit 07a0bb6 Author: Sam Lijin <[email protected]> Date: Tue Oct 14 12:35:28 2025 -0700 feat/unreleased: annotate viz nodes using //# not # (#2610) commit ac0ede8 Author: aaronvg <[email protected]> Date: Mon Oct 13 16:08:51 2025 -0700 Fix issue where a test would stay stuck in running if there was a wasm panic (#2601) - Fixes also stop buttons - Fixes telemetry <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Adds WASM panic -> JS callback handling, test Stop/cancel controls with auto-cancel on panic, and LSP/VSCode generator/version telemetry with smarter CLI resolution. > > - **WASM Runtime/Runtime Bridge**: > - Replace simple panic hook with custom `std::panic::set_hook` that notifies JS via `__onWasmPanic` then calls `console_error_panic_hook`. > - Expose `on_wasm_panic(msg: &str)` to JS. > - **Language Server + VSCode Extension**: > - Extend `baml_src_generator_version` payload to include `generators` metadata and send it from server. > - VSCode client: store version + generators; add periodic `baml.version_report` telemetry; wrap CLI resolution in `trackCliResolution` with success/failure/error events; reduce/target webview telemetry to key commands. > - Swap 30s polling to `publishBamlVersionReport` and add scheduled reports; telemetry reporter logs events. > - **Playground (UI/Tests)**: > - Introduce WASM panic atoms/hooks (`wasmPanicAtom`, `useWasmPanicHandler`); optional `WasmPanicNotification` component; wire handler in app. > - Auto-cancel running tests on panic; clear panic on new runs; propagate cancel via `AbortController`. > - Add Stop/Run toggle buttons across toolbar, cards, tables, sidebar, and menu; improve per-test cancel behavior and labels. > - Error UX: new WASM panic renderer in `EnhancedErrorRenderer`; minor scrolling/height tweaks. > - **Package/Exports**: > - Export new atoms and `WasmPanicNotification` from `@baml/playground-common`. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 26bad01. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> commit 5202bbd Author: Sam Lijin <[email protected]> Date: Mon Oct 13 15:22:01 2025 -0700 chore: fix some integ tests (#2607) openai batch is not a meaningful test, remove LLM deps for the others commit af24513 Author: Fern Support <[email protected]> Date: Sun Oct 12 16:43:59 2025 -0400 Update Fern CLI to configure settings from docs.yml (#2606) These settings were previously controlled in an internal configuration. Now, we have transferred these settings to be controllable from the `docs.yml`. This PR adds the settings currently enabled in the internal configuration for Boundary to the `docs.yml` file. We will be deprecating the internal configuration in the coming weeks. Please merge to avoid any disruption in these settings. --------- Signed-off-by: Fern Support <[email protected]> commit cfa2034 Author: Greg Hale <[email protected]> Date: Sat Oct 11 20:41:39 2025 -0700 chore: Bump version to 0.211.2 (#2604) Bump version to 0.211.2 ❌ Typescript integ tests ❌ Python integ tests Generated by bump-version script. commit 39b1cf6 Author: Greg Hale <[email protected]> Date: Sat Oct 11 19:29:52 2025 -0700 Fix emit ts codegen bug (#2603) This fixes a bug in the 0.211.1 release in which events.ts is generated conditionally on the existence of an `@emit` in the user's baml source, but importing `event.ts` is unconditional (causing a module lookup error). commit 666c36f Author: Greg Hale <[email protected]> Date: Fri Oct 10 16:30:24 2025 -0700 Implement streaming for emit values (#2595) This works (although it uses the toy emitter from #2593, real dependency tracking in the VM is WIP), meaning that when values are emitted, streams are emitted too, and when the stream is from an assignment of an LLM function return value to a variable, the chunks are streamed. I will take some time to see if it can be simplified (the implementation is more complicated than I'd like). commit 2fdbf8e Author: Greg Hale <[email protected]> Date: Fri Oct 10 14:38:49 2025 -0700 use protoc-gen-go 1.34.2 in flake (#2600) Gets in line with the protoc-gen-go version used elsewhere on the team, to avoid repeatedly changed generated client code. commit f0230d0 Author: Samuel Lijin <[email protected]> Date: Fri Oct 10 13:52:08 2025 -0700 chore: bump version to 0.211.1 (#2599) commit 10fd013 Author: Roey Ben Chaim <[email protected]> Date: Fri Oct 10 11:33:25 2025 -0700 feat: added endpoint_url to amazon bedrock (#2555) Added support to endpoint_url when calling amazon bedrock. This is needed to support private endpoints behind VPCs on aws. --------- Signed-off-by: Roey Ben Chaim <[email protected]> Co-authored-by: Sam Lijin <[email protected]> commit 40bc568 Author: Greg Hale <[email protected]> Date: Wed Oct 8 12:25:49 2025 -0700 Typescript codegen for emit (#2593) - Add codegen for emitted variables - Sketch of client-side implementation and FFI for integrating with generated code - Toy event emitter in the THIR interpreter (enough to play with emit internally, but very broken) commit 73bc201 Author: Eric Winer <[email protected]> Date: Wed Oct 8 13:23:46 2025 -0400 Docs: fix TypeScript tool call example (#2550) The TypeScript example at https://docs.boundaryml.com/examples/prompt-engineering/tools-function-calling#create-an-agent-that-utilizes-these-tools had broken syntax. This change cleans up that example, showing that union type resolution works out of the box, and attempts to maintain the original intent. I've tested it locally – AFAIK there's no automated testing on example code in the docs at this point. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Fixes the TypeScript agent example by correcting the import path and replacing broken conditionals with intent-based switch handling for `WeatherAPI` and `CalculatorAPI`. > > - **Docs – TypeScript agent example (`fern/01-guide/06-prompt-engineering/tools.mdx`)**: > - **Agent loop logic**: Replace broken mixed conditionals with a clean `switch (toolResponse.intent)` handling `"weather_request"` and `"basic_calculator"`, routing to `handleWeather`/`handleCalculator` with proper `break`s. > - **Types**: Remove ad-hoc type checks/casts in favor of intent-based dispatch and direct handler calls. > - **Imports**: Fix incorrect path from `"@/baml-client/types"` to `"@/baml_client/types"`. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 18ce880. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: aaronvg <[email protected]> commit 8074499 Author: Caio Lang <[email protected]> Date: Wed Oct 8 14:23:38 2025 -0300 Docs | Fix variable name of LLM response in modular-api.mdx docs (#2579) Just a small typo in an example variable name :) Didn't find any specific guidelines for small doc fixes on `CONTRIBUTING.md`, please let me know if I should do anything differently. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Corrects Python example to parse LLM response from `res.json()` instead of undefined `response.json()`. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 776b2d7. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> Signed-off-by: Caio Lang <[email protected]> Co-authored-by: aaronvg <[email protected]> commit c322b64 Author: Greg Hale <[email protected]> Date: Tue Oct 7 14:38:41 2025 -0700 remove the BamlRuntime/InternalBamlRuntime split (#2588) The API boundary originally established between `BamlRuntime` and `InternalBamlRuntime` hasn't been followed, and so the internal runtime is now used in many non-internal places. The split between these two APIs became confusing. So this PR just removes `InternalBamlRuntime` and make `BamlRuntime` the main entrypoint to the runtime. In the future, we may want to rename this to `LLMRuntime`, to highlight the fact that it only serves LLM functions, not more general expression functions. Expression functions need their own runtime, which is often aliased to `CoreBamlRuntime`. Renaming `BamlRuntime` to `LLMRuntime` would remove this additional confusing name. commit e4ae745 Author: aaronvg <[email protected]> Date: Tue Oct 7 13:05:34 2025 -0700 chore: Bump version to 0.211.0 (#2589) Bump version to 0.211.0 ❌ Typescript integ tests ❌ Python integ tests Generated by bump-version script. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Bumps the project to 0.211.0 with changelog updates, regenerated code/artifacts (notably Go CFFI protobuf), a small dependency tweak, and refreshed test outputs. > > - **Release 0.211.0**: > - Changelog: multiple bug fixes (compiler diagnostics duplication, CLI screen exit, JSON parser, Python log config, env var errors, Promptfiddle UI) and tracing improvements; docs updates (description tags, Next.js 15). > - **Version bumps**: > - Updates versions to `0.211.0` across Rust workspace, Go/Python/Ruby/TypeScript clients, VS Code/JetBrains plugins, and integ test generators/configs. > - **Codegen/Artifacts**: > - Regenerates Go `cffi.pb.go` (protoc-gen-go output changes) and updates various inlined/generator files. > - **Dependencies**: > - `dir-writer`: switch `pathdiff` from `0.2.3` to `0.1.0` in Cargo.lock. > - **Tests/Reports**: > - Refreshes TypeScript JUnit report and test suites; updates integration test snapshots/outputs to reflect new release. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 5a5f23b. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> commit 5e8371a Author: aaronvg <[email protected]> Date: Mon Oct 6 22:50:32 2025 -0700 sep 29 studio (#2576) - **type fixes** - **use blak3 hash when hashing blobs** - **fix streams being null in studio** - **http metadata was serialized incorrectly** - **Fix issue with python exceptions not counting as exceptions in studio, http bodies serialized as byte arrays, add test for checking publisher spans** <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Switches blob hashing to blake3, fixes HTTP body serialization and Python exception handling, adds trace function summaries/match-highlights and blob fetch API, enables optional trace event file dump, and adjusts stream/function end payloads. > > - **Tracing/Serialization**: > - Serialize `HTTPBody.raw` bytes as UTF-8 string with flexible deserializer; fix HTTP metadata typing and headers shapes. > - Treat Python exceptions as errors in function end events; propagate proper error to tracer. > - Stream end events now carry parsed value meta instead of always null. > - Optional local trace dump via `BAML_TRACE_FILE` (writes newline-delimited JSON events). > - **Blobs**: > - Use `blake3` for blob hashing; replace SHA-256 and add dependency. > - New UI API/types `ui_blobs` with `GetBlobRequest/Response` and `BlobFormat`. > - **UI/Types**: > - TS type refinements (`any` -> `unknown`, header maps stricter) and added `http_metadata_summary`. > - Traces API: add `matched_descendant_ids` field and `include_match_highlights` flag. > - New endpoint: `/v1/traces/function-summaries` with request/response and `FunctionSummary` aggregates. > - **Tests/Infra**: > - Python tests verify publisher span counts via file, adjust stream test name, and add session flush. > - Ignore trace debug files in git. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 29e202f. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Signed-off-by: aaronvg <[email protected]> commit 5b87fb5 Author: Greg Hale <[email protected]> Date: Mon Oct 6 20:08:54 2025 -0700 Env Var check override (#2587) Fixes a promptfiddle issue due to checking required env vars, while env vars aren't actually required in promptfiddle. Does so by disabling the env var check whenever a proxy server is specified. commit 69e4fba Author: Greg Hale <[email protected]> Date: Mon Oct 6 15:51:11 2025 -0700 Use Expr Runtimes (#2562) - Delete the old IR interpreter - Replace it with configurable VM bytecode interpreter / THIR interpreter - Delete code paths that merge LLM fn's and expr_fns - Update frontends (UI, baml-cli test) to accommodate the deleted code paths above commit 007034c Author: hellovai <[email protected]> Date: Mon Oct 6 12:53:40 2025 -0700 Create citation cff file (#2580) Add a `CITATION.cff` file to enable easy and standardized citation of the BAML project. --- [Slack Thread](https://gloo-global.slack.com/archives/C09F3QMJE9G/p1759779378413399?thread_ts=1759779378.413399&cid=C09F3QMJE9G) <a href="https://cursor.com/background-agent?bcId=bc-4c1e8f0b-60b5-49af-8311-0b31f1bdc470"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/open-in-cursor-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/open-in-cursor-light.svg"><img alt="Open in Cursor" src="https://cursor.com/open-in-cursor.svg"></picture></a>&nbsp;<a href="https://cursor.com/agents?id=bc-4c1e8f0b-60b5-49af-8311-0b31f1bdc470"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/open-in-web-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/open-in-web-light.svg"><img alt="Open in Web" src="https://cursor.com/open-in-web.svg"></picture></a> --------- Co-authored-by: Cursor Agent <[email protected]> commit 5ea6adb Author: Antonio Sarosi <[email protected]> Date: Mon Oct 6 20:29:56 2025 +0200 Add specific error for missing required env vars in clients (#2570) Issues: #2054 and #2055 commit a2f2b96 Author: Greg Hale <[email protected]> Date: Sun Oct 5 22:35:25 2025 -0700 flake improvements (#2577) fix up compiled library for non-nix systems flake musl baml-runtime package commit c1a0b0e Author: aaronvg <[email protected]> Date: Sun Oct 5 14:50:52 2025 -0700 Fix json parser in cases where it would output intermediate representations (#2572) Summary Issue: GitHub #2567 - Streaming Bug: Parsing Artifacts in Partial Objects Root Cause: When BAML's streaming API encounters ambiguous/incomplete JSON during parsing, it creates an AnyOf value that contains multiple possible interpretations plus the original raw string. When this AnyOf value needs to be coerced to a string field, the coerce_string function was calling v.to_string() which uses the Display implementation. This caused internal parsing representations like "AnyOf[{,AnyOf[{,{},],]" to leak into the final output instead of using the original string content. Fix Location: /Users/aaronvillalpando/Projects/baml/engine/baml-lib/jsonish/src/deserializer/coercer/coerce_primitive.rs:150-159 Fix Applied: Added explicit handling for Value::AnyOf in the coerce_string function to extract the original string (the second field of the AnyOf variant) instead of using the Display implementation. Tests Added: 1. Unit test test_coerce_anyof_to_string in coerce_primitive.rs that directly tests the fix 2. Integration tests test_streaming_anyof_string_field and test_streaming_anyof_with_markdown_partial in test_streaming.rs All 458 existing tests still pass, confirming the fix doesn't break any existing functionality. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Handle `AnyOf` during string coercion to prevent leaking parsing artifacts and add unit/streaming regression tests. > > - **Deserializer**: > - **`coerce_string`** in `engine/baml-lib/jsonish/src/deserializer/coercer/coerce_primitive.rs`: add explicit handling for `Value::AnyOf`, preferring a `String` variant if present; otherwise fall back to the original raw string. Preserve `Incomplete` flag. > - **Tests**: > - Unit: `test_coerce_anyof_to_string`, `test_coerce_anyof_to_string_no_string_variant` in `coerce_primitive.rs`. > - Streaming: `test_streaming_anyof_string_field`, `test_streaming_anyof_with_markdown_partial` in `engine/baml-lib/jsonish/src/tests/test_streaming.rs`. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 3ab0f6d. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> commit 7d31c37 Author: aaronvg <[email protected]> Date: Sun Oct 5 13:31:48 2025 -0700 [Promptfiddle] fix play button disappearing (#2571) <!-- CURSOR_SUMMARY --> > [!NOTE] > Ensures the playground pane maintains full height (preventing controls from disappearing) and narrows the project sidebar width. > > - **Frontend/UI**: > - **Playground layout**: Use `h-full` instead of `flex-1` in `ProjectView.tsx` and add `min-h-0` to `PromptPreview`'s `SidebarProvider` to prevent overflow and keep controls visible. > - **Sidebar**: Change `ProjectSidebar` width from `w-64` to `w-[200px]`. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 9eafcb3. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> commit 5a8de50 Author: José Rafael Oses <[email protected]> Date: Sun Oct 5 15:53:05 2025 -0400 fix(compiler): duplicate diagnostics when typechecking (#2535) Closes: #2511 Fixes the fact that we were emitting diagnostics for error branches that already had emitted a diagnostic --------- Co-authored-by: Antonio Sarosi <[email protected]> commit b911a19 Author: Greg Hale <[email protected]> Date: Fri Oct 3 09:14:25 2025 -0700 Properly leave the secondary screen after non-erroring baml-cli init (#2565) Fixes #2564
1 parent bf67e09 commit 40ff877

File tree

292 files changed

+78582
-24929
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

292 files changed

+78582
-24929
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,3 +171,7 @@ jj-workflow.mdc
171171
third_party
172172

173173
baml_repl_history.txt
174+
trace_events_debug.json
175+
176+
result
177+

CHANGELOG.md

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,39 @@
22

33
All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.
44

5+
## [0.211.2](https://github.com/boundaryml/baml/compare/0.211.1..0.211.2) - 2025-10-12
6+
7+
### Bug Fixes
8+
- Fix emit ts codegen bug (#2603) - ([39b1cf6](https://github.com/boundaryml/baml/commit/39b1cf6299b5080234e282367fdec238864c9df4)) - Greg Hale
9+
10+
## [0.211.1](https://github.com/boundaryml/baml/compare/0.211.0..0.211.1) - 2025-10-10
11+
12+
### Docs
13+
14+
- fix TypeScript tool call example (#2550) - ([73bc201](https://github.com/boundaryml/baml/commit/73bc201230fddc410ddcf9547b41d11039eebce1)) - Eric Winer
15+
- Fix variable name of LLM response in modular-api.mdx docs (#2579) - ([8074499](https://github.com/boundaryml/baml/commit/8074499cc1413e36d37318f00936d4997922b06e)) - Caio Lang
16+
17+
### Features
18+
19+
- added endpoint_url to amazon bedrock (#2555) - ([10fd013](https://github.com/boundaryml/baml/commit/10fd0132bbac6a57f1b9540ac38262286356a744)) - Roey Ben Chaim
20+
21+
## [0.211.0](https://github.com/boundaryml/baml/compare/0.210.0..0.211.0) - 2025-10-07
22+
23+
### Bug Fixes
24+
25+
- **(compiler)** duplicate diagnostics when typechecking (#2535) - ([5a8de50](https://github.com/boundaryml/baml/commit/5a8de50aaf42dc9cdac77e02374c8ad1396b3765)) - José Rafael Oses
26+
- Properly leave the secondary screen after non-erroring baml-cli init (#2565) - ([b911a19](https://github.com/boundaryml/baml/commit/b911a1927046b7a36d43fdaee1b25ebbfbc37f31)) - Greg Hale
27+
- Fix json parser in cases where it would output intermediate representations (#2572) - ([c1a0b0e](https://github.com/boundaryml/baml/commit/c1a0b0e15fa36745a4a59d6a322f182cef034a6e)) - aaronvg
28+
- **(python)** export set_log_max_message_length config for baml logs (#2553) - ([2c689dc](https://github.com/boundaryml/baml/commit/2c689dc3341b1f8ef4030b397b5e93f46cb25b2e)) - Samuel Lijin
29+
- Add specific error for missing required env vars in clients (#2570) - ([5ea6adb](https://github.com/boundaryml/baml/commit/5ea6adb02f6e4246dd53cd626189ec1578d69b69)) - Antonio Sarosi
30+
- [Promptfiddle] fix play button disappearing (#2571) - ([7d31c37](https://github.com/boundaryml/baml/commit/7d31c37142d89758ccff805853db0855af2bd318)) - aaronvg
31+
- Lots of tracing improvements for Boundary Studio [#2576](https://github.com/BoundaryML/baml/pull/2576)
32+
33+
### Documentation
34+
35+
- fix @description documentation (#2544) - ([32aec21](https://github.com/boundaryml/baml/commit/32aec21f10840d28e837216f14ffed116e9bc377)) - Samuel Lijin
36+
- Document Next.js version 15 requirement (#2540) - ([c1ce2ab](https://github.com/boundaryml/baml/commit/c1ce2abab0bddb42a84e492ef300a4dc14129a0a)) - Greg Hale
37+
538

639
## [0.210.0](https://github.com/boundaryml/baml/compare/0.209.0..0.210.0) - 2025-09-30
740

@@ -344,7 +377,7 @@ All notable changes to this project will be documented in this file. See [conven
344377

345378
### Bugfixes
346379
- Fix fatal log line showing up with publisher not started (#2038) - ([e02c30a](https://github.com/boundaryml/baml/commit/e02c30abf8aecfdccbd28386d0bc4049d017bc8c)) - aaronvg
347-
380+
348381
## [0.90.0](https://github.com/boundaryml/baml/compare/0.89.0..0.90.0) - 2025-06-14
349382

350383
### Bug Fixes
@@ -823,7 +856,7 @@ We added a new NextJS generator and deep support for Typebuilder!! Read the docs
823856
- Update README with better details (#1380) - ([02d1950](https://github.com/boundaryml/baml/commit/02d19503759986c0dba3b022afb03f45a52c31ad)) - hellovai
824857
- Semantic Streaming (#1293) - ([e30bdd5](https://github.com/boundaryml/baml/commit/e30bdd526910f11a6a9057cc4df90cf302939666)) - Greg Hale
825858

826-
859+
827860
### Bugfixes
828861
- Drop unnecessary jsonwebtoken dep in wasm build (#1381) - ([7b85c71](https://github.com/boundaryml/baml/commit/7b85c715e07be8f908ee114c50b85bd784cf567b)) - Greg Hale
829862
- Removing broken links (#1388) - ([e4b0b5b](https://github.com/boundaryml/baml/commit/e4b0b5ba390d3449247bfebb1f24013df69b6068)) - hellovai
@@ -1696,4 +1729,3 @@ The default base URL for the Gemini provider has been updated to v1beta. This ch
16961729
### Vscode
16971730

16981731
- check for updates on the hour (#434) - ([c70a3b3](https://github.com/boundaryml/baml/commit/c70a3b373cb2346a0df9a1eba0ebacb74d59b53e)) - Samuel Lijin
1699-

CITATION.cff

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
cff-version: 1.2.0
2+
message: "If you use BAML in your research or project, please cite it using the metadata from this file."
3+
type: software
4+
title: "BAML - A new programming language for building agents"
5+
abstract: "BAML is a simple prompting language for building reliable AI workflows and agents. BAML makes prompt engineering easy by turning it into schema engineering -- where you mostly focus on the models of your prompt -- to get more reliable outputs."
6+
authors:
7+
- name: "Boundary"
8+
9+
website: "https://www.boundaryml.com"
10+
repository-code: "https://github.com/BoundaryML/baml"
11+
url: "https://www.boundaryml.com"
12+
license: Apache-2.0
13+
version: 0.210.0
14+
date-released: "2025-10-06"
15+
keywords:
16+
- artificial-intelligence
17+
- llm
18+
- prompt-engineering
19+
- language
20+
- ai-agents
21+
- machine-learning
22+
- schema
23+
- prompting
24+
- openai
25+
- anthropic
26+
- structured-outputs
27+
references:
28+
- type: software
29+
title: "BAML Documentation"
30+
url: "https://docs.boundaryml.com"
31+
- type: software
32+
title: "BAML Prompt Fiddle"
33+
url: "https://www.promptfiddle.com"

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ BAML is a simple prompting language for building reliable **AI workflows and age
2929
BAML makes prompt engineering easy by turning it into _schema engineering_ -- where you mostly focus on the models of your prompt -- to get more reliable outputs.
3030
You don't need to write your whole app in BAML, only the prompts! You can wire-up your LLM Functions in any language of your choice! See our quickstarts for [Python](https://docs.boundaryml.com/guide/installation-language/python), [TypeScript](https://docs.boundaryml.com/guide/installation-language/typescript), [Ruby](https://docs.boundaryml.com/guide/installation-language/ruby) and [Go, and more](https://docs.boundaryml.com/guide/installation-language/rest-api-other-languages).
3131

32-
BAML comes with all batteries included -- with full typesafety, streaming, retries, wide model support, even when they don't support native [tool-calling APIs](#enable-reliable-tool-calling-with-any-model-even-when-they-dont-support-it)
32+
BAML comes with all batteries included -- with full typesafety, streaming, retries, wide model support, even when they don't support native [tool-calling APIs](#enable-reliable-tool-calling-with-any-model)
3333

3434
**Try BAML**: [Prompt Fiddle](https://www.promptfiddle.com)[Interactive App Examples](https://baml-examples.vercel.app/)
3535

0 commit comments

Comments
 (0)