Skip to content

v1.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 31 Aug 05:55
· 1 commit to main since this release
988dee8

1.0.0

Major Changes

  • #952 d98a7dd Thanks @jalehman! - Remove Lossless-owned transcript GC and session-file rotation surfaces for the SQLite-backed OpenClaw runtime. Active transcript storage is now owned by OpenClaw; Lossless no longer exposes /lossless rotate, transcript GC config, or automatic session-file rotation config. Existing plugin configs must remove transcriptGcEnabled and autoRotateSessionFiles before upgrading because OpenClaw's manifest validation rejects removed config keys.

Patch Changes

  • #1114 4bcfc06 Thanks @jalehman! - Move Lossless Claw 1.0 install, update, migration, and status repair commands to npm's stable latest channel. Installations that still follow beta receive repair guidance for the stable track.

  • #1116 0fef96b Thanks @jalehman! - Precompute live-coverage signatures before exact prompt-time reconciliation.

  • #1102 c686ad1 Thanks @jalehman! - Publish the built npm tarball through ClawHub so marketplace installs include the declared dist/index.js extension entrypoint.

  • #1142 bf3d69e Thanks @jalehman! - Add read-only inactive compaction-debt diagnostics and a backup-first, explicitly confirmed administrative close command that preserves recall data.

  • #1122 abbea93 Thanks @jalehman! - Expose the four Lossless recall tools through OpenClaw's coding, messaging, and full tool profiles, and mark their read-only executions as replay-safe.

  • #1126 479beb6 Thanks @t3t5ujin! - Deduplicate host-accepted turn messages against the covered transcript frontier before recording a durable advancement, preventing native runtimes from storing a second copy when transcript projection ingestion wins the race while preserving unflushed suffixes and ambiguous data.

  • #1142 e9f8fe4 Thanks @jalehman! - Preserve each message's role in leaf-summary source text rebuilt by doctor apply,
    so repaired summaries can distinguish operator input from assistant and tool content.

  • #1070 267f006 Thanks @hannesrudolph! - Persist accepted OpenClaw turns with an atomic idempotency ledger so host retries cannot duplicate or partially advance LosslessClaw context.

  • #1134 aa85938 Thanks @jalehman! - Leave configured threshold headroom when OpenClaw forces overflow recovery, preventing a raw context-window budget from causing no-op compaction.

  • #1108 b3e144b Thanks @jalehman! - Inherit OpenClaw's effective default model during context-free durable commitTurn summary preparation when no Lossless summary override is configured. Automatic pending-summary work now retains raw context instead of persisting emergency truncations when no model-backed summarizer can be resolved.

  • #952 d98a7dd Thanks @jalehman! - Keep CLI conversation diagnostics readable for databases that retain a legacy transcript bootstrap table without newer reconciliation and fork columns.

  • #1052 fa578d0 Thanks @octo-patch! - Add MiniMax API-key support to standalone TUI summarization with global and China endpoints and MiniMax-M3 model inference.

  • #952 d98a7dd Thanks @jalehman! - Publish pending summaries for the longest prepared projection prefix, bridge undersized raw islands when later eligible work would otherwise become unreachable, leave undersized trailing suffixes live, refresh deferred pressure after publication, report the active post-publication token count to the host, and avoid double-counting raw backlog as threshold pressure when it is already present in the active projection.

  • #1030 f25e54b Thanks @cxbAsDev! - Remove duplicate largeFilesDir declarations from openclaw.plugin.json. The surviving entries describe the default as relative to OPENCLAW_STATE_DIR, consistent with the runtime resolver and configuration reference. A regression test now guards against duplicate keys and stale default descriptions.

  • #1057 8f65b00 Thanks @gorkem2020! - Preserve completed trailing assistant replies in degraded context assembly when
    OpenClaw supplies the current user prompt separately, while continuing to strip
    blank assistant prefill tails.

  • #1106 fe891a4 Thanks @astra-openclaw! - Preserve stable thread_bootstrap projection metadata when a managed conversation uses bounded or degraded live fallback, preventing persistent Codex threads from appending the reconstructed transcript again on every turn while compaction maintenance is pending.

  • Preserve allowlisted OpenClaw group sender identity through SQLite storage, replay, transcript migration, and leaf-summary source text.

  • #1091 4aa98c6 Thanks @jalehman! - Preserve new afterTurn messages when an unaligned runtime batch only partially overlaps persisted history. Ambiguous mixed batches now ingest in full instead of repeatedly discarding genuine turns beside recurring control rows.

  • #1091 4aa98c6 Thanks @jalehman! - Preserve distinct tool results when a model reuses tool-call IDs across turns. Only provider-minted IDs now participate in conversation-global event deduplication, and unexpected stable-key collisions retain the row without the conflicting key.

  • #1053 9f5f5f5 Thanks @jetd1! - Preserve reasoning replay integrity for DB-assembled assistant messages.

    Ingestion now records the assistant message's model identity
    (provider/api/model/responseModel) in ordinal-0 part metadata, and
    assembly re-attaches it so the host's model-bound thinking replay policy can
    recognize same-model history instead of downgrading replayed thinking blocks
    to plain text.

    Assembly applies a three-way thinkingSignature gate:

    1. Sentinel "reasoning_content" — the host's cross-provider reasoning-
      native replay marker, not a provider-issued signature. Preserved only when
      the assembled message carries stored model identity; dropped from legacy
      rows without identity so the host's transformMessages doesn't downgrade
      it to response-channel text (the contamination this patch fixes).

    2. Provider-issued signatures — kept only when a stored model identity
      survives to the assembled message (the host's transformMessages then
      applies its own same-model replay policy). The identity gate is decided at
      message level (identity lives on ordinal-0 metadata, but signature-bearing
      blocks may sit at any ordinal).

    3. Legacy rows without identity — keep the historical strip (#365) for
      provider-issued signatures; sentinel blocks are dropped entirely.

    Comparison paths that treat part metadata as message identity
    (createLosslessMessageSignature, externalizedReplayMetadataMatches) now
    strip model-identity keys before comparing, so rows persisted before the
    upgrade still match their post-upgrade live/assembled representations for
    replay-prefix detection and live-coverage fork-anchor matching.

  • #1130 bcaad7a Thanks @jalehman! - Ignore top-level private OpenClaw metadata when estimating model-boundary tokens.

  • #1111 5185250 Thanks @astra-openclaw! - Publish deterministic, raw-linked coverage for pending summary sources that sanitize empty, without retrying or calling the summary model, so later meaningful compaction work can continue and publish without an ordinal gap.

  • #1136 bad9c34 Thanks @jalehman! - Remove the unsupported contracts.sessionActions manifest field while preserving the runtime lcm-control session action.

  • #1089 13c70ec Thanks @PollyBot13! - Reopen the SQLite-backed context engine when OpenClaw starts a new gateway lifecycle from a cached plugin registry, preventing fallback to the legacy engine after in-process restarts and resolving the current host default model after config changes.

  • #1061 ccad297 Thanks @jjjhenriksen! - Use OpenClaw's supported subagent.getSessionMessages() runtime method when collecting delegated expansion replies, restoring lcm_expand_query compatibility with current OpenClaw beta releases.

  • #952 d98a7dd Thanks @jalehman! - Give a complete pending-summary frontier a publication-only session-queue opportunity when context crosses the compaction threshold. Publication waits for foreground work already in progress, runs before later queued foreground work, and does not call the summary model. Incomplete frontiers remain deferred for background preparation.

  • #1091 4aa98c6 Thanks @jalehman! - Separate host-owned prompt framing from Lossless-owned context during threshold compaction. Typed OpenClaw runtime ownership metadata now survives host-parameter projection and follows foreground, maintenance, and deferred compaction paths so uncompactable system, tool, or native-thread history cannot make convergence impossible.

  • #952 d98a7dd Thanks @jalehman! - Clamp assembled messages at 90% of the serialized output budget so OpenClaw's final renderer retains headroom for prompt and message-boundary overhead.

  • #1089 13c70ec Thanks @PollyBot13! - Skip restart and shutdown session_end hooks before acquiring the context engine, preventing closed-database errors after gateway_stop.

  • #952 d98a7dd Thanks @jalehman! - Require OpenClaw 2026.7.2-beta.2 or newer for the branch-safe visible transcript projection used during SQLite session bootstrap, and preserve continuity when that projection uniquely matches a metadata-decorated runtime row.

  • #1044 8ac4720 Thanks @bowenluo718! - Fix duplicate ingestion of the same message when the transcript is
    redacted by logging.redactPatterns and the live afterTurn batch is
    not. Stable assistant response and unambiguous tool-call identities are
    persisted in a new messages.stable_event_key column, checked before
    ingest side effects, and protected by a partial unique index. Messages
    without an unambiguous stable identity retain the existing
    content-based and redaction-aware deduplication behavior.

  • #952 d98a7dd Thanks @jalehman! - Tighten the structural same-turn supersede so it only collapses a runtime or live copy onto a bare persisted row when the bare body is carried under a channel timestamp, rather than whenever the content merely contains the substring "(untrusted metadata)" or ends with a line equal to the bare body. Structured metadata blocks remain untrusted user-facing text until OpenClaw provides a trusted marker, so metadata-only copies are preserved rather than risk silently superseding an earlier user turn. The guard now covers both the store after-turn path and the assembly supersede path.

  • #1042 4a19e16 Thanks @gorkem2020! - Require transcript provenance before untimestamped metadata-body matches can support covered-frontier replay alignment, while keeping unannounced recaps and heuristic matches fail-closed.

  • #952 d98a7dd Thanks @jalehman! - Document the OpenClaw host trust grant required to keep the Lossless before_prompt_build recall-policy hook active.

  • #1077 d7d58ce Thanks @jalehman! - Accept the turn-local durable commitTurn payload defined by OpenClaw PR 122149, and preserve idempotent retries for beta.1 receipts after the host removes prePromptMessageCount.

  • #952 d98a7dd Thanks @jalehman! - Verify SQLite transcript anchors before using them for reconciliation, repair safe non-empty legacy anchors, ignore false stale anchors, and add /lossless doctor anchors audit counts.

Release Verification

New Contributors

Full Changelog: v0.15.1...v1.0.0