Skip to content

Merge release/1.7.8 into trunk#3075

Merged
katinthehatsite merged 36 commits intotrunkfrom
merge/release-1.7.8-into-trunk
Apr 13, 2026
Merged

Merge release/1.7.8 into trunk#3075
katinthehatsite merged 36 commits intotrunkfrom
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 30 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
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.
epeicher and others added 5 commits April 13, 2026 11:17
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.
@wpmobilebot wpmobilebot added the Releases For anything related to the release process label Apr 13, 2026
@wpmobilebot
Copy link
Copy Markdown
Collaborator Author

wpmobilebot commented Apr 13, 2026

📊 Performance Test Results

Comparing d674e52 vs trunk

app-size

Metric trunk d674e52 Diff Change
App Size (Mac) 1286.18 MB 1286.18 MB 0.00 MB ⚪ 0.0%

site-editor

Metric trunk d674e52 Diff Change
load 1601 ms 1879 ms +278 ms 🔴 17.4%

site-startup

Metric trunk d674e52 Diff Change
siteCreation 8142 ms 8167 ms +25 ms ⚪ 0.0%
siteStartup 4205 ms 4310 ms +105 ms 🔴 2.5%

Results are median values from multiple test runs.

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

@katinthehatsite katinthehatsite merged commit 4974e42 into trunk Apr 13, 2026
10 checks passed
@katinthehatsite katinthehatsite deleted the merge/release-1.7.8-into-trunk branch April 13, 2026 18:07
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.