Skip to content

Bilig

vlibraries-v0.119.0 scope: libraries Feature

This release adds 5 notable features for engineering teams evaluating rollout.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

agent-tools ai-agents excel excel-formulas formula-engine formula-recalculation
+14 more
headless-spreadsheet mcp mcp-server model-context-protocol nodejs spreadsheet spreadsheet-automation spreadsheet-engine spreadsheet-formulas typescript workbook-api xlsx xlsx-formulas xlsx-recalculation

Summary

AI summary

Broad release touches Libraries v0.119.0, formula, Internal runtime changes, and headless.

Changes in this release

Feature Medium

feat(n8n): evaluate WorkPaper JSON documents.

feat(n8n): evaluate WorkPaper JSON documents.

Source: llm_adapter@2026-05-29

Confidence: high

Feature Medium

feat(xlsx): add external workbook proof conversion.

feat(xlsx): add external workbook proof conversion.

Source: llm_adapter@2026-05-29

Confidence: high

Feature Medium

feat(workbook): expose resolved ref proof option.

feat(workbook): expose resolved ref proof option.

Source: llm_adapter@2026-05-29

Confidence: high

Feature Medium

feat(mcp): add Semantic Kernel proof.

feat(mcp): add Semantic Kernel proof.

Source: llm_adapter@2026-05-29

Confidence: high

Feature Medium

feat(workpaper): expose ai sdk tool helpers.

feat(workpaper): expose ai sdk tool helpers.

Source: llm_adapter@2026-05-29

Confidence: high

Feature Medium

feat(mcp): add transactional WorkPaper readback tool.

feat(mcp): add transactional WorkPaper readback tool.

Source: llm_adapter@2026-05-29

Confidence: high

Feature Medium

feat(openwebui): add WorkPaper OpenAPI tool route.

feat(openwebui): add WorkPaper OpenAPI tool route.

Source: llm_adapter@2026-05-29

Confidence: high

Feature Medium

feat(growth): standardize proof next steps.

feat(growth): standardize proof next steps.

Source: granite4.1:30b@2026-05-29-audit

Confidence: low

Dependency Low

Update runtime packages to version 0.116.0.

Update runtime packages to version 0.116.0.

Source: llm_adapter@2026-05-29

Confidence: high

Performance Medium

perf(headless): fast-path suspended literal queueing.

perf(headless): fast-path suspended literal queueing.

Source: granite4.1:30b@2026-05-29-audit

Confidence: low

Performance Medium

perf(core): reuse empty dependency arrays.

perf(core): reuse empty dependency arrays.

Source: granite4.1:30b@2026-05-29-audit

Confidence: low

Performance Medium

perf(headless): reduce formula build overhead (re‑applied).

perf(headless): reduce formula build overhead (re‑applied).

Source: granite4.1:30b@2026-05-29-audit

Confidence: low

Performance Medium

perf(core): short-circuit sorted direct delta probes.

perf(core): short-circuit sorted direct delta probes.

Source: granite4.1:30b@2026-05-29-audit

Confidence: low

Performance Medium

perf(core): bypass operation setup for scalar edits.

perf(core): bypass operation setup for scalar edits.

Source: granite4.1:30b@2026-05-29-audit

Confidence: low

Performance Low

perf(headless): reserve initial sheet cells once.

perf(headless): reserve initial sheet cells once.

Source: granite4.1:30b@2026-05-29-audit

Confidence: low

Performance Low

perf(headless): skip redundant scalar mutation checks.

perf(headless): skip redundant scalar mutation checks.

Source: granite4.1:30b@2026-05-29-audit

Confidence: low

Bugfix Medium

fix(workbook): close strict format proof gaps.

fix(workbook): close strict format proof gaps.

Source: granite4.1:30b@2026-05-29-audit

Confidence: low

Bugfix Medium

fix(release): refresh IronCalc evidence during runtime release.

fix(release): refresh IronCalc evidence during runtime release.

Source: granite4.1:30b@2026-05-29-audit

Confidence: low

Bugfix Medium

fix(formula): match excel MOD sign semantics.

fix(formula): match excel MOD sign semantics.

Source: granite4.1:30b@2026-05-29-audit

Confidence: low

Bugfix Medium

fix(formula): match excel ATAN2 coordinates.

fix(formula): match excel ATAN2 coordinates.

Source: granite4.1:30b@2026-05-29-audit

Confidence: low

Bugfix Low

fix(workbook): classify transported plans predictably.

fix(workbook): classify transported plans predictably.

Source: granite4.1:30b@2026-05-29-audit

Confidence: low

Bugfix Low

fix(release): use workflow token for GitHub API waits.

fix(release): use workflow token for GitHub API waits.

Source: granite4.1:30b@2026-05-29-audit

Confidence: low

Bugfix Low

fix(workbook): harden formula expression arrays.

fix(workbook): harden formula expression arrays.

Source: granite4.1:30b@2026-05-29-audit

Confidence: low

Bugfix Low

fix(release): regenerate evidence after version bump.

fix(release): regenerate evidence after version bump.

Source: granite4.1:30b@2026-05-29-audit

Confidence: low

Full changelog

Libraries v0.119.0

  • Release type: minor
  • Previous libraries tag: libraries-v0.107.8
  • Manual override: no

Features

  • feat(n8n): evaluate WorkPaper JSON documents (1520edf9)
  • feat(xlsx): add external workbook proof conversion (5f4525c7)
  • feat(workbook): expose resolved ref proof option (fc16d103)
  • feat(mcp): add Semantic Kernel proof (f4815070)
  • feat(workpaper): expose ai sdk tool helpers (57c05861)
  • feat(growth): standardize proof next steps (f0243533)
  • feat(mcp): add transactional WorkPaper readback tool (a4d1fcb1)
  • feat(openwebui): add WorkPaper OpenAPI tool route (1044d88e)

Fixes

  • fix(workbook): close strict format proof gaps (2da279d3)
  • fix(workbook): avoid inherited plan accessors (d280def0)
  • fix(workbook): align comparison schemas (e158c4a7)
  • fix(workbook): reject empty format intent (15d15cc5)
  • perf(headless): fast-path suspended literal queueing (6f88495d)
  • fix(workbook): require full command proof (0d406311)
  • fix(workbook): avoid inherited ref getters (fc119be7)
  • fix(release): refresh IronCalc evidence during runtime release (799e4967)
  • fix(workbook): isolate feature plugin surface (55e43e6b)
  • fix(workbook): align schema integer bounds (1146ed8e)
  • fix(workbook): tighten transport schemas (f71695be)
  • fix(workbook): harden transported op hydration (579f7e13)
  • fix(ui): rank same-corpus speed gaps (0855dc45)
  • fix(release): skip stale metadata mutation (39deee59)
  • fix(workbook): reject custom prototype transport data (97885c44)
  • perf(headless): reduce metadata rename versioning overhead (3f40baa7)
  • fix(workbook): close oracle proof blockers (7b094e5b)
  • perf(headless): split constant scalar delta hot path (45e869c1)
  • fix(workbook): harden run option and command schemas (82559f78)
  • fix(workbook): align command bundle schema guards (2e42a437)
  • fix(workbook): prove idempotent command noops (546a136d)
  • perf(headless): bound scalar closure preallocation (1e1bbf1a)
  • fix(workbook): require command-bound noop proof (bfab4a7b)
  • fix(workbook): preserve noop run descriptions (80c09654)
  • fix(workbook): bind noop proof to full ops (062719e6)
  • fix(workbook): bind noop descriptions to receipts (b3f402bd)
  • fix(grid): harden native text proof (e1bb2d4f)
  • perf(core): reuse empty dependency arrays (4f9f8d1b)
  • fix(workbook): validate noop effect descriptions (1e806a8b)
  • fix(workbook): align noop proof schema (060d80d5)
  • fix(workbook): validate noop format effects (470d0216)
  • perf(core): short-circuit sorted direct delta probes (bd5c757f)
  • perf(headless): reserve initial sheet cells once (7b225d02)
  • perf(core): use sparse formula init membership (cb1815cd)
  • perf(core): propagate affine scalar deltas (d57e4633)
  • fix(formula): match excel MOD sign semantics (7f9f8e2d)
  • perf(core): batch dense logical axis ids (407d1d93)
  • fix(formula): match excel ATAN2 coordinates (30cf27ae)
  • fix(release): use workflow token for GitHub API waits (e46138a3)
  • fix(docs): avoid unpublished MCPB links (fee18c69)
  • fix(docs): refresh headless footprint evidence (c0098efb)
  • perf(headless): skip redundant scalar mutation checks (276c3b2d)
  • perf(headless): inline fast range value reads (c44615f5)
  • perf(headless): reduce formula build overhead (dc0093f2)
  • Revert "perf(headless): reduce formula build overhead" (797aadf5)
  • fix(workbook): classify transported plans predictably (942abe8b)
  • fix(formula): match excel FLOOR sign error semantics (07081b06)
  • perf(headless): reduce formula build overhead (ff274360)
  • perf(headless): defer operation runtime setup (964c82b3)
  • fix(formula): return num errors for combinatoric domains (0dc5946a)
  • fix(formula): return num errors for square root domains (a8c32aa5)
  • fix(workbook): harden formula expression arrays (065009b5)
  • fix(formula): return num errors for inverse domains (ac25b767)
  • fix(workbook): harden readback proof arrays (228bc516)
  • fix(formula): return num errors for bessel domains (fd268742)
  • fix(workbook): require plain proof arrays (6636fabc)
  • fix(workbook): require plain receipt arrays (0c674ea2)
  • fix(core): skip no-op table delete history (0667e84c)
  • fix(formula): return num errors for distribution domains (5c6dfc8e)
  • fix(workbook): require plain plan arrays (fa23a236)
  • fix(formula): return num errors for rate domains (e1c8ae8c)
  • fix(workbook): require plain runtime requirement arrays (b5258bb8)
  • fix(formula): align ordered statistics domain errors (fbbc2eaa)
  • fix(formula): align integer math domain errors (27ae3ac0)
  • fix(formula): align BASE domain errors (9307d905)
  • fix(formula): align cumulative finance domain errors (d869295a)
  • perf(core): bypass operation setup for scalar edits (c541e2e3)
  • fix(formula): align distribution and security domain errors (3f7d06ee)
  • fix(formula): align distribution and depreciation domain errors (982048ab)
  • fix(formula): align radix domain errors (7967d5ac)
  • fix(formula): align scalar math text and overflow errors (4c3d9367)
  • perf(headless): fast-path numeric range reads (50b827f3)
  • perf(core): avoid scalar replacement allocations (eb0b0013)
  • revert(core): drop scalar replacement allocation shortcut (eaefc2c5)
  • fix(formula): align bitwise domains (749db808)
  • perf(core): use typed numeric history for bulk mutations (00788860)
  • fix(formula): align text coercion domains (e0cbac98)
  • fix(formula): preserve scalar math error semantics (23467c49)
  • fix(ui): verify same-corpus proof archive files (10d31de0)
  • fix(formula): preserve utility and statistics semantics (a7562fe5)
  • perf(core): tighten dense grid and scalar closure paths (e20b40be)
  • fix(formula): preserve helper error semantics (f715dc24)
  • fix(core): preserve qualified defined-name ref errors (4cdefea4)
  • fix(core): track sort-key structural history (0605cb6e)
  • perf(core): avoid unused scalar closure buffer allocation (fe82099b)
  • fix(formula): harden error precedence semantics (8c39f037)
  • fix(formula): align zero-multiple rounding semantics (170b3e0e)
  • fix(formula): preserve complex argument errors (e3380fe0)
  • fix(formula): coerce average direct text (73c50198)
  • fix(formula): preserve financial argument errors (301053f5)
  • fix(formula): align radix errors and scalar index (45c7b25f)
  • fix(formula): align aggregate and value semantics (7dea933c)
  • fix(formula): align logical reference semantics (2d1e2ad0)
  • fix(formula): align radix conversion semantics (78006279)
  • fix(formula): align aggregate and text edge semantics (4940afb8)
  • fix(formula): align aggregate statistical error semantics (9618746b)
  • perf(headless): speed scalar formula hot paths (695a250d)
  • fix(formula): align rank and gamma inverse semantics (573c71f2)
  • fix(formula): align confidence interval semantics (75d33a99)
  • fix(core): ignore identity-only axis metadata (f5840f10)
  • fix(formula): stabilize combinatoric overflow semantics (62a44fae)
  • fix(formula): align scalar distribution domain errors (c1831db3)
  • fix(excel-import): stream large xlsx workbooks by default (a40ab22a)
  • fix(formula): align text and dollar edge semantics (792e5933)
  • fix(core): count booleans in direct aggregate deltas (880660e0)
  • fix(formula): align empty text aggregate coercion (47b12ef5)
  • fix(formula): align direct logical text coercion (1e14448c)
  • fix(core): preserve generated table header fill noops (5b0134ae)
  • fix(formula): align empty text search bounds (65c46959)
  • fix(formula): align replace append bounds (8204c341)
  • fix(formula): reject negative fractional text counts (c1c65b83)
  • perf(headless): reduce fresh formula binding allocations (fd69c52c)
  • perf(headless): trim scalar binding hot paths (3409e125)
  • fix(headless): preserve metadata rename undo source (8bfc4e29)
  • fix(formula): align text coercion semantics (13459f91)
  • perf(headless): cache direct count criteria aggregates (9b8bd9f1)
  • fix(headless): preserve source xlsx scalar edits (48ee7a56)
  • fix(formula): align scalar text coercion fast paths (9a876de8)
  • fix(formula): coerce financial text arguments (ca744550)
  • fix(core): preserve authored blank insert undo history (b3e44aa3)
  • fix(formula): return errors for missing scalar args (1d094e4f)
  • fix(formula): use natural radix width when places omitted (0fa9728f)
  • fix(formula): honor text formatting bounds (f4167b66)
  • fix(formula): normalize days360 february month end (3dae1f00)
  • perf(headless): reduce batch write overhead (425792c9)
  • perf(core): fast-path sheet rename history (711cc0d5)
  • perf(core): defer dense axis indexes (5ac10fe5)
  • perf(headless): classify scalar formula sources (7ddd4777)
  • fix(formula): correct days360 february eom semantics (d132150f)
  • fix(formula): support iso weeknum return type (25cb3104)
  • fix(formula): ignore date text in timevalue (e811610f)
  • fix(formula): coerce days text dates (c983a2cf)
  • fix(formula): coerce datedif text dates (01c9a5a0)
  • fix(formula): treat scalar rows columns as one cell (31e96220)
  • fix(formula): return num for negative fractional powers (5828cefd)
  • fix(xlsx): resolve cached external defined names (44c30b4d)
  • fix(core): preserve external formula caches (b8090bbc)
  • perf(headless): harden ironcalc benchmark hot paths (7bedb12c)
  • fix(formula): support negative odd root exponentiation (e5086bad)
  • fix(formula): tighten cache preservation and value semantics (c7c182ce)
  • perf(headless): accelerate numeric batch hot paths (ffc8d142)
  • fix(headless): avoid scratch regression in row-pair batch path (82af144a)
  • fix(core): restore formula sources on insert undo (963aabfb)
  • fix(core): preserve lazy column insert undo (cebdc395)
  • fix(formula): return num errors for week domains (4681fbe5)
  • fix(formula): return documented date domain errors (574218b1)
  • fix(formula): return num for invalid yearfrac basis (837cd387)
  • fix(formula): enforce rept text length limit (573dc49a)
  • fix(formula): enforce text domain length limits (7a9aae14)
  • fix(formula): preserve 1900 weekday compatibility (3c42b210)
  • fix(formula): honor address logical ref style (c6cc31db)
  • fix(formula): format address sheet prefixes (50b0d41d)
  • fix(formula): parse value date text (efc31e4e)
  • fix(formula): normalize overflow time text (90263bd9)
  • fix(formula): honor missing if false branch (c54c349c)
  • perf(headless): tighten lazy tracked index proxy (6cb4b80f)
  • perf(core): speed direct scalar run binding (d3d98762)
  • perf(core): lazily allocate operation appliers (58bd7a2e)
  • perf(core): lazily allocate rectangular batch helpers (daa8ef3d)
  • perf(core): lazily allocate runtime scratch buffers (182c290d)
  • perf(headless): trim lazy batch allocation overhead (a226c998)
  • perf(core): reduce formula setup p95 overhead (5005fb2e)
  • perf(core): reduce direct batch column version allocations (2d0a233d)
  • fix(formula): align choose and unicode text semantics (33776c60)
  • fix(formula): align substitute empty old text (a496f063)
  • fix(formula): make switch matching type strict (fca4ebe3)
  • fix(formula): coerce date time numeric text (a0d783af)
  • fix(formula): evaluate isformula from metadata (fbbf8ec0)
  • fix(formula): align zero multiple rounding (dce509e4)
  • fix(formula): allow lookup short result vectors (3098ba32)
  • fix(formula): align lookup and error type accuracy (7abb040c)
  • fix(formula): recompute stale initial scalar preevals (fea9c4cd)
  • fix(formula): align error precedence and cached text (8bfa2bf1)
  • fix(formula): round decimal ties after binary drift (01fea239)
  • fix(formula): snap decimal multiple quotients (cf053aff)
  • fix(formula): snap directed decimal rounding (08637266)
  • fix(formula): coerce date text arithmetic (f6fe885d)
  • fix(formula): align scalar aggregate text coercion (7e1ac601)
  • fix(formula): align scalar fast-path semantics (aed37b8e)
  • fix(formula): align operator precedence and bitwise arity (f9e270b4)
  • fix(formula): reject malformed information arities (da7f36e0)
  • fix(formula): reject malformed dollar arity (296deea0)
  • fix(formula): reject surplus scalar arguments (03a720ab)
  • fix(core): preserve table headers when undoing formulas (2f9b8309)
  • fix(formula): preserve workday argument boundaries (31563be0)
  • fix(formula): reject surplus special call arguments (03d19da2)
  • fix(formula): tighten statistical arity checks (2268ba79)
  • fix(formula): tighten remaining raw call arities (58c25fa7)
  • fix(formula): align math domain errors (9a5a7421)
  • fix(formula): tighten workday and series domains (7deed701)
  • fix(formula): tighten small large data domains (4737f8c8)
  • fix(formula): reject month shift underflow dates (e9644965)
  • fix(formula): align empty numeric aggregate errors (ed25eb01)
  • fix(formula): parse time text in time parts (a1aaba27)
  • fix(formula): coerce date text in date serials (c9a63757)
  • fix(formula): detect isref references before dereference (0babd288)
  • fix(formula): propagate iseven isodd input errors (92435555)
  • fix(formula): keep value internal spaces invalid (9954b8cf)
  • fix(formula): align intl weekend and logical errors (c7e3d951)
  • fix(formula): align empty text statistics coercion (bbccc9c6)
  • fix(formula): align cashflow financial edge cases (ad0e6c6f)
  • fix(formula): align depreciation domain errors (3103739a)
  • perf(headless): beat ironcalc rust benchmark (d3e9d518)
  • fix(headless): preserve cross-sheet aggregate dependencies (99d8913a)
  • perf(core): index initial aggregate dependency checks (1f912d26)
  • fix(release): sync benchmark evidence before publish (7a3f6a59)
  • perf(headless): publish all-provider leadership proof (a1c26626)
  • fix(release): install benchmark card renderer for publish (e9f1715d)
  • perf(headless): achieve all-provider benchmark leadership (94fa5896)
  • fix(release): regenerate evidence after version bump (053a7134)
  • fix(release): keep benchmark checks stable across version bumps (e892b3cf)

Internal runtime changes

  • docs(growth): add Sim MCP setup (e353fb02)
  • docs(growth): add Windmill WorkPaper script (479a394f)
  • chore(release): runtime packages v0.107.9 (383e2bd2)
  • docs(growth): add Trigger.dev WorkPaper task (98ed4839)
  • chore(release): runtime packages v0.107.10 (16999484)
  • docs(headless): format release package docs (29e558d1)
  • chore(release): runtime packages v0.107.11 (ef648a78)
  • chore(release): runtime packages v0.107.12 (d17ccd46)
  • docs(workbook): clarify feature command imports (c74f2c78)
  • chore(release): runtime packages v0.107.13 (caf12943)
  • chore(release): runtime packages v0.107.14 (0561ed73)
  • docs(growth): add Kestra WorkPaper flow (57e0694a)
  • docs(growth): add Prefect WorkPaper flow (638893e0)
  • docs(growth): add Airflow WorkPaper DAG (969b7dc3)
  • docs(growth): add Dagster WorkPaper asset (b9caf0f3)
  • test(workbook): remove business-specific labels (e0fcb106)
  • chore(release): runtime packages v0.107.15 (32641948)
  • docs(growth): add Temporal WorkPaper activity (29de7b8a)
  • chore(release): runtime packages v0.107.16 (f1eb2738)
  • docs(growth): add FastMCP WorkPaper client (148a7a21)
  • docs(agent): prove OpenAI Agents MCP tools (c0ac6d47)
  • chore(release): runtime packages v0.108.0 (e005aeab)
  • docs(workbook): expose agent intent API (65b27cae)
  • docs(agent): prefer latest package coordinate (a23cb3be)
  • docs(growth): add smolagents WorkPaper proof (5f7170ba)
  • docs(growth): add Inngest WorkPaper step proof (16aa5aec)
  • chore(release): runtime packages v0.109.0 (b2b814c4)
  • chore(release): runtime packages v0.110.0 (c11c5d4d)
  • docs(growth): add LangGraph ToolNode proof (f6aa22c4)
  • chore(docs): format package docs (eb40be41)
  • docs(agents): add open multi-agent workpaper mcp guide (5fd868a6)
  • chore(docs): format bilig skill example (aa4db347)
  • test(ci): stabilize full coverage assertions (53b1306e)
  • test(formula): align direct max text coercion (3d57c93d)
  • chore(agent): refresh discovery docs (437a700c)
  • chore(docs): format bilig skill example (5aaa72c6)
  • chore(agent): refresh discovery docs (d040efb2)
  • chore(docs): format bilig skill example (3d9a2dd3)
  • test(core): cover stale sort-key delete history (a047dfb4)
  • chore(docs): format bilig skill example (41fea1e2)
  • docs(growth): sharpen proof conversion path (eb03902b)
  • test(formula): align js evaluator aggregate semantics (24a9dd63)
  • refactor(formula): centralize tracked metadata refresh (fdca4a34)
  • chore(release): runtime packages v0.111.0 (bd89ec0d)
  • chore(release): format headless changelog (f12b0a0e)
  • chore(release): runtime packages v0.112.0 (db9c9b76)
  • chore(headless): format release changelog (3e7326e4)
  • chore(release): runtime packages v0.113.0 (4e0f39b1)
  • chore(format): normalize headless changelog (6e53216f)
  • chore(headless): refresh hyperformula surface (bb847655)
  • test(headless): allow workpaper sheet moving (760bd719)
  • test(core): expect formula source undo ops (4c759ff7)
  • test(formula): cover overflow timevalue edges (a84988a7)
  • test(wasm): align VALUE kernel expectations (2d686b86)
  • refactor(core): split live service config types (bf77cedc)
  • docs(growth): add Airbyte WorkPaper validation (d0a8d474)
  • docs(growth): prove Airbyte global state validation (1db441d3)
  • docs(growth): add Meltano WorkPaper utility proof (3fb0b11d)
  • docs(growth): add LangChain MCP ToolNode proof (ae5aa827)
  • docs(agent): harden WorkPaper skill discovery proof (857cfb55)
  • test(wasm): align malformed information arity expectations (cd84bfea)
  • chore(release): runtime packages v0.114.0 (79ef74f0)
  • chore(headless): format changelog (86ac9c85)
  • test(headless): stream excel oracle harness (1687bcbc)
  • chore(release): runtime packages v0.115.0 (ddc372aa)
  • chore(release): runtime packages v0.116.0 (74056776)
  • chore(release): runtime packages v0.117.0 (4f807f06)
  • chore(release): runtime packages v0.118.0 (63f7d319)

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Bilig

Get notified when new releases ship.

Sign up free

About Bilig

All releases →

Related context

Beta — feedback welcome: [email protected]