From 1318ce0b347958975fd5fc4fcc6e6294eb809675 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 23 May 2026 01:53:47 +0000 Subject: [PATCH] =?UTF-8?q?bump:=20version=200.3.0=20=E2=86=92=200.4.0=20[?= =?UTF-8?q?skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++++ Cargo.lock | 2 +- Cargo.toml | 2 +- 3 files changed, 101 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a695572..a3ef807 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,102 @@ +## v0.4.0 (2026-05-23) + +### Feat + +- LLM node failures propgate up +- Added .install remote tab completions to the REPL +- feature complete install remote with category selection +- Support to interactively add secrets to Loki that are missing from MCP configs when merging +- Added MCP config merging support for remote asset installations +- install remote now writes files to disk +- Created basic install_remote functions +- Created a more comprehensive and immediately useful default config for first runs +- Created an example graph-based agent called deep-research +- Improved coder agent that is now a graph-based agent +- Removed indicatif spinners. The UX just won't stop clobbering for parallel graph nodes +- Added agent variables support for graph agents and improved script executor to use the same environment variables as normal agent tool calling for further flexibility +- Improved UX with colored spinners for parallel graph agents and no clobbering outputs for sub-agents +- created new graph-based deep-research agent +- improved UX for parallel graph execution +- added branch progress tracker for better visualization of parallel graph super-steps +- Removed the jira-helper agent and replaced it with the atlassian role +- created the RenderMode enum to suppress stdout streaming during parallel graph super-steps +- Full support for map node types +- implemented the frontier-based scheduling for the graph executor with simplified state management (gotta love .clone) +- validation support for parallel graph execution; restricted map nodes to only run for nodes without next targets and not supporting chained map nodes +- created the staging area for state merges per super-step and created the built-in reducers (and their application) for the state merge phase of a super step +- scaffolding work for fan-out nodes for parallel branch execution support and stubbed out Map node types +- Loki can now update itself via .update and --update commands +- added a .edit command for editing the MCP configuration file +- Created a new .install command to install bundled assets on-demand +- migrated llm node validation to graph loading time instead of graph runtime +- ripped out user input timeout scaffolding for approval and input node types; implementation can't be done cleanly +- added additional support for all RAG-configuration fields in RAG nodes +- initial support for RAG nodes in the graph execution system +- implemented structured logging for graph execution +- merged normal agent config and graph agent configs into one file (either/or) +- added structured-output extraction for llm and agent nodes +- created full llm node runtime implementation +- scaffolded together the initial llm node type and its executor +- wired together graph execution and agent graph dispatch +- implemented support for the graph executor +- created the approval node executor and the input node executor for user interaction +- Added initial support for native Loki agent nodes in the graph-based agent system +- Added direct script invocation support for graph-based agents +- Added graph validation +- Implemented state management for agent graphs +- initial agent graph scaffolding +- add auto-continue support to all contexts +- dynamic tab completions now show the sessions for a given agent instead of only listing global sessions +- legacy SSE support for MCP server configurations +- support http/sse transport types for MCP server configurations so it fully supports claude desktop-style MCP configs +- 99% complete migration to new state structs to get away from God-Config struct; i.e. AppConfig, AppState, and RequestContext +- Automatic runtime customization using shebangs +- Created a demo TypeScript tool and a get_current_weather function in TypeScript +- Updated the Python demo tool to show all possible parameter types and variations +- Added TypeScript tool support using the refactored common ScriptedLanguage trait + +### Fix + +- Generified the functions usage of script detection for an executable bit on unix systems +- merge required claude code system prompt into instructions +- updated argc argument passing in run-tool and run-agent scripts +- Added additional graph validation for parallel reads and writes with dependencies between nodes states +- bug in next_single method and improved outcome handling for LLM node execution +- inline RAG bug when globbing files by extension without subdirectory globbing +- update the estimate_token_length function to use the standard word count method +- removed unnecessary regenerate logic for sessions and use the same logic for all contexts; prevents a panic on empty message list +- error when users try to start a session on a graph agent +- added on_other field for approval nodes so users can specify an alternative free-text target when none of the options match what they want +- accidentally added back in full agent tools on LLM nodes +- Improve the coder agent's usage of tools +- make the agent__collect escalation-aware so it doesn't freeze on sub-agent escalations +- check for an existing session before starting up MCP servers when switching to a role +- do not switch to agent if a session is active. +- Do not append todo instructions when function calling is disabled +- a bug in the dynamic completions because the crate name is loki-ai but the binary is named loki +- bug found by copilot that would create a lock on the PollSender for sse-based MCP servers +- Accidental shadow of temp_file function for Windows function calling +- upgraded to newer rmcp version to get native-tls support +- RagCache was not being used for agent and sub-agent instantiation +- TypeScript function args were being passed as objects rather than direct parameters +- Added in forgotten wrapper scripts for TypeScript tools +- don't shadow variables in binary path handling for Windows +- Tool call improvements for Windows systems + +### Refactor + +- migrated llm nodes to use Roles to simplify instructions handling and to function like inline roles +- migrated the next_node and apply_state_updates logic for LLM nodes into the LlmExecutor +- fully complete state re-architecting +- Fully ripped out the god Config struct +- Deprecated old Config struct initialization logic +- migrate functions and MCP servers to AppConfig +- Migrate the vault/bare_init logic +- created a single install_builtins free function to remove from Config::init +- partial migration to init in AppConfig +- Extracted common Python parser logic into a common.rs module +- python tools now use tree-sitter queries instead of AST + ## v0.3.0 (2026-04-02) ### Feat diff --git a/Cargo.lock b/Cargo.lock index 0db1cee..ddc21ad 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3317,7 +3317,7 @@ dependencies = [ [[package]] name = "loki-ai" -version = "0.3.0" +version = "0.4.0" dependencies = [ "ansi_colours", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index 132d44f..7a812c5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "loki-ai" -version = "0.3.0" +version = "0.4.0" edition = "2024" authors = ["Alex Clarke "] description = "An all-in-one, batteries included LLM CLI Tool"