Skip to content

v0.8.0

Compare
Choose a tag to compare
@github-actions github-actions released this 29 Sep 18:03
a3003b0

0.8.0 (2022-09-29)

⚠ BREAKING CHANGES

  • The Number type was changed from an enum to an opaque struct. Use Number::from to create a number from an integer. Furthermore, the From implementations for f32 and f64 were removed. Use the newly added Number::from_f64 instead.
  • The RawExpression and String variants of the ObjectKey enum were removed in favor of the newly added Expression variant. Furthermore the methods Object::raw_expression and ObjectKey::string were removed. Use ObjectKey::from instead.
  • The underlying map implementation for the Object<K, V> type changed from IndexMap<K, V> to VecMap<K, V>. For the most common operations this is a drop-in replacement, but VecMap lacks some of the more exotic APIs the IndexMap provides.
  • Heredocs and quoted strings containing template interpolations and/or template directives are not parsed as Expression::String anymore, but end up as Expression::TemplateExpr (which can be further parsed into the template elements via Template::from_expr) instead. Expressions of kind Expression::String are guaranteed to not include any templating anymore.

Features

Bug Fixes

  • allow - in identifiers (be06f53)
  • always do f64 division (5591e22)
  • correctly handle Expression::Null in serializer (ae74def)
  • correctly handle Expression variants in ExpressionSerializer (#71) (8d89437)
  • prevent creation of infinite and NaN Number (#74) (f751fc0)
  • use correct deserializer for index element access (#67) (f7bdd5c)

Miscellaneous

  • deps: bump vecmap-rs to 0.1.3 (5670415)