Skip to content

Releases

v1.1.0

Choose a tag to compare

@michielgerritsen michielgerritsen released this 27 Oct 12:01
be5fcf7

Three new providers, a way to limit the service dropdown to specific providers, and a few hardening fixes.

New

  • Opper, OpenCode Zen and OpenCode Custom (a self-hosted opencode serve) as AI providers, all with live Refresh Models. Opper needs symfony/ai-generic-platform; the OpenCode ones need their mage-os/library-ai-opencode-* package.
  • Consumers can restrict the ConfiguredService dropdown to specific providers with the serviceCodes argument. Require ^1.1 if you use it. See CONSUMING.md.
  • An en_US.csv translation file and a much fuller README.

Before you upgrade

  • symfony/ai-platform and the OpenAI and Anthropic bridges now require ^0.15, so any other bridge you installed has to move to ^0.15 too.
  • Base URL and Endpoint fields must be http:// or https://. A row stored with anything else has to be fixed before the config page saves again.

Security

  • API key fields no longer get the admin's saved login autofilled into them.
  • Decrypted credentials are redacted from stack traces and logs.

Full details in the changelog. Full diff: v1.0.0...v1.1.0

v1.0.0

Choose a tag to compare

@michielgerritsen michielgerritsen released this 08 Oct 18:26
666427e

Changelog

Highlights

  • One admin form for OpenAI, Anthropic, Azure OpenAI, Gemini, DeepSeek, HuggingFace, LM Studio,
    Ollama, OpenRouter and any OpenAI-compatible gateway, with Test Connection and Refresh Models.
  • One client for every provider: chat, streaming, tool calls and reasoning, with typed exceptions.
  • Token usage per module, service and store at Reports > AI Token Usage and on the CLI.
  • ServiceImporterInterface to move another module's saved API key into AI Base.
  • Security hardening: encrypted and masked credentials, no redirects in the client, and a masked
    key is never carried over to a changed endpoint.

Thank you

Thanks everyone for their input: Ryan Hoerr, Gregor Pollak, Jeroen Boersma, Sean van Zuidam, David
Lambauer, Matt MacDougall, Lars de Weert and Jisse Reitsma.

Now go build something cool with it.