Skip to content

v1.1.0

Choose a tag to compare

@Mehrad-shyftlabs Mehrad-shyftlabs released this 06 Jul 17:49
· 223 commits to main since this release
5417a52

Continuum 1.1.0

This release makes Continuum more resilient in real deployments, easier to connect to your infrastructure, and fully compatible with the latest Claude models. Applications no longer fail when a session store is briefly unavailable, external services now share one consistent connection and health-check model, and agents run correctly against Claude 4.6+ out of the box.

pip install shyftlabs-continuum==1.1.0

Highlights

Resilient sessions — no more hard failures when Redis is down. Short-term session persistence now degrades gracefully. If Redis is unreachable — whether at startup or mid-conversation — Continuum automatically falls back to an in-process session store and keeps serving, logging a single warning instead of failing every request. This behavior is configurable with the new SESSION_FALLBACK_MODE setting: keep the default degrade for maximum availability, or set fail for environments that require strict durability guarantees.

Full compatibility with the latest Claude models. Agents pointed at Claude 4.6+ models (including Claude Opus 4.8) now work without configuration. Continuum automatically adapts to these models' parameter requirements and applies the correct context-window sizes, eliminating both the request failures and the overly aggressive context truncation that previously affected newer models. New and unknown models within a known family are handled automatically — no per-model configuration required.

A unified connector layer for external services. Redis, vector stores, Temporal, and Langfuse now connect through a single, consistent interface. Each service is configured the same way — whether you point it at local Docker, a cloud endpoint with an API key, or a custom host — and Continuum infers the right connection mode automatically. A new health_check_all() gives you one call to probe every enabled service, with disabled services incurring zero connection overhead.

Observability for degraded state. When session persistence falls back, it's now visible: a persistence_degraded flag on the session client, a session_persistence health check, and a session_persistence_degraded metric let your monitoring detect and alert on the condition without any guesswork.


What's new

  • Graceful session degradation with the SESSION_FALLBACK_MODE switch (degrade | fail, default degrade) — stay available when Redis is briefly unreachable, or opt into strict-failure mode.
  • In-memory session provider (provider="memory") — a zero-dependency, non-durable session store that mirrors the Redis provider's behavior. Ideal for tests, ephemeral workloads, and as the automatic fallback target.
  • Lazy session initialization — the session client no longer connects to Redis at construction, so application startup is never blocked by a slow or absent session store, and unused persistence incurs no connection attempts or warnings.
  • Unified connector layer (continuum.connectors) for Redis, vector stores, Temporal, and Langfuse, with consistent configuration, automatic connection-mode inference (local Docker / cloud / custom), and health_check_all().
  • TLS support for Redis sessions, including private-CA endpoints, via SESSION_REDIS_SSL_CERT_REQS and SESSION_REDIS_SSL_CA_CERTS.
  • Temporal Cloud connectivity via new TEMPORAL_TLS and TEMPORAL_API_KEY configuration.
  • Extensible LLM provider routing — register additional model backends without modifying core, using register_provider(prefix, factory).

Improvements & fixes

  • Latest-Claude compatibility — automatic handling of temperature requirements and correct context-window sizing for Claude 4.6+ models.
  • End-to-end policy enforcement — request data labels are now enforced across model routing, tool calls, long-term memory, telemetry, session persistence, and the decision trace, in both streaming and non-streaming runs.
  • Human-in-the-loop authorization — approval steps now verify the approver's identity, honoring decisions only from authorized approvers and recording unauthorized attempts.
  • Streaming PII protection — output redaction now applies to streaming responses, closing a gap where streamed output could bypass scanners.
  • Reliable multi-agent handoffs — lifecycle on_end hooks fire for agents reached via handoff, and return-to-parent handoffs are protected against unbounded recursion.
  • Consistent structured output — populated across all providers in both run() and run_stream().
  • Accurate tracing — streaming operations are now captured correctly in observability spans, including duration and exceptions.
  • Smoother local infrastructure — corrected Docker health checks for Qdrant and Temporal, and continuum down / status / logs now manage all service profiles.
  • Improved PyPI presentation — the project README now renders correctly with a dynamic version badge and working links.

Full changelog: v1.0.0...v1.1.0