Changelog
All notable changes will be documented here. The format is based on Keep a Changelog. Lilo adheres to Semantic Versioning.
Unreleased
v0.5.1 - 2025-11-05
Added
- New spec export format: RTAMT.
- New documentation site: https://docs.imiron.io/.
- You can now create animation gif animations.
- Projects are setup with a
lilo.tomlfile, see Project Configuration. - Registration of system falsifiers in
lilo.toml. - VSCode spec status now lists analysis.
- Spec analysis in VSCode.
- Run falsification engines from the spec analysis pane.
Changed
- Better type errors for conflicting record construction/update.
- LLM explanations are localised according to user's VSCode settings.
- Unbound variable errors now include a list of in-scope variables with similar spellings.
- System globals (
signals andparams) can have attributes, including docstrings. - The command JSON format has changed significantly, as is expected to be stable (backwards compatible) going forwards. In particular this uses system names, not filenames.
- One can specify a param as
null(JSON) to remove the default param values. - LLM spec generation will fail for under-specified specifications.
- CLI interface is updated to work with modules.
v0.5.0 - 2025-10-14
Added
- Default
params:param foo: Float = 42sets42as the default value of parameterfoo. - Timeout attributes:
will set the timeout to 3 seconds for analysis tasks on spec#[timeout = 3] spec foo = ...foo. - Warning for mismatched server/client versions.
- Spec stubs:
creates a "spec stub" (an unimplemented spec). There is also a code action to suggest an implementation using the docstring, using AI.spec no_overheat - Retry analysis with longer timeout: if an analysis times out, there is a code action to retry with a longer timeout.
- Record features:
- Record update (including deep)
- Field punning.
- Path construction and path update.
- Warnings for unused
defs,signals andparams. - Code hierarchy in VSCode.
- Modules: User can create modules (containing only
defandtypedeclarations), and import them.
Changed
- VSCode code lenses resolve one at a time, which results in a much more responsive experience.