Visitar URL original
Add "future-changes" flag for CSS compatibility changes · Issue #3960 · sass/sass · GitHub
Skip to content

Add "future-changes" flag for CSS compatibility changes #3960

Open

Description

@lfloyd117

Following a discussion on sass/migrator, opening a feature request for a --future-changes or --future-deprecations flag that will let consuming projects test upcoming changes to how CSS is output, such as the Mixed Declarations deprecation.

Activity

  1. nex3 commented on Oct 11, 2024

    @nex3
    Contributor

    We already have a --future-deprecation flag for opting into upcoming deprecations. The --future-change flag would be analogous to that but for opting into upcoming breaking changes. This would specifically be limited to CSS-compatibility breaking changes where the new behavior will reinterpret older valid code to mean something else, to give users a controlled way to verify what what will change.

  2. added
    enhancementNew feature or request
    plannedWe would like to add this feature at some point
    on Oct 11, 2024
  3. assigned and unassigned on Oct 22, 2024
  4. stof commented on Sep 17, 2025

    @stof
    Contributor

    The existing --future-deprecations flag turns deprecations into errors.
    This works fine for cases where the future behavior of a deprecation is to become an error. But it does not produce the future behavior when the future behavior is to produce a different (non-error) result.

    However, the maintenance cost of --future-changes would be much higher, as it means that each place triggering a deprecation should add conditional code to switch to the future behavior (which is not even implemented in the codebase today), which might have lots of impact.
    For reference, --future-deprecations is mostly free in term of maintenance cost, as it is implemented in the logger instead (making the logger throw an exception when logging a deprecation configured through --future-deprecations).

  5. nex3 commented on Sep 18, 2025

    @nex3
    Contributor

    Given that we've already landed the declaration ordering change, I think this is low-priority for now. If we end up having another major semantic change for existing code, we can revisit this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestplannedWe would like to add this feature at some point

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions