Repository navigation
Releases
Releases · holistics/anfra
v0.18.0
Changelog
Features
- cli: init anfra console (a8ae4f8)
- cli: console colors (1189025)
- cli: indent YAML with 2 instead of 4 spaces; indent JSON when in console (2287e43)
- cli: persist console history (ca30352)
- cli: console notices (b45609b)
- cli: console text modes (3830039)
- cli: run server behind console (feb9f04)
- cli: pretty output for query in console (dd3c6bc)
- cli: prettify all commands and errors in console (c048613)
Pull requests
Full Changelog: v0.17.0...v0.18.0
v0.17.0
Changelog
⚠ BREAKING CHANGES
- sdk: QueryError, PermissionError and TransportError are
gone. Branch on err.code and err.scope instead of err.name:
PermissionError is code forbidden or unauthenticated, TransportError
is scope server, QueryError is query_invalid or query_failed.
ValidationError stays for declarations, with code
declaration_invalid. A plugin refuses a malformed call with
invalidRequest() rather than ValidationError. - cli: include repo info in anfra status
Features
- add --schema flag and revamp check to subcommands (afa0b65)
- appserve: draw the sidebar and header as anfra Cloud does (101dd83)
- appserve: install the view-underlying-data plugin (42e2ed9)
- appserve: search apps and commands in a command dialog (9594c18)
- appserve: set up tailwind and shadcn-vue (45ecf15)
- appserve: show the anfra logomark, as anfra Cloud does (d90e593)
- cli: built-in jq (108dfb8)
- cli: formalize CLI error codes (a4dfe8f)
- cli: include repo info in anfra status (56b147d)
- cli: pretty and structured output for anfra update (bc84320)
- cli: publish --list to leave room for publish --check later on (e7aa866)
- cli: structured output for agent setup (69c480e)
- cli: structured output for auth (8ffd3dc)
- cli: structured output for init (87509d6)
- cli: structured output for publish (98cc6d1)
- cli: support json output format for commands (9cc0695)
- design: add a small tab list, with a 2px track (bd6dee4)
- design: add the class layer and lucide icons for core (61ed549)
- design: add the kbd group, and the shortcut and casing rules (ebfd813)
- design: draw an app as Cloud does, and add the open folder (5bb4774)
- design: edge inputs as buttons, and menus with a ring shadow (6907169)
- design: give controls under 32px the md corner (ecc8581)
- more version mismatch warnings (74d39a8)
- revamp log msg to event for anfra-node (e6b7212)
- sdk.common: log an error the bridge hides where it was raised (c5dad57)
- sdk: add the view-underlying-data plugin, a point's rows in a modal (4e2a246)
- sdk: carry a failed request's id on the SDK's errors (59f250c)
- sdk: draw plugin tabs with anfra's class layer and lucide icons (ac4129c)
- sdk: drop the measure column from underlying data, and title it by the point's value (4843668)
- sdk: give a Data App's errors the API's shape (3988fd6)
- sdk: name a point's measure in query.menu, and give plugins a query's request (a634edb)
- sdk: show the point's value in the underlying data's title (b4ac707)
- shared: make httpkit.Serve drain configurable (7dd7206)
- shared: when otel exporter is disabled, still generate local traces (53fa5aa)
- skills: minor updates (2b096ca)
- skills: name a relationship in with_relationships (64c884f)
- skills: name the point's measure in query.menu (4100913)
- skills: read a filter's value, guard late libraries, find server errors (0cc1220)
- skills: say what requestId and a throwing subscribe() listener do (03af9b2)
- skills: teach a Data App's errors by code and scope (92a98b9)
- turn log
msgintoevent, leavingmsgfor readable messages (4585e02)
Bug Fixes
- appserve: colour the logomark from a design token (f1a0f94)
- appserve: let an open menu take escape, and leave the panel open (a40e13d)
- design: give a tab list in a well the pressed layer for its track (53198c6)
- design: give a wrapping field its input's read-only and disabled looks (eb3376f)
- design: give dark mode its own fills, lighter than their ground (a8d4341)
- design: keep a tab's corner concentric with its list's (c56e68a)
- design: make a badge holding one icon square (2e5198a)
- design: make every nested corner concentric, and even the tab track (3311bb2)
- design: pick Cloud's icons for pick, inspect and a table (880e500)
- design: size a button and a tab by their border box, and disable a tab by aria too (c6cd07e)
- engine.query: run queries in UTC or GMT (88d29a1)
- sdk.api: fail a stream line that is not an event as a transport error (e2cc170)
- sdk.app: keep a throwing subscribe() listener out of the queries (846c382)
- sdk.app: log a query's error the app is not shown (ed0d8af)
- sdk.common: recognise the SDK's errors by one check, a subclass's and another copy's too (161f0cc)
- sdk: give the tabs' tooltip their colours (3ce6be5)
- sdk: hide load more once every row is in, and say so (7b1d398)
- sdk: keep a host's failure to save a rendering as it is (b1cb3bf)
- sdk: keep a query's own declarations in its underlying data (c63d156)
- sdk: keep a query's own filters in its underlying data ([0a75c3c](0a75c3c1e84e...
v0.16.0
Changelog
Features
- bump anfra-node to 0.12.0 (91b1dd3)
Security
- cli: refuse a symlinked .gitignore in anfra init (d1105db)
- put sidecar sockets in a private temp directory (11f8af1)
- run canal-query on a unix socket (1625681)
Pull requests
Full Changelog: v0.15.1...v0.16.0
v0.15.1
Changelog
Features
- cli: show release notes after anfra update (44b615f)
- inject skills notice into help after multiple errors (7d17a40)
- mention docs in AGENTS.md (5fef3a6)
- shared: support request-scoped stateless MCP serving (15cab4c)
- various improvements to agent setup (b72cfd4)
Performance Improvements
- shared: reuse the stateless MCP HTTP handler (5513c75)
Pull requests
- feat(shared): support request-scoped stateless MCP serving by @dthongvl in #72
- Skills/improve install by @datbth in #102
- feat(cli): show release notes after anfra update by @nvquanghuy in #66
- release: 0.15.1 by @datbth in #103
Full Changelog: v0.15.0...v0.15.1
v0.15.0
Changelog
⚠ BREAKING CHANGES
- skills: prefix skill names with anfra- to prevent collision with global agent skills
- engine.validate: core.validate refuses more than 100 globs (maxItems).
Features
- anfra agent commands (005608a)
- anfra version --skills (08329f1)
- cli: warn if anfra serve is running a different version (e3fed0c)
- engine.validate: take at most 100 globs (61b0b80)
- fetch latest skills version (2a16986)
- set up AGENTS.md (25d41c3)
- skills: prefer writing AQL by self (9334ad8)
- skills: prefix skill names with anfra- to prevent collision with global agent skills (bc70675)
- skills: stamp versions in skills (c489a9b)
- skills: update installation README (bd5a582)
- skills: use new agent check commands (53f07d2)
- update notices for skills (173f990)
Bug Fixes
- cli: avoid using github api to avoid ratelimit, and fix related error messages (a52d5f9)
- validate now reports unmatched paths (8a453ad)
Build
- move skills build to anfra repo (225363f)
Pull requests
- docs: point readme docs links at anfra.ai/docs by @9diov in #100
- Improve skills install by @datbth in #86
New Contributors
Full Changelog: v0.14.2...v0.15.0
v0.14.2
Changelog
Features
- appserve: wear @holistics/anfra-design's tokens, fonts and type (0530e9a)
- design: add @holistics/anfra-design, one design language for core and Cloud (77b2790)
- sdk.common: give plugin UI anfra-design's tokens, and one mapping to them (5125a4a)
- sdk.host: move pick into the panel's strip as a panel command (7a4312f)
- sdk: draw inspect's states with the theme's hover, sunken, selected and status tokens (a8ef627)
Bug Fixes
- appserve: draw the palette's on mark in the accent's text colour (8220549)
- design: give type.css every spacing scale DESIGN.md names (04ac184)
- sdk.app: fall back to anfra-design's light colours in the app's menus and modals (9dc2e61)
- sdk.app: round the plugin layer's surfaces at xl, the theme radius plus 4px (a7ab76f)
- sdk.common: mix the newer theme tokens from a host's older ones (b66aaf6)
Security
- bump vitest to 4.1.12 for @vitest/mocker (W44) (d351b47)
Pull requests
- security: bump vitest to 4.1.12 for @vitest/mocker (W44) by @tientt-holistics in #75
- feat(design): add @holistics/anfra-design, one design language for core and Cloud by @hungdofyi in #88
New Contributors
- @tientt-holistics made their first contribution in #75
Full Changelog: v0.14.1...v0.14.2
v0.14.1
Changelog
Bug Fixes
- engine: bump to support relative path in semantic catalog (2e27130)
Pull requests
Full Changelog: v0.14.0...v0.14.1
v0.14.0
Changelog
⚠ BREAKING CHANGES
- sdk: inspect logs the frame's calls, and gets a rich Queries tab
- sdk: the inspect.watch, inspect.highlight, inspect.locate
and inspect.pick calls and the inspect.snapshot and inspect.picked
events are gone; use mounted.panel instead.
Features
- appserve: a command palette over the shell's and the plugins' commands (587a914)
- appserve: draw the plugins' commands and panel tabs, dropping the Vue inspector (463281a)
- appserve: group the panel's tabs that don't fit behind a More tabs menu (28dc60d)
- appserve: scan-search for Inspect, and an icon before each panel tab's title (40ea3f3)
- appserve: the palette in the sidebar, Reload first, and a Download menu for render's commands (fdedde4)
- sdk.host: add command and tab contributions from plugins and the host (e5b53ee)
- sdk.host: give a tab its mount, and a mount its reader and datasets (6cdf0f1)
- sdk: a menu on blocks and on query rows, and modals and popovers in the frame (7af77df)
- sdk: give every mount a panel, with the frame's snapshot, pick and highlight (aac3027)
- sdk: hover tooltips in inspect's tabs, in place of click popovers and native titles (91c0ce3)
- sdk: inspect logs the frame's calls, and gets a rich Queries tab (4178c56)
- sdk: inspect's Data tab, each query's latest rows, with a CSV download (b078641)
- sdk: inspect's Declaration tab: counts, checks, the code and the wiring (5fb21bb)
- sdk: inspect's Overview tab, where the panel opens: trust, issues, changes (003878d)
- sdk: inspect's Structure and Data tabs and its Inspect command (7ed89d8)
- sdk: inspect's tabs as tiles, with type icons and one type scale (5b721a9)
- sdk: lineage's graph of the page and its layered layout (5e078bf)
- sdk: lineage's Lineage tab, a canvas of where the page's numbers come from (2a170e2)
- sdk: put Lineage after Queries, and draw it as a fork (b5bad3f)
- sdk: render offers Download as PNG and PDF as commands, which appserve draws (6297dba)
- sdk: run commands by shortcut, forwarded from the frame (51105e0)
- sdk: show a declaration as its JSON, with its AQL highlighted across its lines (97a9981)
- sdk: show a query in Lineage from its row in Queries and its card in Data (fa0fdcf)
- sdk: show a query or a node in Lineage from inspect's tabs (d89e3fa)
- sdk: show a query's signature as the Declaration shows its JSON (1c0d9cf)
- sdk: theme tokens for plugin tabs, the plugin layer and Anfra.theme (4c5f0a9)
Bug Fixes
- appserve: drop a Data App's mount when it goes, and redraw the panel for the next (25babb3)
- appserve: keep commands for the page's menu out of the toolbar (9b9aab4)
- appserve: let the panel's tab strip scroll when its tabs don't fit (d4e2703)
- appserve: open the More tabs menu leftward, so the window doesn't cut it off (8a981c9)
- sdk.app: keep the browser's menu when no frame item applies (b9a1fc6)
- sdk.host: check a snapshot's every node, and open pick mode at a tab (344714a)
- sdk.host: hold a forwarded shortcut to the frame's calls (ba547aa)
- sdk.host: keep the policy ahead of a definition's scripts however it starts (9d7825d)
- sdk: always show a section's chevron (2375e44)
- sdk: centre the lineage legend's button (029a8ea)
- sdk: draw the frame's menu, modal and popover in the top layer, and keep a modal's page inert (89caf2c)
- sdk: give a popover a close button, and focus so Escape closes it (387a095)
- sdk: inspect's tabs at 13px, as before (fe44852)
- sdk: keep Download disabled while the frame draws (acd0515)
- sdk: keep the page's scrollbar room under a modal, and open popovers on a side (702b6bd)
- sdk: mute only Structure's labels, not Queries' app sections (663528a)
- sdk: one highlight in the menu, moved by the pointer and the arrows (e66dc6e)
- sdk: open lineage's Show menu in the top layer, inside the window (8276a15)
- sdk: put inspect's popovers in the top layer, kept inside the window (0afdcd1)
- sdk: set apart the queries and controls a declaration check names (e3862a1)
- sdk: space Data's tables apart (411e99d)
Pull requests
Full Changelog: v0.13.5...v0.14.0
v0.13.5
Changelog
Features
- engine.sidecar: bump anfra-node to support lookml and improve search (f3cefa9)
- engine: improve search command output in CLI (851ba1c)
- engine: make search accept offset and limit (f010016)
Pull requests
Full Changelog: v0.13.4...v0.13.5
v0.13.4
Changelog
Features
- dedup nested error messages (f620318)
- expose and log internal errors (toggleable by env flag) (e2755f7)
Pull requests
Full Changelog: v0.13.3...v0.13.4