Skip to content

v0.8.0

Compare
Choose a tag to compare
@MilesCranmer MilesCranmer released this 02 Nov 17:03
· 409 commits to main since this release
6769df1

What's Changed

  • Support dispatches on Number via union type by @MilesCranmer and @gaurav-arya in #49
    • This splits Quantity into two types: Quantity <: AbstractQuantity <: Number and GenericQuantity <: AbstractGenericQuantity <: Any.
    • This will help a lot with downstream integration as now Quantity <: Number (just like Unitful).
    • Methods are now defined on Union{AbstractQuantity,AbstractGenericQuantity}, which let's us both have multiple abstract types dispatched on different supertypes, and also only writing a single method for all abstract types in our library!
      • Note there are exceptions due to ambiguous methods, and at some points in the code we loop over the abstract types with an @eval
    • (It's essentially like a way of manually doing multiple inheritance)
  • Reduce the number of method invalidations by @MilesCranmer in #71
  • Create constructorof, with_type_parameters, dimension_names by @MilesCranmer and @devmotion in #72
    • Helps us clean up the typing throughout the library. Should be more robust to new behavior in downstream user-defined AbstractDimensions

Full Changelog: v0.7.5...v0.8.0