Skip to content

Releases: RubikSQL/AgentHeaven

v0.9.2

23 Dec 12:30
f601c1f

Choose a tag to compare

v0.9.2 Pre-release
Pre-release

v0.9.2 (2025-12-23)

  • Feature: A preliminary version for AgentSpec is added (temporarily) for fast prototyping of agents with tools, to be standardized in the following releases

  • Feature: LLM now supports structured for structured outputs (requires backend to support streaming for now) and delta_messages. Meanwhile, messages is now compatible with streaming as well

  • Feature: LLM inference with tool use now supports kwargs repair_tool_calls=True (default behavior), which automatically fixes malformed tool call arguments based on the provided ToolSpecs' arguments

  • Feature: auto* now supports ExperienceUKFT, KLStore, KLEngine, and KLBase as inputs, with new search_args, ExampleType, and ExampleSource interfaces

  • Feature: ahvn config CLI now supports --cwd/-c to specify which working directory to use for local config operations

  • Feature: ahvn config show CLI now supports adding optional positional argument to specify a sub-key to show only that part of the config

  • Feature: BaseUKF now supports set, unset, setdef besides get

  • Feature: BaseUKF.clone now supports upd_<field> for updating iterable fields instead of overwriting

  • Enhancement: Database now supports pool args for robsut connection management

  • Feature: DAACKLEngine now supports custom file (for storing metadata and synonyms) encoding via encoding parameter

  • Feature: HEAVEN_KB.get_prompt now supports specifying additional search facets via **kwargs to disambiguate prompts with the same name

  • Feature: delta_messages and gather_stream utilities added to facilitate streaming LLM queries

  • Feature: ahvn pj <path> CLI command added to view the hpj path

  • Feature: ORMUKFAdaptor now supports main_table_name(), dims_table_name(dim), and table_names() methods

  • Feature: config now adds llm.litellm_debug option to control LiteLLM debug mode separately (only effective when core.debug is also True)

  • Deprecate: raise_mismatch with mode='ignore' now returns the original value directly, while mode='match' returns the suggestion

  • Deprecate: LLMChunk is no longer exposed (renamed to _LLMChunk) as it is an internal state for implementing LLM.stream

  • Deprecate: renamed Cache.remove(func, **kwargs) -> Cache.unset(func, **kwargs) to correspond to Cache.set, with the new Cache.remove(entry) corresponding to Cache.add

  • Deprecate: auto* prompt composers' defaults now come before user-provided descriptions/instructions instead of after

  • Deprecate: changed dset/dunset behavior when key_path=None

  • Fix: default encoding now correctly reads from core.encoding in HEAVEN_CM instead of encoding

  • Fix: fixed database adaptor index creation when some fields are aliased, expecting tremendous speedup when using FacetKLEngine on large datasets

  • Fix: milvus vdb alias connection support

  • Fix: improved system prompts translation

  • Fix: system prompts now correctly handle input_schema and output_schema

  • Fix: fixed copy_dir errors when mode='skip'

  • Fix: parse_md now correctly handles incomplete streaming and nested markdown structures

v0.9.2.dev1

09 Dec 10:48
fc9ab61

Choose a tag to compare

v0.9.2.dev1 Pre-release
Pre-release

v0.9.2.dev1 (2025-12-09)

  • Feature: new ScanKLEngine, which brute-force scans all entries in the KLStore for search, useful for small datasets and testing

  • Feature: HEAVEN_KB which stores built-in ahvn ukfs, as a first attempt towards AgentHeaven's self-containment

  • Feature: dmerge (used in ConfigManager) now supports overwriting nested dictionaries with the special key _OVERWRITE_

  • Feature: Progress bar utils is added to AgentHeaven utils for a unified callback progress reporting system

  • Feature: system/prompt.jinja now supports toolspecs to render tool specifications in prompts with instruction on text-based function calling

  • Feature: autocode/autofunc/autotask prompts are converted to PromptUKFT, which now supports format and bind and have altered composers

  • Feature: BaseUKF now supports get to retrieve nested values from content_resources using dot-separated key paths

  • Fix: LLM tool calling now properly parses index (missing for backends like vllm) for merging tool call deltas

  • Feature: ToolSpec now supports to_function to convert a ToolSpec back to a callable function with proper signature

  • Feature: funcwrap utility added to wrap a function with the signature and metadata of another function

  • Feature: KLBase now supports default_engine which is used when no engine is specified in search

  • Deprecate: KLBase now interprets CRUD to storages and engines separately; if both are None, all storages and engines are used; if one is None, it is set to empty list if the other is non-empty, otherwise all.

  • Deprecate: klengine.batch_size -> klengine.sync_batch_size for sync operations to clarify usage

  • Fix: fixed auto* creating a different function signature than expected when bind is used, causing Cache.memoize to fail

  • Fix: system/prompt.jinja now guarantees two blank lines between sections, even when some sections are omitted

  • Fix: updated default LLM presets

  • Fix: ahvn chat and ahvn session now default to appropriate presets (chat) if none specified

v0.9.2.dev0

02 Dec 07:33
d3acde7

Choose a tag to compare

v0.9.2.dev0 Pre-release
Pre-release

v0.9.2.dev0 (2025-12-02)

  • Feature: utils.exts.auto* functions now use a dynamic examples list, enabling cache-based imitation.

  • Feature: KLEngine now stores search args and returns in r['kl'].metadata['search'] for each search result

  • Feature: config copy now supports copying all configs with user confirmation by passing no keyword arguments

  • Deprecate: ToolSpec.jsonschema disabled strict mode to be compatible with optional parameters

  • Fix: BaseKLEngine.search now respects the _search defaults when include=None

  • Fix: DAACKLEngine now defaults to return ["id", "kl", "strs"], and correctly parses strs

  • Fix: VectorKLEngine with custom k_encoder now properly skips the new DummyUKFT during encoding

  • Fix: VectorKLEngine and MongoKLEngine now has safer batch encode/embed methods that handle empty lists

v0.9.1.dev1

26 Nov 06:29
0ca990d

Choose a tag to compare

v0.9.1.dev1 Pre-release
Pre-release

v0.9.1.dev1 (2025-11-26)

  • Feature: LLM now supports tool-based interactions and LLM.tooluse which is compatible with ToolSpec

  • Feature: ToolSpec now supports decorating functions like @ToolSpec(name="func")

  • Deprecate: LLM's n parameter for batch inference is temporarily removed

  • Optimize: Refactored dependency management with lazy imports

  • Feature: KLStore now supports batch_get, with DatabaseKLStore and MongoKLStore having efficient implementations

  • Feature: FacetKLEngine and MongoKLEngine now supports orderby parameter in search methods

  • Feature: ConfigManager now supports config copy and inheritance by other packages

  • Feature: ahvn session bug fixes, safeguards, defaults and user experience improvements

  • Feature: UKF*TextType now supports max_length()

  • Optimize: Better inheritance behavior: ukf tags & type default

  • Optimize: BaseUKF defaults to empty content_composers and triggers dict to reduce memory usage

  • Fix: milvus vdb store collection was not fully loaded before dummy removal

  • Fix: babel init now creates an empty _locales.jinja file if not existing

  • Fix: babel translate now correctly handles multi-line strings in jinja templates

v0.9.1.dev0

21 Nov 06:45
0ca990d

Choose a tag to compare

v0.9.1.dev0 Pre-release
Pre-release

v0.9.1.dev0 (2025-11-21)

  • Initial release