Skip to content

[Bug]: v2026.2.3 Backward Compatibility Bug #10256

@jkoopmann

Description

@jkoopmann

Summary

OpenClaw v2026.2.3 introduced a backward compatibility bug that broke all existing isolated + agentTurn cron jobs. Jobs with incomplete delivery configuration now fail silently instead of running with fallback behavior.

Issue

Backward Compatibility Bug: v2026.2.3 "hard-migration" breaks all existing jobs instead of providing graceful degradation.

Expected Behavior: Jobs with incomplete delivery config should:

  • Continue running with fallback delivery (e.g., main session summary)
  • Log warnings about deprecated config
  • Gracefully degrade, not fail silently

Actual Behavior: Jobs fail silently without any error message or fallback.

Expected Backward Compatible Behavior

Jobs with incomplete delivery config should continue working:

{
  "sessionTarget": "isolated",
  "payload": {"kind": "agentTurn", "message": "Test"},
  "delivery": {"mode": "announce"}  // Incomplete but should work
}

Expected Result:

  • Job runs successfully
  • Falls back to main-session summary (or last route)
  • Logs deprecation warning: "delivery.channel/to missing, using fallback"
  • User gets functionality + warning, not silent failure

Reproduction Steps

1. Create Job Before v2026.2.3

{
  "sessionTarget": "isolated",
  "payload": {"kind": "agentTurn", "message": "Test"},
  "delivery": {"mode": "announce"}  // ❌ Missing channel/to
}

Expected: Job runs and announces
Actual: Job never runs (no error, just silent failure)

2. Working Syntax After v2026.2.3

{
  "sessionTarget": "isolated", 
  "payload": {"kind": "agentTurn", "message": "Test"},
  "delivery": {
    "mode": "announce",
    "channel": "telegram",    // ✅ Required after v2026.2.3
    "to": "28738XXXX"         // ✅ Required after v2026.2.3
  }
}

Might be related to #8540

Impact

  • ALL existing isolated cron jobs stopped working after v2026.2.3 update
  • No error messages - jobs appear active but never execute
  • No automatic migration - requires manual recreation
  • Silent failure mode makes debugging difficult

Evidence

  • Release notes mention "hard-migrate" but don't explain breaking changes
  • Jobs created before v2026.2.3: createdAtMs: 1770357972016 (2026-02-06 07:06) → never run
  • Jobs created after with new syntax: immediately functional
  • cron runs --id <jobId> shows empty entries array for affected jobs

Proposed Solution

  1. Backward compatibility restoration: Jobs with incomplete delivery config should run with fallback behavior
  2. Graceful degradation: Default to main-session summary when delivery.channel/delivery.to missing
  3. Deprecation warnings (not silent failure) for incomplete configs
  4. Automatic migration for existing jobs during startup
  5. Documentation update explaining the transition period

Environment

  • OpenClaw Version: 2026.2.3
  • Platform: Unraid Docker
  • Affected Components: Cron scheduler, isolated jobs, delivery system

Timeline

  • 2026-02-05 22:16: Jobs created with old syntax
  • 2026-02-06 early AM: v2026.2.3 deployed
  • 2026-02-06 07:00: First scheduled job failed silently
  • 2026-02-06 07:36: New syntax test successful
  • 2026-02-06 07:54: All jobs recreated with new syntax

Severity: Critical

  • Backward compatibility violation: Breaks fundamental software engineering principle
  • Silent failure mode: No error messages, extremely difficult to debug
  • Affects all users: Anyone with existing isolated cron jobs experiences regression
  • No migration path: Users must manually recreate all jobs without guidance

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingstaleMarked as stale due to inactivity

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions