Skip to content

Merge release/1.7.8 into trunk - #3070

Merged
katinthehatsite merged 34 commits into
trunkfrom
merge/release-1.7.8-into-trunk
Apr 13, 2026
Merged

Merge release/1.7.8 into trunk#3070
katinthehatsite merged 34 commits into
trunkfrom
merge/release-1.7.8-into-trunk

Conversation

@wpmobilebot

Copy link
Copy Markdown
Collaborator

Merging release/1.7.8 into trunk.

Via intermediate branch merge/release-1.7.8-into-trunk, to help fix conflicts if any:

                           release/1.7.8  ----o-- - - -
                                               \
          merge/release-1.7.8-into-trunk        `---.
                                                     \
                                   trunk  ------------x- - -
wpmobilebot and others added 29 commits April 9, 2026 04:42
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* Moved the `code` command registration in `apps/cli/index.ts` so that top-level CLI commands appear in alphabetical order
* Strip bloated plan.features from wpcom_request responses

The WP.com /sites/{id} endpoint returns a plan object whose features
sub-field alone is 60K+ characters, pushing the total response past
Claude Code's ~100K character MCP tool result limit. The agent only
needs product_slug, is_free, and expired to gate features, since the
system prompt hardcodes what each plan tier can and can't do. Strip
plan.features and keep only essential plan properties.

* Also compact large array responses by stripping content and _links

List endpoints like GET /templates can return 80K+ chars of block markup.
Strip content and _links from array items when the response exceeds 80K
chars — the agent can still identify items by slug/title and fetch
individual ones for full content.

* Add _fields prompt guidance and scope plan compaction as special case

Add system prompt hint instructing the agent to use _fields on wp/v2
listing endpoints to minimize response sizes. Scope compactResponse()
to only handle plan.features stripping with a clear comment that this
is a special case (the API doesn't support sub-field filtering). Remove
the generic array compaction in favor of prompt-driven field selection.

* Add fields guidance for v1.1, rename stripOversizedFields

Update system prompt to instruct the agent to use fields (v1.1) and
_fields (wp/v2) to minimize response sizes, always including ID for
v1.1 requests. Rename compactResponse to stripOversizedFields for
clarity.

* Remove indentation in JSON to save tokens
Co-authored-by: Kateryna Kodonenko <kateryna@automattic.com>
* Filter out deprecated warnings from fatal errors

* Ensure our error filtering approach is consistent with CLI

* Apply changes to default exporter

* Fix unit tests

---------

Co-authored-by: Kateryna Kodonenko <kateryna@automattic.com>
* Ensure startAiAgent() checks whether ~/Studio exists before launching the Claude SDK.
node exceeds the maximum length the compiler will serialize. An explicit
type annotation is needed. (ts 7056)
* Update Sync and Preview illustrations with dark mode support and dot grid background

Rebuild the Sync tab illustration SVG with proper light/dark mode color switching.
Update the Preview tab browser chrome to use light colors in light mode.
Add an interactive DotGrid canvas component behind both illustrations with a
radial gradient mask for a clean fade effect.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Extract IllustrationGrid wrapper, use CSS tokens in SVGs, add tests

- Extract shared IllustrationGrid component (DotGrid + radial mask)
  used by both Sync and Preview tabs
- Replace hardcoded SVG colors with CSS custom properties
  (--color-frame-surface, --color-frame-bg, etc.) so illustrations
  adapt automatically to theme changes
- Scope SVG class names with short prefixes (sti-, sds-) to avoid
  collisions
- Add basic tests for DotGrid and IllustrationGrid components

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Mock DotGrid in sync tests to fix canvas error in jsdom

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Respect prefers-reduced-motion in DotGrid

When reduced motion is preferred, render a static grid with no intro
animation, hover repulsion, or click ripples. Mouse event listeners
are not attached at all. The grid still responds to resize and color
scheme changes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Keep WP logo white in dark mode on blue browser, dedup resize logic

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Solve for strange sidebars

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: katinthehatsite <katerynakodonenko@gmail.com>
Co-authored-by: Kateryna Kodonenko <kateryna@automattic.com>
…3050)

* CLI: upgrade archiver to v7 to fix glob and inflight deprecation warnings

archiver@6 → archiver@7 pulls in archiver-utils@5 which uses glob@10
instead of glob@8, eliminating the glob and inflight deprecation warnings.

@types/archiver@7 dropped followSymlinks from CoreOptions (it's still
supported at runtime), so cast ArchiverOptions at call sites instead of
patching node_modules. Also fixes the broken ProgressData named import
which doesn't work with the export= module style in @types/archiver@7.

* Studio: upgrade archiver to v7, drop @types/archiver patch

Consistent with the CLI upgrade. Drops the @types+archiver+6.0.4 patch
in favour of the same cast-based approach used in apps/cli.

* Studio: remove obsolete archiver@6 runtime patch
The info icons next to the push progress bar had no fill color class,
defaulting to black which is invisible on the dark background. Add
fill-frame-text-secondary to match the existing offline icon style.
* Update CLI README

* Tweaks

* More tweaks

* Tweak

* Wider
* Enforce minimum node version in the CLI

* Tweaks

* Allow translations to load first
- Add a new "Studio Code" section to the CLI README introducing the AI agent feature
- Update the table of contents with a link to the new section
- Clarify existing AI agent integration bullet point to distinguish from Studio Code
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* Track more CLI bump stats

- Monthly active users
- First launch
- Total launches
- Site creation

* Fix global definitions

* Fix types

* __ENABLE_CLI_TELEMETRY__
…3028)

* Fix error/load race condition for site screenshots

* Revert styling changes

* Stop capturing screenshots on every UPDATED site-event
@wpmobilebot wpmobilebot added the Releases For anything related to the release process label Apr 13, 2026
@wpmobilebot wpmobilebot added the Releases For anything related to the release process label Apr 13, 2026
@wpmobilebot

wpmobilebot commented Apr 13, 2026

Copy link
Copy Markdown
Collaborator Author

📊 Performance Test Results

Comparing 58152eb vs trunk

app-size

Metric trunk 58152eb Diff Change
App Size (Mac) 1286.16 MB 1286.17 MB +0.00 MB ⚪ 0.0%

site-editor

Metric trunk 58152eb Diff Change
load 1898 ms 1603 ms 295 ms 🟢 -15.5%

site-startup

Metric trunk 58152eb Diff Change
siteCreation 9110 ms 9107 ms 3 ms ⚪ 0.0%
siteStartup 4945 ms 4947 ms +2 ms ⚪ 0.0%

Results are median values from multiple test runs.

Legend: 🟢 Improvement (faster) | 🔴 Regression (slower) | ⚪ No change (<50ms diff)

epeicher and others added 5 commits April 13, 2026 11:24
The @types/archiver patches added followSymlinks to CoreOptions, but
this is unnecessary — ARCHIVER_OPTIONS in constants.ts uses plain object
inference so followSymlinks is never checked against CoreOptions. The CLI
patch also broke CI because install:bundle uses --omit=dev, meaning
@types/archiver is absent when patch-package runs.
The @types/archiver patches added followSymlinks to CoreOptions, but
@types/archiver@7 dropped followSymlinks from CoreOptions (it's still
supported at runtime). The CLI patch also broke CI because install:bundle
uses --omit=dev, meaning @types/archiver is absent when patch-package
runs. Restore the `as archiver.ArchiverOptions` casts at call sites.
@katinthehatsite
katinthehatsite merged commit 1cb5dc0 into trunk Apr 13, 2026
10 checks passed
@katinthehatsite
katinthehatsite deleted the merge/release-1.7.8-into-trunk branch April 13, 2026 10:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Releases For anything related to the release process