sass-site/old_source/documentation/breaking-changes.html.md.erb
Jonny Gerig Meyer c1e5da4022
Merge branch 'main' of github.com:sass/sass-site
* 'main' of github.com:sass/sass-site:
  Document the floating-point numbers spec (#708)
  Cut a release for a new Dart Sass version
  Document constants in calculations (#707)
  Fix redirects for random-with-units and color-units (#706)
  Fix multiple typos (#703)
  Revert "Bump nokogiri from 1.12.5 to 1.13.10 (#699)" (#705)
  Bump nokogiri from 1.12.5 to 1.13.10 (#699)
  Cut a release for a new Dart Sass version
  Cut a release for a new Dart Sass version
  Cut a release for a new Dart Sass version
  Cut a release for a new Dart Sass version
  Document --fatal-deprecation (#702)
  Partially roll back #698
  Document string.split()
  Bump versions of GitHub actions (#698)
  Fix broken markdown link in meta.function-exists (#697)
  Remove unmaintained links (#696)
  Cut a release for a new Dart Sass version
  Cut a release for a new Dart Sass version
  Cut a release for a new Dart Sass version
2023-03-29 12:33:21 -04:00

48 lines
2.0 KiB
Plaintext

---
title: Breaking Changes
introduction: >
New versions of Sass are as backwards-compatible as possible, but sometimes
a breaking change is necessary. Sass needs to keep up with the evolving CSS
specification, and old language design mistakes occasionally need to be fixed.
overview: true
---
Before each breaking change is released, Sass implementations will produce
deprecation warnings for stylesheets whose behavior will change. Whenever
possible, these warnings will include suggestions for how to update the
deprecated styles to make them forward-compatible.
Different implementations have different policies for breaking changes and
deprecations. [Dart Sass][] will emit deprecation warnings for at least three
months before releasing a breaking change, and will release the breaking change
with a new major version number **unless that change is necessary for CSS
compatibility**. CSS compatibility changes are often both non-disruptive and
time-sensitive, so they may be released with new minor version numbers instead.
[Dart Sass]: /dart-sass
These breaking changes are coming soon or have recently been released:
* [Functions are stricter about which units they
allow](breaking-changes/function-units) beginning in Dart Sass 1.32.0.
* [Selectors with invalid combinators are
invalid](breaking-changes/bogus-combinators) beginning in Dart Sass 1.54.0.
* [`/` is changing from a division operation to a list
separator](breaking-changes/slash-div) beginning in Dart Sass 1.33.0.
* [Parsing the special syntax of `@-moz-document` will be
invalid](breaking-changes/moz-document) beginning in Dart Sass 1.7.2.
* [Compound selectors could not be extended](breaking-changes/extend-compound)
in Dart Sass 1.0.0 and Ruby Sass 4.0.0.
* [The syntax for CSS custom property values changed](breaking-changes/css-vars)
in Dart Sass 1.0.0, LibSass 3.5.0, and Ruby Sass 3.5.0.
## Early Opt-In
Dart Sass users can opt in to treat deprecations as errors early using the
[`--fatal-deprecation` command line option](cli/dart-sass#fatal-deprecation).