Skip to content

v15.0.0

Latest

Choose a tag to compare

@bot-anik bot-anik released this 10 Apr 18:42
· 26 commits to main since this release
0da1ac3

15.0.0 (2026-04-10)

⚠ BREAKING CHANGES

  • logic: canonicalize the Prolog VM capability namespace
  • logic: rename gas policy field source_coeff
  • logic: port hex_bytes/2 to Prolog over VFS in crypto.pl lib
  • logic: remove legacy cosmwasm URI source-sinks and enforce path-based VFS
  • logic: charge gas for user source bytes
  • logic: meter prolog vm gas with grouped coefficients
  • logic: remove predicate and VFS allow/deny filters from x/logic params
  • logic: migrate bank_locked_balances/2 to VFS-based implementation
  • logic: migrate bank_spendable_balances/2 to VFS-based implementation
  • logic: migrate bank_balances/2 to VFS-based implementation
  • logic: move member/select/maplist out of bootstrap into lists/apply libraries
  • logic: remove block_header/1 and migrate usage to consult + header_info/1

Features

  • logic: add /v1/sys/header snapshot devices and mount sys FS in path-based VFS (a4680d0)
  • logic: add auto-loaded Prolog stdlib with setup_call_cleanup/3 (876207a)
  • logic: add CLI commands for stored program queries (2967f17)
  • logic: add comet_info/1 predicate in chain module (8ac3b73)
  • logic: add dev_call/3 predicate to library dev.pl (438a5c2)
  • logic: add dual-stack VFS wrapper for path and legacy URI source-sinks (7f010b0)
  • logic: add foldl/4,5,6,7 to apply library (0e66ab2), closes #788
  • logic: add header_info/1 predicate in chain module (fb99eeb)
  • logic: add memberchk/2 predicate (347b22d)
  • logic: add must_be/2 predicate to apply library (e77b3dc)
  • logic: add policy-free path-based VFS core with mount routing and OpenFile dispatch (2c1141e)
  • logic: add stored program gRPC query API (d0e76b8)
  • logic: add StoreProgram API for user Prolog libraries (a7b31b5)
  • logic: add valid_type/1 predicate (ead9c02)
  • logic: add wasm_query/3 predicate to wasm library (e90983a)
  • logic: add with_context/2 in error.pl lib for predicate error recontextualization (746fdc0)
  • logic: charge gas for user source bytes (5f47b44)
  • logic: expose published user Prolog libs under /v1/usr/share/logic (8afad11)
  • logic: expose sdk CometInfo through /v1/sys/comet device (5fe1007)
  • logic: extend lists.pl with append/2, prefix/2, suffix/2 and sublist/2 (c0f4879)
  • logic: extract type predicates from error.pl into new type.pl (f5f8730)
  • logic: implement path-based wasm query FS under /v1/dev/wasm (1be6dd4)
  • logic: meter codec device I/O (3aa7c5c)
  • logic: mount embedded read-only FS prolog lib under /v1/lib (cd25aad)
  • logic: optimize atomic_list_concat/2,3 to avoid O(n²) allocations (72b4f6a)
  • logic: port bech32_address/2 to Prolog over VFS-based device (8b6fd27)
  • logic: propagate OpenFile support in filtered VFS (9fb12c6)

Bug Fixes

  • logic: fix overlapping has_type/2 clauses for between/2 to ensure semidet behaviour (8f9e784)
  • logic: fix type validation in has_type/2 for parameterized list types (03c2fb4)
  • logic: normalize vm gas overflow as resource error (3769116)
  • logic: only normalize known vm resource errors (f3ef5fe)
  • logic: report regular read-only mode for virtual files (d0d51e3)
  • logic: tighten query validation (ee1884b)
  • logic: validate query program IDs as full SHA-256 digests (f1be3e5)

Code Refactoring

  • logic: canonicalize the Prolog VM capability namespace (5f39686)
  • logic: meter prolog vm gas with grouped coefficients (f2fa8d0)
  • logic: migrate bank_balances/2 to VFS-based implementation (0a74abd)
  • logic: migrate bank_locked_balances/2 to VFS-based implementation (2c6531d)
  • logic: migrate bank_spendable_balances/2 to VFS-based implementation (2dee8d6)
  • logic: move member/select/maplist out of bootstrap into lists/apply libraries (8ef0a1b)
  • logic: port hex_bytes/2 to Prolog over VFS in crypto.pl lib (ddef739)
  • logic: remove block_header/1 and migrate usage to consult + header_info/1 (3d5899d)
  • logic: remove legacy cosmwasm URI source-sinks and enforce path-based VFS (6ce8eee)
  • logic: remove predicate and VFS allow/deny filters from x/logic params (9df002e)
  • logic: rename gas policy field source_coeff (bbf06ca)