Skip to content

Releases: itsryanlenk/lenkraster

LenkRaster 0.1.1

Choose a tag to compare

@itsryanlenk itsryanlenk released this 30 Aug 06:04
6a000f9

LenkRaster 0.1.1 adds bounded output-parent creation for Aseprite exports.

Changed

  • An output such as �xports/hero may create the one missing immediate parent directory (�xports) when its existing parent resolves inside the trusted root.
  • Deeper missing directory trees are still rejected.
  • Existing symlinked parents that escape the trusted root are still rejected.
  • The final output directory remains create-only; existing destinations are never replaced.
  • Release identity checks now keep the package, Python API, MCP server, wheel smoke, and changelog versions aligned.

Upgrade

console python -m pip install --upgrade lenkraster

Artwork reports remain advisory. LenkRaster does not approve artwork or replace project evidence and review gates.

Changes: #3
Release preparation: #4

LenkRaster 0.1.0

Choose a tag to compare

@itsryanlenk itsryanlenk released this 30 Aug 04:51
7b712c5

LenkRaster 0.1.0

LenkRaster is a deterministic, bounded toolkit for inspecting and preparing pixel art.
This is its first public release.

Highlights

  • Explainable pixel-craft critique and retry hints.
  • Fixed-palette quantization, OKLCH material ramps, dithering, and contrast reports.
  • Rendered-pixel animation-cycle QA with bounded frame and comparison work.
  • An optional, real Aseprite CLI bridge for validated exports and cycle checks.
  • A command-line interface, Python API, and trusted-local stdio MCP server with seven focused tools.
  • Four original, MIT-licensed LenkRaster palettes plus bounded user-owned palette support.

Safety model

  • No public network service, API key, model download, or persistent daemon.
  • Explicit trusted-root containment with traversal and symlink escapes rejected.
  • Bounded PNG, JSON, frame, pixel, and comparison work.
  • Fixed path-free public errors and create-only transformed outputs.
  • Advisory reports: LenkRaster does not approve artwork or replace human review.

The optional Aseprite bridge uses a separately installed and licensed copy of Aseprite.
The executable path is operator-controlled, can be SHA-256 pinned, and is invoked with a
fixed argument structure and shell=False. Native Aseprite is not an operating-system
sandbox; process only documents you trust or use an OS sandbox.

Install

python -m pip install lenkraster==0.1.0

Entry points are lenkraster and lenkraster-mcp. See the README for client
configuration, examples, and the maintained security boundary.

Release evidence

The release workflow performs a hash-locked verification install, pip check,
pip-audit, Bandit, the full test suite, source and distribution disclosure audits,
legal-content checks, fresh wheel/sdist builds, and artifact hashing before trusted OIDC
publication with attestations. Hosted CI also covers Python 3.10 through 3.14 on Ubuntu,
Windows, and macOS, with full-history secret scanning and CodeQL enabled.

Post-candidate hardening included atomic create-only Aseprite directory publication and
rejection of option-like tag and layer selections.

Full documentation: https://github.com/itsryanlenk/lenkraster#readme