Skip to content

chore: update v3 release with main #7475

Closed
janechu wants to merge 11 commits into
releases/fast-element-v3from
main
Closed

chore: update v3 release with main #7475
janechu wants to merge 11 commits into
releases/fast-element-v3from
main

Conversation

@janechu
Copy link
Copy Markdown
Collaborator

@janechu janechu commented Apr 22, 2026

Pull Request

📖 Description

Pull the latest updates from main into the release branch.

✅ Checklist

General

  • I have included a change request file using $ npm run change
  • I have added tests for my changes.
  • I have tested my changes.
  • I have updated the project documentation to reflect my changes.
  • I have read the CONTRIBUTING documentation and followed the standards for this project.

janechu and others added 10 commits April 20, 2026 13:25
# Pull Request

## 📖 Description

This change updates the `webui` dependency to 0.0.10.

## 📑 Test Plan

This will allow for us to update our integration tests.

## ✅ Checklist

### General

- [x] I have included a change request file using `$ npm run change`
- [ ] I have added tests for my changes.
- [x] I have tested my changes.
- [ ] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/microsoft/fast/blob/main/CONTRIBUTING.md) documentation and followed the [standards](https://github.com/microsoft/fast/blob/main/CODE_OF_CONDUCT.md#our-standards) for this project.
# Pull Request

## 📖 Description

This change adds an "all" benchmark that includes all other benchmark components to allow for better performance benchmarking against multiple components.

### 🎫 Issues

Further work on #7248

## 👩‍💻 Reviewer Notes

This fills a gap where instead of multiple of the same component being iterated on this is all of the components. This should show more meaningful results for performance checking against things like many different components on a page.

## ✅ Checklist

### General

- [ ] I have included a change request file using `$ npm run change`
- [ ] I have added tests for my changes.
- [x] I have tested my changes.
- [ ] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/microsoft/fast/blob/main/CONTRIBUTING.md) documentation and followed the [standards](https://github.com/microsoft/fast/blob/main/CODE_OF_CONDUCT.md#our-standards) for this project.
…7459)

# Pull Request

## 📖 Description

Moves the private `@microsoft/fast-bench` package from `packages/bench/` to `sites/benchmarks/` to better reflect its role as an internal site/tool rather than a publishable package. Also simplifies the root `package.json` workspaces by using glob patterns (`sites/*`, `examples/*`) instead of listing each workspace explicitly.

**Changes:**
- Move `packages/bench/` → `sites/benchmarks/` via `git mv`
- Update root `package.json` workspaces to use `sites/*` and `examples/*` globs
- Update `copilot-instructions.md` to reflect new location
- Update `README.md` folder path reference
- Regenerate `package-lock.json`

## 📑 Test Plan

- All existing tests pass — the bench package is private with no dependents
- `npm run checkchange` confirms no change files are needed (private package excluded from beachball scope)
- Workspace resolution verified via `npm ls`

## ✅ Checklist

### General

- [x] I have included a change request file using `$ npm run change`
- [ ] I have added tests for my changes.
- [x] I have tested my changes.
- [x] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/microsoft/fast/blob/main/CONTRIBUTING.md) documentation and followed the [standards](https://github.com/microsoft/fast/blob/main/CODE_OF_CONDUCT.md#our-standards) for this project.
# Pull Request

## 📖 Description

As the `@microsoft/fast-element` package moves towards a declarative templating solution, the `@microsoft/fast-ssr` is being removed. We have posted and published a deprecation notice with a project that will fill this gap.

## 👩‍💻 Reviewer Notes

This is a simple removal.

## ✅ Checklist

### General

- [x] I have included a change request file using `$ npm run change`
- [ ] I have added tests for my changes.
- [x] I have tested my changes.
- [x] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/microsoft/fast/blob/main/CONTRIBUTING.md) documentation and followed the [standards](https://github.com/microsoft/fast/blob/main/CODE_OF_CONDUCT.md#our-standards) for this project.
# Pull Request

## 📖 Description

Adds a `properties` key to the `ObserverMapConfig` interface in `@microsoft/fast-html` so that developers can opt specific root properties and nested sub-paths in or out of automatic observer-map observation, rather than the current all-or-nothing approach.

Each path entry can be:
- **`true`** — observe this path and all descendants
- **`false`** — skip this path and all descendants
- **`ObserverMapPathNode`** — an object with optional `$observe` boolean and child overrides, enabling alternating opt-in/opt-out to arbitrary depth

When `properties` is omitted (`observerMap: {}` or `observerMap: "all"`), current behavior is preserved. When `properties` is present but empty (`{ properties: {} }`), no root properties are observed.

### 🎫 Issues

- Resolves #7445

## 👩‍💻 Reviewer Notes

Key areas to review:
- **`observer-map.ts`**: New `hasObservedPath` helper and config filtering logic in `defineProperties()`
- **`utilities.ts`**: Config threading through the proxy system (`assignObservables`, `assignProxyToItemsInObject`, `assignProxy`), particularly the `set` trap changes that skip notification for excluded properties
- **`template.ts`**: New types (`ObserverMapPathEntry`, `ObserverMapPathNode`) and config extraction for `ObserverMap` constructor

## 📑 Test Plan

- All 289 existing + new Chromium tests pass
- New unit tests in `observer-map.spec.ts` covering:
  - Skipping unlisted root properties
  - Skipping `false` root properties
  - Observe-all with empty config (`{}`)
  - Observe-nothing with empty properties (`{ properties: {} }`)
- New fixture tests in `observer-map-properties/` covering:
  - Selective root property observation
  - Excluded subtrees (`false`)
  - Re-included leaf within `$observe: false` branch
  - Unlisted root properties remaining unobserved
  - Array observation with selective config
  - Empty config object backward compatibility

## ✅ Checklist

### General

- [x] I have included a change request file using `$ npm run change`
- [x] I have added tests for my changes.
- [x] I have tested my changes.
- [x] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/microsoft/fast/blob/main/CONTRIBUTING.md) documentation and followed the [standards](https://github.com/microsoft/fast/blob/main/CODE_OF_CONDUCT.md#our-standards) for this project.
# Pull Request

## 📖 Description

Adds a contributor-oriented `DESIGN.md` architecture document for the `@microsoft/fast-test-harness` package. This document describes the internal architecture of the test harness, covering:

- High-level overview of CSR and SSR rendering modes
- Module map and package structure
- Fixture system (`CSRFixture`, `SSRFixture`, fixture options)
- Custom Playwright assertions (`toHaveCustomState`)
- Express + Vite server architecture and request flows
- Consumer-owned SSR contract (required test directory files)
- SSR rendering utilities and DSD template processing
- Asset resolution helpers
- Shared Playwright and Vite configuration

## 👩‍💻 Reviewer Notes

This is a documentation-only change. The `DESIGN.md` follows the same structure and conventions as the existing `DESIGN.md` files in `packages/fast-build`, `packages/fast-element`, `packages/fast-html`, and `crates/microsoft-fast-build`.

## 📑 Test Plan

Documentation-only change — no code changes. All existing tests continue to pass.

## ✅ Checklist

### General

- [ ] I have included a change request file using `$ npm run change`
- [ ] I have added tests for my changes.
- [ ] I have tested my changes.
- [x] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/microsoft/fast/blob/main/CONTRIBUTING.md) documentation and followed the [standards](https://github.com/microsoft/fast/blob/main/CODE_OF_CONDUCT.md#our-standards) for this project.
…derstanding of the project (#7468)

# Pull Request

## 📖 Description

This change updates skills and instructions for AI to better understand the project and update it when making changes.

## ✅ Checklist

### General

- [ ] I have included a change request file using `$ npm run change`
- [ ] I have added tests for my changes.
- [x] I have tested my changes.
- [x] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/microsoft/fast/blob/main/CONTRIBUTING.md) documentation and followed the [standards](https://github.com/microsoft/fast/blob/main/CODE_OF_CONDUCT.md#our-standards) for this project.
…ng (#7473)

# Pull Request

## 📖 Description

Replace `rollup-plugin-filesize` with an esbuild-based bundle size measurement script. The new script (`packages/fast-element/scripts/measure-sizes.js`) measures minified, gzip, and brotli sizes for the core bundle and 13 individually tree-shaken exports (FASTElement, Updates, Observable, observable, attr, children, css, ref, slotted, volatile, when, html, repeat). Results are saved to `SIZES.md` and surfaced on the documentation site as a new Package Sizes page under Resources.

### 🎫 Issues

* Resolves #7249

## 👩‍💻 Reviewer Notes

The `generate-docs.cjs` prebuild script copies `SIZES.md` from the fast-element package and wraps it with 11ty frontmatter to create the docs page. The introduction page now links to the Package Sizes page instead of hardcoding size numbers.

## 📑 Test Plan

All existing tests pass. Build produces `SIZES.md` with correct size data and the website builds the new package-sizes page successfully.

## ✅ Checklist

### General

- [x] I have included a change request file using `$ npm run change`
- [ ] I have added tests for my changes.
- [x] I have tested my changes.
- [x] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/microsoft/fast/blob/main/CONTRIBUTING.md) documentation and followed the [standards](https://github.com/microsoft/fast/blob/main/CODE_OF_CONDUCT.md#our-standards) for this project.

## ⏭ Next Steps

* Investigate reducing size due to the use of `requestIdleCallback` (per issue #7249)
* Consider adding type exports to the size tracking (per issue #7249, under consideration)
@janechu janechu added the fast-element-v3 Pertains to fast-element-v3 label Apr 22, 2026
# Pull Request

## 📖 Description

The GitHub pages deploy pipeline uses NodeJS version 20 which fails on scripts that use globSync, this change updates to version 22 with separate actions to pin the version.

## ✅ Checklist

### General

- [ ] I have included a change request file using `$ npm run change`
- [ ] I have added tests for my changes.
- [x] I have tested my changes.
- [ ] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/microsoft/fast/blob/main/CONTRIBUTING.md) documentation and followed the [standards](https://github.com/microsoft/fast/blob/main/CODE_OF_CONDUCT.md#our-standards) for this project.

## ⏭ Next Steps

- Deploy GitHub pages
@janechu
Copy link
Copy Markdown
Collaborator Author

janechu commented Apr 22, 2026

Closing in favor of a new PR from patch-release-to-latest branch with merge conflicts resolved.

@janechu janechu closed this Apr 22, 2026
@janechu janechu mentioned this pull request Apr 22, 2026
5 tasks
janechu added a commit that referenced this pull request Apr 22, 2026
# Pull Request

## 📖 Description

Pull the latest updates from `main` into the release branch. Replaces #7475 with merge conflicts resolved.

## ✅ Checklist

### General

- [ ] I have included a change request file using `$ npm run change`
- [ ] I have added tests for my changes.
- [ ] I have tested my changes.
- [ ] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/microsoft/fast/blob/main/CONTRIBUTING.md) documentation and followed the [standards](https://github.com/microsoft/fast/blob/main/CODE_OF_CONDUCT.md#our-standards) for this project.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fast-element-v3 Pertains to fast-element-v3

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant