From de29af0a30362c70c42f426e457e8a6d269534b2 Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Mon, 24 Aug 2026 08:39:06 -0400 Subject: [PATCH] docs(changelog): refresh recent product changes --- .claude/skills/changelog/watermark | 2 +- docs/public/changelog/2026-07-24.mdx | 9 ++++--- docs/public/changelog/2026-07-25.mdx | 20 +++++++++++++- docs/public/changelog/2026-07-26.mdx | 11 ++++++++ docs/public/changelog/2026-07-27.mdx | 38 +++++++++++++++++++++++++++ docs/public/changelog/2026-07-28.mdx | 36 +++++++++++++++++++++++++ docs/public/changelog/2026-07-29.mdx | 34 ++++++++++++++++++++++++ docs/public/changelog/2026-07-30.mdx | 22 ++++++++++++++++ docs/public/changelog/2026-07-31.mdx | 39 ++++++++++++++++++++++++++++ docs/public/changelog/2026-08-01.mdx | 26 +++++++++++++++++++ docs/public/changelog/2026-08-03.mdx | 15 +++++++++++ docs/public/changelog/2026-08-04.mdx | 15 +++++++++++ docs/public/changelog/2026-08-05.mdx | 14 ++++++++++ docs/public/changelog/2026-08-06.mdx | 14 ++++++++++ docs/public/changelog/2026-08-12.mdx | 10 +++++++ docs/public/changelog/2026-08-13.mdx | 23 ++++++++++++++++ docs/public/changelog/2026-08-14.mdx | 15 +++++++++++ docs/public/changelog/2026-08-16.mdx | 18 +++++++++++++ docs/public/changelog/2026-08-17.mdx | 16 ++++++++++++ docs/public/changelog/2026-08-18.mdx | 10 +++++++ docs/public/changelog/2026-08-20.mdx | 20 ++++++++++++++ docs/public/changelog/2026-08-21.mdx | 17 ++++++++++++ docs/public/changelog/2026-08-23.mdx | 10 +++++++ docs/public/docs.json | 21 ++++++++++++++- 24 files changed, 449 insertions(+), 6 deletions(-) create mode 100644 docs/public/changelog/2026-07-26.mdx create mode 100644 docs/public/changelog/2026-07-27.mdx create mode 100644 docs/public/changelog/2026-07-28.mdx create mode 100644 docs/public/changelog/2026-07-29.mdx create mode 100644 docs/public/changelog/2026-07-30.mdx create mode 100644 docs/public/changelog/2026-07-31.mdx create mode 100644 docs/public/changelog/2026-08-01.mdx create mode 100644 docs/public/changelog/2026-08-03.mdx create mode 100644 docs/public/changelog/2026-08-04.mdx create mode 100644 docs/public/changelog/2026-08-05.mdx create mode 100644 docs/public/changelog/2026-08-06.mdx create mode 100644 docs/public/changelog/2026-08-12.mdx create mode 100644 docs/public/changelog/2026-08-13.mdx create mode 100644 docs/public/changelog/2026-08-14.mdx create mode 100644 docs/public/changelog/2026-08-16.mdx create mode 100644 docs/public/changelog/2026-08-17.mdx create mode 100644 docs/public/changelog/2026-08-18.mdx create mode 100644 docs/public/changelog/2026-08-20.mdx create mode 100644 docs/public/changelog/2026-08-23.mdx diff --git a/.claude/skills/changelog/watermark b/.claude/skills/changelog/watermark index 343e9427d..f572146a7 100644 --- a/.claude/skills/changelog/watermark +++ b/.claude/skills/changelog/watermark @@ -1 +1 @@ -678e75e2f35ae90e70c4b369f74ec202b168982d +2bf86327c0afbc8a708e02c3fab58981ad53ad60 diff --git a/docs/public/changelog/2026-07-24.mdx b/docs/public/changelog/2026-07-24.mdx index 1326013c6..b4cdf62d0 100644 --- a/docs/public/changelog/2026-07-24.mdx +++ b/docs/public/changelog/2026-07-24.mdx @@ -1,5 +1,5 @@ --- -title: "Shared-checkout parallelism, Fireworks, and resume history" +title: "Shared-checkout parallelism, Fireworks, and agent chat" date: "2026-07-24" --- @@ -34,9 +34,9 @@ Fireworks AI is now an opt-in built-in provider with a curated serverless catalo enabled = true ``` -## Resumed stages keep their history +## Model-native Kimi agents and agent chat -When a run resumes after a node was cancelled or lost mid-flight, the replay now starts a new stage execution such as `work@2` instead of clearing and reusing `work@1`. The earlier execution keeps its events, session, output, timing, billing, and terminal state, and the stage UI links the new execution back to the one it resumed from. +Kimi K3 sessions now use a model-specific agent profile with Kimi Code tool names, descriptions, paging, and TODO behavior. The stage activity view also has a Chat tab that groups prompts, assistant messages, tool calls, and disclosed provider reasoning into a readable conversation. ## More @@ -51,9 +51,12 @@ When a run resumes after a node was cancelled or lost mid-flight, the replay now - Preflight now prefers providers that are actually ready while preserving explicit provider pins and useful diagnostics for unavailable offerings - OpenAI-compatible agent providers now receive compatible file-edit and tool schemas - Large values inside parallel branch results now stay available to fan-in prompts through normal artifact storage +- Agent compaction now preserves history when a summary is empty or exceeds the model's reasoning budget +- Agent tool secrets now reach model-specific profiles, and OpenAI-compatible streaming usage is requested consistently +- Resumed nodes now start a new execution such as `work@2`, preserving the earlier execution's events, output, timing, billing, and terminal state - Added `claude-opus-5` to the first-party Anthropic and optional OpenRouter model catalogs; the `opus` and `claude-opus` aliases now resolve to Opus 5 - Added `gpt-sol`, `gpt-terra`, and `gpt-luna` aliases for GPT-5.6 offerings - Added portable `glm`, `glm52`, `glm5.2`, `deepseek`, and `deepseek-flash` aliases across direct and OpenRouter offerings diff --git a/docs/public/changelog/2026-07-25.mdx b/docs/public/changelog/2026-07-25.mdx index ac5a51239..675176299 100644 --- a/docs/public/changelog/2026-07-25.mdx +++ b/docs/public/changelog/2026-07-25.mdx @@ -1,5 +1,5 @@ --- -title: "Consistent workspace globs" +title: "Consistent workspace globs and model-native agents" date: "2026-07-25" --- @@ -21,3 +21,21 @@ Fabro now compiles workspace globs once and applies them to normalized relative Artifact traversal also uses structured provider metadata for file-size limits and prunes dependency, cache, and build directories before matching. Artifact collection now treats each post-stage workspace state as authoritative instead of relying on modification timestamps. Fabro records the same path and content hash only once per run and captures the path again when its content changes. + +## Model-native Claude 5 and GPT-5.6 agents + +Claude 5 and GPT-5.6 Sol, Terra, and Luna now use profiles that match each model family's preferred tools and instructions. Child agents inherit the same task runtime, so background work and completion notifications behave consistently across profiles. + +## More + + +- Fixed active-time totals for stages that are still running +- Fixed background-agent completion notifications and event delivery +- Fixed Daytona streaming completion and cleanup after failed probes +- Removed the read-before-write guard that could reject valid agent edits + + + +- The stage activity panel now opens on Chat and shows disclosed reasoning in Thread details +- Open browser tabs now report when a newer Fabro web build is available + diff --git a/docs/public/changelog/2026-07-26.mdx b/docs/public/changelog/2026-07-26.mdx new file mode 100644 index 000000000..669bb39f1 --- /dev/null +++ b/docs/public/changelog/2026-07-26.mdx @@ -0,0 +1,11 @@ +--- +title: "Reliable offline validation and child agents" +date: "2026-07-26" +--- + +## More + + +- `fabro validate` now stays offline and no longer requires a server model catalog +- Child agents now share the parent task runtime across every model profile + diff --git a/docs/public/changelog/2026-07-27.mdx b/docs/public/changelog/2026-07-27.mdx new file mode 100644 index 000000000..086227505 --- /dev/null +++ b/docs/public/changelog/2026-07-27.mdx @@ -0,0 +1,38 @@ +--- +title: "Runtime fan-out and live parallel runs" +date: "2026-07-27" +--- + + +**Run configuration no longer reads `{{ env.NAME }}` from the server process.** Replace environment interpolation with `{{ vars.NAME }}` for non-sensitive values or `{{ secrets.NAME }}` for vault-backed values. Hook `allowed_env_vars` was also removed. + + +## Runtime arrays with `for_each` + +Parallel workflows can now create one branch per item in a runtime context array. Each branch receives its item and index, while the fan-in receives the ordered results without merging branch updates into top-level context. + +```dot +batch [shape=component, for_each="context.candidates"] +batch -> reviewer +``` + +## Live parallel status and artifact history + +The run view now shows parallel branches as they start and finish. The artifacts view groups captures by file and shows version history, while stage model popovers report token usage and cost. + +## More + + +- Validation diagnostics now include their suggested fixes + + + +- Command `script` values now interpolate `{{ goal }}`, `{{ inputs.NAME }}`, and `{{ vars.NAME }}` +- A node with `script` now infers the command handler when `shape` and `type` are omitted +- Validation now rejects edge targets that were never declared as nodes + + + +- Pull request publish failures now fail the run instead of leaving a successful terminal state +- Default small-model selection now skips providers that do not offer a small model + diff --git a/docs/public/changelog/2026-07-28.mdx b/docs/public/changelog/2026-07-28.mdx new file mode 100644 index 000000000..1bad21a02 --- /dev/null +++ b/docs/public/changelog/2026-07-28.mdx @@ -0,0 +1,36 @@ +--- +title: "Modal inference and structured review targets" +date: "2026-07-28" +--- + +## Run Kimi K3 through Modal + +Fabro now includes an optional Modal provider for Kimi K3 Shared API and Auto Endpoints. It supports Modal's endpoint URL, two-part proxy-token authentication, model capabilities, and estimated token costs. + +```toml title="settings.toml" +[llm.providers.modal] +enabled = true +base_url = "https://your-endpoint.modal.run/v1" +``` + +## Structured review targets + +Human gates can now present an external document as the primary review link. Set `review_target=true` on the gate and provide a validated `review_target` object in workflow context. + +## More + + +- `fabro run --dry-run` now walks runtime `for_each` fan-out, and fan-out memory is bounded +- Provider-qualified fallback selectors such as `openrouter:kimi-k3` are now supported + + + +- Fixed live parallel branches appearing late or failing to refresh +- Fixed Docker and Daytona runs failing to reactivate stopped or paused sandboxes +- Fixed a pipe character inside a Slack link label being parsed as a table separator +- Fixed structured-output validation so it selects the outermost final JSON object + + + +- Run-side panels now use a shared collapsible layout + diff --git a/docs/public/changelog/2026-07-29.mdx b/docs/public/changelog/2026-07-29.mdx new file mode 100644 index 000000000..cb1eb43c5 --- /dev/null +++ b/docs/public/changelog/2026-07-29.mdx @@ -0,0 +1,34 @@ +--- +title: "Context-fed commands and portable fallbacks" +date: "2026-07-29" +--- + +## Feed workflow context to command input + +Command nodes can now read a flat runtime context value through `stdin_source`. Strings pass through unchanged, while other values use compact JSON, which makes deterministic fan-in commands easier to build. + +```dot +merge [script="python3 scripts/merge.py", stdin_source="context.parallel.results"] +``` + +## Portable model fallback chains + +Fallback chains can now mix bare providers, model aliases, and provider-qualified selectors. Model stylesheets also accept comments, so routing policy can stay readable next to the workflow. + +## More + + +- Raised the `stdin_source` value limit from 10 MiB to 30 MiB for wide fan-in results +- Node class lists now accept whitespace-separated names consistently + + + +- Fixed artifacts from repeated visits to the same stage +- Fixed parent tool hooks not reaching child agent sessions +- Fixed concurrent CLI token refreshes racing across processes +- Fixed command-node inference when legacy attributes are present + + + +- Removed the nonfunctional run agent permissions setting from run configuration and the API schema + diff --git a/docs/public/changelog/2026-07-30.mdx b/docs/public/changelog/2026-07-30.mdx new file mode 100644 index 000000000..8ba8feb2b --- /dev/null +++ b/docs/public/changelog/2026-07-30.mdx @@ -0,0 +1,22 @@ +--- +title: "Model-keyed fallback policies" +date: "2026-07-30" +--- + +## Fallback policy follows the requested model + +You can now define a separate ordered fallback chain for each requested model. Fabro selects the chain once from the original request and does not jump into another model's policy while failing over. + +```toml title="run.toml" +[run.model.fallbacks] +"kimi-k3" = ["moonshot:kimi-k3", "openrouter:kimi-k3", "claude-opus"] +``` + +## More + + +- Forked runs now create a fresh sandbox when they resume +- Stored run events from older Fabro releases remain readable after event schema changes +- Modal reasoning-token usage is now included in billing totals +- Fallback resolution errors now report the underlying unavailable model or provider + diff --git a/docs/public/changelog/2026-07-31.mdx b/docs/public/changelog/2026-07-31.mdx new file mode 100644 index 000000000..aa9b8f878 --- /dev/null +++ b/docs/public/changelog/2026-07-31.mdx @@ -0,0 +1,39 @@ +--- +title: "DeepSeek, reusable subagents, and artifact downloads" +date: "2026-07-31" +--- + + +**The built-in `kimi` provider is now named `moonshot`.** Rename provider pins and `[llm.providers.kimi]` configuration to `moonshot`. Use `MOONSHOT_API_KEY`; `KIMI_API_KEY` remains a legacy credential fallback. + + +## Direct DeepSeek support + +Fabro now has an opt-in direct DeepSeek provider with DeepSeek V4 Flash, model aliases, reasoning-effort controls, and catalog pricing. DeepSeek aliases also work through Fireworks and OpenRouter when those providers are enabled. + +## Reuse completed subagent sessions + +Parent agents can now resume a completed child session instead of starting a new one. The run keeps the child history and continues forwarding its events to the stage view. + +## Download current artifacts as a ZIP + +The artifacts page can now download the latest version of every run artifact in one ZIP archive. The server builds the archive from the current file set and tolerates artifacts that disappear during collection. + +## More + + +- Human-input waits now pause workflow stall timeouts +- Output schemas are now included in agent task instructions + + + +- Fixed stale MCP server processes after Fabro upgrades +- Fixed Bedrock tool identifiers that contain unsupported characters +- Structured-output repair failures now include actionable validation details +- Provider quota errors now enter the correct failover path +- Fixed canceled parallel branch durations + + + +- The steering bar now starts collapsed and expands when you select it + diff --git a/docs/public/changelog/2026-08-01.mdx b/docs/public/changelog/2026-08-01.mdx new file mode 100644 index 000000000..30fe2f2e6 --- /dev/null +++ b/docs/public/changelog/2026-08-01.mdx @@ -0,0 +1,26 @@ +--- +title: "Durable pull request creation" +date: "2026-08-01" +--- + + +**Pull request creation is now asynchronous, and run IDs are server-owned.** `POST /api/v1/runs/{id}/pull_request` now returns `202` with a `PullRequestCreation` record and a `Location` to poll. Remove `run_id` from run manifests and stop using the removed CLI run-ID override; the server always allocates the run ID. + + +## Pull request creation survives restarts + +Explicit pull request creation is now stored before GitHub work begins. The request returns immediately, and you can poll its durable `pending`, `succeeded`, or `failed` state even if the server restarts. + +## More + + +- New `GET /api/v1/runs/{id}/pull_request/creation` endpoint returns the latest explicit pull request request +- Run projections now include the latest `pull_request_creation` state + + + +- Runs now fail when routing bypasses a required goal gate +- Reused child agents continue forwarding events after broadcast lag +- Artifact archives batch storage reads and tolerate files that vanish during download +- Structured-output repair errors now identify unexpected properties in a stable order + diff --git a/docs/public/changelog/2026-08-03.mdx b/docs/public/changelog/2026-08-03.mdx new file mode 100644 index 000000000..44287d169 --- /dev/null +++ b/docs/public/changelog/2026-08-03.mdx @@ -0,0 +1,15 @@ +--- +title: "Leaner run manifests and Qwen3.8 Max" +date: "2026-08-03" +--- + + +**Unused run-manifest fields were removed from the API schema.** `GitContext.push_outcome`, `ManifestGoal.path`, and `ManifestTarget.identifier` are no longer generated in clients. Servers still accept older request bodies that contain these fields. + + +## More + + +- Added Qwen3.8 Max to the optional OpenRouter model catalog +- Agent task reminders now remain consistent when a turn is interrupted + diff --git a/docs/public/changelog/2026-08-04.mdx b/docs/public/changelog/2026-08-04.mdx new file mode 100644 index 000000000..bebd662b3 --- /dev/null +++ b/docs/public/changelog/2026-08-04.mdx @@ -0,0 +1,15 @@ +--- +title: "Faster Daytona edits and Kimi K3 Fast" +date: "2026-08-04" +--- + +## More + + +- Increased the `fabro doctor` server health-check timeout to avoid false failures on slower local servers + + + +- Agent file edits in Daytona now skip an unnecessary folder lookup +- Added Kimi K3 Fast to the optional Fireworks model catalog + diff --git a/docs/public/changelog/2026-08-05.mdx b/docs/public/changelog/2026-08-05.mdx new file mode 100644 index 000000000..89e104fe0 --- /dev/null +++ b/docs/public/changelog/2026-08-05.mdx @@ -0,0 +1,14 @@ +--- +title: "Correct node visit limits" +date: "2026-08-05" +--- + +## More + + +- A node may now execute exactly `max_visits` times before the cycle guard stops the run + + + +- Server diagnostics now stay within the client timeout instead of leaving `fabro doctor` waiting on a late response + diff --git a/docs/public/changelog/2026-08-06.mdx b/docs/public/changelog/2026-08-06.mdx new file mode 100644 index 000000000..4db9a5b75 --- /dev/null +++ b/docs/public/changelog/2026-08-06.mdx @@ -0,0 +1,14 @@ +--- +title: "Run filters and live billing totals" +date: "2026-08-06" +--- + +## Faster run browsing + +The runs list now fills its repository and workflow filters from available runs. Billing totals for active runs also update from live events instead of waiting for the run to finish. + +## More + + +- Event redaction no longer mutates the executable run specification used to resume, retry, or fork a run + diff --git a/docs/public/changelog/2026-08-12.mdx b/docs/public/changelog/2026-08-12.mdx new file mode 100644 index 000000000..b610e472c --- /dev/null +++ b/docs/public/changelog/2026-08-12.mdx @@ -0,0 +1,10 @@ +--- +title: "Safer workflow root paths" +date: "2026-08-12" +--- + +## More + + +- Workflow bundling once again normalizes relative root paths before reading them, rejects `~`-prefixed roots, and prevents `..` segments from resolving through a symlink to a different file + diff --git a/docs/public/changelog/2026-08-13.mdx b/docs/public/changelog/2026-08-13.mdx new file mode 100644 index 000000000..e12848071 --- /dev/null +++ b/docs/public/changelog/2026-08-13.mdx @@ -0,0 +1,23 @@ +--- +title: "Immutable workflow versions" +date: "2026-08-13" +--- + +## Store validated workflow packages by content + +The API can now validate and store an immutable workflow package with its entrypoint, files, and exact child-workflow dependencies. Repeating the same canonical package returns the same SHA-256 workflow version ID. + +```http +POST /api/v1/workflow-versions +``` + +## More + + +- Invalid workflow-version content and missing or non-canonical dependencies return `422` errors +- Workflow version IDs are accepted case-insensitively and returned in canonical lowercase form + + + +- Workflow-version validation now detects file path collisions that were previously hidden by sort order + diff --git a/docs/public/changelog/2026-08-14.mdx b/docs/public/changelog/2026-08-14.mdx new file mode 100644 index 000000000..e2d204c13 --- /dev/null +++ b/docs/public/changelog/2026-08-14.mdx @@ -0,0 +1,15 @@ +--- +title: "Exact workflow lineage" +date: "2026-08-14" +--- + +## More + + +- Run specifications and projections now preserve the exact immutable `workflow_version_id` used at admission +- Workflow-version goals now include and validate the complete closure of child workflow dependencies + + + +- Clone-based sandboxes now verify an admitted exact commit instead of silently using a newer branch head + diff --git a/docs/public/changelog/2026-08-16.mdx b/docs/public/changelog/2026-08-16.mdx new file mode 100644 index 000000000..7933dd3b5 --- /dev/null +++ b/docs/public/changelog/2026-08-16.mdx @@ -0,0 +1,18 @@ +--- +title: "Content-addressed blob hashes" +date: "2026-08-16" +--- + + +**The blob write response field changed from `id` to `hash`.** Regenerate API clients from version `0.2.0` of the OpenAPI spec. Older generated clients fail when the response no longer contains `id`. + + +## More + + +- Blob read routes now name the path parameter `blobHash`, and blob write responses return the SHA-256 value in `hash` + + + +- Run dump hydration now shares a blob cache across JSON and text output + diff --git a/docs/public/changelog/2026-08-17.mdx b/docs/public/changelog/2026-08-17.mdx new file mode 100644 index 000000000..b5a5b0051 --- /dev/null +++ b/docs/public/changelog/2026-08-17.mdx @@ -0,0 +1,16 @@ +--- +title: "Reliable workflow dependency discovery" +date: "2026-08-17" +--- + +## More + + +- SHA-256 blob and workflow-version hashes now use canonical lowercase values across API responses and generated clients + + + +- Template dependencies are now found when their paths overlap workflow discovery roots +- Template discovery errors now identify the source file that introduced the invalid dependency +- File-based workflow-version goals now reject broken transitive includes before a run starts + diff --git a/docs/public/changelog/2026-08-18.mdx b/docs/public/changelog/2026-08-18.mdx new file mode 100644 index 000000000..66f9a129e --- /dev/null +++ b/docs/public/changelog/2026-08-18.mdx @@ -0,0 +1,10 @@ +--- +title: "Fireworks account failover" +date: "2026-08-18" +--- + +## More + + +- Fireworks HTTP `412` account suspension responses now activate configured model fallbacks instead of being treated as invalid requests + diff --git a/docs/public/changelog/2026-08-20.mdx b/docs/public/changelog/2026-08-20.mdx new file mode 100644 index 000000000..f62fa8919 --- /dev/null +++ b/docs/public/changelog/2026-08-20.mdx @@ -0,0 +1,20 @@ +--- +title: "Reliable sandbox pushes and Daytona recovery" +date: "2026-08-20" +--- + +## Git pushes survive token rotation + +Sandbox pushes now use a cached GitHub installation-token source and retry with pinned credentials. Long runs can refresh expired tokens without changing credentials in the middle of one push attempt. + +## More + + +- Daytona activation, start, and stop now wait and retry during provider state transitions +- Clone-based sandboxes now verify exact commits after checkout +- Sandbox state-change conflicts are now treated as transient infrastructure failures + + + +- Daytona sandboxes now default to a 120-minute auto-stop interval; set `auto_stop = "0s"` to disable it + diff --git a/docs/public/changelog/2026-08-21.mdx b/docs/public/changelog/2026-08-21.mdx index 557fe7346..6d1e9ee55 100644 --- a/docs/public/changelog/2026-08-21.mdx +++ b/docs/public/changelog/2026-08-21.mdx @@ -24,3 +24,20 @@ Declaring additional repositories requires `contents = "read"` or `contents = "w The built-in `web_search` tool now supports Venice as an automatic alternative to direct Brave Search. Fabro uses `BRAVE_SEARCH_API_KEY` when present. Otherwise it uses `VENICE_API_KEY` with Venice's Brave search engine. If neither key is present, the tool is not registered. Failed calls do not fall back between providers. See [Venice Search](/integrations/venice-search) and [Brave Search](/integrations/brave-search). + +## More + + +- Docker and Daytona clones now default to 100 commits; set `[run.clone] depth = 0` for full history or a smaller positive depth for a shallower clone + + + +- Runs now fail if durable event persistence is lost instead of continuing with incomplete history +- Venice model responses now include provider-reported top-level costs in billing totals +- Daytona post-clone setup now has a bounded wait + + + +- Large context values moved out of agent prompt preambles now render as concise file references with bounded previews +- Added the Venice built-in model provider catalog and integration guide + diff --git a/docs/public/changelog/2026-08-23.mdx b/docs/public/changelog/2026-08-23.mdx new file mode 100644 index 000000000..7c3053349 --- /dev/null +++ b/docs/public/changelog/2026-08-23.mdx @@ -0,0 +1,10 @@ +--- +title: "More reliable Daytona snapshot activation" +date: "2026-08-23" +--- + +## More + + +- Daytona snapshot activation now allows the provider more time to finish before Fabro reports a timeout + diff --git a/docs/public/docs.json b/docs/public/docs.json index 1082706cb..863662806 100644 --- a/docs/public/docs.json +++ b/docs/public/docs.json @@ -299,13 +299,32 @@ "group": "August 2026", "icon": "clock-rotate-left", "pages": [ - "changelog/2026-08-21" + "changelog/2026-08-23", + "changelog/2026-08-21", + "changelog/2026-08-20", + "changelog/2026-08-18", + "changelog/2026-08-17", + "changelog/2026-08-16", + "changelog/2026-08-14", + "changelog/2026-08-13", + "changelog/2026-08-12", + "changelog/2026-08-06", + "changelog/2026-08-05", + "changelog/2026-08-04", + "changelog/2026-08-03", + "changelog/2026-08-01" ] }, { "group": "July 2026", "icon": "clock-rotate-left", "pages": [ + "changelog/2026-07-31", + "changelog/2026-07-30", + "changelog/2026-07-29", + "changelog/2026-07-28", + "changelog/2026-07-27", + "changelog/2026-07-26", "changelog/2026-07-25", "changelog/2026-07-24", "changelog/2026-07-23",