<commit_before>## 3.0.0-alpha

This is the first _pre-release_ of AngularDart `3.0.0`. This code is considered
"production quality", but additional breaking changes and features are planned
before releasing a final version.

### New features

*   (Forms) `AbstractControl.markAsDirty` now emits a status change event.

### Breaking changes

*   DOM adapter is now completely removed from the API and generated code
*   A `name` parameter is now _required_ for all `@Pipe(...)` definitions:

    **BEFORE:** `dart @Pipe(name: 'uppercase')`

    **AFTER:** `dart @Pipe('uppercase')`

*   `DomEventsPlugin` now requires a strongly typed interface to `dart:html`.

*   `Null` is no longer propagated as an initial change value. Code should be
    updated to either deliver a different initial value or components with an
    `@Input()` should have an appropriate default value.<commit_msg>Removed quotes around 'production quality'<commit_after>## 3.0.0-alpha

This is the first _pre-release_ of AngularDart `3.0.0`. This code is considered
production quality, but additional breaking changes and features are planned
before releasing a final version.

### New features

*   (Forms) `AbstractControl.markAsDirty` now emits a status change event.

### Breaking changes

*   DOM adapter is now completely removed from the API and generated code
*   A `name` parameter is now _required_ for all `@Pipe(...)` definitions:

    **BEFORE:** `dart @Pipe(name: 'uppercase')`

    **AFTER:** `dart @Pipe('uppercase')`

*   `DomEventsPlugin` now requires a strongly typed interface to `dart:html`.

*   `Null` is no longer propagated as an initial change value. Code should be
    updated to either deliver a different initial value or components with an
    `@Input()` should have an appropriate default value.
{'fraction_non_alphanumeric': 0.09571508069003895, 'fraction_numerical': 0.00667779632721202, 'mean_word_length': 4.2727272727272725, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6288643', 'n_tokens_mistral': 504, 'n_tokens_neox': 489, 'n_words': 225}