Jac-Cloud Release Notes#
This document provides a summary of new features, improvements, and bug fixes in each version of Jac-Cloud. For details on changes that might require updates to your existing code, please refer to the Breaking Changes page.
jaclang 0.9.0 / jac-cloud 0.2.11 / byllm 0.4.6 / jac-client 0.1.0 (Unreleased)#
jaclang 0.8.10 / jac-cloud 0.2.10 / byllm 0.4.5 (Latest Release)#
- Jac Serve Faux Mode: Added
--fauxflag tojac servecommand that prints documentation for API endpoints instead of starting the server, useful for quickly inspecting available endpoints and their specifications.
jaclang 0.8.9 / jac-cloud 0.2.9 / byllm 0.4.4#
jaclang 0.8.8 / jac-cloud 0.2.8 / byllm 0.4.3#
- Consistent Jac Code Execution: Fixed an issue allowing Jac code to be executed both as a standalone program and as an application. Running
jac runnow executes themain()function, whilejac servelaunches the application without invokingmain().
jaclang 0.8.7 / jac-cloud 0.2.7 / byllm 0.4.2#
jaclang 0.8.6 / jac-cloud 0.2.6 / byllm 0.4.1#
jaclang 0.8.5 / jac-cloud 0.2.5 / mtllm 0.4.0#
- Jac Cloud Hot Reload: Introduced the ability to enable development mode like uvicorn by adding
--reloadinjac serve. This supports targetting specific directories by using--watch path/to/dir1,path/to/dir2(comma separated). - Dynamic Runtime Walker Endpoint: Fixes auto-generated endpoints for walkers created at runtime.
- Jac Clouds Traverse API: Introduced the ability to traverse graph. This API support control of the following:
- source - Starting node/edge. Defaults to root
- detailed - If response includes archetype context. Defaults to False
- depth - how deep the traversal from source. Count includes edges. Defaults to 1
- node_types - Node filter by name. Defaults to no filter
- edge_types - Edge filter by name. Defaults to no filter
- Dedicated Memory commit interface.: Introduced the interface to commit memory to db at runtime. Previously, we only have it on jac-cloud but we generalized it and support it for both jac and jac-cloud.
jaclang 0.8.4 / jac-cloud 0.2.4 / mtllm 0.3.9#
- Support Spawning a Walker with List of Nodes and Edges: Introduced the ability to spawn a walker on a list of nodes and edges. This feature enables initiating traversal across multiple graph elements simultaneously, providing greater flexibility and efficiency in handling complex graph structures.
- save(...) should not override root in runtime: The previous version bypassed access validation because the target archetype root was overridden by the current root, simulating ownership of the archetype.
- Support Custom Access Validation: Introduced the ability to override access validation.
Node/Edgecan override__jac_access__reserved function (builtin) to have a different way of validating access. Either you cross-check it by current attribute, check from db or global vars or by just returning specific access level. PR#1524 - Get all Root Builtin Method: Introduced
allrootsbuiltin method to get all the roots available in the memory. Developers can get all the roots in the memory/ database by callingallroots()method. - Permission Update Builtin Methods: Introduced
grant,revokebuiltin methods,NoPerm,ReadPerm,ConnectPerm,WritePermbuiltin enums, to give the permission to a node or revoke the permission. Developers can use them by callinggrant(node_1, ConnectPerm)orrevoke(node_1)method. jac create_system_admincli now support local db:DATABASE_HOSTare now not required when creating system admin.
jaclang 0.8.3 / jac-cloud 0.2.3 / mtllm 0.3.8#
- Async Walker Support: Introduced comprehensive async walker functionality that brings Python's async/await paradigm to object-spatial programming. Async walkers enable non-blocking spawns during graph traversal, allowing for concurrent execution of multiple walkers and efficient handling of I/O-bound operations.
jaclang 0.8.1 / jac-cloud 0.2.1 / mtllm 0.3.6#
Version 0.8.0#
- Permission API Renaming: The
Jac.restrictandJac.unrestrictinterfaces have been renamed toJac.perm_revokeandJac.perm_grantrespectively, for better clarity on their actions. - Permission API Renaming: The
Jac.restrictandJac.unrestrictinterfaces have been renamed toJac.perm_revokeandJac.perm_grantrespectively, for better clarity on their actions.