Skip to content

HTN Planner 2.1.0

Choose a tag to compare

@urosidoki urosidoki released this 01 Oct 16:59
· 10 commits to main since this release

This release adds runtime list expressions, clearer callterm diagnostics, a domain
language guide, and smaller generated C through implementation sharing, reachability
analysis and optional instrumentation.

Highlights

  • Runtime lists: use bound variables, arithmetic, callterms and nested lists as
    owned values in callterm arguments, assignments, facts, axioms and tasks, including
    deferred arguments.
  • Clearer condition errors: a standalone callterm must return a boolean.
    Non-boolean results report NonBooleanConditionResult through the configured
    error policy; boolean false remains an ordinary condition failure.
  • Smaller generated source: qualified aliases share implementations and unused
    code is removed while retaining every public top-level method and deferred entry.
  • Translator controls: --instrumentation=full|none selects optional debugger
    and profiling emission; --code-stats reports generated source size by category.
  • Language documentation: a complete tutorial and reference is included in the
    repository and SDK.

In the measured Wanderer workload and its include, sharing and reachability reduced
full output from 22,055 to 9,859 lines and none output from 13,963 to 6,239 lines
(about 55%). These are source-size results for one workload, not a runtime speedup.

Compatibility

The C runtime ABI, RuntimeBridge ABI and HTNAtom layout are unchanged from 2.0.4.
Use matching CRT/instrumentation variants. Regenerate and recompile domains to use
the new features and reductions. Rebuild clients of the extended C++ compiler APIs
and update exhaustive error-reason switches for NonBooleanConditionResult.

full remains the default. none omits generated debugger/profiling output while
retaining validation, ownership, runtime errors and source locations. It does not
strip author-written debug callterms.

Validation and platform

  • Windows x64 / Visual Studio 2022, MSVC v143.
  • Complete source suites: 335 Debug, 326 Profile and 326 Release tests passed.
  • Eight SDK variants, 24 external consumer executions and eight object/export checks.
  • Allocation and hot reload pipeline self-tests passed; invalid CRT/variant selections rejected.
  • The client reported successful engine integration smoke testing.
  • Final documentation packaging preserved the validated binaries, headers and examples.

Native Linux validation and comparative performance profiling remain pending.
Hot reload requires client-owned loading, lifetime management and synchronization.
The project remains under active development.

Download

  • HTNSDK-2.1.0-windows-x86_64.zip
  • HTNSDK-2.1.0-windows-x86_64.zip.sha256

SHA-256:

8ab1f66e957404e5e980aa0969a371584171f3981c2b3ac3ec83f70e6bf1d6ea

Full release notes and migration
| Domain language guide