Skip to content

Latest commit

 

History

History
843 lines (467 loc) · 62.8 KB

CHANGELOG.md

File metadata and controls

843 lines (467 loc) · 62.8 KB

☕️ 3.0.0-alpha.0 (2022-11-28)

Bug Fixes

  • compiler: fix 'destroy' callback naming (#3289) (b733e79)
  • declarations: correct event handler names for composition events (#3777) (4d6a842)
  • runtime: type autocapitalize property as a string (#3692) (2cec0a6)
  • runtime: narrow onInput & onCapture event type (#3135) (8316a62)

Features

  • api remove sys parameter from parseFlags public API (#3489 (b5db83c))
  • cli: update configuration flag defaults for V3 (#3502) (7241968)
  • compiler: export custom types in compiled output (#3710) (e52489e)
  • compiler remove deprecated assetsDir field (#3341) (eb61f89)
  • node: drop node 12 support (#3302) (72779d9)
  • output_targets: remove legacy angular target (#3493) (62bacc8)
  • output_targets: remove dist-custom-elements-bundle (#3579) (3c97c0f)
  • output_targets: add CustomElementExportBehavior to dist-custom-elements (#3562) (c9a9366)
  • output_targets: add defineCustomElements method & signature typedef to dist-custom-elements (#3619) (7521e17)
  • output_targets: moves autoDefineCustomElements to an export behavior for dist-custom-elements (#3615) (6b60ef3)
  • testing: puppeteer v10 support (#2934) (0c09aaa)
  • testing: update puppeteer supported version ranges (#3321) (81ab42f)

BREAKING CHANGES

See BREAKING_CHANGES.md - v3.0.0 for a comprehensive list of breaking changes.

See the v3.0.0 Migration Guide for a guide to migrate to Stencil v3.0.0.

🎈 2.22.2 (2023-01-23)

Bug Fixes

  • runtime: workaround for performance slowing in Chrome 109 (#3995) (6544422)

✈️ 2.22.1 (2023-01-17)

Note

v2.22.0 was never published to NPM, nor GitHub. The team had originally intended to release v2.22.0 on 2023.01.17. However, the publish attempt occurred during an NPM outage (unbeknown to the team). The result of this outage left the package 'marked' as published, although the publish did not succeed. v2.22.1 is identical to the version that the Stencil team originally intended to release as v2.22.0.

Features

🍟 2.21.0 (2023-01-04)

Features

  • compiler: copy doc block from component to generated types (#3525) (2e4b1fc)
  • typescript: add support for typescript 4.9 (#3863) (542c46a)

Thanks

🎉 Thanks for @jgroth for their contributions! 🎉

🍁 2.20.0 (2022-12-05)

Bug Fixes

  • cli: ensure that argument order is correct for Jest (#3827) (eb44060)

Features

Thanks

🎉 Thanks for @PengBoUESTC for their contributions! 🎉

🌏 2.19.3 (2022-11-15)

Bug Fixes

Thanks

🎉 Thanks for @PengBoUESTC and @boahc077 for their contributions! 🎉

🍋 2.19.2 (2022-10-27)

Bug Fixes

  • compiler: account for an existing constructor in convert-decorators (#3776) (7c92dbf), closes #3773

🌵 2.19.2-0 (2022-10-27)

Bug Fixes

  • compiler: account for an existing constructor in convert-decorators (#3776) (7c92dbf), closes #3773

📻 2.19.1 (2022-10-26)

Bug Fixes

🐺 2.19.1-0 (2022-10-25)

Bug Fixes

💾 2.19.0 (2022-10-24)

Bug Fixes

  • cli: "Browserslist: caniuse-lite is outdated" spams output when buildEs5 is truthy (#3649) (d30cf58)
  • compiler: update handling of decorators to support emitting ES2022+ (#3614) (f977830)
  • jest: adjust conversion of CLI args to Jest args (#3730) (5b76a0a), closes #3724

Features

😛 2.18.1 (2022-10-03)

Bug Fixes

  • cli: typo in telemetry command (#3602) (3013f5e)
  • logger: fix possibly-null property access in logger-typescript.ts (#3627) (49ead11), partially fixes #3443

🔥 2.18.0 (2022-09-12)

Bug Fixes

Features

  • loader: add private field to loader's package.json (#3566) (fc8efb3)
  • typescript: add support for typescript v4.7 (#3530) (1226e56)

🐞 2.17.4 (2022-08-22)

Bug Fixes

🌭 2.17.3 (2022-08-02)

Bug Fixes

🍤 2.17.2 (2022-08-01)

Bug Fixes

  • cli: fix bug with parsing --fooBar=baz type CLI flags (#3483) (65f5275), closes #3471 #3481
  • cli: remove usage of deprecated npm env var from arg parser (#3486) (22d9858), closes #3482
  • compiler: fix typedef file generated for dist-custom-elements (#3468) (854d498)
  • compiler: update package.json validation for the 'module' field (#3475) (47c4ccb)
  • mock-doc: add missing methods to the element mock (#3480) (835e00f)

Features

  • mock-doc: dispatch blur and focus events (#3449) (15520b7)

🏜 2.17.2-0 (2022-07-19)

Bug Fixes

  • compiler: fix typedef file generated for dist-custom-elements (#3468) (854d498)

Features

  • mock-doc: dispatch blur and focus events (#3449) (15520b7)

😊 2.17.1 (2022-07-11)

Bug Fixes

  • cli: add explicit support for Jest CLI arguments (#3444) (700b3a9)
  • compiler: handle null window.location.origin (#2813) (255cd66)
  • styles: ensure styles are applied before paint (#3452) (c47cec6)

🚂 2.17.0 (2022-06-21)

Features

  • compiler: export all built components from index.js w/ dist-custom-elements (ff0e8cc), closes #3368
  • compiler: update generation of type declaration file w/ dist-custom-elements (9d3bf15), closes #3368
  • mock-doc: add matrix and tspan props for svgelement (#3408) (d3b93c1)
  • telemetry: add stencil config to telemetry object (#3401) (9fe3f15)

🎻 2.16.1 (2022-06-03)

Bug Fixes

  • config: fix faulty build output w/ --esm flag (#3404) (a847a6e)

🌸 2.16.1-0 (2022-06-03)

Bug Fixes

  • config: fix faulty build output w/ --esm flag (#3404) (a847a6e)

🎉 2.16.0 (2022-05-31)

Bug Fixes

  • bundler: prevent vite bundling errors in downstream projects (#3349) (4c8d8c0)
  • compiler: prevent double full builds (#3374) (267e3dd)
  • mock-doc: handle children in contains() (#3363) (2f8a6c0)

Features

  • compiler: generate component custom event types with HTML target (#3296) (846740f)

🎢 2.15.2 (2022-05-09)

Bug Fixes

  • cli: don't generate files if they would overwrite existing code (#3326) (9fc3a44)
  • sys: make NodeLazyRequire complain if package versions aren't right (#3346) (b7adc33)
  • sys: tweak NodeLazyRequire logic around too-high-versions errors (#3347) (9bfef1a)
  • types: components.d.ts type resolution for duplicate types (#3337) (31eae6e)

🐼 2.15.1 (2022-04-18)

Bug Fixes

  • mock-doc: Add missing DOMParser stub to MockWindow (#3279) (f88fb2e)
  • tests: ensure jest respects passed flags (#3329) (c6a1d42)

2.15.0 (2022-03-28)

Bug Fixes

😃 2.14.2 (2022-03-10)

Bug Fixes

Features

  • node: add warning of future node support (#3271) (11e174e)

🐦 2.14.1 (2022-03-07)

Bug Fixes

  • bundling: allow proper webpack treeshaking (#3248) (5dccc85)
  • renderer: prevent infinite loops for NaN (#3254) (e2d4e16)
  • testing: don't run tests against non-test files (#3237) (c6fda39)

💫 2.14.0 (2022-02-14)

Features

🍣 2.13.0 (2022-01-24)

Features

🍔 2.12.1 (2022-01-04)

Bug Fixes

  • vdom: properly warn for step attr on input (#3196) (7ffc02e)

Features

  • typings: add optional key and ref to slot elements (#3177) (ce27a18)

Reverts

2.12.0 (2021-12-13)

Bug Fixes

  • cli: wait for help task to finish before exiting (#3160) (f10cee1)
  • mock-doc: make Node.contains() return true for self (#3150) (f164407)
  • mock-doc: allow urls as css values (#2857) (6faa5f2)
  • sourcemaps: do not encode inline sourcemaps (#3163) (b2eb083), closes #3147

Features

  • dist-custom-elements-bundle: add deprecation warning (#3167) (c7b07c6)

🐌 2.11.0 (2021-11-22)

Bug Fixes

Features

  • css: account for escaped ':' in css selectors (#3087) (6000681)

🚟 2.11.0-0 (2021-11-09)

Bug Fixes

Features

  • css: account for escaped ':' in css selectors (#3087) (6000681)

🦁 2.10.0 (2021-11-01)

Bug Fixes

  • compiler: add delegatesFocus to custom elements targets (#3117) (2ffb503)
  • runtime: prevent unnecessary re-renders when reflecting props (#3106) (63dbb47)

Features

🚙 2.9.0 (2021-10-11)

Bug Fixes

  • docs: fix docs generation for method return values (#3064) (dc2f6fb)
  • output-targets: restore stats output target (#3030) (c76dca7)
  • preamble: restore preamble functionality (#3085) (39caa8c)
  • test: attempt to fix flaky prerender test (#3095) (16b8ea4)

Features

  • compiler: consumer sourcemap support (#3005) (bb3bf90)
  • deno: remove deno from codebase (#3067) (037b228)
  • dist-custom-elements: automatically import and define dependencies (#3039) (6987e43)
  • mock-doc: add pathname to mock anchors (#3090) (99428c7)
  • telemetry: adding yarn 1 support, sanitizing data pre-flight (#3082) (07f69cb)

⚡️ 2.9.0-0 (2021-10-05)

Bug Fixes

  • docs: fix docs generation for method return values (#3064) (dc2f6fb)
  • output-targets: restore stats output target (#3030) (c76dca7)
  • preamble: restore preamble functionality (#3085) (39caa8c)

Features

  • dist-custom-elements: automatically import and define dependencies (#3039) (6987e43)
  • telemetry: adding yarn 1 support, sanitizing data pre-flight (#3082) (07f69cb)

🐱 2.8.1 (2021-09-15)

Bug Fixes

  • runtime: textContent for scoped components with slots (#3047) (9fc7657)

🎲 2.8.0 (2021-09-01)

Bug Fixes

  • types: add referrerPolicy to AnchorHTMLAttributes (#3006) (4f7c073)
  • docs: update app-es5-disabled.ts message (#2993) (4f7c073)

Features

  • compiler: allow disabling the injected hydration stylesheet (#2989) (a3d2928)

🐔 2.7.1 (2021-08-24)

Bug Fixes

  • ci: vendor deno for builds (#3020) (6d8a61d)
  • compiler: solve issue where worker thread didn't have access to fetch (#3012) (925d4e9)
  • telemetry: handle malformed telemetry tokens (#3014) (ff75a47)

2.7.1-0 (2021-08-24)

Bug Fixes

  • ci: vendor deno for builds (#3020) (6d8a61d)
  • compiler: solve issue where worker thread didn't have access to fetch (#3012) (925d4e9)
  • telemetry: handle malformed telemetry tokens (#3014) (ff75a47)

🌟 2.7.0 (2021-08-19)

Bug Fixes

  • dev-server: allow file change events to pass through (#3001) (b84dd11)
  • dev-server: allow web server to be run in Docker (#2973) (42cdeae)
  • dev-server: prevent crash with Safari 15 (ed173cd)
  • runtime: prevent watchers from prematurely firing in custom elements build (#2971) (8c375bd)
  • runtime: prevent shadowing on non-upgraded components (#2949) (afbd129)
  • testing: puppeteer v10 support (#2939) (09afd3f)

Features

  • cli: add telemetry and cli features (#2964) (1381cc7)
  • cli: writing and reading the ionic config file (#2963) (f981812)

🕹 2.7.0-0 (2021-07-07)

Bug Fixes

  • runtime: prevent shadowing on non-upgraded components (#2949) (afbd129)
  • testing: puppeteer v10 support (#2939) (09afd3f)

📟 2.6.0 (2021-06-02)

Features

  • platform: add setPlatformHelpers() api (f09abe6)

🛥 2.5.2 (2021-03-30)

Bug Fixes

🐭 2.5.1 (2021-03-25)

Bug Fixes

🎠 2.5.0 (2021-03-22)

Features

  • dev-server: provide custom request listener (eec7651)
  • typescript: update to typescript 4.2.3 (50d4afb)
  • rollup: update to rollup 2.42.3 (0af5d6a)
  • terser: update to terser 5.6.1 (3a480f5)
  • autoprefixer: update to autoprefixer 10.2.5 and postcss 8.2.8 (9c6f8d5)
  • sizzle: update to sizzle 2.3.6 (4f94a13)
  • graceful-fs: update to graceful-fs 4.2.6 (c15ba1c)
  • mime-db: update to mime-db 1.46.0 (27db7ae)
  • open: update to open 8.0.4 (0208698)

Bug Fixes

  • mock-doc: set document.dir property from document.documentElement (9a65494)

📷 2.4.0 (2021-01-28)

Features

  • custom-elements: enable dist-custom-elements output (fc70564)
  • output: includeGlobalScripts option for custom elements (e7fa9c8)
  • setPlatformOptions: add setPlatformOptions for ce builds (12fec21)
  • typescript: update to typescript 4.1.3 (adf9c93)
  • TypeScript 4.1.3
  • Rollup 2.35.1
  • Terser 5.5.1
  • Puppeteer 5.4.2

Bug Fixes

  • events: map onFocusIn/Out to correct events (#2745) (2dc930f)
  • vdom: prevent error for parentless nodes (#2761) (a08f3a8)
  • devserver: expose startupTimeout (0046051)
  • runtime: don't render when crashing (#2746) (c91e0c8)
  • vdom: hide fallback slot when content present in scoped/non-shadow components (#2650) (2ae6f5f)
  • worker: update *?worker declaration (#2754) (7b96ada)
  • mock-doc: make MockAttributeMap iterable (#2788) (1aa9cae)
  • show warning when immutable props change (9c18fa0), closes #2433
  • client: test for presence of replace method of CSSStyleSheet (#2773) (67e0ea8)
  • bundles: add sideEffects false to package (d3bc9e6)
  • autoprefixer: update autoprefixer (75acfca)
  • hydrate: check for fetch patch (16a3330)
  • polyfill: convert checkIfURLIsSupported to function expression (#2799) (f8618d6)

⛵️ 2.3.0 (2020-11-06)

Features

Bug Fixes

🍉 2.2.0 (2020-10-27)

Bug Fixes

  • prerender: cache writing hashed assets (96c44f8)
  • prerender: fix component graph tmp file (bb9b6a8)

Features

  • jest: update to jest 26.6.1 (aafb1a3)
  • prerender: do not inline external styles by default (044aa96)
  • puppeteer: update to puppeteer 5.4.1 (cf8847b)
  • rollup: update to rollup 2.32.1 (83236f9)
  • terser: update to terser 5.3.8 (46a0207)
  • typescript: update to typescript 4.0.5 (0ca07a1)

🍗 2.1.2 (2020-10-26)

Bug Fixes

  • devserver: fix dev server static data with trailing slash (d70423d)
  • hydrate: do not add html comments inside inline scripts (3c16737)

🎂 2.1.1 (2020-10-23)

Bug Fixes

  • prerender: fix slot relocation and inline styles (2af380f)
  • worker: capture worker errors (#2709) (dcd49c0)

🖍 2.1.0 (2020-10-20)

Features

  • TypeScript 4.0.3
  • Rollup 2.32.0
  • Terser 5.3.7
  • Jest 26.6.0
  • Puppeteer 5.3.1
  • Open 7.3.0
  • Node Fetch 2.6.1
  • prerender: hash assets and add version querystring (e20c284)
  • prerender: hash assets in page.state static content (baeb842)
  • prerender: add buildId, hydrate externals, DOMContentLoaded (4d49c63)
  • prerender: server-side only bundle modules w/ .server directory (d8fcb60)
  • prerender: write page.state.json data from hydrat
  • add setErrorHandler() (#2704) (5d2780a)
  • docs-custom: add config argument (#2696) (d285879)
  • sys: add encoding option to readFile (99ef518)
  • sys: add sys.generateFileHash() for more efficient file hashing (d762c6d)
  • dev-server: add ssr option for dev server for prerending dev (2574094)
  • e2e: e2e timeout configurable (8b69731), closes #2662
  • nodeRequire: export nodeRequire utility from compiler (10ea2fb)e builds (a2c93f6)

Bug Fixes

  • hmr: reload from changed css import in global styles (4f8934d)
  • runtime: do regular clone of normal slotting (#2694) (602c1e2)
  • mock-doc: set hostname when location is updated (#2689) (9598a05)
  • worker: Build.isDev in worker (#2702) (e8ced45)
  • dev-server: clear module cache on ssr reload (cfd5d39)
  • mock-doc: no indentation w/in whitespace sensitive elements (46ff715)
  • dev-server: improve exiting dev server process (eb02517)
  • e2e: update to use page.waitForTimeout() (e48d306)
  • hydrate: improve dev server console error (9cb31a5)
  • mock-doc: do not pretty print whitespace senstive elements (de0dc65)
  • mock-doc: provide mocked global fetch() fn (8fbc694)
  • types: do not require @types/node because of puppeteer types (1a907f7)
  • types: export h() function types (be20372)

🍮 2.0.3 (2020-09-03)

Bug Fixes

  • watch: do not rebuild on docs output target file changes (4529de7)

Features

  • worker: can import Build from @stencil/core (3058143)

🐡 2.0.2 (2020-09-02)

Bug Fixes

  • prerender: export Fragment for prerender builds (142adc8)
  • test: do not build docs from test command (557b371)
  • watch: fix config.watchIgnoredRegex and update w/ RegExp array (981e0ae)

👽 2.0.1 (2020-08-31)

Bug Fixes

  • custom-elements: update package json module recommendation (9f29dbd)
  • jest: update to jest 26.4.2 (6aeb2f7)
  • rollup: update to rollup 2.26.8 (cac6482)
  • testing: use default jest maxConcurrency (c5d216f)

Features

  • cli: add changlog link to stencil version update message (5fa5991)

🚗 2.0.0 (2020-08-31)

In keeping with Semver, Stencil 2.0.0 was released due to changes in the API (mainly from some updates to the config API).

Even though this is a new major version, there are few BREAKING CHANGES, and any changes will be flagged and described by the compiler during development. For the most part, most of the changes are removal of deprecated APIs that have been printing out warning logs for quite some time now.

TypeScript 4

  • typescript: bundle typescript (1973032)
  • typescript: update to typescript 4.0.0-beta (a274e11)
  • typescript: update to typescript 4.0.1-rc (def2e6b)
  • typescript: update to typescript 4.0.2 (f55f0bf)

The other change is the update to TypeScript 4. With Stencil 2, TypeScript will no longer be a dependency, but instead included within the Stencil compiler. There are a few advantages to this we'll be experimenting with:

  • Faster compiler startup times and overall smaller install size.
  • The custom elements build should have a dependency of @stencil/core, so not having TypeScript as a dependency of @stencil/core simplifies the dependency graph for end-users and libraries.
  • Drastically simplifies the Stencil compiler by not having to dynamically import TypeScript, which quickly gets complicated since the compiler can work within Node, Deno, web workers and the browser's main thread. By bundling internally many of the complexities are no longer an issue.
  • Stencil compiler guaranteed to run with the exact version of TypeScript it was designed with.
  • Easier to adjust to breaking changes. For example, TypeScript 4 introduced a few breaking changes, but with this update it made it easier for the compiler to adjust internally.

Removal of Deprecated APIs

  • assetsDir: remove deprecated component assetsDir (b5cba6a)
  • attr: remove deprecated prop attr/reflectToAttr (133dd49)
  • collection: remove deprecated collection parsing (1a94d1e)
  • compiler: remove deprecated compile/compileSync (58a27d2)
  • config: remove deprecated includeSrc/excludeSrc (c18cb1f)
  • context: remove deprecated prop context/connect (a87b738)
  • copy: remove deprecated copy config (6cf3134)
  • docs: remove deprecated 'docs' type (043e2d8)
  • experimental-dist-module: remove deprecated experimental-dist-module (41189a6)
  • forceUpdate: remove deprecated elm.forceUpdate() (dfc1e59)
  • legacyLoader: remove deprecated legacy loader (7480f92)
  • listen: remove Listen target: 'parent' option (ed63707)
  • listen: remove deprecated listen target (1a3b519)
  • reflectToAttr: remove deprecated prop reflectToAttr (6eae6f8)
  • prerender: use internal typescript (8f0bb51)
  • test: do not require typescript for tests (43c5d98)
  • test: remove deprecated testing configs (fb8a02b)
  • transpile: remove deprecated "script" option (75dfebb)
  • watch: remove deprecated PropWillChange/PropDidChange (fa2b400)

Removal of Context

The Context object was originally added in the 0.x.x versions of Stencil, before ES Modules were widely adopted. Since then we've deprecated it in Stencil 1, and have ported any external libraries off of it. The remaining one was @stencil/redux, and we've released 0.2.0 to be used with Stencil 2 (and can also work with Stencil 1). Additionally, now might be a good time to look into using @stencil/store instead.

Bug Fixes

  • assetsDirs: allow same destination asset dir copy task (b6379b3), closes #2615
  • compiler: normalizePath result from fs.realpathSync (#2625) (df83c83)
  • dist: ensure src dts files not emitted still get shipped in dist (dea56be), closes #1797
  • dist: export Components, JSX types from custom-elements build (abae5d1)
  • Fragment: fix tsconfig Fragment (ba0ea8d)
  • exit: ensure all node processes are destroyed on exit (73a04c2)
  • exit: sys.exit() returns a promise (208ef8c)
  • export: export client runtime from @stencil/core (4c6cb60)
  • hmr: fix dev server hmr (fa480b6)
  • hydrate: ensure all timers are cleared (db1d747)
  • monorepos: do not lazy require missing dependencies (7f739a0)
  • parse: parse decorator shorthand property assignment (6b9e035)
  • plugin: ensure external plugin css do not require physical file (b5a2536), closes #2622
  • prerender: flatten hAsync children to resolve promises (363d258)
  • prerender: hAsync only returns promise if it has to (25a547a)
  • safari: fix safari10 builds (63f02f8)
  • sys: set ts.getExecutingFilePath() from stencil sys (2b21f2d)
  • taskQueue: fix "immediate" rendering (#2630) (62ea511)
  • testing: add collectCoverageFrom jest parameter (#2613) (370a701)
  • treeshaking: move environment helpers out of utils (c9306b9)
  • ts: update ts lib default local module path (16f30bc)
  • watch: fix rebuild components on e2e w/ watch (7cd28ca), closes #2642
  • watch: hmr scss _partial reload on file change (4ffbe4a), closes #2205
  • worker: error passing (03864f2)

Features

  • buildEs5: add "prod" as an option for config.buildEs5 (1af30a2)
  • dev-server: single-threaded dev-server for debugging (cf335e3)
  • runtime: add jsx Fragment (#2647) (f3abee7)
  • jest: update to jest 26.4.0 (9e3a6a8)
  • prerendering: async h() function (d6eabb9)
  • rollup: update to rollup 2.26.6 (6424254)
  • terser: update to terser 5.1.0 and use its esm build (4b67c5a)
  • terser: update to terser 5.2.1 (7582974)

1.17.3 (2020-08-04)

Bug Fixes

☎️ 1.17.2 (2020-07-28)

Bug Fixes

  • dev-server: fix dev client requesting build results (91564f4)
  • env: add os.plaform() polyfill (93b53e2)
  • resolve: fix ts resolve module for transpile sync (7e538f4)
  • sys: node sys prerender applyPrerenderGlobalPatch (517891d)
  • worker: mock worker instance for hydrate builds (207ce44)

🐚 1.17.1 (2020-07-26)

Bug Fixes

  • bundling: downgrade @rollup/plugin-commonjs (#2589) (be1bdd1)
  • Parse5 6.0.1

🍩 1.17.0 (2020-07-24)

Features

  • runtime: ability to hook into creating CustomEvent, so vue binding can lowercase event names (a2ce019)
  • setAssetPath: customize path of asset base urls (a06a941)
  • dev-server: pick up scheme and host from forwarding proxy. (#2492) (3be1d72)
  • Rollup 2.23.0

Bug Fixes

  • polyfill: use core-js promise and iife fetch polyfill (#2443) (7b7ed0b)
  • render: allow mapping of childNode to functional component (#2548) (d0176c9)
  • resolve: fix typescript resolve patch (1ef8097)
  • screenshot: update compare.html in e2e screenshot (#2585) (85f6504)
  • sys: ensure in-memory sys checks file data (f7c03c2)