Skip to content
Go to file
Latest commit 779cdcc Oct 20, 2020 History
11 contributors

Users who have contributed to this file

@adamdbradley @manucorporat @jthoms1 @kensodemann @peterennis @jan-paulus @tricki @corysmc @bodinaren @KillerCodeMonkey @ajiteshr7
974 lines (638 sloc) 86.9 KB

🖍 2.1.0 (2020-10-20)


  • 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)


  • 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)


  • 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). But 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.

Opt-in for IE11, Edge 16-18 and Safari 10 Builds

  • config: update config extra defaults to not build IE11, Edge 16-18 and Safari 10 by default (363bf59)

A change in Stencil 2 is that the IE11, Edge 16-18 and Safari 10 builds will not be enabled by default. However, the ability to opt-in is still available, and can be enabled by setting each extras config flag to true. An advantage of this is less runtime within your builds. See the config.extras docs for more info.

Opt-in for ES5 and SystemJS Builds

  • config: do not build es5 by default (fa67d97)

Just like having to opt-in for IE11, the same goes for opting-in for ES5 and SystemJS builds. For a production build in Stencil 1, it would build both ES2017/ESM files, and ES5/SystemJS files. As of Stencil 2, both dev and prod builds do not create ES5/SystemJS builds. An advantage of this is having faster production builds by not having to also downlevel to es5. See the buildEs5 for more info.

Use disconnectedCallback() instead of componentDidUnload()

  • componentDidUnload: use disconnectedCallback instead of componentDidUnload (4e45862)

When Stencil is used within other frameworks, DOM elements may be reused, making it impossible for componentDidUnload() to be accurate 100% of the time if it is disconnected, then re-connected, and disconnected again. Instead, disconnectedCallback() is the preferred way to always know if a component was disconnected from the DOM.

Note that the runtime still works for any collections that have been built with componentDidUnload(). However, updates to Stencil 2 will require it's changed to disconnectedCallback().

Default to async task queue

  • taskQueue: set "async" taskQueue as default (f3bb121)

Update taskQueue default to "async". Stencil 1 default was "congestionAsync". See config.taskQueue for more info.

Restore Stencil 1 defaults

export const config: Config = {
  buildEs5: 'prod',
  extras: {
    cssVarsShim: true,
    dynamicImportShim: true,
    safari10: true,
    shadowDomShim: true,

dist package.json

To ensure the extensions are built for the future and work with today's bundlers, we've found it best to use .cjs.js extension for CommonJS files, and .js for ESM files, with the idea that cjs files will no longer be needed some day, and the ESM files are the standard. (We were using .mjs files, but not all of today's tooling and bundlers work well with that extension).

If you're using the dist output target, update the package.json in the root of your project, like this:

-    "main": "dist/index.js",
+    "main": "dist/index.cjs.js",

-    "module": "dist/index.mjs",
+    "module": "dist/index.js",

-    "es2015": "dist/esm/index.mjs",
+    "es2015": "dist/esm/index.js",

-    "es2017": "dist/esm/index.mjs",
+    "es2017": "dist/esm/index.js",

-    "jsnext:main": "dist/esm/index.mjs",
+    "jsnext:main": "dist/esm/index.js",

Additionally the dist/loader output directory has renamed its extensions too, but since its dist/loader/package.json file is auto-generated, the entries were renamed too. So unless you were referencing the loader files directly you will not have to do external updates.

See the Output Folder Structure Defaults for more info.

NodeJS Update

  • node: minimum of Node 12.10.0, recommend 14.5.0 or greater (55331be)

With the major release, now's a good time to update the minimum and recommended version of NodeJS.

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)


  • 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)


  • 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)

🐬 1.16.5 (2020-07-22)

Bug Fixes

  • watch: close all processes on sigint (2f923e0)

🏜 1.16.4 (2020-07-18)

  • TypeScript 3.9.7
  • @rollup/plugin-node-resolve 8.4.0

Bug Fixes

  • resolve: fix rollup node resolve realpath checks (d3f4c4f)

🚁 1.16.3 (2020-07-15)

Bug Fixes

  • cli: export parseFlags api (3bd1904)
  • commonjs: bump commonjs plugin to 14.0.0 (7eee192)
  • compiler: check reference type text (fdc271c), closes #2569
  • hydrated: fix custom hydratedFlag config (013ca8c), closes #2574
  • prerender: await hashed template html (f4b1799)
  • sys-node: improve os.cpu() checks to read model (05ea6df), closes #2565
  • test: fix testing.testEnvironment setting (645f3a0), closes #2425
  • type definition: add abbr to ThHTMLAttributes (#2568) (d0f7ff1)


  • prerendering: pass results to afterHydrate (#2567) (135d49e)
  • transpile: add styleImportData option to not include style import queryparams (38d5821)

🍷 1.16.2 (2020-07-10)

Bug Fixes

  • checker: fix how often to check for stencil updates (eb0da10)

🎱 1.16.1 (2020-07-09)

Bug Fixes

  • cli: export cli types and runTask, move checkVersion to sys, add tests (02c62b5)

  • sys: ensure typescript sys patched for initial load (90913df)

  • typescript: correctly patch typescript import (b24933d), closes #2561

  • Rollup 2.21.0

🏊 1.16.0 (2020-07-06)


  • TypeScript 3.9.6
  • Rollup 2.19.0
  • deno: create deno system to run cli and compiler from Deno Experimental!! (b3d79c6)

Bug Fixes

  • compiler: fix transitive module dependencies in unit tests (#2178) (#2549) (6585dd1)
  • e2e: readiness flag on slow or overloaded computers (#2525) (a19ac90)
  • jest: correctly set coverageThreshold (#2529) (915bfce)
  • jsx: add autocomplete to <select> (69ccbf1)
  • worker: use importScript() to load cross-origin worker (d6b73b1)
  • compiler: ensure event emitters defined before user statements (1b52d43)
  • runtime: correctly set isWatchReady flag for custom elements build (36b4978)
  • treeshaking: update build conditional treeskaking optimization (2ba24b1)

🎙 1.15.0 (2020-06-25)


  • Rollup 2.18.0

Bug Fixes

  • css: fix compilation of multiple styleURLs (#2493) (d91819c), closes #2432
  • jsx: fix refX / refY types (6cec36e), closes #2503
  • change autocapitalize types to any to avoid conflicts (#2509) (19746d6)
  • cli: correct import in generated spec tests (#2486) (9a80c41)
  • client: import client platform from patch (dbacafc)
  • compiler: types should not be based on package.json (65cdfbd), closes #2460
  • dist: copy assets to the dist folder (2a8b1f1)
  • worker: inline worker if there is a dist output target (#2450) (a96b346), closes #2438
  • do not emit nomodule script of es5 is disabled (39c51db)
  • runtime: enumerated boolean attributes (0d72aee)
  • watch: fix watch callbacks in custom elements build (d052fe4), closes #2478
  • #2366: rehydrate slot child (e152773), closes #2366
  • dev-server: fix dev-server on ie11 (db19ba7)
  • hydrate: fix hydrate attach styles (d891537)
  • polyfill: add proper url base to import shim (#2410) (96dd746)
  • resolve: fix rollup and commonjs resolve (0ea9c71), closes #2461
  • sass: fix sass imports for scoped packages (e551be2), closes #2521

Performance Improvements

  • reenable const class optimization (438c6b3)

Internal Changes

  • Move browser patch fns out of @stencil/core/internal/client
  • Created @stencil/core/internal/client/patch to be used for lazy load builds
  • Internal packages now use index.cjs.js for CommonJS builds, and index.js for ESM builds
  • Updated internal package.json's main property to index.cjs.js
  • Removed require('url') from Node builds now that URL is global since Node v10
  • Custom Elements output target will default to build to index.js instead of index.mjs

🏒 1.14.0 (2020-05-29)


  • dist-custom-elements-bundle output target improvements/fixes
  • TypeScript 3.9.3
  • Rollup 2.10.9
  • Requires NodeJS >= 10.13.0
  • import-format: text and url format import param (4f1f39a)
  • add focusin and focusout event declarations (#2436) (0d730d6), closes #2435

Performance Improvements

  • compiler: do not build hydrated in dev mode (#2448) (8e65201)
  • transpile: skip component.d.ts formatting (#2304) (e3f2700)

Bug Fixes

  • runtime: schedule update when value change in ref() (54ee75f)
  • emit private types in local component.d.ts (#2447) (9d444ff), closes #2440
  • cli: fix --version and --help flags (40baa54)
  • compiler: components without mode should never get mode suffix (#2445) (11e1ccb)
  • compiler: use transformed css to check changed imports of globalStyle (#2422) (7742a87)
  • dev-server: allow no trailing slash for custom base url (0fae632)
  • compiler: disable const class optimization (eac02cb), closes #2462
  • custom-elements: generate types for ce build, fix import paths (22f3f23)
  • transform: always update lazy class declaration (6dd59b3)
  • ts: ts resolve failedLookupLocations fix (30203b8)
  • spellcheck: put an any on it (#2476) (1418c04)
  • custom-elements: fix copy tasks (d810649)

🚂 1.13.0 (2020-05-11)


  • ssg: static site generation (2a38293)
  • prerender: parse typed prerender config (7b6aaf7)
  • Add staticSite to prerender.config.ts
  • Add staticDocument to PrerenderHydrateOptions
  • Add staticComponents to HydrateDocumentOptions
  • Assume a static site build when index.html does not include scripts
  • Do not define custom element for static only components
  • Do not add link rel=modulepreload for static only components
  • Do not minify inline script/styles if already minified within template
  • Ensure valid "src" URL within mock-doc

Bug Fixes

  • docs: include parts in top level docs json (#2412) (131904f)
  • gatsby: prevent clientside for ssr/ssg node env (6bec727), closes #2411
  • jest: change package used to import runCli (#2387) (620d350)
  • jest: jest testing updates (6d69f53)
  • jest: ensure jest-cli, set presets (0d3ed7d)
  • polyfill: slot child fix (#2375) (654d753), closes #2373
  • runtime: fix lifecycle state values (#2414) (8302fed)
  • dev-mode: always add dist-types (#2402) (f523461)
  • e2e: fix puppeteer types (4b38e7d)
  • hydrate: set shadowRoot property on host element (28128df), closes #2301
  • jsx: add missing 'as' attribute to LinkHTMLAttributes (#2404) (28f6cc5)
  • jsx: expose exportparts (180e890), closes #2383
  • prerender: fix prerender.config.ts transpiling (763c0be)
  • types: spellcheck is an string attribute (caf03fa), closes #2186 #2181
  • add types for toggle event of html5 details (#2421) (ebf42cf), closes #2398
  • test: allow setRequestInterception to ba called from user tests (#2330) (ff7fb41)
  • testing: MockResponse404 is not ok (#2420) (43d30dc)
  • add warning for missing include of the srcDir (c6b954c), closes #2380
  • output: fix custom elements build for plain cmps (1a5095a)
  • testing: don't remove request interceptor (8a18112)

🗻 1.12.7 (2020-04-29)

🚩 1.12.6 (2020-04-24)

Bug Fixes

  • buildevents: ensure all events are emitted after one is removed (48f18f2)
  • hydrate: console.debug diagnostic fix (6c1f058)


  • prerender: prerender app while in dev/watch mode (6641c12)

🍦 1.12.5 (2020-04-18)

Bug Fixes

  • polyfills: check for getRootNode on Element when applying dom.js polyfill (#2370) (4b74027), closes #2369
  • support .css imports (d1edb0d)

🚞 1.12.4 (2020-04-15)

Bug Fixes

  • cli: add g shortcut for generate (035972c), closes #2346
  • cli: pass --esm flag to th compiler (#2339) (939a493)
  • compiler: initializeNextTick=true by default (cb71057)
  • types: add href SVG attribute (#2359) (0c0a3d0), closes #2358
  • types: add onSlotchange to slot element attribute (#2357) (5b9b89e), closes #2356
  • watch: rebuild on css import file changes (b7ca6e1)
  • workers: wrap code around iife (c4479cc)


  • compiler: add extra for transformTagName (#2343) (253894d)
  • devserver: dynamic dev server / socket url config (acecc68)
  • prerender: improve prerender logging, disable crawlUrls options (0683598)
  • types: add enterkeyhint HTMLAttribute (#2367) (5adcdd3)

Performance Improvements

🌙 1.12.3 (2020-04-06)

Bug Fixes


  • prerender: improve prerender logging, disable crawlUrls options (0683598)

Performance Improvements

🐷 1.12.2 (2020-04-04)

Bug Fixes

  • testing: skip debug logs (23b2566)
  • install correct lazy dependencies (dd47dbe)
  • vdom: reflect props need vdomAttribute (2b1291c)


  • prerender: add more hooks to prerender config (5d9165f)

🐓 1.12.1 (2020-04-02)

Added taskQueue: 'immediate' config setting.

1.12.0 (2020-04-01)

Bug Fixes

  • types: part can be used in svg (45f02de)


🦁 1.11.3 (2020-03-30)


Bug Fixes

Performance Improvements

  • compiler: skip some output targets in dev mode (281c274)

🕹 1.11.2 (2020-03-23)

Bug Fixes

  • angular: validate angular outputTarget (413c451)

🐝 1.11.1 (2020-03-23)


  • compiler: add minified stencil.min.js (d2cb1f9)
  • compiler: expose path fns in compiler (7e95038)
  • sys: add fetch to compiler system (0977a44)

Bug Fixes

  • runtime: next tick initialize for angular (#2299) (d771df5)

🍿 1.11.0 (2020-03-20)

Bug Fixes

  • compiler: handle component styles with literals (2bef0f3)
  • compiler: rename @stencil/core imports in all d.ts files (4c70fdd)
  • test: e2e tests without www output target (7be5255)

🏓 1.10.3 (2020-03-19)

Bug Fixes

  • vdom: functional components always get object as props (0f71c6c)

🤘 1.10.2 (2020-03-19)

Bug Fixes

🍋 1.10.1 (2020-03-17)

Bug Fixes

  • bundler: not resolve browser modules (#2279) (93182e7)
  • docs: validate vscode output docs (2f48a8d)
  • disable console colors in E2E testing (27e1eda)
  • docs: parse css variables docs (#2273) (1370152)

🎭 1.10.0 (2020-03-16)

Bug Fixes

  • docs: use pipe for union types (d196971)
  • build: alias @stencil/core/internal imports to correct platform (#2267) (d04a1ca)
  • fs: clone cached fetch response text (f19a3df)


  • docs: include listeners in docs-json (#2272) (040111e)
  • mock-doc: add Request, Response, Headers to mock-doc and testing (31502ff)
  • logger: disable log colors for ci builds (88c76e6)

🚦 1.9.2 (2020-03-12)

Deprecate element.forceUpdate() and print console warnings during development to import forceUpdate from @stencil/core instead. The forceUpdate() method be removed from the host element in v2.

Bug Fixes

  • build: minify css-shim build (7eaad18)

🐧 1.9.1 (2020-03-10)

Bug Fixes

  • watch: only remove from module cache on delete (1f4ff24)

🏔 1.9.0 (2020-03-09)

With the 1.9.0 release, the default compiler is the same as 1.8.x. However, to opt-in to test the improved compiler use the --next flag. Once the "next" compiler is stable we'll then make it the default in the 1.10.0 release. Currently the next compiler is passing all tests, but we'd like to get more real-world testing before making it the default.

Some of main features with the --next compiler include:

  • Faster incremental builds and TypeScript error feedback
  • Easily bundle and interact with Web Workers
  • dist-custom-elements-bundle Output Target (components without lazy loading)
  • Internal compiler and runtime refactor in order to improve 3rd party tooling
  • Import CSS files using traditional ESM imports
  • Online REPL
  • TypeScript 3.8.3
  • Rollup 1.32.0


  • build: web workers esm (67a7fc2)
  • compiler: custom-elements-bundle (228e382)
  • mock-dock: support all css selectors (a2c4667)
  • mock-doc: add insertAdjacentHTML (42921d2), closes #1980
  • mock-doc: get attributes by index (d91b197), closes #1211
  • worker: transfer any typedArray (302ddb1)
  • docs: Add documentation output for Shadow Parts (#2122) (f7cd61a)
  • mock-doc: selector to handle child combinators (#2037) (6fd43e7)
  • test: Add two event detail jest matchers (ebc518d), closes #2046
  • compiler: add config flag for preventing script inlining (#2077) (f85cf42)
  • compiler: add Build.isTesting (eac90bd)
  • bundler: txt plugin (b0efb11)
  • compiler: add Build.isServer (56d94f3)
  • config: also load and validate tsconfig within loadConfig() (cbff6e1)
  • hydrate: always build hydrate if it's an output (92a6015)
  • cli: update tests in task generator (#2128) (e6af190)
  • fetch: export mock fetch testing apis (c63a64f)
  • prerender: add prerender task cmd for existing hydrate app scripts (f4f3213)
  • polyfills: optionally exclude css vars shim (b3b6993)
  • bundling: add webpack chunk name (3ca7d82), closes #1345 #1346
  • dev-server: experimental dev node modules (104a819)
  • runtime: dispatch namespace in lifecycleDOMEvents (67cb2f3)
  • add dynamicImportShim as extra (#2177) (fd81489)
  • e2e: include global style in e2e html content (b8e7a8f), closes #2192
  • hydratedFlag: ability to configure applied hydrated css class (62e2168)
  • minify dist-custom-elements-bundle in prod mode (7f90430)
  • build: exclude setting vdom prop/attrs when not used (381b66d)
  • extras: add ability to opt out of scriptDataOpts (d622712)
  • minify: improve minifying core (747fb7d)
  • style: set static style as property on cmp clss (ba14fe6)
  • cli: add ComponentInterface in component generator template (#2147) (1688ff4)
  • docs: disable the dependencies part of the markdown docs. (#2145) (4e74f26)
  • compiler: export optimizeCss and optimizeJs (d80a111)
  • next: transform css content to esm format w/ compile() (a72c01d)
  • prerender: optimizeCss and optimzeJs (425ce38)
  • styles: use static get styles() with template literals (ff79406), closes #2234
  • compiler: treeshake supportsShadow (#2249) (da634da)
  • runtime: remove slot polyfill more aggressively (#2244) (56da2e7)
  • sw: do not register or unregister sw when config set to false (565d353)

Bug Fixes

  • config: filter spec/e2e from tsconfig for stencil builds (5dfa164)
  • css: improve css minify (a7d7e3c)
  • deps: ensure deps unique (21afacb)
  • hmr: fix style hmr (c14fcc4)
  • next: fix web worker ts.sys patching (fe0ab8a)
  • testing: add @stencil/core/testing to next compiler (5efb2e5)
  • watch: exclude exts/dirs from watch (8ab7478)
  • compiler: add sw to next compiler (afd2215)
  • build: skip d.ts cache file (98b067b)
  • www: respect allowInlineScripts (1042a50)
  • don't inline main script (8c04fd1)
  • compiler: change props union type parsing (#1779) (46b1090)
  • dist: allow globs in package.json files (9777426), closes #1792
  • docs: fix docs build (d83e355), closes #2095
  • screenshot: set correct width/height (14e8ffc), closes #1209
  • www: fix prod import paths for www output (e66c9ea)
  • compiler: dead @Watch() are warnings in dev mode (0dd169a)
  • compiler: fix circular dependency with @app-globals (ce4a6c8)
  • compiler: resolve const enums (86c0afe)
  • dev-server: append dev server connector within (140fc7f)
  • fs: do not skip specs in ts.sys (d753e38)
  • fs: output targets in separate map (e2b5318)
  • hydrate: do not remove existing canonical links (19da9ec), closes #2097
  • next: fix dev server hmr (f1af876)
  • next: fix file watch callbacks (80cc68d)
  • next: fix ts readDirectory, use fetch cache (18360ca)
  • prerender: fix max concurrency (a24f9d1)
  • runtime: better error for unknown mode (d0eeec0)
  • worker: check for web worker support (09f8e18)
  • worker: ensure value undefined when error (484dc6b)
  • worker: improve error debuggin in dev mode (d2b648d)
  • worker: dev error (eeb8b3d)
  • compiler: config.extras is always defined (d5591d3)
  • next: don't minify css around + (d38707d)
  • next: emit componentGraph data (3d4eb4a)
  • node: semver break bundling (58f9b4d), closes /
  • vdom: functional components can accept any children (93081f5), closes #2007 #1969
  • worker: add dev error about non async exports (e056a87)
  • compiler: add unused watch error (f9c8078)
  • compiler: do not force disable incremental build (f5a5daf)
  • compiler: include dependency globals (8de1667)
  • compiler: move worker file to the root (71adb25)
  • compiler: unused variables becomes a warning in dev mode (d55ade5)
  • next: validate tsconfig w/ ts parse config api (10a6471)
  • runtime: safari 10.0 does not implement the performance api #2081 (117e9a9)
  • worker: make them strongly typed and allow to pass callbacks (89d5f40)
  • worker: minify worker in production (3716040)
  • worker: move main thread into a virtual module (606fdbf)
  • worker: use event listeners and stencil prefix (8b37fc5)
  • compiler: don't inline scripts with crossorigin (9cdcb28)
  • config: add warning for stencil.config.ts in tsconfig (b93b32b)
  • next: do not overide rootDir (f1be974)
  • next: fix JsonDocs dts (93ff155)
  • next: fix readPackageJson (ae10174)
  • next: prepend ext-modules.d.ts ref to internal index (b2506fe)
  • next: resolve remote internal dts urls (2999885)
  • next: resolve remote url ts extensions (5ae307d)
  • next: warnings does not kill the process (29ff45e)
  • compiler: fix prerendering in next compiler (4669ad9)
  • fs: fix sys fs.readdirSync (ec75495)
  • next: collection output target (5fffda1)
  • next: do not override target (d1bd0e2)
  • next: typescript plugin runs first (67e6565)
  • runtime: cmpMeta is part of hostRef (04f7dcd)
  • www: inline esm in place (b99344f)
  • next: optimize dist-custom-elements bundle (50b5a27)
  • next: optimizes mode entries (634e394)
  • next: skip test files (150d984)
  • next: www runs after lazy build (96ae066)
  • compiler: resolve dependencies package.json correctly (0f029ae)
  • next: ensure at least one output target (751ada9)
  • worker: fix passing back worker error (9304db7)
  • es5: optionally do not include polyfills for dist builds (4964f1e), closes #2005
  • namespace: fix namespaces w/ dashes (84ef0b2), closes #2116
  • next: copy cmp assets to correct directory (8887579), closes #2120
  • next: normalize paths (#2124) (f980954)
  • prerender: add reflect to attributes while prerendering (7974c41), closes #2119
  • reflect: reflect attrs when no vnode attr (2b948b2)
  • css: add types to css parser/serializer and add more tests (b9e4595)
  • gatsby: ensure window references are avoided (b00bed6)
  • hydrate: fix const Context declaration (d20f6ed)
  • jsx: every JSX element should have a "key" (#2113) (1243e8d)
  • logger: checking iterability of (#2107) (fb5b11b)
  • next: allow browser main thread compiler, fix ts imports (64e3810), closes #2130
  • dev-server: visibility hidden connector iframe (b86e537), closes #1683
  • test: lock in working version of fast-deep-equal (8ad1540), closes #2133
  • css: fix media whitespace removal (918ae5a)
  • css-shim: check for MutationObserver (#2140) (f5140c4)
  • next: create collection-manifest.json (d9b236a), closes #2150
  • next: empty dist directories (c4590ff)
  • next: fix collection output paths (7097a9d), closes #2149
  • next: fix dist output (aa57ebc)
  • next: fix output dts relative path (9e2679e)
  • build: fix global script and collection builds for distribution (df83832)
  • dev-server: ensure utf-8 (ca42fca), closes #2161
  • next: fix standalone compiler (674019b), closes #2142
  • normalizePath: ensure non-ascii paths can be normalized (a97c2f5), closes #2161
  • normalizePath: improve normalizePath (addfdbc)
  • resolve: resolve also w/ typescript compiler option paths (69efa87)
  • build: always build esm for dist, both prod and dev mode (06e90bf)
  • next: add tick before stencil_appload dom event (a71b3af)
  • next: do not read collection of the same project (76f46f2)
  • next: fix hydrate build w/ global script, w/out Context (d65b0cc)
  • next: improve createJsVarName (d219327)
  • next: copy styles to collection build (baf5bcf)
  • next: fix lerna collection (24f59d3)
  • next: unregister service worker during e2e tests (a34b88b)
  • windows: update puppeteer and jest, format components.d.ts (558aa72)
  • css: fix node_module css imports (cc79e39)
  • hydrated: fix hydrated config for legacy compiler (1d1e900)
  • next: emit fsChange event (09986b0)
  • compiler: ignore irrelevant emitted files of ts transpiler (#2212) (65d5f6e)
  • core: disable booleans_as_integers minification option (e62f212)
  • css: node_modules css imports (cc7e154)
  • dev: don't show warning for inputs without value (#2209) (4744070)
  • listeners: add host event listeners within constructor (dc1ba91)
  • vdom: do not reset $slotRefNode$ when relocating nodes (#2208) (ff7807d)
  • css: do not remove /*! comments (581be70)
  • hydrate: check for valid element nodeName (9994c5b), closes #2157
  • hydrate: do not register cmps that should be excluded (1ff1d79)
  • next: comment shadow css for client hydrate (2b69230)
  • next: do not inject global style into e2e setContent unless set (eb4c5d4), closes #2210
  • next: fix promisify.custom and node util bundling (51a9a5e)
  • next: fix styles hmr (9a015e9)
  • ts: all unused imports is a warning (a515d17)
  • worker: use Blob for cross-origin web worker (cbeec64)
  • next: update jest presets (7c83111)
  • compile: check for global ts before nodejs/webworker ts (59cc59e), closes #2239
  • compile: enable vdomPropOrAttr by default (9881011), closes #2238
  • compiler: prefix assets in prod mode (#2236) (2c1a906)
  • next: run custom output targets (a9c0715)
  • prerender: only comment original selectors for shadow css (b5757df)
  • slot: patch childNodes/children getters for browsers w/out shadow support (efca632), closes #1280
  • client: default supportsShadow to when shadowDomShim false (185f933)
  • compiler: do not polyfill import.meta when using native import() (#2250) (a644004)
  • compiler: only rebuild after success (#2248) (3a63c4f)
  • next: always reset process cwd before each build (91617f8)
  • next: clear module cache after updating/deleting module (62971ea)
  • next: simulate nodejs fs errors (d735787)
  • listeners: reattach host listeners (8ea183e), closes #2253
  • prerender: validate prerender config w/ prerender task (26cc015)
You can’t perform that action at this time.