Releases: microsoft/webui
Releases · microsoft/webui
v0.0.9
What's Changed
- chore: remove unnecessary
<template shadowrootmode="open">wrappers by @mohamedmansour in #234 - Fix CD pipeline: split stages + git tag-based deployment tracking by @mohamedmansour in #233
- feat: add attribute name mapping for ARIA and HTML global attributes by @janechu in #236
- fix(router): skip startViewTransition for query-only navigations by @mohamedmansour in #239
- feat(router): parse query params and pass to components as attributes by @mohamedmansour in #237
- test(framework): add composed-root-event regression fixture by @mohamedmansour in #238
- fix(handler): Escape non-string JSON values in dynamic HTML attributes by @mohamedmansour in #240
- chore: update rustls-webpki 0.103.10 → 0.103.12 by @janechu in #244
- fix: use quote-aware tag close detection in FAST parser plugin by @janechu in #242
- fix: preserve text content with bindings after void elements by @janechu in #243
- feat: add Router.ensureLoaded() for on-demand component loading by @mohamedmansour in #245
- fix: address ensureLoaded PR review feedback by @mohamedmansour in #247
- chore: bump to 0.0.9 by @mohamedmansour in #246
Full Changelog: v0.0.8...v0.0.9
v0.0.8
What's Changed
- chore: docker to deploy multiple by @mohamedmansour in #219
- fix(test): correct css-module E2E fixture setup and esbuild config by @mohamedmansour in #218
- chore: add React vs WebUI comparison docs by @janechu in #211
- fix(router): replace bloom filter inventory with index-based bitfield by @mohamedmansour in #220
- fix(framework): create shadow root for components with pre-existing slot content by @mohamedmansour in #221
- fix(framework): synchronous DOM flush for view transitions and client created components by @mohamedmansour in #222
- fix(router): remove setInitialState override pattern from SPA navigation by @mohamedmansour in #223
- fix(handler): emit all reachable components on current node by @mohamedmansour in #226
- refactor(tests): replace manual TemplateMeta with pipeline-rendered by @mohamedmansour in #228
- fix: use correct FAST syntax in f-template directive attributes by @janechu in #227
- chore(deps): bump rand from 0.9.2 to 0.9.4 by @dependabot[bot] in #229
- fix(cli): Add bin/webui stub and postinstall binary copy by @mohamedmansour in #232
- chore: bump 0.0.8 by @mohamedmansour in #230
Full Changelog: v0.0.7...v0.0.8
v0.0.7
What's Changed
- perf(handler): consolidate per-component template scripts into single script tag by @mohamedmansour in #209
- feat(commerce): add image proxy, AVIF assets, HTTP/2, and preload optimizations by @mohamedmansour in #208
- fix: add User-Agent header to crates.io deployment check by @janechu in #210
- fix: CssStrategy::Module partial rendering for SPA navigation by @mohamedmansour in #212
- fix: add webui-router to e2e test suite and unify JS package build/test by @mohamedmansour in #213
- fix: only emit components that are needed for css modules at the time of emission by @mohamedmansour in #214
- fix: resolve SSR hydration ordinal drift from structural blocks by @mohamedmansour in #216
- chore: Bump to 0.0.7 by @mohamedmansour in #217
Full Changelog: v0.0.5...v0.0.7
v0.0.6
What's Changed
- perf(handler): consolidate per-component template scripts into single script tag by @mohamedmansour in #209
- feat(commerce): add image proxy, AVIF assets, HTTP/2, and preload optimizations by @mohamedmansour in #208
Full Changelog: v0.0.5...v0.0.6
v0.0.5
What's Changed
- chore: update azure pipelines to use release packages by @janechu in #203
- perf: add image preloading, immutable caching, and compression to commerce by @mohamedmansour in #206
- chore: fix publishing for webui-framework by @mohamedmansour in #207
Full Changelog: v0.0.4...v0.0.5
v0.0.4
What's Changed
- doc: fix scroll to the top when hitting next by @mohamedmansour in #202
- chore: only publish public packages by @mohamedmansour in #204
- chore: bump to 0.0.4 by @mohamedmansour in #205
Full Changelog: v0.0.3...v0.0.4
v0.0.3
What's Changed
- chore: add a check to see if package version exists by @janechu in #142
- chore: harden xtask for port checking by @mohamedmansour in #145
- feat: introduce @microsoft/webui-framework by @mohamedmansour in #146
- refactor: unify plugin architecture for extensibility by @mohamedmansour in #147
- feat: Adds the new WebUI framework plugin end-to-end across everything by @mohamedmansour in #149
- feat: add todo-webui app by @mohamedmansour in #150
- chore: migrate to webui for routes app by @mohamedmansour in #151
- chore: migrate to webui for commerce app by @mohamedmansour in #155
- chore: migrate to webui for contact book manager by @mohamedmansour in #156
- fix: parse handlebars expressions inside style elements by @akroshg in #158
- feat: rewrite framework runtime to compiled-template hydration by @mohamedmansour in #159
- feat: compiled-template hydration with nonce and light DOM support by @mohamedmansour in #160
- feat: router component reuse and app cleanup by @mohamedmansour in #161
- chore: fix e2e tests by @mohamedmansour in #162
- perf: optimize hydration pipeline, flatten metadata, and extract styles by @mohamedmansour in #163
- chore(deps): bump electron from 40.8.0 to 40.8.4 by @dependabot[bot] in #167
- fix(ci): replace flaky choco protoc install with direct GitHub download by @mohamedmansour in #165
- feat: add design token system (Phase 1) by @akroshg in #164
- fix(hydration): eliminate repeat flash with marker-based in-place hydration by @mohamedmansour in #168
- Improve documentation: fill critical gaps identified from blog series by @mcritzjam in #154
- chore: overhaul documentation, AI reference, and Copilot skills by @mohamedmansour in #169
- chore: Replace stringly-typed plugin field with Plugin enum by @mohamedmansour in #170
- chore: fix package build warnings and enable tree-shaking for libraries by @mohamedmansour in #171
- perf(framework): reduce bundle size by 3.3% and cut per-instance allocations by @mohamedmansour in #172
- fix(contact-book-manager): stabilize sidebar group labels after contact edit by @mohamedmansour in #179
- feat(router): support abort signal for rapid navigation by @mohamedmansour in #174
- fix(handler): skip CSS link tags for components without stylesheets by @mohamedmansour in #178
- fix: emit skipped component attrs with static and embedded values by @akroshg in #173
- feat(router): auto-register SSR-only components for SPA navigation by @mohamedmansour in #180
- chore: Revert "feat(router): auto-register SSR-only components for SPA navigation by @mohamedmansour in #184
- chore: Add Docker image and CI workflow for commerce example by @mohamedmansour in #186
- fix(parser): block unsupported DOM complex attributes by @mohamedmansour in #185
- chore: fix docker version in CI by @mohamedmansour in #187
- fix: build framework and router packages before commerce in Docker by @mohamedmansour in #188
- fix(docs): add base path for GitHub Pages deployment by @mohamedmansour in #190
- fix(framework): align template cursor in SSR hydration resolvers for nested blocks by @mohamedmansour in #196
- fix(commerce): harden demo server for public deployment by @mohamedmansour in #189
- chore: bump packages to 0.0.3 by @mohamedmansour in #197
- docs: add Clarity analytics to VitePress head by @mohamedmansour in #199
- fix(ci): prevent apt-get hang in cross-compilation step by @mohamedmansour in #198
- fix: unblock release packaging by @mohamedmansour in #200
New Contributors
- @mcritzjam made their first contribution in #154
Full Changelog: v0.0.2...v0.0.3
v0.0.2
What's Changed
- fix: remove unnecessary git credentials from CD by @janechu in #129
- chore: remove the variables, these are only set in the pipeline by @janechu in #132
- fix(webui): use @microsoft/webui package in integration examples and fix render() signature by @akroshg in #133
- fix: correct repository URL in @microsoft/webui package.json by @akroshg in #136
- docs: add README.md to @microsoft/webui npm package by @akroshg in #138
- chore: add missing metadata needed for publish by @janechu in #139
- chore: add a step for installing the GitHub CLI from an azure pipeline by @janechu in #134
- chore: bump to 0.0.2 by @mohamedmansour in #140
Full Changelog: v0.0.1...v0.0.2
v0.0.1
What's Changed
- chore: add clippy linter and fix lints by @mohamedmansour in #4
- docs: fix some words for handlers by @mohamedmansour in #5
- feat: Use instead of by @mohamedmansour in #6
- docs: update entire doc structure and content by @mohamedmansour in #7
- fix: html parser passes all nested tests by @mohamedmansour in #8
- feat: add component parsing by @mohamedmansour in #20
- Update DESIGN.md to include support for boolean attributes by @shawdi-h in #23
- chore(deps): bump tokio from 1.44.1 to 1.44.2 by @dependabot[bot] in #22
- [Design] Update the DESIGN.md with state management details. by @atulkatti in #25
- Update syntax for boolean attributes in DESIGN.md by @shawdi-h in #26
- chore: upgrade all dependencies to latest versions by @mohamedmansour in #29
- chore: add skills for copilot by @mohamedmansour in #30
- chore: rename streams to fragments by @mohamedmansour in #35
- feat: add webui CLI build tool by @mohamedmansour in #36
- chore: add a simple Rust server for the hello world example by @janechu in #32
- feat: migrate protocol from JSON to Protocol Buffers (protobuf-only) by @mohamedmansour in #37
- chore: add copilot instructions by @mohamedmansour in #39
- refactor: consolidate to single protobuf schema by @mohamedmansour in #40
- feat: support boolean, complex, and template attribute support by @mohamedmansour in #41
- feat: add body signals, empty for handling, and self-closing element support by @mohamedmansour in #42
- fix: docs build step and add it to xtask by @mohamedmansour in #43
- chore: move integration shared files to a shared folder by @janechu in #38
- Render missing signals as empty instead of erroring by @janechu in #44
- chore: add hyper HTTP/2 integration example by @janechu in #45
- chore: add PR conventions skill for title prefixes and issue linking by @janechu in #46
- chore: extract shared render, watcher, and HMR modules by @janechu in #47
- feat: add custom for template, handlebars edge cases, and DOCTYPE support by @mohamedmansour in #48
- feat: component attribute handling and handler state scoping by @mohamedmansour in #49
- chore: harden internal package policy, fix skills, add more xtask runners by @mohamedmansour in #50
- feat: add CssStrategy enum for external and inline css by @mohamedmansour in #51
- feat: add css strategy to webui-cli by @mohamedmansour in #52
- feat: add high-level FFI for Go, C#, and Python interop by @janechu in #53
- feat: add webui-wasm crate by @mohamedmansour in #54
- feat: introduce playground section in docs by @mohamedmansour in #55
- feat: add Node.js napi-rs binding and Express integration by @mohamedmansour in #56
- chore: add error to wasm node by @mohamedmansour in #58
- chore: update project license to apache 2 by @mohamedmansour in #59
- feat: introduce devserver start for webui-cli instead of creating N integration dev servers by @mohamedmansour in #60
- feat: add fast hydration plugin system with parser-handler pipeline by @mohamedmansour in #61
- fix: use src directory for example app builds by @mohamedmansour in #62
- chore: auto-install dev tools and unify terminal styling by @mohamedmansour in #63
- fix: make hydration work correctly with FAST-HTML example by @mohamedmansour in #65
- chore: mit license change by @mohamedmansour in #66
- feat: add comprehensive criterion benchmarks across all core crates by @mohamedmansour in #64
- feat: add SSR performance showdown integration example by @mohamedmansour in #67
- feat: add contact book manager app and Electron integration by @mohamedmansour in #68
- fix: emit hydration comments for bindings when state is missing by @mohamedmansour in #71
- fix: exclude static component attributes from hydration binding count by @mohamedmansour in #72
- feat: add --components flag for external component discovery by @mohamedmansour in #74
- fix(xtask): launch non-exe commands through cmd.exe on Windows by @akroshg in #79
- chore: use css tokens for example apps by @mohamedmansour in #81
- feat: add CSS token hoisting with comment-based signal bindings by @mohamedmansour in #82
- feat: add programmatic API surface and npm package distribution by @mohamedmansour in #83
- feat: redesign the docs page by @mohamedmansour in #84
- feat: add webui-dev skill for webui app development by @mohamedmansour in #85
- feat: add calculator example app with switchable modes by @mohamedmansour in #86
- fix: rename start to serve in example package.json scripts by @akroshg in #88
- feat: add end-to-end benchmark for contact-book-manager app by @akroshg in #89
- feat(routing): add routing documentation and route directive reference by @mohamedmansour in #90
- feat(routing): add route fragment and route registry to schema by @mohamedmansour in #91
- feat(routing): add server-side route matching, rendering, and binding updates by @mohamedmansour in #92
- feat(routing): add @microsoft/webui-router client-side routing package by @mohamedmansour in #93
- perf: optimize handler rendering -- 12x faster at 1,000 contacts by @akroshg in #94
- fix(docs): Playground was not using the right wasm by @mohamedmansour in #96
- feat(xtask): launch start:api process in cargo xtask dev by @mohamedmansour in #95
- fix(routing): the current route component should be loaded for interactivity by @mohamedmansour in #97
- fix(webui-cli): fix the HMR endpoint to refresh by @mohamedmansour in #98
- feat(parser): Add full condition expression support for boolean attributes by @mohamedmansour in #100
- feat(routing): Add routing infra to contact book manager by @mohamedmansour in #99
- perf: make handler render take &self for concurrent throughput by @mohamedmansour in #101
- feat: add Microsoft.WebUI NuGet package and publish command by @mohamedmansour in #102
- fix: add missing dependencies to contact-book-manager example by @akroshg in #103
- chore: add code-review skill and strengthen existing skills by @akroshg in #104
- feat(routing): Preserve query-aware navigation and partial template delivery by @mohamedmansour in #109
- feat(example): Creates the best demo for acme commerce store by @mohamedmansour in #110
- chore: Add license header enforcement to all source files by @Copilot in #112
- chore: Use git ls-files for license header check by @mohamedmansour in #114
- feat(routing): rearchitect routing framework to support nested routes by @mohamedmansour in #113
- fix(routing): fix missing packages for staled packages by @mohamedmansour in #117
- feat: add playwright testing with screenshots by @mohamedmansour in #119
- feat: add CssStrategy::Module for declarative CSS module scripts by @mohamedmansour in #118
- feat(xtask): parallel check, e2e runner, and polished dev mode by @mohamedmansour in #120
- E2E: CI-native Playwright with e2e-approve baseline...