Releases: ENTERPILOT/GoModel
Releases · ENTERPILOT/GoModel
v0.1.14
v0.1.13
Changelog
The features introduced in this massive release:
- multi API key support
- workflows
- caching (for streaming and non streaming
- semantic caching (experimental)
- support for oracle AI-model provider (experimental)
- introduced
user pathconcept (most of the features should be user path scoped in the future) - configurable timezone in dashboard
Important fix:
- [UI] timezone defaults to browser-set one
Features
- b9e4fe9 feat(auth): add API key path scoping and workflow auth node styling (#197)
- 255d775 feat(auth): add managed API key support (#190)
- 180fc9d feat(dashboard): add dashboard functions to the exectution plan/workflow feature (#183)
- ce6b390 feat(dashboard): add managed API keys page (#195)
- f9fb8e3 feat(executionplans): implement policy-resolved execution plans (#180)
- 9aa8aae feat(fallback): add model fallback routing (#179)
- 142ba20 feat(modeldata): support model-list aliases in metadata lookup (#175)
- a617ba1 feat(provider): add oracle provider (#170)
- bd2c192 feat(tracking): add hierarchical user path scoping (#189)
- ca63f7e feat(usage): add cache analytics support (#196)
- 64320e7 feat(workflows): expose failover controls in execution plans (#186)
- 602e190 feat: implement semantic caching (#162)
Bug Fixes
- 3740a6c fix(admin): honor user timezones in dashboard (#185)
- 0219925 fix(core): preserve slash model ids for explicit providers (#176)
- 2e67888 fix(core): remove custom JSON field scanner (#201)
- 5d6286f fix(deps): remove vulnerable Docker SDK path from root module (#188)
- 6b4608e fix(fallback): reject null rules and cover responses guards (#184)
- a478572 fix(mongodb): run as replica set in docker-compose to enable transactions (#181)
- ade4738 fix(providers): reduce metadata enrichment log noise (#187)
- 0ebac81 fix(release): adapt gpt-5 chat params and batch aliases (#199)
- d5728e2 fix(responsecache): cache streaming responses (#200)
- cc42d4a fix(responsecache): split stream cache entries and validate SSE (#202)
- 48f2b43 fix(security): fixed the possible overflow related issue (#167)
Performance
v0.1.12
v0.1.11
v0.1.10
What's Changed
Features
- feat: add model aliases feature by @SantiagoDePolonia in #147
Full Changelog: v0.1.9...v0.1.10
Full Changelog: v0.1.9...v0.1.10
v0.1.9
This release introduces:
- a pass-through API
/p/{provider}/{endpoint}for OpenAI and Anthropic - many bug fixes, especially related to dropped fields
- architecture refactoring — introducing IngressFrame and SemanticEnvelope (see ADR 0002 in
docs/) - documentation updates
The project is currently in the alpha stage, so we cannot guarantee backward compatibility.
Detailed (and slightly messy) changelog
- : Add "Who We Are" page to docs about section (#118) (@SantiagoDePolonia)
- : Document OpenAI tool-call finish reason behavior (#124) (@SantiagoDePolonia)
- : Fix responses adapter tool schema normalization (#125) (@SantiagoDePolonia)
- : Fix: SSE flushing and responses done markers (#117) (@SantiagoDePolonia)
- : Fix: anthropic format (#122) (@SantiagoDePolonia)
- : Fix: function calling (#121) (@SantiagoDePolonia)
- : Fix: half-open circuit breaker retry handling (#120) (@SantiagoDePolonia)
- : Fix: multimodal chat content handling (#119) (@SantiagoDePolonia)
- : Refactor: architecture refactoring - ADR 2 implemented (#133) (@SantiagoDePolonia)
- : Update config/config.go (@giorgi-pro)
- : Update docs/advanced/configuration.mdx (@giorgi-pro)
- : Update internal/app/app.go (@giorgi-pro)
- : Update internal/cache/modelcache/redis.go (@giorgi-pro)
- : Update internal/providers/init.go (@giorgi-pro)
- : Update internal/responsecache/simple.go (@giorgi-pro)
- : Update internal/server/http.go (@giorgi-pro)
- : Upgrade Echo to v5 (#126) (@SantiagoDePolonia)
- : chore(deps): bump docker/build-push-action from 6 to 7 (#131) (@dependabot[bot])
- : chore(deps): bump docker/login-action from 3 to 4 (#128) (@dependabot[bot])
- : chore(deps): bump docker/metadata-action from 5 to 6 (#130) (@dependabot[bot])
- : chore(deps): bump docker/setup-buildx-action from 3 to 4 (#129) (@dependabot[bot])
- : chore(deps): bump docker/setup-qemu-action from 3 to 4 (#127) (@dependabot[bot])
- : chore(gom-48): accept separate redis configs (@giorgi-pro)
- : chore(gom-48): add comments (@giorgi-pro)
- : chore(gom-48): add docs (@giorgi-pro)
- : chore(gom-48): add logs (@giorgi-pro)
- : chore(gom-48): avoid always closing underlying store (@giorgi-pro)
- : chore(gom-48): clean up docs (@giorgi-pro)
- : chore(gom-48): clean up env (@giorgi-pro)
- : docs(gom-48): add Go doc comments to RedisModelCacheConfig and its fields (@giorgi-pro)
- : docs(gom-48): clarify (@giorgi-pro)
- : feat(dashboard): align chat bubbles to request/response sides and add… (#135) (@SantiagoDePolonia)
- : feat(gom-48): add simple caching (@giorgi-pro)
- : fix(gom-48): add REDIS_TTL_MODELS and REDIS_TTL_RESPONSES to Helm chart (@giorgi-pro)
- : fix(gom-48): build (@giorgi-pro)
- : fix(gom-48): clean up (@giorgi-pro)
- : fix(gom-48): close Redis client on Ping failure in NewRedisStore (@giorgi-pro)
- : fix(gom-48): default config for model caching (@giorgi-pro)
- : fix(gom-48): fix Server.Shutdown order and propagate cache close error (@giorgi-pro)
- : fix(gom-48): fix response cache correctness and shutdown safety (@giorgi-pro)
- : fix(gom-48): honour REDIS_KEY_RESPONSES as response cache key prefix (@giorgi-pro)
- : fix(gom-48): nil pointer and default local pre-population in config (@giorgi-pro)
- : fix(gom-48): reject nil ModelCache in redisModelCache.Set (@giorgi-pro)
- : fix(gom-48): return body read error instead of forwarding truncated request (@giorgi-pro)
- : fix(gom-48): track background cache writes before closing the store (@giorgi-pro)
- : fix(gom-48): update Helm schema for split Redis cache fields (@giorgi-pro)
- : fix: accept structured annotations in responses output (#136) (@SantiagoDePolonia)
- : fix: fixed a bunch of bugs and agents Markdown files updated (#134) (@SantiagoDePolonia)
- : fix: use shared logger for Echo startup logs (@SantiagoDePolonia)
- : providers: preserve provider instance identity in registry cache (#113) (@SantiagoDePolonia)
- : refactor(gom-48): separate concerns (@giorgi-pro)
- : server: support provider/model selectors and optional provider field (#114) (@SantiagoDePolonia)
- : test(gom-48): assert default key and TTL in TestRedisModelCache_DefaultKeyAndTTL (@giorgi-pro)
- : test(gom-48): use spy store to precisely verify Close ownership semantics (@giorgi-pro)
Full Changelog: v0.1.8...v0.1.9
v0.1.8
Changelog
- : Feature: audit logs sidemenu (#110) (@SantiagoDePolonia)
- : Update Makefile (@giorgi-pro)
- : Update Makefile (@giorgi-pro)
- : Update README.md (@giorgi-pro)
- : Update internal/providers/gemini/gemini.go (@giorgi-pro)
- : Update internal/server/handlers.go (@giorgi-pro)
- : Update internal/server/model_validation.go (@giorgi-pro)
- : Update internal/usage/extractor.go (@giorgi-pro)
- : chore(gom-47): add error handling (@giorgi-pro)
- : chore(gom-47): clean up (@giorgi-pro)
- : chore(gom-47): clean up commands (@giorgi-pro)
- : chore(gom-47): restore comments (@giorgi-pro)
- : chore(gom-47): update linter (@giorgi-pro)
- : docs(gom-47): add comments to types (@giorgi-pro)
- : docs(gom-47): add embeddings usage (@giorgi-pro)
- : docs(gom-47): clarify support (@giorgi-pro)
- : docs(gom-47): clean up (@giorgi-pro)
- : docs(gom-47): clean up instructions (@giorgi-pro)
- : docs(gom-47): update readme (@giorgi-pro)
- : feat(gom-47): implement embeddings (@giorgi-pro)
- : feat(gom-47): include gateway error in audit logs (@giorgi-pro)
- : feat(gom-47): include gateway error in audit logs (@giorgi-pro)
- : feat(gom-47): re-inject request id into context. (@giorgi-pro)
- : feat: add OpenAI-compatible batch API with usage and audit logging (#108) (@SantiagoDePolonia)
- : fix(gom-47): add fallback to request model (@giorgi-pro)
- : fix(gom-47): clean up (@giorgi-pro)
- : fix(gom-47): normalize url (@giorgi-pro)
- : fix(gom-47): use raw message (@giorgi-pro)
- : fix: resolve goreleaser v2.6 archives.format deprecation (#103) (@SantiagoDePolonia)
- : refactor(gom-47): get rid of provider wrapper (@giorgi-pro)
- : refactor(gom-47): initialize client once (@giorgi-pro)
- : refactor(gom-47): reuse variable (@giorgi-pro)
- : refactor(gom-47): use middleware for validation (@giorgi-pro)
- : refactor(gom-47): use wrapper for setting provider name (@giorgi-pro)
- : test(gom-47): add regression with usage (@giorgi-pro)
Full Changelog: v0.1.7...v0.1.8
v0.1.7
Changelog
- cf5e6ff Fix: remove close(l.buffer) to prevent send-on-closed-channel panic i… (#92)
- e034f66 Fix: usage is not tracked for streamed responses (#90)
- 4d8b03b chore(deps): bump goreleaser/goreleaser-action from 6 to 7 (#88)
- fcad5b3 fix: prevent SQLITE_BUSY errors from concurrent flush loops (#102)
- b26abbe fix: prevent bytes.Buffer capacity retention in streaming usage wrapper (#95)
- 9c17324 fix: prevent unbounded memory allocation in audit log middleware (#94)
- 8dcaa58 perf: cache sorted model lists in registry to avoid per-request sorting (#93)
v0.1.6
Changelog
- e3a5ffa Merge pull request #83 from ENTERPILOT/me/gom-33-anthropic-reasoning-error-when-i-request-an-opus-model
- 0cb1e10 Merge pull request #84 from ENTERPILOT/me/gom-25-add-a-swagger-like-something-for-the-api
- e65dfb5 Merge remote-tracking branch 'origin/me/gom-25-add-a-swagger-like-something-for-the-api' into me/gom-25-add-a-swagger-like-something-for-the-api
- 5ede0c1 Update internal/providers/anthropic/anthropic.go
- 179b303 Update internal/providers/anthropic/anthropic.go
- c0b452f Update internal/providers/anthropic/anthropic.go
- 28107f9 Update internal/server/handlers.go
- 9686ffc chore(deps): bump github.com/labstack/echo/v4 from 4.15.0 to 4.15.1 (#87)
- 317e4bf chore(deps): bump modernc.org/sqlite from 1.45.0 to 1.46.1 (#86)
- 5469119 chore(gom-25): avoid global install for swagger
- 21bc6c8 chore(gom-25): clean up
- 7e07d3f chore(gom-25): clean up
- 4c508d3 chore(gom-25): exclude swagger from auth
- 34d438b chore(gom-25): generate docs
- daab2b0 chore(gom-25): remove type constraint
- 7dfe5d4 chore(gom-25): simplify command
- 02b71c1 chore(gom-25): upgrade to go 1.25
- 203a3f0 docs(gom-25): add error response
- 3003bdc feat(gom-25): add flag
- d5015be feat(gom-53): integrated external model registry for metadata enrichment and cost tracking + Dashboard/Usage page (#82)
- 4f6df74 feat: adapt max_tokens → max_completion_tokens for OpenAI o-series models (#89)
- 09fe4fb fix(gom-25): init swagger docs
- 15c9524 fix(gom-25): lint
- 7187887 fix(gom-33): add check against invalid values for effort
- 0b1463c fix(gom-33): extract content from text block
- 79a5879 fix(gom-33): provide model-specific request format
- 4b10538 fix(gom-33): use manual thinking for Haiku 4.6
- 5ce2a34 fix(gom-33): use the last text block
- 9e534de fix(gom-43): remove stream_options injection from Responses API handler (#85)
- 9046a47 refactor(gom-25): move import
- c5083ef refactor(gom-33): implement better filter for model detection
- 3a2bf31 test(gom-25): add coverage
- 0372d7b test(gom-33): add case for text extraction
- 183fd65 test(gom-33): clean up
- 94290a9 test(gom-33): cover case for temperature == 1.0 with reasoning enabled
- 360262c test(gom-33): cover reasoning effort
- b3a7f08 test(gom-33): text extraction