Releases: superlinked/sie
Releases · superlinked/sie
Release list
v0.6.17
- chore(main): release 0.6.17
- docs(gateway): clarify multi-gpu sidecar routing
- fix(sidecar): refresh ready slots on cancel fanout failure
- fix(sidecar): release cancelled scheduler pressure
- fix(sidecar): wire local ingest through adapter pool
- fix(req6): align candle chart after rebase
- fix(server): keep ipc ping alive on gpu health errors
- refactor(sidecar): name adapter worker pool generically
- feat(worker): support multi-gpu sidecar children
- fix(req6): harden multi-gpu worker review fixes
- fix(req6): harden multi-gpu worker routing
- fix(req6): resolve main rebase fallout
- fix(req6): wire pressure-aware multi-gpu routing
- test(tilt): emulate multi-child sidecar on cpu
- feat(worker): route by child queue pressure
- feat(worker): route multi-gpu sidecar children
- docs: state req6 multi-gpu target directly
- docs: clarify multi-gpu worker target topology
- feat(server): support multi-gpu worker placement
- feat(cloud): CLI WorkOS device-flow auth — retire the shared-token shortcut for customer commands (#1697)
- chore(deps): bump the uv group across 3 directories with 12 updates
- feat(oss): OSS amendments from the SIE Cloud build — engine, SDKs, gateway/sidecar seams (#1696)
- fix(sidecar): bound queue admission through scheduler completion
- chore(models): correct gte-Qwen2-1.5B compute_precision label to fp32 reality
- fix(candle): address rope review feedback
- fix(candle): repair rebase conflict resolution
- fix(candle): remove rust worker forward coalescing
- fix(sidecar): bulk enqueue scheduler items
- fix(sidecar): expose scheduler flush reasons
- feat(candle): add GTE RoPE embedding kernel
- test(sdk): golden wire-contract fixture for ModelState + fix TS drift
- refactor(server): move eviction-candidate decision into residency policy
- refactor(gateway): unify worker-error retry semantics into one classifier
- refactor(gateway): collapse header/pool/profile resolution into one seam
v0.6.16
- chore(main): release 0.6.16
- fix(adapters): honor caller instruction in use_model_encode without a template
- feat(adapters): use_model_encode — delegate to checkpoint-native encode()
- Revert "feat(adapters): opt-in template_as_prompt for ST prompt-length-aware templates"
- Revert "fix(models): serve NV-Embed-v2 via its native latent-attention ST path"
- fix(models): serve NV-Embed-v2 via its native latent-attention ST path
- feat(adapters): opt-in template_as_prompt for ST prompt-length-aware templates
- chore(models): remove Qwen3-0.6B experimental custom LoRA profile
- test(keda): cover gpu-agnostic kind smoke demand
- docs(gateway): clarify legacy empty demand comments
- fix(adapters): harden splade flash gate + add flash-vs-native parity test
- fix(gateway): normalize explicit GPU demand labels
- fix(gateway): fan out gpu-agnostic demand across pool profiles for scale-from-zero
- fix(bundles): pin flash-attn-4 prerelease so sglang 0.5.10.post1 resolves
- fix(helm): wake a deterministic owner lane on gpu-agnostic demand for multi-profile bundles
- fix(colbert): GTE muvera also at simhash 6 - CMedQA/MMarco evals OOM at dim 81920
- fix(colbert): mxbai muvera at simhash 6 (FDE dim 20480) - runner dies at 81920
- fix(colbert): retune GTE/mxbai muvera for the Dense-projected representation
- fix(colbert): serve pylate Dense chains and align fallback with flash
- fix(models): restore e5 templates on multilingual-e5-large ST profile
- fix(colbert_modernbert_flash): faithful ModernBERT forward + hardened 1_Dense loading
- test: cover candle warm model residency
- fix: align candle workers with catalog lane config
- refactor(server): dedup flash mean-pooling into _flash_pack
- fix(colbert_modernbert_flash): address CodeRabbit review on #1591
- fix(colbert_modernbert_flash): only apply Dense head when out_features==token_dim
- fix(colbert_modernbert_flash): apply trained ColBERT Dense projection
- Revert "feat(models): onboard topk-io/Iso-ModernColBERT (ColBERT multivector)"
- fix(colbert_modernbert_flash): tolerate transformers>=5 tokenizer_class
- feat(models): onboard topk-io/Iso-ModernColBERT (ColBERT multivector)
v0.6.15
- chore(main): release 0.6.15
- fix(playground): keyboard-accessible tabs + associated form labels
- fix(server): address CI + review comments on the Apple Silicon re-land
- feat(server): land Apple Silicon as a primary device onto main
- fix(sidecar): start batch cancel before direct pulls
- fix(tilt): wait for complete trace before asserting span chain
- fix(gateway): harden batch direct fallback cancellation
- fix(gateway): cancel abandoned direct batch fallback work
- test(tracing): assert run_batch metadata and malformed traceparent
- fix(gateway): ignore pre-latch stale NAKs after republish
- fix(docs): drop otel.name from span-attribute table; tighten tracing dashboard test
- feat(helm): add SIE tracing dashboard and tempo datasource uid
- docs(gateway): document distributed tracing span chain and enable switch
- refactor(helm): migrate bundled Tempo to grafana-community chart 2.2.3
- refactor(helm): gate tempo datasource on grafana
- fix(gateway): use real RUSTSEC id for second quick-xml advisory
- feat(helm): add optional bundled Tempo tracing backend
- fix(gateway): ignore quick-xml <0.41 RustSec advisories in cargo-deny
- refactor(sie_gateway): clarify publish-seam comment, drop redundant otel.name
- feat(sie_gateway): emit gateway.publish span on non-streaming queue-publish path (#1596)
- feat(gateway): count dropped stale NAKs from abandoned attempts
- test(observability): use single import style in shutdown_tracing test
- feat(observability): bound tracing shutdown and trim env inputs across all four runtimes
- fix(models): serve gte-Qwen2-1.5B via sentence_transformer adapter (#1593)
- feat(observability): gate Rust tracing on SIE_TRACING_ENABLED
- test: update queue executor batch mocks
- test: cover queue runtime app wiring
- fix: complete empty preformed worker requests
- fix: address sidecar PR review feedback
- fix: clean stale Python queue ownership drift
- docs: clarify sidecar queue batching ownership
- fix: remove Python worker pull-loop path
- fix(server): serialize hot reload registry mutations
- fix(server): move load headroom behind adapter contract
- fix(server): make SGLang load eviction headroom-aware
- test(config): time-box idempotency mismatch request
- fix(config): shield idempotency failure cleanup
- fix(config): defer cancellation after config commit starts
- fix(config): handle idempotency in-flight races
- fix(server): cap LoRA drain to snapshot backlog so post-snapshot arrivals don't overshoot
- fix(gateway): keep signalling SSE incompleteness on lag; only skip cancel when done (#1602)
- perf(gateway): build the HRW ring from the by_bundle index, not a whole-cluster scan (#1607)
- fix(gateway): don't report a succeeded SSE generation as inter_chunk_timeout on consumer lag (#1602)
- fix(gateway): drop stale NAKs from abandoned attempts in handle_nak (#1601)
- perf(server): vectorize bge_m3_flash CLS gather to drop N per-encode GPU syncs (#1605)
- fix(server): bound the continuous-batching drain so a busy LoRA can't starve siblings (#1606)
- fix(server): stop mislabelling uint8 embeddings as "binary" on the queue path (#1603)
- fix(server): /v1/embeddings maps OOM to 503 RESOURCE_EXHAUSTED, not 500 (#1604)
- fix(server): unregister model from MemoryManager even if adapter.unload() raises (#1600)
- fix: select rustls provider at binary startup
- revert: restore gateway sidecar rustls defaults
- fix: select rustls provider for rust services
- fix(gateway): append forwarded embeddings headers to preserve multi-value tracestate
- fix(gateway): forward traceparent/tracestate through /v1/embeddings rewrite
- test(gateway): pin RetryAfter aliases to wire literals, not tautologies (#1574)
- fix(tracing): parent sidecar.dispatch on first valid inbound context
- refactor(gateway): injectable clock for TokenBucket (#1575, publisher PR 1/n)
- refactor(gateway): one typed RetryAfter home for cold-load retry hints (#1574)
- refactor(gateway): normalize rejected-request labels via sanitize_label (#1573)
- docs(server): ADR-0004 — cost is modality-native, not commensurable (#1571)
- refactor(server): controller owns its config write-back via apply_step (#1570, BatchPolicy PR 1/n)
- feat(tracing): emit sidecar.dispatch span from sie_server_sidecar (#1550)
- refactor(server): typed EvictionResult for evict_lru_excluding (#1569, ResidencyPolicy PR 1/n)
- fix(gateway): record demand on backpressure so KEDA scales the lane (#1568)
- refactor(server): single typed definition for the queue-path inference_error code (#1572)
- fix(gateway): route engine-pin errors through endpoint_error_response (#1567)
- chore(deps): refresh gateway Rust lockfile
- docs(gateway): use 'gateway' terminology in resolve_routing pool comment (#1543)
- refactor(gateway): fold pool + GPU resolution into resolve_routing (#1543, PR 3/3)
- refactor(gateway): wrap routing decision in resolve_routing (#1543, PR 2/3)
- refactor(gateway): extract resolve_bundle_for_request from proxy_request (#1543)
- test(gateway/config/server): shared conformance vectors for bundle_config_hash (#1542)
- refactor(server): make ModelRegistry.get() a pure read; add touch_lru() (#1541)
- refactor(tracing): use is_some() borrow check for inbound ctx branch
- test(tracing): bind a JetStream consumer in the encode propagation IT
- test(tracing): add NATS-gated integration test for encode trace propagation
- fix(tracing): attach inbound trace context for non-generation publishes
- feat(tracing): inject queue trace context for non-generation endpoints
- fix(adapters): guard empty-document MaxSim batches; strengthen single-doc test (#1539)
- refactor(preprocessor): extract shared _load_rgb image loader (#1540)
- refactor(adapters): shared multivector MaxSim scoring helpers (#1539)
- refactor(adapters): extract shared flash varlen position-id builder (#1538)
- test(server): add score/extract invalid-item regressions for decode_item seam (#1537)
- refactor(server): validate queue-path items through one decode_item seam (#1537)
- fix(candle): keep catalog additions candle-only
- fix(models): restore per-task MTEB instruction for stella_en_v5 (#1340)
- docs(helm): document collector suppression + exporterInsecure in chart README
- fix(helm): make bundled collector downstream OTLP TLS configurable
- fix(helm): suppress bundled collector when explicit tracing endpoint set
- fix(helm): set OTEL_EXPORTER_OTLP_PROTOCOL=grpc on traced pods
- feat(helm): add opt-in OTLP tracing wiring + bundled collector to sie-cluster
- fix(candle): harden native worker routing
- fix(tracing): assert items/metadata alignment before zip in scheduler batch
- feat(tracing): propagate trace context through the non-streaming worker loop
- fix(muvera): center tokens before SimHash to fix answerai @muvera Blackwell collapse (#1528)
- fix(candle): harden native worker runtime
- fix(sdk): raise actionable error on encode result-count desync (#1526)
- fix(models): load stock tokenizer for gte-Qwen2-7B-instruct (#1483)
- fix(server): skip EOS on empty input; cover non-default profile on queue path
- fix(models): serve embeddinggemma-300m via SentenceTransformerDenseAdapter (#1523)
- fix(server): apply profile runtime options and append EOS on cluster encode path (#1489)
- fix(candle): publish loaded models in health
- chore(deps): bump Rust gateway and sidecar dependencies
- fix: repair candle rebase fallout
- fix(gateway): separate queue timeouts from model loading
- fix(candle): run bge-m3 profile in bf16
- perf(candle): optimize bge-m3 xlm-r runtime path
- fix(candle): align readiness with loaded model state
- fix(candle): restore sidecar model readiness
- fix(sidecar): keep only config hash wiring
- fix(sidecar): bound scheduler bulk enqueue waves
- perf(sidecar): bulk enqueue scheduler batches
- feat: tune candle forward concurrency
- fix: remove candle replica fallback path
- feat: improve candle replica concurrency
- fix: log candle batch failure context
- fix: restore default candle cuda stream
- perf: improve candle worker concurrency and build cache
- fix: improve candle embedding runtime throughput
- fix: install gateway pool config hashes
- fix: preserve control-plane bundle hash in sidecar
- fix: align worker pool config hashes
- fix: export profile bundle targets
- fix: repair candle ci routing checks
- fix: harden candle bge-m3 runtime bring-up
- feat(candle): add native adapter runtime
- fix(muvera): drop same-dim count-sketch + retune colbert muvera configs (#1493)
v0.6.14
- chore(main): release 0.6.14
- test(encode): cover dual-type muvera filter; harden response_output_types fallback (#1430)
- fix(encode): preserve postprocessor dense output for muvera profile (#1430)
- fix(colbert): patch ColBERTRotaryFlashAdapter score_pairs too (#1430)
- fix(colbert): override score_pairs to ignore encode-time options (#1430)
v0.6.13
- chore(main): release 0.6.13
- fix: extend tester structured generation timeouts
- fix(server): serialize async config registry updates
- fix(server): preflight profile variant config updates
- fix(server): drain removed profile variants during config apply
- fix(sie-mcp): chunk GLiNER extract/redact for large docs; flag the other 4B
- feat(sie-mcp): per-tool GPU routing and env-overridable GLiNER models
- docs(sie-mcp): add the Obsidian contract-graph example
- fix(server): tighten profile variant reconciliation
- fix(server): preserve profile variants during config reconcile
- fix(gateway): retry failed payload cleanup deletes
- fix(gateway): dedupe offloaded payload cleanup keys
- fix(gateway): track exact offloaded payload keys
- docs(sie-mcp): use the rendered Excalidraw PNG for the architecture diagram
- docs(sie-mcp): replace the ASCII architecture sketch with an Excalidraw diagram
- docs(sie-mcp): accessible README intro; drop the redundant product page
- fix(sie-mcp): bound text offload inputs
- feat(sie-mcp): integrate managed plugin skills
v0.6.12
- chore(main): release 0.6.12
- fix(gateway): record offload before the store write (PR review)
- test(gateway): cover payload-store cleanup guard
- fix(gateway): skip payload-store cleanup DELETEs for inline requests
- fix(gliclass): guard label-window overflow + defer LEDGAR for v1.0 uni-encoders
v0.6.11
- chore(main): release 0.6.11
- fix: handle sidecar progress ack failures
- fix: harden worker-direct batch fallback
- fix: align retryable generation review feedback
- fix: preserve queue delivery budget
- fix: return retryable model loading for generation
- test: cover default-backed pinned pool gauge
- fix: harden logical pool queue routing
- docs: clarify logical pool backing queues
- feat: support logical pools backed by queue pools
- refactor(bench): re-task Florence-2-base to COCO detection (card metric), keep OCR fallback (#1437)
- fix(ci): raise uv HTTP timeout for the gemma cu130 wheel downloads
- docs(deploy): note machineProfiles entry for the gemma example pool
- feat(deploy): fail fast when a bundle is placed on the wrong platform
- docs(server): accurately scope what the gemma cuda13 CI smoke covers
- fix(server): correct stale cuda13/gemma platform references
- refactor(bench): re-task Florence-2-base to OCR, measure on olmOCR-bench not KIE (#1437)
- feat(server): first-class cuda13 platform for the gemma bundle
- fix(server): make transformers version bundle-controlled
- docs(server): correct the gemma cu130 Docker validation comments
- fix(server): parse --mamba-scheduler-strategy value exactly in spec guard
- fix(server): route grammar off :mtp for Gemma 4 via grammar_profile
- test(server): surface errors and non-settling tasks in pinned-load drain helper
- fix(worker): make pinned models profile-aware and reconcile on config arrival
- docs(helm): trim staticQueuePools pinnedModels comment to effect-only
- feat(worker): bridge gateway pinned-model set to the worker at runtime
- docs(server): mark gemma-4-26B-A4B mtp profile validated (Modal H200)
- feat(server): extend pinned-model protection to the disk cache
- fix(server): gemma Docker builder — effective uv cache, skip bytecode, fix comment
- fix(server): drop FP8 from gemma-4-26B-A4B (BF16 only)
- feat(server): keep pinned models loaded and exclude them from LRU eviction
- fix(server): require extra_buffer value in the speculative mamba-scheduler guard
- fix(server): wire per-bundle CUDA indexes into the cuda12 Docker builder
- feat(server): add Gemma 4 generation models (E2B, E4B, 26B-A4B)
v0.6.10
- chore(main): release 0.6.10
- fix: sync generation visibility api contract
- fix: improve generation failure observability
- feat(florence2): fix bbox conversion, re-task base-ft/large to COCO detection (#1347)
- feat(bench): floor measure-first dark models, retire donut-rvlcdip (#1347)
- fix(qwen3_vl_embedding): coalesce whitespace-only instruction to default
- test(qwen3_vl_embedding): pin empty/None instruction -> default contract
- fix(bench): align gliner label inputs
- fix(bench): align gliner v2.5 conll protocol
- fix(deploy): address payload-store review feedback
- feat(deploy): provision and enable the payload store by default
- fix(sie-cluster): address PR review findings on the self-host edge
- fix(sie-cluster): make AWS self-host turnkey (warm default + edge nits)
- fix(helm): let the MCP edge ingress drive cert-manager without a global gateway host
- fix(worker): preserve label order when batching extract requests
- fix(cluster): propagate --aws-region to terraform + standardize release name on 'sie'
- docs(sie_mcp): runbook must actively wait through cluster create/destroy
- docs(sie_mcp): clean-room AWS self-host runbook for a fresh agent
- refactor(sie_mcp): consolidate the offload skill into one surface-agnostic SKILL.md
- feat(helm): add sglang worker bundle to the AWS l4 pool
- docs(sie_mcp): local Cowork verification guide + example MCP client
- feat(helm): optional MCP-edge component for the sie-cluster chart
- feat(sie_mcp): containerize the MCP edge
- fix(qwen3_vl_embedding): pool post-RMSNorm last_hidden_state + normalize instruction (#1385)
- fix(sie-server): make transformers5 bundle reachable via pip (#826)
v0.6.9
- chore(main): release 0.6.9
- chore(gateway): regenerate openapi.json for pinned_models profile docstrings
- feat(gateway): support profile-qualified ids in per-pool pinned-model set
- fix(gateway): bound pinned-model metric labels and add handler validation tests
- feat(gateway): add per-pool pinned-model set to the pool config API
- fix(server): alias PEFT LoRA adapter names
- fix: scope worker preload models by lane
v0.6.8
- chore(main): release 0.6.8
- fix(server): share score media batch cost
- fix(server): serialize worker use with unload state
- fix(server): keep score traffic from idle-evicting rerankers
- refactor(gateway): consolidate warm floor onto minimum_worker_count; retire admission gate
- feat(gateway): add per-pool warm floor (min_machines) with KEDA enforcement