Releases: AI-Planning/l2p
v0.4.1
What's Changed
- Removal of some CLI commands + updated README.md by @MarcusTantakoun in #31
Full Changelog: v0.4.0...v0.4.1
v0.4.0
What's Changed
New Features
CLI Feature
New addition to L2P. Allows users and agents to interact with the library via CLI easily.
- CLI for user use:
l2p init,l2p config,l2p models,l2p chat,l2p newl2p generate- all interactive use - CLI for agentic use:
l2p set,l2p build,l2p validate,l2p plan,l2p schema- all stateless, pipeable JSON commands designed for LLM agent consumption
PDDL Types: Pydantic BaseModel
- Migrated from data classes to Pydantic library BaseModel classes (JSON formatting). This removes the labour of regex parsing and instead the LLM declares strict JSON objects
- Incorporated PDDL types: 1.2, 2.1, 2.2, 3.0 and PDDL+ support for both domain and problem files
- Incorporated built-in class examples for LLM to follow with ease
Builder Classes
- Domain and Problem builders: Migrated from 20+ formalization functions into a single
formalize_component()function that passes in the specific Pydantic type to generate. Users can now generate multiple types in a single query with the LLM. - New prompt templates: migrated from .txt files to markdown .md files. Changed code block extraction from markdown ticks to xml tags. This is a critical improvement to LLM formatting mistakes.
- Prompt builder: structured Markdown prompt generation with
_example()classmethods on every Pydantic model - 20+ prompt templates for each class extraction - following standardized template (that is also applied in PromptBuilder)
- Custom templates: support for multi-component prompt templates and user-defined template directories
- Feedback builder: completely refactored class that incorporates different LLM feedback techniques (i.e, diagnose, evaluate, reflect, revise, select, with plan evaluation and diagnosis
Syntax Validator
Migrated from built-in validators for formalization extraction to decoupled classes / functions (apply post-generation)
- Syntax validator engine: DomainValidator / ProblemValidator with 12+ decorator-based rules: naming, type hierarchy, cycles, parameter types, arity, variable scoping, symbol references
- Parsing and formatting has changed to accommodate new Pydantic model types
Planner Backend: planner_builder.py
Refactored Planner class - now is an abstract class to incorporate other planners.
- Unified Planning backend support - UnifiedPlanning planner class alongside FastDownward
- New class
PlanningResultthat includes all components of the generated plan
Model Config
Refactored format of .yaml files for LLM configurations
- Added in current latest LLMs available
- Fixed bug between UnifiedLLM and OPENAI classes
Removed
vllm.pyVLLM class - deprecated since this was experimentalpaper_reconstructions- migrating folder to another repo for ease of updates
Fixed
- Python=3.10.0 compatibility error for f-string parsing fixed
Full Changelog: v0.3.3...v0.4.0
0.3.3
What's Changed
- Shifted LLM interface to llm which can be found at
l2p/llm/unified.py. Configuration file found inl2p/llm/utils/llm.yaml - Maintained OpenAI SDK class in
l2p/llm/openai.py. Configuration file found inl2p/llm/utils/openaiSDK.yaml - Updated newest Gemini 3 and GPT-5 models to config files
Full Changelog: v0.3.2...v0.3.3
0.3.2
What's Changed
- Minor Bug Fixes + parse cleanup by @MarcusTantakoun in #17
- Fixed setup.py
- Fixed llm/utils missing folder dependencies
Full Changelog: v0.3.1...v0.3.2
0.3.0
What's Changed
- Major version update by @MarcusTantakoun in #14
This PR introduces major refactors and feature additions across the L2P library. Renamed (and added new) extract_* to formalize_* functions in DomainBuilder and TaskBuilder for generating PDDL components with relaxed input requirements and enhanced syntax validation. FeedbackBuilder now provides string-based feedback without auto-regeneration and enforces a JUDGMENT header for LLM outputs. Utility functions are modularized, and the syntax validator is fully refactored to use a function-name-based interface. The LLM module adopts YAML-based configuration and removes llm_builder.py. Test cases are completed, the paper recreation code is updated, and documentation is moved to a separate repo for GitHub Pages.
Full Changelog: v0.2.2...v0.3.0
v0.2.2
v0.2.1
What's Changed
- fixed huggingface initialization model bug (line 265 of llm_builder.py file) by @MarcusTantakoun in #10
- Fixed type absence case by @MarcusTantakoun in #12
Full Changelog: v0.2.0...v0.2.1
0.2.0
What's Changed
- Paper Reconstruction + updated papers by @MarcusTantakoun in #9
Full Changelog: v0.1.8...v0.2.0