Skip to content

Releases: AI-Planning/l2p

v0.4.1

04 Jun 13:23
dd50fd1

Choose a tag to compare

What's Changed

Full Changelog: v0.4.0...v0.4.1

v0.4.0

29 May 18:21
7cf4b3d

Choose a tag to compare

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 new l2p 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 PlanningResult that 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.py VLLM class - deprecated since this was experimental
  • paper_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

18 Feb 05:12

Choose a tag to compare

What's Changed

  • Shifted LLM interface to llm which can be found at l2p/llm/unified.py. Configuration file found in l2p/llm/utils/llm.yaml
  • Maintained OpenAI SDK class in l2p/llm/openai.py. Configuration file found in l2p/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

10 Feb 05:25
539c69d

Choose a tag to compare

What's Changed

  • Fixed setup.py
  • Fixed llm/utils missing folder dependencies

Full Changelog: v0.3.1...v0.3.2

0.3.0

05 Jun 15:35
@haz haz
cd4cb27

Choose a tag to compare

What's Changed

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

14 Apr 02:31
@haz haz
f034f7d

Choose a tag to compare

Fixed version bump.

v0.2.1

14 Apr 02:28
@haz haz
b081299

Choose a tag to compare

What's Changed

Full Changelog: v0.2.0...v0.2.1

0.2.0

02 Mar 05:26
@haz haz
2f9347e

Choose a tag to compare

What's Changed

Full Changelog: v0.1.8...v0.2.0

0.1.8

17 Jan 01:19
@haz haz

Choose a tag to compare

Fixing the docs for l2p

0.1.7

17 Jan 01:15
@haz haz

Choose a tag to compare

Shifting lib name to l2p