Skip to content

v0.9.5

Choose a tag to compare

@sausheong sausheong released this 29 Jun 06:45
· 1 commit to main since this release

Felix v0.9.5

A maintenance release focused on gateway bug fixes, larger test coverage, and codebase cleanup.

Bug fixes

  • Settings save errors are now readable. Failed config saves (invalid JSON or validation errors) returned a malformed JSON body, so the UI showed a generic failure instead of the real reason. Error responses are now properly encoded — you see the actual problem.
  • compaction.messageCap: 0 now disables the cap as documented. It was silently backfilled to the default (200), making the message-count trigger impossible to turn off. Setting it to 0 now correctly leaves only the token threshold active, and the setting survives a save/reload round-trip.
  • The /ui dashboard escapes config values. Agent names or paths containing characters like < no longer break the page (and can't inject markup).
  • The Jobs page connects over the right WebSocket. It previously hardcoded ws://localhost, so it failed on non-loopback binds or behind TLS. It now derives the scheme and host from the page origin (matching the chat UI).

Internal quality

  • Added test coverage to previously-untested correctness-critical code: the compaction manager wiring (0% → 95%) and the agent-side prompt composition and adapters (11% → 73%), plus new gateway handler tests.
  • Extracted the large embedded chat and settings web UIs from their Go source files into standalone HTML assets (served via go:embed). chat.go shrank from ~4,900 to ~30 lines and settings.go from ~3,000 to ~420, with byte-for-byte identical output — removing a class of string-escaping pitfalls and making the frontend editable with normal tooling.

Dependencies

  • Pinned cortex to the tagged v0.4.0 release (same code, replacing a pseudo-version).