diff --git a/CHANGELOG.md b/CHANGELOG.md
index 21b71add..dcdba57b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,14 +2,76 @@
All notable changes to this project will be documented in this file.
-The format is based on [Keep a Changelog](http://keepachangelog.com/)
-
-## [1.1.11] - 2020-05-21
+## [1.2.0] - 15/7/2020
+
+### Added
+
+- Added new rule `no-property-visibility-mismatch`. This rule will ensure public properties use `@property` and non-public properties use `@internalProperty` ([#100](https://github.com/runem/lit-analyzer/pull/100))
+- Added new rule `no-missing-element-type-definition` This rule will ensure that custom elements are registered on the
+ `HTMLElementTagNameMap` Typescript interface ([#73](https://github.com/runem/lit-analyzer/issues/73))
+- It's now possible to configure how many modules deep dependencies are followed to determine whether a custom element is available in the current file. When `-1` is used, dependencies will be followed infinitely deep. This can be configured for both external dependencies and project dependencies with `maxNodeModuleImportDepth` & `maxProjectImportDepth` ([#116](https://github.com/runem/lit-analyzer/pull/116))
+- In addition to extending `HTMLElementTagNameMap` it's now also possible extend the `HTMLElementEventMap` interface and the `HTMLElement` interface ([#53](https://github.com/runem/lit-analyzer/issues/53))
+
+**Example:**
+
+```
+declare global {
+ interface HTMLElementTagNameMap {
+ "my-element": HTMLElement;
+ }
+ interface HTMLElementEventMap {
+ "my-event": Event;
+ }
+}
+
+/**
+ * @attr my-attr
+ */
+interface HTMLElement {
+ myProperty: string;
+}
+```
+
+- Added autocompletion for CSS shadow parts and CSS custom properties in CSS. It's possible to document those using JSDoc ([dd1ffc78](https://github.com/runem/lit-analyzer/pull/112/commits/dd1ffc78d4fb6ccbe49b7cf91c11ba02d8b0dfa5))
+- The [role](https://www.w3.org/TR/role-attribute/) and [controlslist](https://wicg.github.io/controls-list/html-output/multipage/embedded-content.html#attr-media-controlslist) attributes are now correctly type checked ([#89](https://github.com/runem/lit-analyzer/issues/89))
+
+**Example:**
+
+```
+/**
+ * @cssprop {Color} --border-color - Sets the color of the border
+ * @csspart content - The content of my element
+ */
+class MyElement extends HTMLElement {
+}
+```
+
+### Fixed and changed
+
+- Quick fix for missing imports now generates correct path on Windows ([#110](https://github.com/runem/lit-analyzer/pull/110))
+- **Type checking is now up to 15 times faster**
+- `is-assignable-in-boolean-binding` now also accepts "null" and "undefined" types in boolean bindings. Example: ``
+- "Fix message" is now included in the output for the CLI -`no-unknown-property-converter` has been removed and `no-incompatible-property-type` can be used instead.
+- Improved JSDoc support
+- Improved mixin support
+- Private and protected members are now also analyzed
+- All diagnostics in vscode are now reported as `lit-plugin([RULE_ID])` and have unique diagnostic codes ([#108](https://github.com/runem/lit-analyzer/issues/108))
+- When resolving imports for a given module, facade modules are always followed and do not increase depth ([#114](https://github.com/runem/lit-analyzer/pull/114))
+- Improve codefix for 'no-missing-import' rule ([#117](https://github.com/runem/lit-analyzer/pull/117))
+
+### Project
+
+- Refactoring of rule modules
+- Added more tests
+- `lit-analyzer` now uses data from `vscode-web-custom-data`
+- `cancellationToken` is now supported to prevent long running operations
+
+## [1.1.11] - 21/5/2020
### Added
@@ -22,7 +84,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
- Better performance when using the `no-missing-imports` rule. `lit-analyzer` will still check imported modules in your project as usual, however, it will only follow imports 2 levels deep into any imported module from an external dependency (see [#93](https://github.com/runem/lit-analyzer/pull/93))
- The CLI-option `maxWarnings` defaults to `-1` to avoid failing when the analysis found only warnings (see [#96](https://github.com/runem/lit-analyzer/pull/96))
-## [1.1.10] - 2020-03-02
+## [1.1.10] - 2/3/2020
### Added
@@ -35,7 +97,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
- Fixed problem where when input type is date, min and max should accept date string ([#77](https://github.com/runem/lit-analyzer/issues/77))
- Fixed `no-boolean-in-attribute-binding` to allow assigning booleans that are coerced to string to 'true'|'false' where appropriate ([#dc6cdc6db](https://github.com/runem/lit-analyzer/commit/dc6cdc6dbf5388e55d2d0b93fce21074deceeaad))
-## [1.1.9] - 2019-10-17
+## [1.1.9] - 17/10/2019
### Added
@@ -48,7 +110,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
- Fixed problem where closing tags weren't auto-completed properly ([#37cba351](https://github.com/runem/lit-analyzer/commit/37cba3519762a1b8c6f6522baa40842e1b5ac504))
- Fixed problem where lit-analyzer would crash when running with a newer version of Typescript ([#58](https://github.com/runem/lit-analyzer/issues/58))
-## [1.1.8] - 2019-08-13
+## [1.1.8] - 13/8/2019
### Added
@@ -59,7 +121,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
- Fix problem where the value of attributes on the form attr='val' could get parsed incorrectly. ([#36](https://github.com/runem/lit-analyzer/issues/36))
-## [1.1.4] - 2019-08-05
+## [1.1.4] - 5/8/2019
### Added
@@ -77,7 +139,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
- The analyzer has been updated and should now be much more robust (see [web-component-analyzer](https://github.com/runem/web-component-analyzer)).
- The type checker has been updated and should now be much more robust (see [ts-simple-type](https://github.com/runem/ts-simple-type)).
-## [1.0.0] - 2019-04-01
+## [1.0.0] - 1/4/2019
### Added
@@ -99,7 +161,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
- Temporarily disabled code formatting until issues with nested templates are solved.
-## [0.1.0] - 2019-02-22
+## [0.1.0] - 22/2/2019
### Added
@@ -116,7 +178,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
- Added various missing global built in elements.
- Added various missing global built in attributes like 'aria-\*' attributes.
-## [0.0.24] - 2019-02-08
+## [0.0.24] - 8/2/2019
### Added
diff --git a/packages/vscode-lit-plugin/CHANGELOG.md b/packages/vscode-lit-plugin/CHANGELOG.md
index ea1218a5..dcdba57b 100644
--- a/packages/vscode-lit-plugin/CHANGELOG.md
+++ b/packages/vscode-lit-plugin/CHANGELOG.md
@@ -2,14 +2,76 @@
All notable changes to this project will be documented in this file.
-The format is based on [Keep a Changelog](http://keepachangelog.com/)
-
-## [1.1.11] - 2020-05-21
+## [1.2.0] - 15/7/2020
+
+### Added
+
+- Added new rule `no-property-visibility-mismatch`. This rule will ensure public properties use `@property` and non-public properties use `@internalProperty` ([#100](https://github.com/runem/lit-analyzer/pull/100))
+- Added new rule `no-missing-element-type-definition` This rule will ensure that custom elements are registered on the
+ `HTMLElementTagNameMap` Typescript interface ([#73](https://github.com/runem/lit-analyzer/issues/73))
+- It's now possible to configure how many modules deep dependencies are followed to determine whether a custom element is available in the current file. When `-1` is used, dependencies will be followed infinitely deep. This can be configured for both external dependencies and project dependencies with `maxNodeModuleImportDepth` & `maxProjectImportDepth` ([#116](https://github.com/runem/lit-analyzer/pull/116))
+- In addition to extending `HTMLElementTagNameMap` it's now also possible extend the `HTMLElementEventMap` interface and the `HTMLElement` interface ([#53](https://github.com/runem/lit-analyzer/issues/53))
+
+**Example:**
+
+```
+declare global {
+ interface HTMLElementTagNameMap {
+ "my-element": HTMLElement;
+ }
+ interface HTMLElementEventMap {
+ "my-event": Event;
+ }
+}
+
+/**
+ * @attr my-attr
+ */
+interface HTMLElement {
+ myProperty: string;
+}
+```
+
+- Added autocompletion for CSS shadow parts and CSS custom properties in CSS. It's possible to document those using JSDoc ([dd1ffc78](https://github.com/runem/lit-analyzer/pull/112/commits/dd1ffc78d4fb6ccbe49b7cf91c11ba02d8b0dfa5))
+- The [role](https://www.w3.org/TR/role-attribute/) and [controlslist](https://wicg.github.io/controls-list/html-output/multipage/embedded-content.html#attr-media-controlslist) attributes are now correctly type checked ([#89](https://github.com/runem/lit-analyzer/issues/89))
+
+**Example:**
+
+```
+/**
+ * @cssprop {Color} --border-color - Sets the color of the border
+ * @csspart content - The content of my element
+ */
+class MyElement extends HTMLElement {
+}
+```
+
+### Fixed and changed
+
+- Quick fix for missing imports now generates correct path on Windows ([#110](https://github.com/runem/lit-analyzer/pull/110))
+- **Type checking is now up to 15 times faster**
+- `is-assignable-in-boolean-binding` now also accepts "null" and "undefined" types in boolean bindings. Example: ``
+- "Fix message" is now included in the output for the CLI -`no-unknown-property-converter` has been removed and `no-incompatible-property-type` can be used instead.
+- Improved JSDoc support
+- Improved mixin support
+- Private and protected members are now also analyzed
+- All diagnostics in vscode are now reported as `lit-plugin([RULE_ID])` and have unique diagnostic codes ([#108](https://github.com/runem/lit-analyzer/issues/108))
+- When resolving imports for a given module, facade modules are always followed and do not increase depth ([#114](https://github.com/runem/lit-analyzer/pull/114))
+- Improve codefix for 'no-missing-import' rule ([#117](https://github.com/runem/lit-analyzer/pull/117))
+
+### Project
+
+- Refactoring of rule modules
+- Added more tests
+- `lit-analyzer` now uses data from `vscode-web-custom-data`
+- `cancellationToken` is now supported to prevent long running operations
+
+## [1.1.11] - 21/5/2020
### Added
@@ -20,8 +82,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
### Fixed
- Better performance when using the `no-missing-imports` rule. `lit-analyzer` will still check imported modules in your project as usual, however, it will only follow imports 2 levels deep into any imported module from an external dependency (see [#93](https://github.com/runem/lit-analyzer/pull/93))
+- The CLI-option `maxWarnings` defaults to `-1` to avoid failing when the analysis found only warnings (see [#96](https://github.com/runem/lit-analyzer/pull/96))
-## [1.1.10] - 2020-03-02
+## [1.1.10] - 2/3/2020
### Added
@@ -34,7 +97,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
- Fixed problem where when input type is date, min and max should accept date string ([#77](https://github.com/runem/lit-analyzer/issues/77))
- Fixed `no-boolean-in-attribute-binding` to allow assigning booleans that are coerced to string to 'true'|'false' where appropriate ([#dc6cdc6db](https://github.com/runem/lit-analyzer/commit/dc6cdc6dbf5388e55d2d0b93fce21074deceeaad))
-## [1.1.9] - 2019-10-17
+## [1.1.9] - 17/10/2019
### Added
@@ -47,7 +110,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
- Fixed problem where closing tags weren't auto-completed properly ([#37cba351](https://github.com/runem/lit-analyzer/commit/37cba3519762a1b8c6f6522baa40842e1b5ac504))
- Fixed problem where lit-analyzer would crash when running with a newer version of Typescript ([#58](https://github.com/runem/lit-analyzer/issues/58))
-## [1.1.8] - 2019-08-13
+## [1.1.8] - 13/8/2019
### Added
@@ -58,7 +121,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
- Fix problem where the value of attributes on the form attr='val' could get parsed incorrectly. ([#36](https://github.com/runem/lit-analyzer/issues/36))
-## [1.1.4] - 2019-08-05
+## [1.1.4] - 5/8/2019
### Added
@@ -76,7 +139,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
- The analyzer has been updated and should now be much more robust (see [web-component-analyzer](https://github.com/runem/web-component-analyzer)).
- The type checker has been updated and should now be much more robust (see [ts-simple-type](https://github.com/runem/ts-simple-type)).
-## [1.0.0] - 2019-04-01
+## [1.0.0] - 1/4/2019
### Added
@@ -98,7 +161,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
- Temporarily disabled code formatting until issues with nested templates are solved.
-## [0.1.0] - 2019-02-22
+## [0.1.0] - 22/2/2019
### Added
@@ -115,7 +178,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
- Added various missing global built in elements.
- Added various missing global built in attributes like 'aria-\*' attributes.
-## [0.0.24] - 2019-02-08
+## [0.0.24] - 8/2/2019
### Added