Skip to content

WebCodex v0.4.0

Choose a tag to compare

@yyjeqhc yyjeqhc released this 07 Sep 04:41
· 158 commits to main since this release
0991258

WebCodex 0.4.0 is a major runtime and Desktop release focused on making self-hosted agent execution more durable, explicit, and easier to use across Windows, macOS, and Linux.

Highlights

  • New Windows/macOS Desktop installation path with the official OpenAI Secure Tunnel, plus improved startup and lifecycle behavior.
  • Stronger Workflow Session, validation, Job, checkpoint, and recovery semantics for long-running coding work.
  • Durable Agent / Conversation / Wake / Agent Task foundations, with explicit identity and execution boundaries.
  • Continued ToolRuntime improvements across editing, Git, LSP, persistent shells, structured validation, runtime discovery, and MCP.
  • Broad 0.4 cleanup of compatibility and authority boundaries before the next feature cycle.

Upgrade notes

0.4.0 includes intentional breaking cleanup. Existing users should review the current setup documentation rather than relying on older 0.3.x onboarding assumptions. Windows and macOS users are encouraged to use WebCodex Desktop for the simplest local Server + Runner setup.

Contributors

Thanks to everyone who tested, reported issues, and contributed during the 0.4 cycle. Special thanks to external contributors since v0.3.9:

  • @Xiiiing — redesigned the Runtime Console workspace and conversation UI in #229.
  • @Solaris-star — improved Runner allowed-root handling for stale unrelated roots in #310.

What's Changed

  • Centralize HTTP route metadata by @yyjeqhc in #180
  • Normalize Runner protocol compatibility boundaries by @yyjeqhc in #181
  • Fix draft Release lookup in release verifier by @yyjeqhc in #182
  • Classify Runner capability semantics by @yyjeqhc in #183
  • Reuse exact main CI for release readiness by @yyjeqhc in #184
  • Add resumable release operator flow by @yyjeqhc in #186
  • Migrate Runner capability decisions to canonical semantics by @yyjeqhc in #185
  • Fix Runtime Console bounded project filtering by @yyjeqhc in #187
  • Establish Runner protocol generation baseline by @yyjeqhc in #188
  • Add durable terminal continuation intent by @yyjeqhc in #189
  • Add durable terminal continuation delivery state by @yyjeqhc in #190
  • Improve Runtime Console Session collaboration UX by @yyjeqhc in #191
  • Add durable MCP 2026 Connector Tasks by @yyjeqhc in #192
  • Reconcile canonical closeout evidence by @yyjeqhc in #193
  • Complete apply_text_edits conflict diagnostics by @yyjeqhc in #194
  • Add Session assignment snapshot fence by @yyjeqhc in #195
  • Decompose MCP into focused domains by @yyjeqhc in #196
  • Split canonical RouteSpec metadata by domain by @yyjeqhc in #197
  • Complete canonical RouteSpec coverage for production leaf mounts by @yyjeqhc in #198
  • Canonicalize Workflow Session authority lifecycle by @yyjeqhc in #199
  • Require explicit Workflow Session targeting by @yyjeqhc in #200
  • Add explicit model context recovery and Skill runtime by @yyjeqhc in #201
  • Require assignment-fenced Session completion by @yyjeqhc in #202
  • Add explicit project Memory runtime by @yyjeqhc in #203
  • Canonicalize Runner naming across CLI and internals by @yyjeqhc in #204
  • Harden project Memory state and context authority by @yyjeqhc in #205
  • Fix logical invocation accounting by @yyjeqhc in #206
  • Canonicalize tool authority and MCP projection by @yyjeqhc in #207
  • Make validation assertion identity stable and recoverable by @yyjeqhc in #208
  • Add Project Memory lifecycle and provenance by @yyjeqhc in #209
  • Measure server-durable model ergonomics by @yyjeqhc in #210
  • Expose effective MCP and Server runtime configuration by @yyjeqhc in #211
  • Make project text search pattern semantics predictable by @yyjeqhc in #212
  • Add Windows foreground Server and share tunnel parity by @yyjeqhc in #213
  • Improve short-job waits and model description budgets by @yyjeqhc in #214
  • Simplify unified diff patch application by @yyjeqhc in #215
  • Docs/windows OpenAI tunnel guide by @yyjeqhc in #217
  • Close Linux managed onboarding gaps by @yyjeqhc in #216
  • Add durable Agent identity and conversation foundation by @yyjeqhc in #218
  • Improve Rust LSP cold-start workspace readiness by @yyjeqhc in #219
  • Reframe onboarding around full WebCodex setup by @yyjeqhc in #220
  • Improve first-run CLI readiness guidance by @yyjeqhc in #221
  • Harden managed-user discovery and logout safety by @yyjeqhc in #223
  • Add durable Agent wake foundation by @yyjeqhc in #222
  • Fix Agent wake migration and server takeover safety by @yyjeqhc in #224
  • Close durable communication existence oracles by @yyjeqhc in #225
  • Document durable Agent runtime and asynchronous work by @yyjeqhc in #226
  • Speed up local Rust build iteration by @yyjeqhc in #227
  • Add natural durable Agent conversation flow by @yyjeqhc in #228
  • Redesign Runtime Console workspace and conversation UI by @Xiiiing in #229
  • Add adaptive MCP model surface by @yyjeqhc in #230
  • Make current database schema canonical by @yyjeqhc in #231
  • Canonicalize session ledger persistence compatibility by @yyjeqhc in #232
  • Remove retired public compatibility aliases by @yyjeqhc in #233
  • Retire legacy runtime compatibility paths by @yyjeqhc in #234
  • Improve adaptive runtime tool surface ergonomics by @yyjeqhc in #235
  • Reduce runtime tracing and console overhead by @yyjeqhc in #236
  • Drop generation-2 Runner fallbacks by @yyjeqhc in #237
  • Drop pre-0.4 persisted-state compatibility by @yyjeqhc in #238
  • Orthogonalize runtime tool semantics by @yyjeqhc in #239
  • Converge runtime model specs into ToolDefinition by @yyjeqhc in #240
  • Add scoped exact edit safety fences by @yyjeqhc in #241
  • Add durable AgentTask and fenced TaskAttempt foundation by @yyjeqhc in #242
  • Improve large diff review handoff by @yyjeqhc in #243
  • Advance model context at durable checkpoints by @yyjeqhc in #244
  • Document context checkpoint ACK semantics by @yyjeqhc in #245
  • Bind AgentTask attempts to durable CodingAgent runs by @yyjeqhc in #246
  • Judge closeout from current validation evidence by @yyjeqhc in #247
  • Harden CodingAgent observation monotonicity by @yyjeqhc in #248
  • Derive adaptive runtime admission from ToolDefinition by @yyjeqhc in #249
  • Extract and modularize the Computer runtime by @yyjeqhc in #250
  • Clean up pre-0.4 CLI compatibility surface by @yyjeqhc in #251
  • Simplify pre-0.4 Connector execution contract by @yyjeqhc in #252
  • Separate ProjectConnector from runtime ModelSurface by @yyjeqhc in #253
  • Harden pre-0.4 structured edit boundaries by @yyjeqhc in #254
  • Clean up pre-0.4 runtime compatibility surfaces by @yyjeqhc in #255
  • Add Codex-compatible transactional apply_patch by @yyjeqhc in #256
  • Tighten pre-0.4 runner registration contract by @yyjeqhc in #257
  • Layer model-facing tool results by @yyjeqhc in #258
  • Keep diagnostic execution failures actionable by @yyjeqhc in #259
  • Harden bounded diagnostic trace tooling by @yyjeqhc in #261
  • Make apply_patch the primary model edit path by @yyjeqhc in #260
  • Tighten 0.4 patch and session result contracts by @yyjeqhc in #262
  • Tighten pre-0.4 show_changes and MCP mutation hints by @yyjeqhc in #263
  • Normalize Runner config naming for 0.4 by @yyjeqhc in #264
  • Normalize Runner project registry naming for 0.4 by @yyjeqhc in #265
  • Remove obsolete Server-local project execution by @yyjeqhc in #266
  • Retire managed temporary project lifecycle for 0.4 by @yyjeqhc in #267
  • Separate project registration provenance by @yyjeqhc in #268
  • Improve execution feedback and Runner runtime controls by @yyjeqhc in #270
  • Retire internal StartCodingTask abstraction by @yyjeqhc in #269
  • Fix cross-platform CI portability by @yyjeqhc in #271
  • Refactor runtime boundaries into dedicated crates by @yyjeqhc in #272
  • Close CI coverage gaps by @yyjeqhc in #273
  • Refine Runtime Console disclosure state and hierarchy by @yyjeqhc in #275
  • Extract durable SQLite store crate by @yyjeqhc in #276
  • Reduce Windows CI serialization and harden flaky tests by @yyjeqhc in #274
  • Extract Server-side Runner registry crate by @yyjeqhc in #277
  • Align contract tests with canonical crate ownership by @yyjeqhc in #278
  • Normalize Runner-facing terminology by @yyjeqhc in #280
  • Extract Connector runtime into dedicated crate by @yyjeqhc in #281
  • Improve adaptive tool routing discoverability by @yyjeqhc in #279
  • Normalize Runner transport and protocol terminology by @yyjeqhc in #283
  • Add structured Job activity observation semantics by @yyjeqhc in #282
  • Extract Tool Runtime contracts from the root crate by @yyjeqhc in #284
  • Extract Validation domain into dedicated crate by @yyjeqhc in #285
  • Align Workflow Session observation and test ownership by @yyjeqhc in #286
  • Close post-extraction dependency edges by @yyjeqhc in #287
  • Add Windows-first WebCodex Desktop onboarding by @yyjeqhc in #288
  • Improve apply_patch context mismatch recovery by @yyjeqhc in #289
  • Harden adaptive handoffs and cross-platform tool execution by @yyjeqhc in #290
  • Add bilingual semantic Desktop and regular tunnel by @yyjeqhc in #291
  • Simplify public documentation for 0.4 by @yyjeqhc in #292
  • Improve project creation and Runner reconnect ergonomics by @yyjeqhc in #293
  • Add Windows Desktop release distribution by @yyjeqhc in #294
  • Add Runner-native Tool Plugins by @yyjeqhc in #296
  • Add macOS Desktop release distribution by @yyjeqhc in #295
  • Harden native Plugin lifecycle concurrency by @yyjeqhc in #297
  • Add native Plugin check diagnostics by @yyjeqhc in #298
  • Improve persistent shell model ergonomics by @yyjeqhc in #300
  • Improve patch recovery and owner PR CI ergonomics by @yyjeqhc in #299
  • Harden Desktop operation lifecycle and cancellation by @yyjeqhc in #301
  • Improve native Plugin discovery diagnostics by @yyjeqhc in #302
  • Add managed SSH resource onboarding by @yyjeqhc in #303
  • Enforce workspace DAG boundaries by @yyjeqhc in #304
  • Freeze Native Plugin provider contracts by @yyjeqhc in #305
  • Add path-aware native CI gates by @yyjeqhc in #306
  • Harden Desktop lifecycle deadlines and persistence by @yyjeqhc in #307
  • Govern specialized Plugin and SSH invocations by @yyjeqhc in #308
  • Improve Runtime Console navigation and coding guidance by @yyjeqhc in #309
  • Skip stale unrelated allowed roots in Runner cwd checks by @Solaris-star in #310
  • Align CLI allowed root authority by @yyjeqhc in #311
  • Add safe delete Native Plugin example by @yyjeqhc in #312
  • Harden zero-test validation evidence by @yyjeqhc in #313
  • Add first-class Runner config control by @yyjeqhc in #314
  • Improve apply_patch one-shot matching by @yyjeqhc in #315
  • Make native Plugins gateway-only by @yyjeqhc in #317
  • Improve Runtime Console workspace navigation by @yyjeqhc in #316
  • Separate validation evidence gaps from correctness failures by @yyjeqhc in #318
  • Clarify detached execution lifetime guidance by @yyjeqhc in #319
  • Prepare WebCodex 0.4.0 Desktop release by @yyjeqhc in #320
  • Align release readiness with apply_patch surface by @yyjeqhc in #321
  • Improve tool discovery and routing projections by @yyjeqhc in #322
  • Fix Desktop release artifact staging paths by @yyjeqhc in #323
  • Improve diff review recovery by @yyjeqhc in #324
  • Improve read continuation recovery by @yyjeqhc in #325
  • Compact job observation projection by @yyjeqhc in #326
  • Close adaptive runtime tool surface gaps by @yyjeqhc in #327

New Contributors

Full Changelog: v0.3.9...v0.4.0