Skip to content

Release 0.4.0

Compare
Choose a tag to compare
@danwilliams danwilliams released this 07 Dec 14:01
· 95 commits to master since this release

Added

  • Added serde module to provide useful conversions when (de)serialising
    • Added general type conversion functions
      • Added as_str()
      • Added from()
      • Added from_str()
      • Added from_string()
      • Added into()
      • Added into_string()
      • Added to_string()
      • Added try_from()
      • Added try_from_string()
    • Added helpers for scaling integers to/from floating-point numbers
      • Added from_cents()
      • Added from_pence()
      • Added to_cents()
      • Added to_pence()
      • Added try_from_int_1dp()
      • Added try_from_int_2dp()
      • Added try_from_int_3dp()
      • Added try_from_int_4dp()
      • Added try_from_int_with_scale()
      • Added try_to_int_1dp()
      • Added try_to_int_2dp()
      • Added try_to_int_3dp()
      • Added try_to_int_4dp()
      • Added try_to_int_with_scale()
  • Extended the chrono module
    • Added MAX_YEAR and MIN_YEAR constants to NaiveDateExt
  • Extended the std module
    • Added AsStr trait
    • Added FromIntWithScale trait
    • Added ToIntWithScale trait
    • Added implementations of FromIntWithScale::from_int_with_scale() and ToIntWithScale::to_int_with_scale() to/from f32/f64/Decimal and all integer types
  • Extended the sugar module
    • Added macros for enum variant shorthand
      • Added variants!()
      • Added variants_hashset!()
      • Added vv!() alias
      • Added vh!() alias
    • Re-exported rubedo_macros::ip as rubedo::sugar::ip
  • Added some integration tests
  • Added standard linting configuration

Fixed

  • Improved sugar::s!() macro to detect string literals

Changed

  • In the http module
    • Improved ResponseError, allowing any errors raised by to_bytes() to be captured
    • Amended convert_response() to deal with a borrowed body rather than taking ownership
    • Derived Eq for ContentType
    • Made UnpackedResponseBody.content_type() const
  • In the std module
    • Improved handling of cwd in PathExt::normalize(), to fall back to the filesystem root directory
    • Derived Clone and Debug for LimitIterator
  • General changes
    • Annotated non-exhaustive enums and structs as such
    • Applied must_use annotation to appropriate functions
    • Used core instead of std where possible
    • Refactored some functions
    • Improved documentation

Removed

  • Removed support for using the sugar::s!() macro with non-string literals