Releases: ROM4n2/blind-llm-eyes
Releases · ROM4n2/blind-llm-eyes
Release list
v1.3.0
Changelog
- e010f06 chore(release): stamp v1.3.0 — fill changelog date and tag
- a1f7510 docs(changelog): add v1.3.0 observability and operations section
- db3d8f0 docs(config): sync example.yaml with v1.3.0 pointer-mode defaults
- 7b8f70c docs(readme): v1.3.0 sections for pprof, hot reload, doctor, prometheus scrape
- 885be60 docs(spec): add v1.3.0 observability and operations design
- 885cc34 feat(admin): add 3-channel config hot reload (SIGHUP + HTTP + CLI)
- 3089316 feat(cache): add Close() to Cache interface for shutdown and reload swap
- 950e574 feat(cli): doctor adds DB writable, upstream ping, and vision model checks
- 869b206 feat(config): add ReloadableConfig atomic snapshot with swap + rollback
- c628c05 feat(metrics): add P0 cache-tiered counters, SQLite gauges, and CB transitions
- 74afa23 feat(metrics): add P1 metrics layer (sf, image bytes, payload hist, SSE)
- 229f52f feat(proxy): mount debug/pprof endpoints with 3-layer security middleware
v1.2.0
Changelog
- 6001950 feat(config): pointer-based context_rounds and optional metrics auth
- 3bf6d3f fix(cache): sharded mutex for TwoTier and count drift observability
- 4346cf4 fix(proxy): harden normalizeHost, truncatePreview, shard hash, and setup messages
- c988240 fix(proxy): prevent self-referential loops and harden header forwarding
- 7afc8f6 fix(proxy): use constant-time token compare and restore passthrough auth forwarding
v1.1.0
Changelog
- 8dc4afd feat(cache): add sqlite get/put with upsert and last_accessed
- b993018 feat(cache): add sqlite integrity check and corruption recovery
- 4a9e9ff feat(cache): add sqlite lru and ttl eviction
- 5d193c7 feat(cache): add sqlite open with schema and wal pragmas
- cd32794 feat(cache): add two-tier lru+sqlite composite cache
- eb1197d feat(cli): add cache subcommand stub and usage
- de514b1 feat(cli): add qwen preset and unify preset output to vision_providers
- 7da5013 feat(cli): implement cache path/stats/list/clear subcommands
- 1991fa1 feat(config): extend cachecfg with type dbpath and ttl
- 1d69b5e feat(main): wire two-tier cache with lru-only fallback
- 245487e feat(vision): add qwen provider type for DashScope Qwen-VL
- 656bab4 fix(cache): add cas guard to prevent concurrent evict storm
- d707a2e perf(cache): avoid per-put count(*) via in-memory counter
- e239a96 refactor(cache): introduce Cache interface to decouple handler
- b00e907 test(e2e): add cache survives restart scenario
v1.0.1
Changelog
- 1195927 chore(release): add start scripts to release archives
- 103f190 feat(cli): add doctor --deep end-to-end vision pipeline test
- 6bac77c feat(proxy): add count_tokens endpoint passthrough
- 0448c7e feat(proxy): add vision-capable model whitelist passthrough
- 4485c37 feat(vision): add glm_free provider type for GLM-4V-Flash free tier
- eb222a3 fix(cli): avoid trae sandbox temp file restriction in pidfile and settings
v1.0.0
Changelog
- c5cd7a6 chore(config): tune adaptive parameters based on smoke test data
- c8dd7b9 chore(pre-commit): update api key detection pattern to cover more services
- 405b4b2 feat(admin): add shutdown endpoint, pidfile, and status/stop subcommands
- 841a3f7 feat(cache): content-hash sha256 key + thread-safe LRU eviction (race-clean)
- 3d9f9eb feat(cli): add buildinfo package and version subcommand
- 252d06e feat(cli): add cc-switch SQLite provider import
- 5565bd6 feat(cli): add connect/disconnect for Claude Code settings.json wiring
- e2cbf8b feat(cli): add doctor subcommand with vision and upstream ping
- 1508234 feat(cli): add interactive setup wizard with cc-switch import and doctor
- 77f8ee8 feat(cli): add subcommand dispatch skeleton and thin main.go
- ac5b1f9 feat(config): externalize hard-coded vision tuning parameters
- 6f2e7f5 feat(logging): add detailed structured logging at every key node in handler and vision client
- 58528fd feat(main): config loader + wire up all packages; graceful shutdown; fix yaml duplicate key
- 9bc5c01 feat(messages): add request validation with struct tag constraints
- 206f1d6 feat(messages): add support for tool_result content type
- 8b469d7 feat(messages): parse Anthropic request and replace image blocks with descriptions
- 6c07279 feat(observability): add Prometheus metrics export and VisionProvider interface
- c130070 feat(observability): add per-goroutine and errgroup-level logs for parallel image processing
- 9ec798c feat(observability): add singleflight wait/exec duration breakdown logs
- 2a709e8 feat(observability): add structured JSON logging with async writer and full-stage instrumentation
- 1990954 feat(proxy): add adaptive concurrency limiter based on MiMo latency
- 4cdae70 feat(proxy): add singleflight to dedup in-flight vision calls
- f6f58dc feat(proxy): implement adaptive concurrency limiter with AIMD control
- 885852b feat(proxy): integrate context-aware description with config and logging
- dc8540f feat(proxy): request pipeline (parse→cache→vision→replace→forward) + SSE passthrough
- 7a26701 feat(proxy): strip [1m] model suffix before forwarding to upstream
- 5f916c9 feat(vision): MiMo OpenAI-compatible client with mock server tests
- 5329945 feat(vision): add ContextualVisionProvider interface and context extraction
- 6b3a22b feat(vision): add WebP support and adaptive timeout for large images
- 6b7dde0 feat(vision): add circuit breaker stats and improve failover logging
- d1a2db8 feat(vision): implement context-aware description in clients and pool
- c14d1a5 feat(vision): multi-provider pool with circuit breaker failover
- aee0b15 fix(messages): correct maxChars truncation guard to protect newest not oldest
- cb8ac04 fix(messages): support array-shaped system field from CC Switch
- 2c193fe fix(messages): wrap image descriptions with XML marker and system-level instruction
- c0a2fa7 fix(proxy): merge message traversals and add missing nil checks in NewHandler
- 14858c0 fix(proxy): normalize system messages before validation
- 4fa5821 fix(proxy): resolve 5 critical bugs in image processing pipeline
- 6357d7e fix(vision): resolve failover deadline starvation and loop defer anti-pattern
- c1ca207 fix: handle string content, MiMo empty choices, and fail-open placeholder
- d547866 fix: preserve unknown JSON fields through Unmarshal/Marshal round-trip
- 467f6c7 fix: resolve 4 medium-priority issues in image processing pipeline
- 58c1ee8 merge: productize blind-llm-eyes for v1.0.0 release
- 6bf48b4 perf(proxy): add httptrace instrumentation to DeepSeek upstream node
- 9bfe130 perf(proxy): parallelize image processing with errgroup
- 8a70576 perf(vision): add httptrace instrumentation and pinpoint MiMo body-read bottleneck
- a868455 perf(vision): switch MiMo to Anthropic API to disable thinking mode
- ad70a9f refactor(vision): extract provider builders from main.go
- 3f059f8 test(e2e): add network timeout scenarios for fail-open and fail-closed paths
- 75e7722 test(logging): add comprehensive unit tests and fix AsyncWriter data race
- b25ec2a test(proxy): add concurrency test for parallel image processing