v0.6.6

tashfeenahmed/freellmapiv0.6.6Jul 30, 2026by tashfeenahmed

AI Summary

Fixes Docker `:latest` tag behavior and hardens the admin surface with CSP and rate limiting.

Key Highlights

  • Docker `:latest` now strictly follows release tags.
  • Stricter CSP via Helmet.
  • Per-IP rate limiting on `/api` endpoint.
  • Exporting keys now requires dashboard password verification.

New Features

  • Docker tag consistency
  • CSP hardening
  • Per-IP rate limiting
  • Password-protected key export

Full Release Notes

## Docker `:latest` now follows releases

If you run FreeLLMAPI in Docker, this is the one to read. `:latest` was being retagged on every push to `main`, so pulling it gave you unreleased code instead of the newest release. It now follows release tags only (#679, reported in discussion #533).

From this release onward, `:latest` and `:v0.6.6` are the same image:

```bash
docker pull ghcr.io/tashfeenahmed/freellmapi:latest
```

Main builds keep their own `main` and `sha-<sha>` tags, so if you were deliberately tracking the development stream, use those.

## Admin surface hardening

Thanks to @s-uryansh for this work (#498):

- Stricter CSP via Helmet.
- Per-IP rate limiting on `/api`, tunable with `ADMIN_RATE_LIMIT_RPM` (`0` disables). Key export gets its own tighter bucket, since it is the one admin endpoint that verifies a password.
- Exporting your API keys now asks for your dashboard password. It is asked as a second step, after you choose what to export, rather than up front.
- `X-Forwarded-For` is ignored unless `trust proxy` is enabled.
- Production 5xx responses are sanitised, with full detail still going to the server log.

## Translations

- zh-CN quality pass (#669).
- zh-TW rewritten, thanks to @yfdyh000 (#670).

## CLI on npm

The CLI now publishes as [`freellmapi`](https://www.npmjs.com/package/freellmapi) (#672):

```bash
npx freellmapi setup-claude
```

## Known issue

The version string the app reports internally (for example on `/livez`) still drifts from the release version. Confirm which image you are running by digest rather than by that number. A proper fix is in progress.

## Install

Desktop installers are attached below. The macOS DMG is unsigned, so on first launch use right-click then Open rather than double-clicking.

**Full changelog**: https://github.com/tashfeenahmed/freellmapi/compare/v0.6.5...v0.6.6

---
⭐ Like the free router? [Go Premium](https://freellmapi.co/?utm_source=github&utm_medium=release&utm_campaign=premium&utm_content=v0.6.6#pricing) — the live signed catalog, $19/yr, cancel anytime.