Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR is a preview of the release that release-plan has prepared. To release you should just merge this PR 👍
Release (2026-04-20)
💥 Breaking Change
eslint-plugin-ember🚀 Enhancement
eslint-plugin-emberno-tracked-built-insrule and ember-source version utility (@Copilot)no-modifier-argument-destructuringrule (@Copilot)🐛 Bug Fix
eslint-plugin-embertemplate-no-link-to-tagname: only flag@tagName, not baretagName, on angle-bracket<LinkTo>(@johanrd)template-no-at-ember-render-modifiers: detect GJS/GTS imports (@johanrd)template-no-action-modifiersautofix: skip when hash pairs are present (@johanrd)template-no-actionfalse positive in GJS/GTS (@johanrd)template-no-unnecessary-component-helper: skip autofix for invalid GJS/GTS identifiers (@johanrd)template-no-invalid-aria-attributes: reject boolean strings for string-typed ARIA attributes (@johanrd)template-no-implicit-this: callee detection, block-param scoping, bare{{this}}(@johanrd)template-no-dynamic-subexpression-invocationsfalse positive on body-positionthis.*mustaches (@johanrd)template-no-curly-component-invocation: preservethis./@/local names in suggestions, and skip JS scope bindings (@johanrd)template-no-chained-thisautofix: also update the closing tag (@johanrd)template-no-inline-linktofalse positive in GJS/GTS (@johanrd)template-no-unboundfalse positive in GJS/GTS (@johanrd)template-no-multiple-empty-lines: detect trailing empty lines and fix reported location (@johanrd)template-no-empty-headings: recognize<this.X>,<@x>,<ns.X>as accessible content (@johanrd)template-deprecated-render-helperfalse positive in GJS/GTS (@johanrd)template-deprecated-inline-view-helperfalse positive in GJS/GTS (@johanrd)template-no-class-bindingsfalse positive in GJS/GTS (@johanrd)template-no-logfalse positive on JS scope bindings in GJS/GTS (@johanrd)template-no-outlet-outside-routesfalse positive on importedoutlet(@johanrd)template-require-has-block-helper: skip JS scope bindings (@johanrd)template-no-invalid-link-title: track@ember/routingLinkTo import (@johanrd)template-require-input-labelmustache branch: apply strict-mode guard (@johanrd)template-no-input-tagnamefalse positive in GJS/GTS (@johanrd)template-no-input-blockfalse positive in GJS/GTS (@johanrd)template-no-invalid-interactive: align interactive element detection with upstream (@johanrd)template-simple-unless(@johanrd)template-no-quoteless-attributesfalse positive on quoted values (@johanrd)template-no-this-in-template-only-components: detect.hbsfiles with backing class on disk (@johanrd)template-no-redundant-fn(@johanrd)template-no-unused-block-params: detect angle-bracket block params and walk modifiers (@johanrd)no-test-import-exportfalse positive on non-test files ending in -test (@johanrd)template-block-indentation(@johanrd)template-attribute-indentation) (@johanrd)template-no-duplicate-landmark-elements) (@johanrd)template-deprecated-inline-view-helper) (@johanrd)template-no-curly-component-invocation) (@johanrd)template-no-duplicate-id) (@johanrd)template-no-action-modifiers(@johanrd)template-no-array-prototype-extensions(@johanrd)template-no-multiple-empty-lines(@johanrd)no-negated-condition(@johanrd)template-no-obscure-array-access(@johanrd)template-no-curly-component-invocation(@johanrd)template-attribute-order(@johanrd)avoid-leaking-state-in-ember-objectsfalse positives with TypeScript type assertions (@johanrd)import { service }in order-in-* rules andno-implicit-injections(@johanrd)findByexclusion inno-array-prototype-extensions(@johanrd)no-tracked-properties-from-argscrash on method calls (@johanrd)no-empty-glimmer-component-classesfalse positive ondeclare class(@johanrd)no-test-import-exportfalse positive on package imports (@johanrd)require-computed-macrosself-referential autofix (@johanrd)no-deprecated-router-transition-methodscrash with mixins (@johanrd)no-actions-hashcrash on TypeScript declare properties (@johanrd)no-computed-properties-in-native-classeswhen file mixes native and classic classes (@johanrd)template-no-autofocus-attribute) (@johanrd)template-no-action-modifiers) (@johanrd)template-no-nested-interactive) (@johanrd)template-no-invalid-aria-attributes) (@johanrd)template-no-invalid-role) (@johanrd)template-no-implicit-this) (@johanrd)template-no-link-to-positional-params) (@johanrd)template-link-href-attributes) (@johanrd)template-link-rel-noopener) (@johanrd)template-no-capital-arguments) (@johanrd)template-no-log) (@johanrd)template-no-element-event-actions) (@johanrd)template-no-action) (@johanrd)template-no-outlet-outside-routes) (@johanrd)template-no-inline-styles) (@johanrd)🏠 Internal
eslint-plugin-emberCommitters: 8