accepted/calc-functions.changes.md
Support space-separated lists in calculation expressions without deprecation,
since they're necessary to support the valid CSS construct calc(1 var(--plus-two)).
Always preserve parentheses around unquoted strings.
Update the definition of potentially slash-separated numbers to reflect the fact that calculations are no longer determinable syntactically.
Add a section describing how to restructure slash-separated lists as division within calculations.
Don't evaluate min(), max(), round(), or abs() as a calculation if it
has keyword or rest arguments.
During the deprecation period, only consider unbracketed
SpaceListExpressions with multiple elements that actually contain
interpolation to be calculation-safe.
Handle "*" and "/" tokens when evaluating SumExpresssions and
ProductExpressions as calculations.
Remove the CalculationInterpolation type, and deprecate the associated JS
API and embedded protocol field. The problem this type existed to work around
is no longer an issue in the new parsing structure.
Preserve parentheses around all var() strings that get injected from
anywhere, as well as any unquoted strings that appear in calc() and might
need parentheses.
Don't treat abs(), min(), max(), or round() as potentially
slash-separated operands..
Refactor the way calculations are parsed to allow them to coexist with user-defined Sass functions of the same names.
No longer forbid user-defined functions with the same names as CSS math functions and remove the associated deprecation process.
Drop support for interpolation in calculations outside of identifier position and add a deprecation process for this.
Explicitly forbid user-defined functions with the same names as CSS math functions.
Add a deprecation process for gradually phasing out user-defined functions with name conflicts.
rem() to use result - modulus rather than result - dividend in the case where the argument signs differ.Don't exempt percentages from most functions' simplification logic, since
those functions don't allow any units in CSS, including percents. Now only
abs(), sign(), atan2(), and hypot() check for known units because CSS
allows percentages for them but they aren't linear so they can't be resolved
in terms of percentages in Sass.
Throw an error if clamp() or hypot() has known-incompatible arguments even
if they aren't all numbers.
Throw an error if any argument to pow() or log() is a number with units,
even if the function can't otherwise be simplified.
Add non-normative notes clarifying when units are implicitly disallowed by passing them on to built-in Sass functions.
Clarify that log() can invoke the built-in Sass function with one or two
arguments.
Remove duplicated text checking for too few arguments for pow() and
atan2().
round to ensure it is backwards-compatible with the existing
global Sass function.mod, rem, atan2, or pow should take two arguments instead of three.