{
  "section": "Features",
  "source": "https://www.angular.courses/caniuse?tab=features",
  "expected_count": 220,
  "actual_count": 220,
  "headers": [
    "section",
    "name",
    "package",
    "description",
    "status",
    "introduced_in",
    "removed_in",
    "v22",
    "v21",
    "v20",
    "v19",
    "v18",
    "v17",
    "v16",
    "v15",
    "v14",
    "angular_courses_url",
    "angular_dev_url",
    "notes"
  ],
  "items": [
    {
      "section": "Features",
      "name": "Standalone API",
      "package": "@angular/core",
      "description": "Directly import other components, directives, and pipes used in their templates and enable some features such as defer, hostDirectives and loadComponent.",
      "status": "stable",
      "introduced_in": "14",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "experimental",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/components/importing#standalone-components",
      "notes": "migration: ng generate @angular/core:standalone",
      "raw": {
        "id": "standalone-api",
        "name": "Standalone API",
        "package": "@angular/core",
        "metadata": {
          "description": "Directly import other components, directives, and pipes used in their templates and enable some features such as defer, hostDirectives and loadComponent.",
          "documentationUrl": "https://angular.dev/guide/components/importing#standalone-components",
          "rfcUrl": "https://github.com/angular/angular/discussions/43784",
          "migrationScript": "ng generate @angular/core:standalone"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": "experimental",
            "metadata": {
              "commitUrl": "https://github.com/angular/angular/commit/5a10fc4f8287d448c88ce2f6c97c48307af34af1"
            }
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable",
            "metadata": {
              "notes": "Components, Directives and Pipes are now standalone by default - no need to specify `standalone: true` anymore"
            }
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "@defer",
      "package": "@angular/core",
      "description": "Defer the loading of select dependencies such as components, directives, and pipes, and any associated CSS within a template",
      "status": "stable",
      "introduced_in": "17",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "preview",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/defer#",
      "notes": "",
      "raw": {
        "id": "defer",
        "name": "@defer",
        "package": "@angular/core",
        "metadata": {
          "description": "Defer the loading of select dependencies such as components, directives, and pipes, and any associated CSS within a template",
          "documentationUrl": "https://angular.dev/guide/defer#",
          "rfcUrl": "https://github.com/angular/angular/discussions/50716"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": "preview"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "@for",
      "package": "@angular/core",
      "description": "Angular templates support control flow blocks that let you conditionally repeat elements.",
      "status": "stable",
      "introduced_in": "17",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "preview",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/templates/control-flow#repeat-content-with-the-for-block",
      "notes": "migration: ng generate @angular/core:control-flow",
      "raw": {
        "id": "@for",
        "name": "@for",
        "package": "@angular/core",
        "metadata": {
          "description": "Angular templates support control flow blocks that let you conditionally repeat elements.",
          "documentationUrl": "https://angular.dev/guide/templates/control-flow#repeat-content-with-the-for-block",
          "rfcUrl": "https://github.com/angular/angular/discussions/50719",
          "migrationScript": "ng generate @angular/core:control-flow"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": "preview",
            "metadata": {
              "commitUrl": "https://github.com/angular/angular/commit/93675dc797cb9f897c19fe298455dec52b900113"
            }
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable",
            "metadata": {
              "notes": "ng update mandatory migration"
            }
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "@switch",
      "package": "@angular/core",
      "description": "Angular templates support control flow blocks that let you conditionally show elements.",
      "status": "stable",
      "introduced_in": "17",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "preview",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/templates/control-flow#conditionally-display-content-with-the-switch-block",
      "notes": "migration: ng generate @angular/core:control-flow",
      "raw": {
        "id": "@switch",
        "name": "@switch",
        "package": "@angular/core",
        "metadata": {
          "description": "Angular templates support control flow blocks that let you conditionally show elements.",
          "documentationUrl": "https://angular.dev/guide/templates/control-flow#conditionally-display-content-with-the-switch-block",
          "rfcUrl": "https://github.com/angular/angular/discussions/50719",
          "migrationScript": "ng generate @angular/core:control-flow"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": "preview",
            "metadata": {
              "commitUrl": "https://github.com/angular/angular/commit/93675dc797cb9f897c19fe298455dec52b900113"
            }
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable",
            "metadata": {
              "notes": "ng update mandatory migration"
            }
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "@if",
      "package": "@angular/core",
      "description": "Angular templates support control flow blocks that let you conditionally show and hide elements.",
      "status": "stable",
      "introduced_in": "17",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "preview",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/templates/control-flow#conditionally-display-content-with-if-else-if-and-else",
      "notes": "migration: ng generate @angular/core:control-flow",
      "raw": {
        "id": "@if",
        "name": "@if",
        "package": "@angular/core",
        "metadata": {
          "description": "Angular templates support control flow blocks that let you conditionally show and hide elements.",
          "documentationUrl": "https://angular.dev/guide/templates/control-flow#conditionally-display-content-with-if-else-if-and-else",
          "rfcUrl": "https://github.com/angular/angular/discussions/50719",
          "migrationScript": "ng generate @angular/core:control-flow"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": "preview",
            "metadata": {
              "commitUrl": "https://github.com/angular/angular/commit/93675dc797cb9f897c19fe298455dec52b900113"
            }
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable",
            "metadata": {
              "notes": "ng update mandatory migration"
            }
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "Functional guards/resolvers",
      "package": "@angular/router",
      "description": "Create guards and resolvers using functions.",
      "status": "stable",
      "introduced_in": "14.2",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "functional-guards-resolvers",
        "name": "Functional guards/resolvers",
        "package": "@angular/router",
        "metadata": {
          "description": "Create guards and resolvers using functions."
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14.2,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable",
            "metadata": {
              "commitUrl": "https://github.com/angular/angular-cli/commit/22fdd7da97c832048410ca89622712d097490c5d"
            }
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "Functional interceptors",
      "package": "@angular/router",
      "description": "Create interceptors using functions.",
      "status": "stable",
      "introduced_in": "15",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://v18.angular.dev/guide/http/interceptors#",
      "notes": "",
      "raw": {
        "id": "functional-interceptors",
        "name": "Functional interceptors",
        "package": "@angular/router",
        "metadata": {
          "description": "Create interceptors using functions.",
          "documentationUrl": "https://v18.angular.dev/guide/http/interceptors#"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14.2,
            "status": null
          },
          {
            "version": 15,
            "status": "stable",
            "metadata": {
              "commitUrl": "https://github.com/angular/angular/commit/62c7a7a16e035c3a5346270dc4c5c6de85bf9137"
            }
          },
          {
            "version": 16,
            "status": "stable",
            "metadata": {
              "commitUrl": "https://github.com/angular/angular-cli/commit/22fdd7da97c832048410ca89622712d097490c5d"
            }
          },
          {
            "version": 17,
            "status": "stable",
            "metadata": {
              "commitUrl": "https://github.com/angular/angular-cli/commit/a189962a515051fd77e20bf8dd1815086a0d12ef"
            }
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "@let",
      "package": "@angular/core",
      "description": "Define a local variable and re-use it across the template.",
      "status": "stable",
      "introduced_in": "18.1",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/templates/variables#local-template-variables-with-let",
      "notes": "",
      "raw": {
        "id": "@let",
        "name": "@let",
        "package": "@angular/core",
        "metadata": {
          "description": "Define a local variable and re-use it across the template.",
          "documentationUrl": "https://angular.dev/guide/templates/variables#local-template-variables-with-let"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18.1,
            "status": "preview",
            "metadata": {
              "commitUrl": "https://github.com/angular/angular/commit/0a48d584f2ffeebb9402032182d4fc13a260c5cf"
            }
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "Signal (core)",
      "package": "@angular/core",
      "description": "System that granularly tracks how and where your state is used throughout an application, allowing the framework to optimize rendering updates.",
      "status": "stable",
      "introduced_in": "16",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "preview",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/signals#",
      "notes": "",
      "raw": {
        "id": "signal-core",
        "name": "Signal (core)",
        "package": "@angular/core",
        "metadata": {
          "description": "System that granularly tracks how and where your state is used throughout an application, allowing the framework to optimize rendering updates.",
          "documentationUrl": "https://angular.dev/guide/signals#"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": "preview"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "Signal inputs",
      "package": "@angular/core",
      "description": "Allow values to be bound from parent components.",
      "status": "stable",
      "introduced_in": "17.1",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "preview",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/signals/inputs#",
      "notes": "migration: ng generate @angular/core:signal-input-migration",
      "raw": {
        "id": "signal-inputs",
        "name": "Signal inputs",
        "package": "@angular/core",
        "metadata": {
          "description": "Allow values to be bound from parent components.",
          "documentationUrl": "https://angular.dev/guide/signals/inputs#",
          "migrationScript": "ng generate @angular/core:signal-input-migration"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17.1,
            "status": "preview"
          },
          {
            "version": 18,
            "status": "preview"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "output()",
      "package": "@angular/core",
      "description": "Enable emitting values to parent directives and components.",
      "status": "stable",
      "introduced_in": "17.3",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "preview",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/components/outputs#",
      "notes": "migration: ng generate @angular/core:output-migration",
      "raw": {
        "id": "output",
        "name": "output()",
        "package": "@angular/core",
        "metadata": {
          "description": "Enable emitting values to parent directives and components.",
          "documentationUrl": "https://angular.dev/guide/components/outputs#",
          "migrationScript": "ng generate @angular/core:output-migration"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17.3,
            "status": "preview"
          },
          {
            "version": 18,
            "status": "preview"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "Signal queries",
      "package": "@angular/core",
      "description": "Signals to retrieve references to child components, directives, DOM elements, and more.",
      "status": "stable",
      "introduced_in": "17.2",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "preview",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/signals/queries#",
      "notes": "migration: ng generate @angular/core:signal-queries-migration",
      "raw": {
        "id": "signal-queries",
        "name": "Signal queries",
        "package": "@angular/core",
        "metadata": {
          "description": "Signals to retrieve references to child components, directives, DOM elements, and more.",
          "documentationUrl": "https://angular.dev/guide/signals/queries#",
          "migrationScript": "ng generate @angular/core:signal-queries-migration"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17.2,
            "status": "preview"
          },
          {
            "version": 18,
            "status": "preview"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "Signal model",
      "package": "@angular/core",
      "description": "Special type of input that enable a component to propagate new values back to another component.",
      "status": "stable",
      "introduced_in": "17.2",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "preview",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/signals/model",
      "notes": "",
      "raw": {
        "id": "signal-model",
        "name": "Signal model",
        "package": "@angular/core",
        "metadata": {
          "description": "Special type of input that enable a component to propagate new values back to another component.",
          "documentationUrl": "https://angular.dev/guide/signals/model"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17.2,
            "status": "preview"
          },
          {
            "version": 18,
            "status": "preview"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "Signal effect",
      "package": "@angular/core",
      "description": "Operation that runs whenever one or more signal values change.",
      "status": "stable",
      "introduced_in": "16",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "preview",
      "v18": "preview",
      "v17": "preview",
      "v16": "preview",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/signals#effects",
      "notes": "",
      "raw": {
        "id": "signal-effect",
        "name": "Signal effect",
        "package": "@angular/core",
        "metadata": {
          "description": "Operation that runs whenever one or more signal values change.",
          "documentationUrl": "https://angular.dev/guide/signals#effects"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": "preview"
          },
          {
            "version": 17,
            "status": "preview"
          },
          {
            "version": 18,
            "status": "preview"
          },
          {
            "version": 19,
            "status": "preview"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "Signal inputs converter",
      "package": "@angular/language-service",
      "description": "Language service refactoring action that can convert `@Input()` declarations to signal inputs.",
      "status": "stable",
      "introduced_in": "19",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "signal-inputs-converter",
        "name": "Signal inputs converter",
        "metadata": {
          "description": "Language service refactoring action that can convert `@Input()` declarations to signal inputs."
        },
        "package": "@angular/language-service",
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": "stable",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/1f067f4507b6e908fe991d5de0dc4d3a627ab2f9"
                }
              ]
            }
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "withEventReplay",
      "package": "@angular/platform-browser",
      "description": "Support for replaying user events (e.g. clicks) that happened on a page before hydration logic has completed.",
      "status": "stable",
      "introduced_in": "18",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "preview",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/hydration#capturing-and-replaying-events",
      "notes": "",
      "raw": {
        "id": "withEventReplay",
        "name": "withEventReplay",
        "package": "@angular/platform-browser",
        "metadata": {
          "description": "Support for replaying user events (e.g. clicks) that happened on a page before hydration logic has completed.",
          "documentationUrl": "https://angular.dev/guide/hydration#capturing-and-replaying-events"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": "preview"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "provideZonelessChangeDetection",
      "package": "@angular/platform-browser",
      "description": "Provide change detection without ZoneJS for the application bootstrapped using bootstrapApplication.",
      "status": "stable",
      "introduced_in": "18",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "preview",
      "v19": "experimental",
      "v18": "experimental",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/testing/components-scenarios#automatic-change-detection",
      "notes": "",
      "raw": {
        "id": "provideZonelessChangeDetection",
        "name": "provideZonelessChangeDetection",
        "package": "@angular/platform-browser",
        "metadata": {
          "description": "Provide change detection without ZoneJS for the application bootstrapped using bootstrapApplication.",
          "documentationUrl": "https://angular.dev/guide/testing/components-scenarios#automatic-change-detection"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": "experimental"
          },
          {
            "version": 19,
            "status": "experimental"
          },
          {
            "version": 20,
            "status": "preview",
            "metadata": {
              "notes": "Renamed from provideExperimentalZoneChangeDetection"
            }
          },
          {
            "version": 20.2,
            "status": "stable",
            "metadata": {
              "notes": "Renamed from provideExperimentalZoneChangeDetection"
            }
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "withI18nSupport",
      "package": "@angular/platform-browser",
      "description": "Enable support for hydrating i18n blocks.",
      "status": "stable",
      "introduced_in": "18",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "preview",
      "v18": "preview",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/hydration#i18n",
      "notes": "",
      "raw": {
        "id": "withI18nSupport",
        "name": "withI18nSupport",
        "package": "@angular/platform-browser",
        "metadata": {
          "description": "Enable support for hydrating i18n blocks.",
          "documentationUrl": "https://angular.dev/guide/hydration#i18n"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": "preview"
          },
          {
            "version": 19,
            "status": "preview"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "createRequestHandler",
      "package": "@angular/ssr",
      "description": "Annotate a request handler function with metadata, marking it as a special handler.",
      "status": "stable",
      "introduced_in": "19",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "preview",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "createRequestHandler",
        "name": "createRequestHandler",
        "metadata": {
          "description": "Annotate a request handler function with metadata, marking it as a special handler."
        },
        "package": "@angular/ssr",
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": "preview"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "createNodeRequestHandler",
      "package": "@angular/ssr",
      "description": "Attache metadata to the handler function to mark it as a special handler for Node.js environments.",
      "status": "stable",
      "introduced_in": "19",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "preview",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "createNodeRequestHandler",
        "name": "createNodeRequestHandler",
        "metadata": {
          "description": "Attache metadata to the handler function to mark it as a special handler for Node.js environments."
        },
        "package": "@angular/ssr",
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": "preview"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "isMainModule",
      "package": "@angular/ssr",
      "description": "Determine whether the provided URL represents the main entry point module.",
      "status": "stable",
      "introduced_in": "19",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "preview",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "isMainModule",
        "name": "isMainModule",
        "metadata": {
          "description": "Determine whether the provided URL represents the main entry point module."
        },
        "package": "@angular/ssr",
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": "preview"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "PendingTasks",
      "package": "@angular/ssr",
      "description": "Experimental service that keeps track of pending tasks contributing to the stableness of Angular application.",
      "status": "stable",
      "introduced_in": "18",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "preview",
      "v18": "experimental",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/experimental/zoneless#experimentalpendingtasks-for-server-side-rendering-ssr",
      "notes": "",
      "raw": {
        "id": "PendingTasks",
        "name": "PendingTasks",
        "metadata": {
          "description": "Experimental service that keeps track of pending tasks contributing to the stableness of Angular application.",
          "documentationUrl": "https://angular.dev/guide/experimental/zoneless#experimentalpendingtasks-for-server-side-rendering-ssr"
        },
        "package": "@angular/ssr",
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": "experimental"
          },
          {
            "version": 19,
            "status": "preview"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AngularAppEngine",
      "package": "@angular/ssr",
      "description": "Manage Angular server applications (including localized ones), handles rendering requests, and optionally transforms index HTML before rendering.",
      "status": "stable",
      "introduced_in": "19",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "preview",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "AngularAppEngine",
        "name": "AngularAppEngine",
        "metadata": {
          "description": "Manage Angular server applications (including localized ones), handles rendering requests, and optionally transforms index HTML before rendering."
        },
        "package": "@angular/ssr",
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": "preview"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AngularNodeAppEngine",
      "package": "@angular/ssr",
      "description": "Manage Angular server applications (including localized ones), handles rendering requests, and optionally transforms index HTML before rendering.",
      "status": "stable",
      "introduced_in": "19",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "preview",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "AngularNodeAppEngine",
        "name": "AngularNodeAppEngine",
        "metadata": {
          "description": "Manage Angular server applications (including localized ones), handles rendering requests, and optionally transforms index HTML before rendering."
        },
        "package": "@angular/ssr",
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": "preview"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "createWebRequestFromNodeRequest",
      "package": "@angular/ssr",
      "description": "",
      "status": "stable",
      "introduced_in": "19",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "preview",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "createWebRequestFromNodeRequest",
        "name": "createWebRequestFromNodeRequest",
        "package": "@angular/ssr",
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": "preview",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular-cli/commit/455b5700c29845829235e17efec320e634553108#diff-c5d5f2d7a4d78d365d99bfe612bcd8043917786a814bb0c2b4df3ef21916636aR18"
                }
              ]
            }
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "writeResponseToNodeResponse",
      "package": "@angular/ssr",
      "description": "",
      "status": "stable",
      "introduced_in": "19",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "preview",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "writeResponseToNodeResponse",
        "name": "writeResponseToNodeResponse",
        "package": "@angular/ssr",
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": "preview",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular-cli/commit/455b5700c29845829235e17efec320e634553108#diff-e9a8e11f8ba8e6179d9d2746330ebdb2900cba68f0be8e9d0f34ad952cb90e43R19"
                }
              ]
            }
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "RenderMode",
      "package": "@angular/ssr",
      "description": "Different rendering modes for server routes.",
      "status": "stable",
      "introduced_in": "19",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "preview",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "RenderMode",
        "name": "RenderMode",
        "metadata": {
          "description": "Different rendering modes for server routes."
        },
        "package": "@angular/ssr",
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": "preview",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular-cli/commit/41fb2ed86056306406832317178ca5d94aa110e2#diff-503e115eb1d0e9fe3ed1c908026bf21f1b853c0aaabcd54be2f464b8d12d4967R15"
                }
              ]
            }
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "PrerenderFallback",
      "package": "@angular/ssr",
      "description": "Fallback strategies for Static Site Generation (SSG) routes.",
      "status": "preview",
      "introduced_in": "19",
      "removed_in": "",
      "v22": "preview",
      "v21": "preview",
      "v20": "preview",
      "v19": "preview",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "PrerenderFallback",
        "name": "PrerenderFallback",
        "metadata": {
          "description": "Fallback strategies for Static Site Generation (SSG) routes."
        },
        "package": "@angular/ssr",
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": "preview",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular-cli/commit/41fb2ed86056306406832317178ca5d94aa110e2#diff-503e115eb1d0e9fe3ed1c908026bf21f1b853c0aaabcd54be2f464b8d12d4967R33"
                }
              ]
            }
          },
          {
            "version": 20,
            "status": "preview"
          },
          {
            "version": 21,
            "status": "preview"
          },
          {
            "version": 22,
            "status": "preview"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "ServerRoute",
      "package": "@angular/ssr",
      "description": "Server route configuration.",
      "status": "stable",
      "introduced_in": "19",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "preview",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "ServerRoute",
        "name": "ServerRoute",
        "metadata": {
          "description": "Server route configuration."
        },
        "package": "@angular/ssr",
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": "preview",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular-cli/commit/41fb2ed86056306406832317178ca5d94aa110e2#diff-503e115eb1d0e9fe3ed1c908026bf21f1b853c0aaabcd54be2f464b8d12d4967R124"
                }
              ]
            }
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "provideServerRendering",
      "package": "@angular/ssr",
      "description": "Configure the necessary providers for server routes configuration.",
      "status": "stable",
      "introduced_in": "19",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "preview",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "provideServerRendering",
        "name": "provideServerRendering",
        "metadata": {
          "description": "Configure the necessary providers for server routes configuration."
        },
        "package": "@angular/ssr",
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": "preview",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular-cli/commit/41fb2ed86056306406832317178ca5d94aa110e2#diff-503e115eb1d0e9fe3ed1c908026bf21f1b853c0aaabcd54be2f464b8d12d4967R139"
                }
              ]
            }
          },
          {
            "version": 20,
            "status": "stable",
            "metadata": {
              "notes": "Renamed from provideServerRoutes"
            }
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "afterEveryRender",
      "package": "@angular/core",
      "description": "Register a callback to be invoked each time the application finishes rendering",
      "status": "stable",
      "introduced_in": "16",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "preview",
      "v18": "preview",
      "v17": "preview",
      "v16": "preview",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/components/lifecycle#aftereveryrender-and-afternextrender",
      "notes": "",
      "raw": {
        "id": "afterEveryRender",
        "name": "afterEveryRender",
        "package": "@angular/core",
        "metadata": {
          "description": "Register a callback to be invoked each time the application finishes rendering",
          "documentationUrl": "https://angular.dev/guide/components/lifecycle#aftereveryrender-and-afternextrender"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": "preview"
          },
          {
            "version": 17,
            "status": "preview"
          },
          {
            "version": 18,
            "status": "preview"
          },
          {
            "version": 19,
            "status": "preview"
          },
          {
            "version": 20,
            "status": "stable",
            "metadata": {
              "notes": "Renamed from afterRender",
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/pull/60999"
                }
              ]
            }
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "afterNextRender",
      "package": "@angular/core",
      "description": "Register callbacks to be invoked the next time the application finishes rendering",
      "status": "stable",
      "introduced_in": "16",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "preview",
      "v18": "preview",
      "v17": "preview",
      "v16": "preview",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/components/lifecycle#aftereveryrender-and-afternextrender",
      "notes": "",
      "raw": {
        "id": "afterNextRender",
        "name": "afterNextRender",
        "package": "@angular/core",
        "metadata": {
          "description": "Register callbacks to be invoked the next time the application finishes rendering",
          "documentationUrl": "https://angular.dev/guide/components/lifecycle#aftereveryrender-and-afternextrender"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": "preview"
          },
          {
            "version": 17,
            "status": "preview"
          },
          {
            "version": 18,
            "status": "preview"
          },
          {
            "version": 19,
            "status": "preview"
          },
          {
            "version": 20,
            "status": "stable",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/pull/60792"
                }
              ]
            }
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "afterRenderEffect",
      "package": "@angular/core",
      "description": "Create effect(s) that run as part of Angular's `afterRender` sequence.",
      "status": "stable",
      "introduced_in": "19",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "experimental",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "afterRenderEffect",
        "name": "afterRenderEffect",
        "package": "@angular/core",
        "metadata": {
          "description": "Create effect(s) that run as part of Angular's `afterRender` sequence."
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": "experimental",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/be2e49639bda831831ad62d49253db942a83fd46#diff-74210fe93145cf1b95113524d1ca78287880b46bdb8f838930b1160ec7066e3eR263"
                }
              ]
            }
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "withViewTransitions",
      "package": "@angular/router",
      "description": "Enable view transitions in the Router",
      "status": "preview",
      "introduced_in": "17",
      "removed_in": "",
      "v22": "preview",
      "v21": "preview",
      "v20": "preview",
      "v19": "preview",
      "v18": "experimental",
      "v17": "experimental",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/animations/route-animations#how-the-router-uses-view-transitions",
      "notes": "",
      "raw": {
        "id": "withViewTransitions",
        "name": "withViewTransitions",
        "package": "@angular/router",
        "metadata": {
          "description": "Enable view transitions in the Router",
          "documentationUrl": "https://angular.dev/guide/animations/route-animations#how-the-router-uses-view-transitions"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": "experimental",
            "metadata": {
              "commitUrl": "https://github.com/angular/angular/commit/73e4bf2ed2471faf44a49b591e19a390d5867449"
            }
          },
          {
            "version": 18,
            "status": "experimental"
          },
          {
            "version": 19,
            "status": "preview",
            "metadata": {
              "commitUrl": "https://github.com/angular/angular/pull/55600/commits/313c0b1502fcac069712e311866aba5c017ef585"
            }
          },
          {
            "version": 20,
            "status": "preview"
          },
          {
            "version": 21,
            "status": "preview"
          },
          {
            "version": 22,
            "status": "preview"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "toSignal",
      "package": "@angular/core/rxjs-interop",
      "description": "Get the current value of an Observable as a reactive Signal.",
      "status": "stable",
      "introduced_in": "16",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "preview",
      "v18": "preview",
      "v17": "preview",
      "v16": "preview",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/signals/rxjs-interop#tosignal",
      "notes": "",
      "raw": {
        "id": "toSignal",
        "name": "toSignal",
        "package": "@angular/core/rxjs-interop",
        "metadata": {
          "description": "Get the current value of an Observable as a reactive Signal.",
          "documentationUrl": "https://angular.dev/guide/signals/rxjs-interop#tosignal"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": "preview"
          },
          {
            "version": 17,
            "status": "preview"
          },
          {
            "version": 18,
            "status": "preview"
          },
          {
            "version": 19,
            "status": "preview"
          },
          {
            "version": 20,
            "status": "stable",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/pull/60442"
                }
              ]
            }
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "toObservable",
      "package": "@angular/core/rxjs-interop",
      "description": "Expose the value of an Angular Signal as an RxJS Observable.",
      "status": "stable",
      "introduced_in": "16",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "preview",
      "v18": "preview",
      "v17": "preview",
      "v16": "preview",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/signals/rxjs-interop#toobservable",
      "notes": "",
      "raw": {
        "id": "toObservable",
        "name": "toObservable",
        "package": "@angular/core/rxjs-interop",
        "metadata": {
          "description": "Expose the value of an Angular Signal as an RxJS Observable.",
          "documentationUrl": "https://angular.dev/guide/signals/rxjs-interop#toobservable"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": "preview"
          },
          {
            "version": 17,
            "status": "preview"
          },
          {
            "version": 18,
            "status": "preview"
          },
          {
            "version": 19,
            "status": "preview"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "takeUntilDestroyed",
      "package": "@angular/core/rxjs-interop",
      "description": "Complete the Observable when the calling context (component, directive, service, etc) is destroyed.",
      "status": "stable",
      "introduced_in": "16",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "preview",
      "v17": "preview",
      "v16": "preview",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "takeUntilDestroyed",
        "name": "takeUntilDestroyed",
        "package": "@angular/core/rxjs-interop",
        "metadata": {
          "description": "Complete the Observable when the calling context (component, directive, service, etc) is destroyed."
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": "preview"
          },
          {
            "version": 17,
            "status": "preview"
          },
          {
            "version": 18,
            "status": "preview"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "outputFromObservable",
      "package": "@angular/core/rxjs-interop",
      "description": "Output using an RxJS observable as a source for events dispatched to parent subscribers.",
      "status": "stable",
      "introduced_in": "16",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "preview",
      "v17": "preview",
      "v16": "preview",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/signals/rxjs-interop#outputfromobservable",
      "notes": "",
      "raw": {
        "id": "outputFromObservable",
        "name": "outputFromObservable",
        "package": "@angular/core/rxjs-interop",
        "metadata": {
          "description": "Output using an RxJS observable as a source for events dispatched to parent subscribers.",
          "documentationUrl": "https://angular.dev/guide/signals/rxjs-interop#outputfromobservable"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": "preview"
          },
          {
            "version": 17,
            "status": "preview"
          },
          {
            "version": 18,
            "status": "preview"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "outputToObservable",
      "package": "@angular/core/rxjs-interop",
      "description": "Convert an Angular output declared via output() or outputFromObservable() to an observable.",
      "status": "stable",
      "introduced_in": "16",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "preview",
      "v17": "preview",
      "v16": "preview",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/signals/rxjs-interop#outputtoobservable",
      "notes": "",
      "raw": {
        "id": "outputToObservable",
        "name": "outputToObservable",
        "package": "@angular/core/rxjs-interop",
        "metadata": {
          "description": "Convert an Angular output declared via output() or outputFromObservable() to an observable.",
          "documentationUrl": "https://angular.dev/guide/signals/rxjs-interop#outputtoobservable"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": "preview"
          },
          {
            "version": 17,
            "status": "preview"
          },
          {
            "version": 18,
            "status": "preview"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "auto-csp",
      "package": "@angular/build",
      "description": "Opt-in option in angular.json to enable the auto-CSP transformation",
      "status": "preview",
      "introduced_in": "19",
      "removed_in": "",
      "v22": "preview",
      "v21": "preview",
      "v20": "preview",
      "v19": "experimental",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "auto-csp",
        "name": "auto-csp",
        "package": "@angular/build",
        "metadata": {
          "description": "Opt-in option in angular.json to enable the auto-CSP transformation"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": "experimental",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular-cli/commit/efb434136d8c8df207747ab8fd87b7e2116b7106"
                }
              ]
            }
          },
          {
            "version": 20,
            "status": "preview"
          },
          {
            "version": 21,
            "status": "preview"
          },
          {
            "version": 22,
            "status": "preview"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "experimentalPlatform",
      "package": "@angular/build",
      "description": "Specifie the platform for which the server bundle is generated",
      "status": "experimental",
      "introduced_in": "19",
      "removed_in": "",
      "v22": "experimental",
      "v21": "experimental",
      "v20": "experimental",
      "v19": "experimental",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "experimentalPlatform",
        "name": "experimentalPlatform",
        "package": "@angular/build",
        "metadata": {
          "description": "Specifie the platform for which the server bundle is generated"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": "experimental",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular-cli/commit/7d883a152e978112245a98f2f737764caa76ec0f"
                }
              ]
            }
          },
          {
            "version": 20,
            "status": "experimental"
          },
          {
            "version": 21,
            "status": "experimental"
          },
          {
            "version": 22,
            "status": "experimental"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "withIncrementalHydration",
      "package": "@angular/platform-browser",
      "description": "Enable support for incremental hydration using the `hydrate` trigger syntax.",
      "status": "stable",
      "introduced_in": "19",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "preview",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/incremental-hydration#how-do-you-enable-incremental-hydration-in-angular",
      "notes": "",
      "raw": {
        "id": "withIncrementalHydration",
        "name": "withIncrementalHydration",
        "package": "@angular/platform-browser",
        "metadata": {
          "description": "Enable support for incremental hydration using the `hydrate` trigger syntax.",
          "documentationUrl": "https://angular.dev/guide/incremental-hydration#how-do-you-enable-incremental-hydration-in-angular"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": "preview",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/69fc5ae9229b872a9ad70eb920087af2a378fead"
                }
              ]
            }
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "pendingUntilEvent",
      "package": "@angular/core/rxjs-interop",
      "description": "Operator which makes the application unstable until the observable emits, complets, errors, or is unsubscribed.",
      "status": "preview",
      "introduced_in": "19",
      "removed_in": "",
      "v22": "preview",
      "v21": "preview",
      "v20": "preview",
      "v19": "experimental",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/zoneless#pendingtasks-for-server-side-rendering-ssr",
      "notes": "",
      "raw": {
        "id": "pendingUntilEvent",
        "name": "pendingUntilEvent",
        "package": "@angular/core/rxjs-interop",
        "metadata": {
          "description": "Operator which makes the application unstable until the observable emits, complets, errors, or is unsubscribed.",
          "documentationUrl": "https://angular.dev/guide/zoneless#pendingtasks-for-server-side-rendering-ssr"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": "experimental",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/8ebbae88ca48b8aa78cd85deedbed19d44b8227e"
                }
              ]
            }
          },
          {
            "version": 20,
            "status": "preview"
          },
          {
            "version": 21,
            "status": "preview"
          },
          {
            "version": 22,
            "status": "preview"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "resource()",
      "package": "@angular/core",
      "description": "Construct a `Resource` that projects a reactive request to an asynchronous operation defined by a loader function, which exposes the result of the loading operation via signals.",
      "status": "stable",
      "introduced_in": "19",
      "removed_in": "",
      "v22": "stable",
      "v21": "experimental",
      "v20": "experimental",
      "v19": "experimental",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/signals/resource#",
      "notes": "",
      "raw": {
        "id": "resource",
        "name": "resource()",
        "package": "@angular/core",
        "metadata": {
          "description": "Construct a `Resource` that projects a reactive request to an asynchronous operation defined by a loader function, which exposes the result of the loading operation via signals.",
          "documentationUrl": "https://angular.dev/guide/signals/resource#"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": "experimental",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/18d8d44b1f3d56a4eda68f2cafded7529e08d0f1"
                }
              ]
            }
          },
          {
            "version": 20,
            "status": "experimental"
          },
          {
            "version": 21,
            "status": "experimental"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "rxResource()",
      "package": "@angular/core/rxjs-interop",
      "description": "Construct a `Resource` that projects a reactive request to an asynchronous operation defined by a RxJS based loader function, which exposes the result of the loading operation via signals.",
      "status": "stable",
      "introduced_in": "19",
      "removed_in": "",
      "v22": "stable",
      "v21": "experimental",
      "v20": "experimental",
      "v19": "experimental",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/signals/resource#",
      "notes": "",
      "raw": {
        "id": "rxResource",
        "name": "rxResource()",
        "package": "@angular/core/rxjs-interop",
        "metadata": {
          "description": "Construct a `Resource` that projects a reactive request to an asynchronous operation defined by a RxJS based loader function, which exposes the result of the loading operation via signals.",
          "documentationUrl": "https://angular.dev/guide/signals/resource#"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": "experimental",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/9762b24b5e8d7ab3ed2321959492a77b01d8ae57"
                }
              ]
            }
          },
          {
            "version": 20,
            "status": "experimental"
          },
          {
            "version": 21,
            "status": "experimental"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "httpResource()",
      "package": "@angular/common/http",
      "description": "new frontend to the HttpClient infrastructure",
      "status": "stable",
      "introduced_in": "19.2",
      "removed_in": "",
      "v22": "stable",
      "v21": "experimental",
      "v20": "experimental",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "httpResource",
        "name": "httpResource()",
        "package": "@angular/common/http",
        "metadata": {
          "description": "new frontend to the HttpClient infrastructure"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19.2,
            "status": "experimental",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/pull/59876/commits/8aec2dfb30d1b35bb3eb7bc46692525691c1a56c"
                }
              ]
            }
          },
          {
            "version": 20,
            "status": "experimental"
          },
          {
            "version": 21,
            "status": "experimental"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "linkedSignal",
      "package": "@angular/core",
      "description": "Represent state (hence the signal in the name) that is reset based on the provided computation.",
      "status": "stable",
      "introduced_in": "19",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "preview",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/signals/linked-signal#",
      "notes": "",
      "raw": {
        "id": "linkedSignal",
        "name": "linkedSignal",
        "package": "@angular/core",
        "metadata": {
          "description": "Represent state (hence the signal in the name) that is reset based on the provided computation.",
          "documentationUrl": "https://angular.dev/guide/signals/linked-signal#"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": "preview",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/8311f00faaf282d1a5b1ddca29247a2fba94a692"
                }
              ]
            }
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "withRequestsMadeViaParent",
      "package": "@angular/common/http",
      "description": "Configure the current `HttpClient` instance to make requests via the parent injector's `HttpClient` instead of directly.",
      "status": "stable",
      "introduced_in": "15",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "preview",
      "v17": "preview",
      "v16": "preview",
      "v15": "preview",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "withRequestsMadeViaParent",
        "name": "withRequestsMadeViaParent",
        "package": "@angular/common/http",
        "metadata": {
          "description": "Configure the current `HttpClient` instance to make requests via the parent injector's `HttpClient` instead of directly."
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": "preview"
          },
          {
            "version": 16,
            "status": "preview"
          },
          {
            "version": 17,
            "status": "preview"
          },
          {
            "version": 18,
            "status": "preview"
          },
          {
            "version": 19,
            "status": "stable",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/4b9accdf166f3990b3706de83ada15937fe786e2"
                }
              ]
            }
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "ngOptimizedImage",
      "package": "@angular/common",
      "description": "Directive that improves image loading performance by enforcing best practices.",
      "status": "stable",
      "introduced_in": "14.2",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/image-optimization",
      "notes": "",
      "raw": {
        "id": "ngOptimizedImage",
        "name": "ngOptimizedImage",
        "package": "@angular/common",
        "metadata": {
          "description": "Directive that improves image loading performance by enforcing best practices.",
          "documentationUrl": "https://angular.dev/guide/image-optimization"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14.2,
            "status": "preview",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/d5f7da21207f7808dffb3932fa61d22614e6bd57"
                }
              ]
            }
          },
          {
            "version": 15,
            "status": "stable",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/b136e9eea6c9b22796186262292db738cd4d1a12"
                }
              ]
            }
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "provideClientHydration",
      "package": "@angular/platform-browser",
      "description": "Sets up providers necessary to enable hydration functionality for the application.",
      "status": "stable",
      "introduced_in": "16",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "preview",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/hydration",
      "notes": "",
      "raw": {
        "id": "provideClientHydration",
        "name": "provideClientHydration",
        "package": "@angular/platform-browser",
        "metadata": {
          "description": "Sets up providers necessary to enable hydration functionality for the application.",
          "documentationUrl": "https://angular.dev/guide/hydration"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": "preview"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "*ngIf",
      "package": "@angular/common",
      "description": "Structural directives are directives which change the DOM layout by adding and removing DOM elements.",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/directives/structural-directives#",
      "notes": "migration: ng generate @angular/core:control-flow",
      "raw": {
        "id": "*ngIf",
        "name": "*ngIf",
        "package": "@angular/common",
        "metadata": {
          "description": "Structural directives are directives which change the DOM layout by adding and removing DOM elements.",
          "documentationUrl": "https://angular.dev/guide/directives/structural-directives#",
          "migrationScript": "ng generate @angular/core:control-flow",
          "replacedBy": "@if"
        },
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "deprecated",
            "metadata": {
              "notes": "ng update mandatory migration",
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/pull/60492"
                }
              ]
            }
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "*ngFor",
      "package": "@angular/common",
      "description": "Structural directives are directives which change the DOM layout by adding and removing DOM elements.",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/directives/structural-directives#",
      "notes": "migration: ng generate @angular/core:control-flow",
      "raw": {
        "id": "*ngFor",
        "name": "*ngFor",
        "package": "@angular/common",
        "metadata": {
          "description": "Structural directives are directives which change the DOM layout by adding and removing DOM elements.",
          "documentationUrl": "https://angular.dev/guide/directives/structural-directives#",
          "migrationScript": "ng generate @angular/core:control-flow",
          "replacedBy": "@for"
        },
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "deprecated",
            "metadata": {
              "notes": "ng update mandatory migration",
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/pull/60492"
                }
              ]
            }
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "*ngSwitch",
      "package": "@angular/common",
      "description": "Structural directives are directives which change the DOM layout by adding and removing DOM elements.",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/directives/structural-directives#",
      "notes": "migration: ng generate @angular/core:control-flow",
      "raw": {
        "id": "*ngSwitch",
        "name": "*ngSwitch",
        "package": "@angular/common",
        "metadata": {
          "description": "Structural directives are directives which change the DOM layout by adding and removing DOM elements.",
          "documentationUrl": "https://angular.dev/guide/directives/structural-directives#",
          "migrationScript": "ng generate @angular/core:control-flow",
          "replacedBy": "@switch"
        },
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "deprecated",
            "metadata": {
              "notes": "ng update mandatory migration",
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/pull/60492"
                }
              ]
            }
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "HammerJS integration",
      "package": "@angular/platform-browser",
      "description": "An injectable HammerJS Manager for gesture recognition.",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://hammerjs.github.io/",
      "notes": "",
      "raw": {
        "id": "HammerJS integration",
        "name": "HammerJS integration",
        "package": "@angular/platform-browser",
        "metadata": {
          "description": "An injectable HammerJS Manager for gesture recognition.",
          "documentationUrl": "https://hammerjs.github.io/"
        },
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "deprecated",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/pull/60257"
                }
              ]
            }
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "platformServerTesting",
      "package": "@angular/platform-server/testing",
      "description": "Supplies a testing module for the Angular platform server subsystem.",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "platformServerTesting",
        "name": "platformServerTesting",
        "package": "@angular/platform-server/testing",
        "metadata": {
          "description": "Supplies a testing module for the Angular platform server subsystem."
        },
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "deprecated",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/pull/60915"
                }
              ]
            }
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "ServerTestingModule",
      "package": "@angular/platform-server/testing",
      "description": "Supplies a testing module for the Angular platform server subsystem.",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "ServerTestingModule",
        "name": "ServerTestingModule",
        "package": "@angular/platform-server/testing",
        "metadata": {
          "description": "Supplies a testing module for the Angular platform server subsystem."
        },
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "deprecated",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/pull/60915"
                }
              ]
            }
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "TestBed.get",
      "package": "@angular/core/testing",
      "description": "Supplies a testing module for the Angular platform server subsystem.",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "20",
      "v22": "removed",
      "v21": "removed",
      "v20": "removed",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "deprecated",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "TestBed.get",
        "name": "TestBed.get",
        "package": "@angular/core/testing",
        "metadata": {
          "description": "Supplies a testing module for the Angular platform server subsystem."
        },
        "versions": [
          {
            "version": 13,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "removed",
            "metadata": {
              "notes": "use TestBed.inject() instead",
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/pull/60915"
                }
              ]
            }
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "TestBed.flushEffects",
      "package": "@angular/core/testing",
      "description": "Execute any pending effects. use `TestBed.tick()` instead",
      "status": "deprecated",
      "introduced_in": "17",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "preview",
      "v18": "preview",
      "v17": "preview",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "TestBed.flushEffects",
        "name": "TestBed.flushEffects",
        "package": "@angular/core/testing",
        "metadata": {
          "description": "Execute any pending effects. use `TestBed.tick()` instead"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": "preview"
          },
          {
            "version": 18,
            "status": "preview"
          },
          {
            "version": 19,
            "status": "preview"
          },
          {
            "version": 20,
            "status": "deprecated",
            "metadata": {
              "notes": "use TestBed.tick() instead",
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/pull/60915"
                }
              ]
            }
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "provideCheckNoChangesConfig",
      "package": "@angular/core",
      "description": "Used to disable exhaustive checks when verifying no expressions changed after they were checked.",
      "status": "preview",
      "introduced_in": "18",
      "removed_in": "",
      "v22": "preview",
      "v21": "preview",
      "v20": "preview",
      "v19": "experimental",
      "v18": "experimental",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "provideCheckNoChangesConfig",
        "name": "provideCheckNoChangesConfig",
        "package": "@angular/core",
        "metadata": {
          "description": "Used to disable exhaustive checks when verifying no expressions changed after they were checked."
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": "experimental"
          },
          {
            "version": 19,
            "status": "experimental"
          },
          {
            "version": 20,
            "status": "preview",
            "metadata": {
              "notes": "Renamed from provideExperimentalCheckNoChangesForDebug",
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/pull/60906"
                }
              ]
            }
          },
          {
            "version": 21,
            "status": "preview"
          },
          {
            "version": 22,
            "status": "preview"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "Vitest",
      "package": "@angular/build",
      "description": "unit-testing and browser Vitest testing support",
      "status": "stable",
      "introduced_in": "20",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "experimental",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "Vitest",
        "name": "Vitest",
        "package": "@angular/build",
        "metadata": {
          "description": "unit-testing and browser Vitest testing support"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": null
          },
          {
            "version": 20,
            "status": "experimental",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular-cli/commit/12def3a2e907ca8e7d530cea1b39bba90e153144"
                }
              ]
            }
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "withComponentInputBinding",
      "package": "@angular/router",
      "description": "Enables binding information from the Router state directly to the inputs of the component in Route configurations.",
      "status": "stable",
      "introduced_in": "16",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/routing/common-router-tasks#add-withcomponentinputbinding",
      "notes": "",
      "raw": {
        "id": "withComponentInputBinding",
        "name": "withComponentInputBinding",
        "package": "@angular/router",
        "metadata": {
          "description": "Enables binding information from the Router state directly to the inputs of the component in Route configurations.",
          "documentationUrl": "https://angular.dev/guide/routing/common-router-tasks#add-withcomponentinputbinding"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "Unified control state change events",
      "package": "@angular/forms",
      "description": "Unified way to listen to all form events: ValueChangeEvent, StatusChangeEvent, PristineChangeEvent and TouchedChangeEvent",
      "status": "stable",
      "introduced_in": "18",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "unified-control-state-change-events",
        "name": "Unified control state change events",
        "package": "@angular/forms",
        "metadata": {
          "description": "Unified way to listen to all form events: ValueChangeEvent, StatusChangeEvent, PristineChangeEvent and TouchedChangeEvent"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "provideBrowserGlobalErrorListeners",
      "package": "@angular/core",
      "description": "Provides an environment initializer which forwards unhandled errors to the ErrorHandler.",
      "status": "stable",
      "introduced_in": "20",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/best-practices/error-handling#client-side-rendering",
      "notes": "",
      "raw": {
        "id": "provideBrowserGlobalErrorListeners",
        "name": "provideBrowserGlobalErrorListeners",
        "package": "@angular/core",
        "metadata": {
          "description": "Provides an environment initializer which forwards unhandled errors to the ErrorHandler.",
          "documentationUrl": "https://angular.dev/best-practices/error-handling#client-side-rendering"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": null
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "inject()",
      "package": "@angular/core",
      "description": "Injects a token from the currently active injector. inject is only supported in an injection context. ",
      "status": "stable",
      "introduced_in": "14",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/best-practices/error-handling#client-side-rendering",
      "notes": "migration: ng generate @angular/core:inject",
      "raw": {
        "id": "inject",
        "name": "inject()",
        "package": "@angular/core",
        "metadata": {
          "description": "Injects a token from the currently active injector. inject is only supported in an injection context. ",
          "documentationUrl": "https://angular.dev/best-practices/error-handling#client-side-rendering",
          "migrationScript": "ng generate @angular/core:inject"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable",
            "metadata": {
              "notes": "recommended over constructor in the new official style guide"
            }
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "NG_BUILD_OPTIMIZE_CHUNKS",
      "package": "@angular/cli",
      "description": "chunk optimizer for production application builds",
      "status": "experimental",
      "introduced_in": "18",
      "removed_in": "",
      "v22": "experimental",
      "v21": "experimental",
      "v20": "experimental",
      "v19": "experimental",
      "v18": "experimental",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "NG_BUILD_OPTIMIZE_CHUNKS",
        "name": "NG_BUILD_OPTIMIZE_CHUNKS",
        "package": "@angular/cli",
        "metadata": {
          "description": "chunk optimizer for production application builds"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": "experimental"
          },
          {
            "version": 19,
            "status": "experimental"
          },
          {
            "version": 20,
            "status": "experimental"
          },
          {
            "version": 21,
            "status": "experimental"
          },
          {
            "version": 22,
            "status": "experimental"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "provideAnimationsAsync",
      "package": "@angular/animations",
      "description": "Renders animations only once the renderer is loaded",
      "status": "deprecated",
      "introduced_in": "17",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/api/platform-browser/animations/async/provideAnimationsAsync#",
      "notes": "",
      "raw": {
        "id": "provideAnimationsAsync",
        "name": "provideAnimationsAsync",
        "package": "@angular/animations",
        "metadata": {
          "description": "Renders animations only once the renderer is loaded",
          "documentationUrl": "https://angular.dev/api/platform-browser/animations/async/provideAnimationsAsync#"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated",
            "metadata": {
              "notes": "use animate.enter and animate.leave instead",
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/pull/62795"
                }
              ]
            }
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "@angular/animations package",
      "package": "@angular/animations",
      "description": "Renders animations only once the renderer is loaded",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/animations/css",
      "notes": "",
      "raw": {
        "id": "@angular/animations package",
        "name": "@angular/animations package",
        "package": "@angular/animations",
        "metadata": {
          "description": "Renders animations only once the renderer is loaded",
          "documentationUrl": "https://angular.dev/guide/animations/css"
        },
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated",
            "metadata": {
              "notes": "use animate.enter and animate.leave instead",
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/pull/62795"
                }
              ]
            }
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "Router.getCurrentNavigation",
      "package": "@angular/router",
      "description": "Returns the current navigation object",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/guide/animations/css",
      "notes": "",
      "raw": {
        "id": "get-current-navigation",
        "name": "Router.getCurrentNavigation",
        "package": "@angular/router",
        "metadata": {
          "description": "Returns the current navigation object",
          "documentationUrl": "https://angular.dev/guide/animations/css"
        },
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated",
            "metadata": {
              "notes": "use Router.currentNavigation instead"
            }
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "withExperimentalPlatformNavigation",
      "package": "@angular/router",
      "description": "Navigation Web API support",
      "status": "experimental",
      "introduced_in": "21.1",
      "removed_in": "",
      "v22": "experimental",
      "v21": "not_available",
      "v20": "not_available",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "navigation-api-support",
        "name": "withExperimentalPlatformNavigation",
        "package": "@angular/router",
        "metadata": {
          "description": "Navigation Web API support"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": null
          },
          {
            "version": 20,
            "status": null
          },
          {
            "version": 21.1,
            "status": "experimental",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/7003e8d2417660f71b3a2a017aff3e650c8d9646"
                }
              ]
            }
          },
          {
            "version": 22,
            "status": "experimental"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "Signal forms",
      "package": "@angular/forms",
      "description": "Signal forms",
      "status": "stable",
      "introduced_in": "21",
      "removed_in": "",
      "v22": "stable",
      "v21": "experimental",
      "v20": "not_available",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "signal-forms",
        "name": "Signal forms",
        "package": "@angular/forms",
        "metadata": {
          "description": "Signal forms"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": null
          },
          {
            "version": 20,
            "status": null
          },
          {
            "version": 21,
            "status": "experimental",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/pull/63408"
                }
              ]
            }
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "FormArrayDirective",
      "package": "@angular/forms",
      "description": "FormArrayDirective enables wrapping a HTML form without relying on FormGroupDirective",
      "status": "stable",
      "introduced_in": "21",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "not_available",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "form-array-directive",
        "name": "FormArrayDirective",
        "package": "@angular/forms",
        "metadata": {
          "description": "FormArrayDirective enables wrapping a HTML form without relying on FormGroupDirective"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": null
          },
          {
            "version": 20,
            "status": null
          },
          {
            "version": 21,
            "status": "stable",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/pull/55880"
                }
              ]
            }
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "enableProfiling()",
      "package": "@angular/core",
      "description": "Enable profiling of the application",
      "status": "experimental",
      "introduced_in": "21",
      "removed_in": "",
      "v22": "experimental",
      "v21": "experimental",
      "v20": "not_available",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "https://angular.dev/best-practices/profiling-with-chrome-devtools",
      "notes": "",
      "raw": {
        "id": "enable-profiling",
        "name": "enableProfiling()",
        "package": "@angular/core",
        "metadata": {
          "description": "Enable profiling of the application",
          "documentationUrl": "https://angular.dev/best-practices/profiling-with-chrome-devtools"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": null
          },
          {
            "version": 20,
            "status": null
          },
          {
            "version": 21,
            "status": "experimental"
          },
          {
            "version": 22,
            "status": "experimental"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "Angular Aria",
      "package": "@angular/aria",
      "description": "Angular Aria",
      "status": "stable",
      "introduced_in": "21",
      "removed_in": "",
      "v22": "stable",
      "v21": "preview",
      "v20": "not_available",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "angular-aria",
        "name": "Angular Aria",
        "package": "@angular/aria",
        "metadata": {
          "description": "Angular Aria"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": null
          },
          {
            "version": 20,
            "status": null
          },
          {
            "version": 21,
            "status": "preview"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "VERSION",
      "package": "@angular/upgrade",
      "description": "Angular version used by the project",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "not_available",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "version-upgrade",
        "name": "VERSION",
        "package": "@angular/upgrade",
        "metadata": {
          "description": "Angular version used by the project"
        },
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21.1,
            "status": "deprecated",
            "metadata": {
              "notes": "Please use the entry from @angular/upgrade/static instead."
            }
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "Router.isActive",
      "package": "@angular/router",
      "description": "Returns a Signal<boolean> indicating if the current route is active",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "not_available",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "router-is-active",
        "name": "Router.isActive",
        "package": "@angular/router",
        "metadata": {
          "description": "Returns a Signal<boolean> indicating if the current route is active"
        },
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21.1,
            "status": "deprecated",
            "metadata": {
              "notes": "Replaced by a computed Signal version of Router.isActive",
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/e44839b01640505e554fff16f24e08f282a557c0"
                }
              ]
            }
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "withExperimentalAutoCleanupInjectors",
      "package": "@angular/router",
      "description": "Enable automatic cleanup of unused route injectors",
      "status": "experimental",
      "introduced_in": "21.1",
      "removed_in": "",
      "v22": "experimental",
      "v21": "not_available",
      "v20": "not_available",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "withExperimentalAutoCleanupInjectors",
        "name": "withExperimentalAutoCleanupInjectors",
        "package": "@angular/router",
        "metadata": {
          "description": "Enable automatic cleanup of unused route injectors"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": null
          },
          {
            "version": 20,
            "status": null
          },
          {
            "version": 21.1,
            "status": "experimental",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/5edceffd0431f5a25e111a731db521e966b91f86"
                }
              ]
            }
          },
          {
            "version": 22,
            "status": "experimental"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "ResourceSnapshot",
      "package": "@angular/core",
      "description": "An explicit representation of a resource's state",
      "status": "stable",
      "introduced_in": "21.2",
      "removed_in": "",
      "v22": "stable",
      "v21": "not_available",
      "v20": "not_available",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "resourceSnapshot",
        "name": "ResourceSnapshot",
        "package": "@angular/core",
        "metadata": {
          "description": "An explicit representation of a resource's state"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": null
          },
          {
            "version": 20,
            "status": null
          },
          {
            "version": 21.2,
            "status": "experimental",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/1ba9b7ac5001b315cc9df78c518964dbf479d647#diff-8182d3d1c5f1224cd109969446903a655ba093e4a1c3011be680b70c578b903eR249-R253"
                }
              ]
            }
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "resourceFromSnapshots",
      "package": "@angular/core",
      "description": "Creates a Resource driven by a source of ResourceSnapshots",
      "status": "stable",
      "introduced_in": "21.2",
      "removed_in": "",
      "v22": "stable",
      "v21": "not_available",
      "v20": "not_available",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "resourceFromSnapshots",
        "name": "resourceFromSnapshots",
        "package": "@angular/core",
        "metadata": {
          "description": "Creates a Resource driven by a source of ResourceSnapshots"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": null
          },
          {
            "version": 20,
            "status": null
          },
          {
            "version": 21.2,
            "status": "experimental",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/1ba9b7ac5001b315cc9df78c518964dbf479d647#diff-44fd5671f0cd20b2d286f08c4846dfca05e82f51d9bfae3ab75f5c846c665eccR15-R19"
                }
              ]
            }
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "withFetch",
      "package": "@angular/common/http",
      "description": "Use the Fetch API instead of XHR",
      "status": "deprecated",
      "introduced_in": "16.1",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "withFetch",
        "name": "withFetch",
        "package": "@angular/common/http",
        "metadata": {
          "description": "Use the Fetch API instead of XHR",
          "replacedBy": "withXhr"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16.1,
            "status": "preview"
          },
          {
            "version": 17.1,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "deprecated",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/5c432fb8bb69343ef2633811c37c0c6c0fd65126"
                }
              ]
            }
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "ChangeDetectionStrategy.Default",
      "package": "@angular/core",
      "description": "Renamed to ChangeDetectionStrategy.Eager",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "not_available",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "changeDetectionStrategyDefault",
        "name": "ChangeDetectionStrategy.Default",
        "package": "@angular/core",
        "metadata": {
          "description": "Renamed to ChangeDetectionStrategy.Eager",
          "replacedBy": "ChangeDetectionStrategy.Eager"
        },
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21.2,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "ChangeDetectionStrategy.Eager",
      "package": "@angular/core",
      "description": "Renamed from ChangeDetectionStrategy.Default",
      "status": "stable",
      "introduced_in": "21.2",
      "removed_in": "",
      "v22": "stable",
      "v21": "not_available",
      "v20": "not_available",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "changeDetectionStrategyEager",
        "name": "ChangeDetectionStrategy.Eager",
        "package": "@angular/core",
        "metadata": {
          "description": "Renamed from ChangeDetectionStrategy.Default"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": null
          },
          {
            "version": 20,
            "status": null
          },
          {
            "version": 21.2,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "withXhr",
      "package": "@angular/common/http",
      "description": "Use the XMLHttpRequest API instead of the Fetch API",
      "status": "stable",
      "introduced_in": "22",
      "removed_in": "",
      "v22": "stable",
      "v21": "not_available",
      "v20": "not_available",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "withXhr",
        "name": "withXhr",
        "package": "@angular/common/http",
        "metadata": {
          "description": "Use the XMLHttpRequest API instead of the Fetch API"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": null
          },
          {
            "version": 20,
            "status": null
          },
          {
            "version": 21,
            "status": null
          },
          {
            "version": 22,
            "status": "stable",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/5c432fb8bb69343ef2633811c37c0c6c0fd65126"
                }
              ]
            }
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "TestBed.getLastFixture",
      "package": "@angular/core/testing",
      "description": "Get the last fixture for the test",
      "status": "stable",
      "introduced_in": "22",
      "removed_in": "",
      "v22": "stable",
      "v21": "not_available",
      "v20": "not_available",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "getLastFixture",
        "name": "TestBed.getLastFixture",
        "package": "@angular/core/testing",
        "metadata": {
          "description": "Get the last fixture for the test"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": null
          },
          {
            "version": 20,
            "status": null
          },
          {
            "version": 21,
            "status": null
          },
          {
            "version": 22,
            "status": "stable",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/dc3131c639542ad6a463bff3da5ca84c6f8ecb6f"
                }
              ]
            }
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "HTML element comments",
      "package": "@angular/compiler",
      "description": "HTML element comments",
      "status": "stable",
      "introduced_in": "22",
      "removed_in": "",
      "v22": "stable",
      "v21": "not_available",
      "v20": "not_available",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "htmlElementComments",
        "name": "HTML element comments",
        "package": "@angular/compiler",
        "metadata": {
          "description": "HTML element comments"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": null
          },
          {
            "version": 20,
            "status": null
          },
          {
            "version": 21,
            "status": null
          },
          {
            "version": 22,
            "status": "stable",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a"
                }
              ]
            }
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "default OnPush strategy",
      "package": "@angular/core",
      "description": "Default OnPush strategy",
      "status": "stable",
      "introduced_in": "22",
      "removed_in": "",
      "v22": "stable",
      "v21": "not_available",
      "v20": "not_available",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "defaultOnPushStrategy",
        "name": "default OnPush strategy",
        "package": "@angular/core",
        "metadata": {
          "description": "Default OnPush strategy"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": null
          },
          {
            "version": 20,
            "status": null
          },
          {
            "version": 21,
            "status": null
          },
          {
            "version": 22,
            "status": "stable",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/eae8f7e30b9f8bebdcdb535bd86260199c34274b"
                }
              ]
            }
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "@Service decorator",
      "package": "@angular/core",
      "description": "more ergonomic alternative to @Injectable decorator",
      "status": "stable",
      "introduced_in": "22",
      "removed_in": "",
      "v22": "stable",
      "v21": "not_available",
      "v20": "not_available",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "@Service decorator",
        "name": "@Service decorator",
        "package": "@angular/core",
        "metadata": {
          "description": "more ergonomic alternative to @Injectable decorator"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": null
          },
          {
            "version": 20,
            "status": null
          },
          {
            "version": 21,
            "status": null
          },
          {
            "version": 22,
            "status": "stable",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/8f3d0b9d97424e058eb7bce57d80833fb68dec4a"
                }
              ]
            }
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "provideExperimentalWebMcpTools",
      "package": "@angular/core",
      "description": "Provides a list of WebMCP tools tied to the lifecycle of the associated Injector.",
      "status": "experimental",
      "introduced_in": "22",
      "removed_in": "",
      "v22": "experimental",
      "v21": "not_available",
      "v20": "not_available",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "provideExperimentalWebMcpTools",
        "name": "provideExperimentalWebMcpTools",
        "package": "@angular/core",
        "metadata": {
          "description": "Provides a list of WebMCP tools tied to the lifecycle of the associated Injector."
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": null
          },
          {
            "version": 20,
            "status": null
          },
          {
            "version": 21,
            "status": null
          },
          {
            "version": 22,
            "status": "experimental",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606"
                }
              ]
            }
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "injectAsync",
      "package": "@angular/core",
      "description": "Lazy load services and use the DI system to create them.",
      "status": "stable",
      "introduced_in": "22",
      "removed_in": "",
      "v22": "stable",
      "v21": "not_available",
      "v20": "not_available",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "injectAsync",
        "name": "injectAsync",
        "package": "@angular/core",
        "metadata": {
          "description": "Lazy load services and use the DI system to create them."
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": null
          },
          {
            "version": 20,
            "status": null
          },
          {
            "version": 21,
            "status": null
          },
          {
            "version": 22,
            "status": "stable",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/444b024d49725afc8b40aec67cfdb63a1f7f23ea"
                }
              ]
            }
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "debounced",
      "package": "@angular/core",
      "description": "create a debounced version of a signal, represented as a Resource",
      "status": "stable",
      "introduced_in": "22",
      "removed_in": "",
      "v22": "stable",
      "v21": "not_available",
      "v20": "not_available",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "debounced",
        "name": "debounced",
        "package": "@angular/core",
        "metadata": {
          "description": "create a debounced version of a signal, represented as a Resource"
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": null
          },
          {
            "version": 18,
            "status": null
          },
          {
            "version": 19,
            "status": null
          },
          {
            "version": 20,
            "status": null
          },
          {
            "version": 21,
            "status": null
          },
          {
            "version": 22,
            "status": "stable",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/b918beda323eefef17bf1de03fde3d402a3d4af0"
                }
              ]
            }
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "ChangeDetectorRef.checkNoChanges",
      "package": "@angular/core",
      "description": "Do a change detection run to make sure there were no changes.",
      "status": "stable",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "ChangeDetectorRefCheckNoChanges",
        "name": "ChangeDetectorRef.checkNoChanges",
        "package": "@angular/core",
        "metadata": {
          "description": "Do a change detection run to make sure there were no changes."
        },
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable",
            "metadata": {
              "notes": "use fixture.detectChanges() instead",
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/b918beda323eefef17bf1de03fde3d402a3d4af0"
                }
              ]
            }
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "ComponentFactoryResolver",
      "package": "@angular/core",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "22",
      "v22": "removed",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "deprecated",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "ComponentFactoryResolver",
        "name": "ComponentFactoryResolver",
        "package": "@angular/core",
        "metadata": {
          "description": ""
        },
        "versions": [
          {
            "version": 13,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "removed",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/9d76ac82290e047f1481fb38bd95233e951a77de"
                }
              ]
            }
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "ComponentFactory",
      "package": "@angular/core",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "22",
      "v22": "removed",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "deprecated",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "ComponentFactory",
        "name": "ComponentFactory",
        "package": "@angular/core",
        "metadata": {
          "description": ""
        },
        "versions": [
          {
            "version": 13,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "removed",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/9d76ac82290e047f1481fb38bd95233e951a77de"
                }
              ]
            }
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "Webpack Builders",
      "package": "@angular-devkit/build-*",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "webpackBuilder",
        "name": "Webpack Builders",
        "package": "@angular-devkit/build-*",
        "metadata": {
          "description": ""
        },
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "deprecated",
            "metadata": {
              "notes": "Migrate to the @angular/build builders (esbuild/application) for your application builds.",
              "links": [
                {
                  "type": 4,
                  "url": "https://github.com/angular/angular/commit/9d76ac82290e047f1481fb38bd95233e951a77de"
                }
              ]
            }
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "CommonEngine",
      "package": "@angular/ssr",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "commonEngine",
        "name": "CommonEngine",
        "package": "@angular/ssr",
        "metadata": {
          "description": ""
        },
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "deprecated",
            "metadata": {
              "notes": "Migrate to AngularNodeAppEngine or AngularAppEngine instead",
              "links": [
                {
                  "type": 4,
                  "url": ""
                }
              ]
            }
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "Jest builder",
      "package": "@angular/devkit/build-angular:jest",
      "description": "",
      "status": "removed",
      "introduced_in": "16",
      "removed_in": "22",
      "v22": "removed",
      "v21": "deprecated",
      "v20": "experimental",
      "v19": "experimental",
      "v18": "experimental",
      "v17": "experimental",
      "v16": "experimental",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "jestBuilder",
        "name": "Jest builder",
        "package": "@angular/devkit/build-angular:jest",
        "metadata": {
          "description": ""
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": "experimental"
          },
          {
            "version": 17,
            "status": "experimental"
          },
          {
            "version": 18,
            "status": "experimental"
          },
          {
            "version": 19,
            "status": "experimental"
          },
          {
            "version": 20,
            "status": "experimental"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "removed",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": ""
                }
              ]
            }
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "Web Test Runner builder",
      "package": "@angular-devkit/build-angular:web-test-runner",
      "description": "",
      "status": "removed",
      "introduced_in": "17",
      "removed_in": "22",
      "v22": "removed",
      "v21": "deprecated",
      "v20": "experimental",
      "v19": "experimental",
      "v18": "experimental",
      "v17": "experimental",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "id": "webTestRunnerBuilder",
        "name": "Web Test Runner builder",
        "package": "@angular-devkit/build-angular:web-test-runner",
        "metadata": {
          "description": ""
        },
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": null
          },
          {
            "version": 15,
            "status": null
          },
          {
            "version": 16,
            "status": null
          },
          {
            "version": 17,
            "status": "experimental"
          },
          {
            "version": 18,
            "status": "experimental"
          },
          {
            "version": 19,
            "status": "experimental"
          },
          {
            "version": 20,
            "status": "experimental"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "removed",
            "metadata": {
              "links": [
                {
                  "type": 4,
                  "url": ""
                }
              ]
            }
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "NoopAnimationDriver",
      "package": "@angular/animations/browser",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "13",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "removed",
      "v15": "removed",
      "v14": "removed",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "NoopAnimationDriver",
        "package": "@angular/animations/browser",
        "versions": [
          {
            "version": 13,
            "status": "removed"
          },
          {
            "version": 14,
            "status": "removed"
          },
          {
            "version": 15,
            "status": "removed"
          },
          {
            "version": 16,
            "status": "removed"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "MockAnimationDriver",
      "package": "@angular/animations/browser/testing",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "MockAnimationDriver",
        "package": "@angular/animations/browser/testing",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "MockAnimationPlayer",
      "package": "@angular/animations/browser/testing",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "MockAnimationPlayer",
        "package": "@angular/animations/browser/testing",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "animate",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "animate",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "animateChild",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "animateChild",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AnimateChildOptions",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "AnimateChildOptions",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AnimateTimings",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "AnimateTimings",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "animation",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "animation",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AnimationAnimateChildMetadata",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "AnimationAnimateChildMetadata",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AnimationAnimateMetadata",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "AnimationAnimateMetadata",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AnimationAnimateRefMetadata",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "AnimationAnimateRefMetadata",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AnimationGroupMetadata",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "AnimationGroupMetadata",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AnimationKeyframesSequenceMetadata",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "AnimationKeyframesSequenceMetadata",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AnimationMetadata",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "AnimationMetadata",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AnimationOptions",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "AnimationOptions",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AnimationPlayer",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "AnimationPlayer",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AnimationQueryMetadata",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "AnimationQueryMetadata",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AnimationQueryOptions",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "AnimationQueryOptions",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AnimationReferenceMetadata",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "AnimationReferenceMetadata",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AnimationSequenceMetadata",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "AnimationSequenceMetadata",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AnimationStaggerMetadata",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "AnimationStaggerMetadata",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AnimationStateMetadata",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "AnimationStateMetadata",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AnimationStyleMetadata",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "AnimationStyleMetadata",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AnimationTransitionMetadata",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "AnimationTransitionMetadata",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AnimationTriggerMetadata",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "AnimationTriggerMetadata",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "AUTO_STYLE",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "AUTO_STYLE",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "group",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "group",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "keyframes",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "keyframes",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "NoopAnimationPlayer",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "NoopAnimationPlayer",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "query",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "query",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "sequence",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "sequence",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "stagger",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "stagger",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "state",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "state",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "style",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "style",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "transition",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "transition",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "trigger",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "trigger",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "useAnimation",
      "package": "@angular/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "useAnimation",
        "package": "@angular/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "HttpClientJsonpModule",
      "package": "@angular/common/http",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "HttpClientJsonpModule",
        "package": "@angular/common/http",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "HttpClientModule",
      "package": "@angular/common/http",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "HttpClientModule",
        "package": "@angular/common/http",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "HttpClientXsrfModule",
      "package": "@angular/common/http",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "HttpClientXsrfModule",
        "package": "@angular/common/http",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "HttpClientTestingModule",
      "package": "@angular/common/http/testing",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "HttpClientTestingModule",
        "package": "@angular/common/http/testing",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "DATE_PIPE_DEFAULT_TIMEZONE",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "DATE_PIPE_DEFAULT_TIMEZONE",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getCurrencySymbol",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getCurrencySymbol",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getLocaleCurrencyCode",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getLocaleCurrencyCode",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getLocaleCurrencyName",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getLocaleCurrencyName",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getLocaleCurrencySymbol",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getLocaleCurrencySymbol",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getLocaleDateFormat",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getLocaleDateFormat",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getLocaleDateTimeFormat",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getLocaleDateTimeFormat",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getLocaleDayNames",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getLocaleDayNames",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getLocaleDayPeriods",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getLocaleDayPeriods",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getLocaleDirection",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getLocaleDirection",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getLocaleEraNames",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getLocaleEraNames",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getLocaleExtraDayPeriodRules",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getLocaleExtraDayPeriodRules",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getLocaleExtraDayPeriods",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getLocaleExtraDayPeriods",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getLocaleFirstDayOfWeek",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getLocaleFirstDayOfWeek",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getLocaleId",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getLocaleId",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getLocaleMonthNames",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getLocaleMonthNames",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getLocaleNumberFormat",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getLocaleNumberFormat",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getLocaleNumberSymbol",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getLocaleNumberSymbol",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getLocalePluralCase",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getLocalePluralCase",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getLocaleTimeFormat",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getLocaleTimeFormat",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getLocaleWeekEndRange",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getLocaleWeekEndRange",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getNumberOfCurrencyDigits",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getNumberOfCurrencyDigits",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "Time",
      "package": "@angular/common",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "Time",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "APP_INITIALIZER",
      "package": "@angular/core",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "APP_INITIALIZER",
        "package": "@angular/core",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "BootstrapOptions",
      "package": "@angular/core",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "13",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "BootstrapOptions",
        "package": "@angular/core",
        "versions": [
          {
            "version": 13,
            "status": "removed"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "Compiler",
      "package": "@angular/core",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "deprecated",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "Compiler",
        "package": "@angular/core",
        "versions": [
          {
            "version": 13,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "DefaultIterableDiffer",
      "package": "@angular/core",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "deprecated",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "DefaultIterableDiffer",
        "package": "@angular/core",
        "versions": [
          {
            "version": 13,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "ENVIRONMENT_INITIALIZER",
      "package": "@angular/core",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "13",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "ENVIRONMENT_INITIALIZER",
        "package": "@angular/core",
        "versions": [
          {
            "version": 13,
            "status": "removed"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getModuleFactory",
      "package": "@angular/core",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "deprecated",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getModuleFactory",
        "package": "@angular/core",
        "versions": [
          {
            "version": 13,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "PLATFORM_INITIALIZER",
      "package": "@angular/core",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "PLATFORM_INITIALIZER",
        "package": "@angular/core",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "JitCompilerFactory",
      "package": "@angular/platform-browser-dynamic",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "deprecated",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "JitCompilerFactory",
        "package": "@angular/platform-browser-dynamic",
        "versions": [
          {
            "version": 13,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "platformBrowserDynamic",
      "package": "@angular/platform-browser-dynamic",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "platformBrowserDynamic",
        "package": "@angular/platform-browser-dynamic",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "BrowserDynamicTestingModule",
      "package": "@angular/platform-browser-dynamic/testing",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "BrowserDynamicTestingModule",
        "package": "@angular/platform-browser-dynamic/testing",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "platformBrowserDynamicTesting",
      "package": "@angular/platform-browser-dynamic/testing",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "platformBrowserDynamicTesting",
        "package": "@angular/platform-browser-dynamic/testing",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "BrowserAnimationsModule",
      "package": "@angular/platform-browser/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "BrowserAnimationsModule",
        "package": "@angular/platform-browser/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "BrowserAnimationsModuleConfig",
      "package": "@angular/platform-browser/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "BrowserAnimationsModuleConfig",
        "package": "@angular/platform-browser/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "NoopAnimationsModule",
      "package": "@angular/platform-browser/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "NoopAnimationsModule",
        "package": "@angular/platform-browser/animations",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "provideAnimations",
      "package": "@angular/platform-browser/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "13",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "provideAnimations",
        "package": "@angular/platform-browser/animations",
        "versions": [
          {
            "version": 13,
            "status": "removed"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "provideNoopAnimations",
      "package": "@angular/platform-browser/animations",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "13",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "not_available",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "provideNoopAnimations",
        "package": "@angular/platform-browser/animations",
        "versions": [
          {
            "version": 13,
            "status": "removed"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20.2,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "CanActivate",
      "package": "@angular/router",
      "description": "",
      "status": "stable",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "not_available",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "CanActivate",
        "package": "@angular/router",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15.2,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "CanActivateChild",
      "package": "@angular/router",
      "description": "",
      "status": "stable",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "not_available",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "CanActivateChild",
        "package": "@angular/router",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15.2,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "CanDeactivate",
      "package": "@angular/router",
      "description": "",
      "status": "stable",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "not_available",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "CanDeactivate",
        "package": "@angular/router",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15.2,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "CanLoad",
      "package": "@angular/router",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "not_available",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "CanLoad",
        "package": "@angular/router",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15.1,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "CanLoadFn",
      "package": "@angular/router",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "13",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "not_available",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "CanLoadFn",
        "package": "@angular/router",
        "versions": [
          {
            "version": 13,
            "status": "removed"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15.1,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "CanMatch",
      "package": "@angular/router",
      "description": "",
      "status": "stable",
      "introduced_in": "13",
      "removed_in": "13",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "not_available",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "CanMatch",
        "package": "@angular/router",
        "versions": [
          {
            "version": 13,
            "status": "removed"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15.2,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "DeprecatedGuard",
      "package": "@angular/router",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "13",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "not_available",
      "v14": "removed",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "DeprecatedGuard",
        "package": "@angular/router",
        "versions": [
          {
            "version": 13,
            "status": "removed"
          },
          {
            "version": 14,
            "status": "removed"
          },
          {
            "version": 15.2,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "DeprecatedResolve",
      "package": "@angular/router",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "13",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "removed",
      "v18": "removed",
      "v17": "removed",
      "v16": "removed",
      "v15": "removed",
      "v14": "removed",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "DeprecatedResolve",
        "package": "@angular/router",
        "versions": [
          {
            "version": 13,
            "status": "removed"
          },
          {
            "version": 14,
            "status": "removed"
          },
          {
            "version": 15,
            "status": "removed"
          },
          {
            "version": 16,
            "status": "removed"
          },
          {
            "version": 17,
            "status": "removed"
          },
          {
            "version": 18,
            "status": "removed"
          },
          {
            "version": 19,
            "status": "removed"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "Resolve",
      "package": "@angular/router",
      "description": "",
      "status": "stable",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "stable",
      "v21": "stable",
      "v20": "stable",
      "v19": "stable",
      "v18": "stable",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "not_available",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "Resolve",
        "package": "@angular/router",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15.2,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "stable"
          },
          {
            "version": 21,
            "status": "stable"
          },
          {
            "version": 22,
            "status": "stable"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "RouterTestingModule",
      "package": "@angular/router/testing",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "not_available",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "RouterTestingModule",
        "package": "@angular/router/testing",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17.3,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "downgradeModule",
      "package": "@angular/upgrade/static",
      "description": "",
      "status": "deprecated",
      "introduced_in": "13.4",
      "removed_in": "",
      "v22": "deprecated",
      "v21": "not_available",
      "v20": "not_available",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "not_available",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "downgradeModule",
        "package": "@angular/upgrade/static",
        "versions": [
          {
            "version": 13.4,
            "status": "deprecated"
          },
          {
            "version": 14.3,
            "status": "deprecated"
          },
          {
            "version": 15.2,
            "status": "deprecated"
          },
          {
            "version": 16.2,
            "status": "deprecated"
          },
          {
            "version": 17.3,
            "status": "deprecated"
          },
          {
            "version": 18.2,
            "status": "deprecated"
          },
          {
            "version": 19.2,
            "status": "deprecated"
          },
          {
            "version": 20.3,
            "status": "deprecated"
          },
          {
            "version": 21.2,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "deprecated"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "createNgModuleRef",
      "package": "@angular/core",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "22",
      "v22": "removed",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "createNgModuleRef",
        "package": "@angular/core",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14.1,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "ModuleWithComponentFactories",
      "package": "@angular/core",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "22",
      "v22": "removed",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "deprecated",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "ModuleWithComponentFactories",
        "package": "@angular/core",
        "versions": [
          {
            "version": 13,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "HAMMER_GESTURE_CONFIG",
      "package": "@angular/platform-browser",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "22",
      "v22": "removed",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "HAMMER_GESTURE_CONFIG",
        "package": "@angular/platform-browser",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "HAMMER_LOADER",
      "package": "@angular/platform-browser",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "22",
      "v22": "removed",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "HAMMER_LOADER",
        "package": "@angular/platform-browser",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "HammerGestureConfig",
      "package": "@angular/platform-browser",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "22",
      "v22": "removed",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "HammerGestureConfig",
        "package": "@angular/platform-browser",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "HammerLoader",
      "package": "@angular/platform-browser",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "22",
      "v22": "removed",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "HammerLoader",
        "package": "@angular/platform-browser",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "HammerModule",
      "package": "@angular/platform-browser",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "22",
      "v22": "removed",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "stable",
      "v18": "stable",
      "v17": "stable",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "HammerModule",
        "package": "@angular/platform-browser",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "stable"
          },
          {
            "version": 18,
            "status": "stable"
          },
          {
            "version": 19,
            "status": "stable"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "provideRoutes",
      "package": "@angular/router",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "22",
      "v22": "removed",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "provideRoutes",
        "package": "@angular/router",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "getAngularLib",
      "package": "@angular/upgrade/static",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "22",
      "v22": "removed",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "deprecated",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "getAngularLib",
        "package": "@angular/upgrade/static",
        "versions": [
          {
            "version": 13,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "setAngularLib",
      "package": "@angular/upgrade/static",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "22",
      "v22": "removed",
      "v21": "deprecated",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "deprecated",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "setAngularLib",
        "package": "@angular/upgrade/static",
        "versions": [
          {
            "version": 13,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "deprecated"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "ImportedNgModuleProviders",
      "package": "@angular/core",
      "description": "",
      "status": "removed",
      "introduced_in": "14",
      "removed_in": "21",
      "v22": "removed",
      "v21": "removed",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "ImportedNgModuleProviders",
        "package": "@angular/core",
        "versions": [
          {
            "version": 13,
            "status": null
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "NgProbeToken",
      "package": "@angular/core",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "21",
      "v22": "removed",
      "v21": "removed",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "stable",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "NgProbeToken",
        "package": "@angular/core",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "stable"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "PACKAGE_ROOT_URL",
      "package": "@angular/core",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "21",
      "v22": "removed",
      "v21": "removed",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "not_available",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "PACKAGE_ROOT_URL",
        "package": "@angular/core",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16.2,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "ApplicationConfig",
      "package": "@angular/platform-browser",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "13",
      "v22": "removed",
      "v21": "removed",
      "v20": "not_available",
      "v19": "not_available",
      "v18": "not_available",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "ApplicationConfig",
        "package": "@angular/platform-browser",
        "versions": [
          {
            "version": 13,
            "status": "removed"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16.2,
            "status": "deprecated"
          },
          {
            "version": 17.3,
            "status": "deprecated"
          },
          {
            "version": 18.2,
            "status": "deprecated"
          },
          {
            "version": 19.2,
            "status": "deprecated"
          },
          {
            "version": 20.3,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "UpgradeAdapter",
      "package": "@angular/upgrade",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "21",
      "v22": "removed",
      "v21": "removed",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "deprecated",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "UpgradeAdapter",
        "package": "@angular/upgrade",
        "versions": [
          {
            "version": 13,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "UpgradeAdapterRef",
      "package": "@angular/upgrade",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "21",
      "v22": "removed",
      "v21": "removed",
      "v20": "deprecated",
      "v19": "deprecated",
      "v18": "deprecated",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "deprecated",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "UpgradeAdapterRef",
        "package": "@angular/upgrade",
        "versions": [
          {
            "version": 13,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "deprecated"
          },
          {
            "version": 19,
            "status": "deprecated"
          },
          {
            "version": 20,
            "status": "deprecated"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "isPlatformWorkerApp",
      "package": "@angular/common",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "18",
      "v22": "removed",
      "v21": "removed",
      "v20": "removed",
      "v19": "removed",
      "v18": "removed",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "isPlatformWorkerApp",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "removed"
          },
          {
            "version": 19,
            "status": "removed"
          },
          {
            "version": 20,
            "status": "removed"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "isPlatformWorkerUi",
      "package": "@angular/common",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "18",
      "v22": "removed",
      "v21": "removed",
      "v20": "removed",
      "v19": "removed",
      "v18": "removed",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "isPlatformWorkerUi",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "removed"
          },
          {
            "version": 19,
            "status": "removed"
          },
          {
            "version": 20,
            "status": "removed"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "async",
      "package": "@angular/core/testing",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "18",
      "v22": "removed",
      "v21": "removed",
      "v20": "removed",
      "v19": "removed",
      "v18": "removed",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "deprecated",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "async",
        "package": "@angular/core/testing",
        "versions": [
          {
            "version": 13,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "removed"
          },
          {
            "version": 19,
            "status": "removed"
          },
          {
            "version": 20,
            "status": "removed"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "RESOURCE_CACHE_PROVIDER",
      "package": "@angular/platform-browser-dynamic",
      "description": "",
      "status": "removed",
      "introduced_in": "13.2",
      "removed_in": "18",
      "v22": "removed",
      "v21": "removed",
      "v20": "removed",
      "v19": "removed",
      "v18": "removed",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "deprecated",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "RESOURCE_CACHE_PROVIDER",
        "package": "@angular/platform-browser-dynamic",
        "versions": [
          {
            "version": 13.2,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "removed"
          },
          {
            "version": 19,
            "status": "removed"
          },
          {
            "version": 20,
            "status": "removed"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "makeStateKey",
      "package": "@angular/platform-browser",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "18",
      "v22": "removed",
      "v21": "removed",
      "v20": "removed",
      "v19": "removed",
      "v18": "removed",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "makeStateKey",
        "package": "@angular/platform-browser",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16.2,
            "status": "deprecated"
          },
          {
            "version": 17.3,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "removed"
          },
          {
            "version": 19,
            "status": "removed"
          },
          {
            "version": 20,
            "status": "removed"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "StateKey",
      "package": "@angular/platform-browser",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "18",
      "v22": "removed",
      "v21": "removed",
      "v20": "removed",
      "v19": "removed",
      "v18": "removed",
      "v17": "not_available",
      "v16": "not_available",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "StateKey",
        "package": "@angular/platform-browser",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16.2,
            "status": "deprecated"
          },
          {
            "version": 17.3,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "removed"
          },
          {
            "version": 19,
            "status": "removed"
          },
          {
            "version": 20,
            "status": "removed"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "platformDynamicServer",
      "package": "@angular/platform-server",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "18",
      "v22": "removed",
      "v21": "removed",
      "v20": "removed",
      "v19": "removed",
      "v18": "removed",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "stable",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "platformDynamicServer",
        "package": "@angular/platform-server",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15,
            "status": "stable"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "removed"
          },
          {
            "version": 19,
            "status": "removed"
          },
          {
            "version": 20,
            "status": "removed"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "ServerTransferStateModule",
      "package": "@angular/platform-server",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "18",
      "v22": "removed",
      "v21": "removed",
      "v20": "removed",
      "v19": "removed",
      "v18": "removed",
      "v17": "deprecated",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "ServerTransferStateModule",
        "package": "@angular/platform-server",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14.2,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "deprecated"
          },
          {
            "version": 18,
            "status": "removed"
          },
          {
            "version": 19,
            "status": "removed"
          },
          {
            "version": 20,
            "status": "removed"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "setupTestingRouter",
      "package": "@angular/router/testing",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "17",
      "v22": "removed",
      "v21": "removed",
      "v20": "removed",
      "v19": "removed",
      "v18": "removed",
      "v17": "removed",
      "v16": "deprecated",
      "v15": "not_available",
      "v14": "stable",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "setupTestingRouter",
        "package": "@angular/router/testing",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14,
            "status": "stable"
          },
          {
            "version": 15.1,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "removed"
          },
          {
            "version": 18,
            "status": "removed"
          },
          {
            "version": 19,
            "status": "removed"
          },
          {
            "version": 20,
            "status": "removed"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "UpdateActivatedEvent",
      "package": "@angular/service-worker",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "17",
      "v22": "removed",
      "v21": "removed",
      "v20": "removed",
      "v19": "removed",
      "v18": "removed",
      "v17": "removed",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "deprecated",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "UpdateActivatedEvent",
        "package": "@angular/service-worker",
        "versions": [
          {
            "version": 13,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "removed"
          },
          {
            "version": 18,
            "status": "removed"
          },
          {
            "version": 19,
            "status": "removed"
          },
          {
            "version": 20,
            "status": "removed"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "UpdateAvailableEvent",
      "package": "@angular/service-worker",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "17",
      "v22": "removed",
      "v21": "removed",
      "v20": "removed",
      "v19": "removed",
      "v18": "removed",
      "v17": "removed",
      "v16": "deprecated",
      "v15": "deprecated",
      "v14": "deprecated",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "UpdateAvailableEvent",
        "package": "@angular/service-worker",
        "versions": [
          {
            "version": 13,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "deprecated"
          },
          {
            "version": 17,
            "status": "removed"
          },
          {
            "version": 18,
            "status": "removed"
          },
          {
            "version": 19,
            "status": "removed"
          },
          {
            "version": 20,
            "status": "removed"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "XhrFactory",
      "package": "@angular/common/http",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "16",
      "v22": "removed",
      "v21": "removed",
      "v20": "removed",
      "v19": "removed",
      "v18": "removed",
      "v17": "removed",
      "v16": "removed",
      "v15": "deprecated",
      "v14": "deprecated",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "XhrFactory",
        "package": "@angular/common/http",
        "versions": [
          {
            "version": 13,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "removed"
          },
          {
            "version": 17,
            "status": "removed"
          },
          {
            "version": 18,
            "status": "removed"
          },
          {
            "version": 19,
            "status": "removed"
          },
          {
            "version": 20,
            "status": "removed"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "ANALYZE_FOR_ENTRY_COMPONENTS",
      "package": "@angular/core",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "16",
      "v22": "removed",
      "v21": "removed",
      "v20": "removed",
      "v19": "removed",
      "v18": "removed",
      "v17": "removed",
      "v16": "removed",
      "v15": "deprecated",
      "v14": "deprecated",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "ANALYZE_FOR_ENTRY_COMPONENTS",
        "package": "@angular/core",
        "versions": [
          {
            "version": 13,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "removed"
          },
          {
            "version": 17,
            "status": "removed"
          },
          {
            "version": 18,
            "status": "removed"
          },
          {
            "version": 19,
            "status": "removed"
          },
          {
            "version": 20,
            "status": "removed"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "ReflectiveKey",
      "package": "@angular/core",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "16",
      "v22": "removed",
      "v21": "removed",
      "v20": "removed",
      "v19": "removed",
      "v18": "removed",
      "v17": "removed",
      "v16": "removed",
      "v15": "deprecated",
      "v14": "deprecated",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "ReflectiveKey",
        "package": "@angular/core",
        "versions": [
          {
            "version": 13,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "removed"
          },
          {
            "version": 17,
            "status": "removed"
          },
          {
            "version": 18,
            "status": "removed"
          },
          {
            "version": 19,
            "status": "removed"
          },
          {
            "version": 20,
            "status": "removed"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "BrowserTransferStateModule",
      "package": "@angular/platform-browser",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "16",
      "v22": "removed",
      "v21": "removed",
      "v20": "removed",
      "v19": "removed",
      "v18": "removed",
      "v17": "removed",
      "v16": "removed",
      "v15": "deprecated",
      "v14": "not_available",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "BrowserTransferStateModule",
        "package": "@angular/platform-browser",
        "versions": [
          {
            "version": 13,
            "status": "stable"
          },
          {
            "version": 14.2,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "removed"
          },
          {
            "version": 17,
            "status": "removed"
          },
          {
            "version": 18,
            "status": "removed"
          },
          {
            "version": 19,
            "status": "removed"
          },
          {
            "version": 20,
            "status": "removed"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "renderModuleFactory",
      "package": "@angular/platform-server",
      "description": "",
      "status": "removed",
      "introduced_in": "13",
      "removed_in": "16",
      "v22": "removed",
      "v21": "removed",
      "v20": "removed",
      "v19": "removed",
      "v18": "removed",
      "v17": "removed",
      "v16": "removed",
      "v15": "deprecated",
      "v14": "deprecated",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "renderModuleFactory",
        "package": "@angular/platform-server",
        "versions": [
          {
            "version": 13,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "deprecated"
          },
          {
            "version": 15,
            "status": "deprecated"
          },
          {
            "version": 16,
            "status": "removed"
          },
          {
            "version": 17,
            "status": "removed"
          },
          {
            "version": 18,
            "status": "removed"
          },
          {
            "version": 19,
            "status": "removed"
          },
          {
            "version": 20,
            "status": "removed"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    },
    {
      "section": "Features",
      "name": "NgOptimizedImageModule",
      "package": "@angular/common",
      "description": "",
      "status": "removed",
      "introduced_in": "13.4",
      "removed_in": "14",
      "v22": "removed",
      "v21": "removed",
      "v20": "removed",
      "v19": "removed",
      "v18": "removed",
      "v17": "removed",
      "v16": "removed",
      "v15": "removed",
      "v14": "removed",
      "angular_courses_url": "https://www.angular.courses/caniuse?tab=features",
      "angular_dev_url": "",
      "notes": "",
      "raw": {
        "name": "NgOptimizedImageModule",
        "package": "@angular/common",
        "versions": [
          {
            "version": 13.4,
            "status": "deprecated"
          },
          {
            "version": 14,
            "status": "removed"
          },
          {
            "version": 15,
            "status": "removed"
          },
          {
            "version": 16,
            "status": "removed"
          },
          {
            "version": 17,
            "status": "removed"
          },
          {
            "version": 18,
            "status": "removed"
          },
          {
            "version": 19,
            "status": "removed"
          },
          {
            "version": 20,
            "status": "removed"
          },
          {
            "version": 21,
            "status": "removed"
          },
          {
            "version": 22,
            "status": "removed"
          }
        ]
      }
    }
  ],
  "extracted_at": "2026-07-05T19:48:27.824Z"
}
