  * ``django.utils.decorators.classproperty()`` decorator is moved to
    ``django.utils.functional.classproperty()``.
  
  .. _deprecated-features-3.1:
  
  Features deprecated in 3.1
  ==========================
  
  Miscellaneous
 
</s> remove     sign, digits, exponent = d.quantize(exp, ROUND_HALF_UP, Context(prec=prec)).as_tuple()
 </s> add     rounded_d = d.quantize(exp, ROUND_HALF_UP, Context(prec=prec))
    sign, digits, exponent = rounded_d.as_tuple() </s> remove     if sign:
 </s> add     if sign and rounded_d:
* :tfilter:`floatformat` template filter now outputs (positive) ``0`` for
  negative numbers which round to zero.

  * ``django.utils.decorators.classproperty()`` decorator is moved to
    ``django.utils.functional.classproperty()``.
  
* :tfilter:`floatformat` template filter now outputs (positive) ``0`` for
  negative numbers which round to zero.

  .. _deprecated-features-3.1:
  
  Features deprecated in 3.1
  ==========================
  
  Miscellaneous
keep keep add keep keep keep keep keep keep
 Fixed #30761 -- Prevented floatformat filter from returning a negative zero. 
docs/releases/3.1.txt