Skip to content

Releases: lwakis/purl

Purl v0.3.0

Choose a tag to compare

@github-actions github-actions released this 23 Aug 09:00

Added

  • Model picker: a GET /api/models endpoint returns the provider catalog; the frontend lets you choose a model (or reset to auto).
  • Plan mode: ask for a plan before code (plan: true on generate/iterate).
  • Image attachments: up to 8 images / 5 MB each, sent to the LLM as multimodal content.
  • Element selection: click an element in the preview iframe to iterate on it directly (selected_element).
  • Simplified top bar: the omnibox and settings/help placeholders were removed.

Changed

  • Rate limiting is now a single per-IP limit (RATE_LIMIT_PER_HOUR) instead of two tiers keyed by browser session id (RATE_LIMIT_ANON / RATE_LIMIT_SESSION).

Purl v0.2.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 15:19

Changed

  • Projects are now saved automatically as you work (debounced, like chats in AI assistants); the manual Save button and the Save dialog were removed.
  • Fixed the gray row background in the code panel: the syntax-highlighter override no longer paints every code line gray.
  • POST /api/projects/{id}/versions now accepts code and message in the JSON body instead of URL query parameters (generated HTML can exceed URL length limits).
  • Split llm_service.py into orchestration, mock-mode HTML generation, and provider wire protocols; a single shared httpx.AsyncClient is reused across requests instead of one per request.
  • Prompt templates are cached in memory (TTL 24 h) instead of being re-read from the database on every request.

Removed

  • User accounts, email registration/login, and JWT authentication (the /api/auth endpoints and users table) were removed: Purl is now a fully anonymous, self-hostable tool. Projects are scoped per browser via a client-generated session id.