longevity v0.18.0 Release Notes

    • โœ… 2016.12.06 - Prevent emblem leakage of TestDataGenerator and CustomGeneratorPool by wrapping them in longevity classes. Slightly simplified the API for adding a custom test data generators.
    • 2016.12.06 - Add LongevityContext constructors and apply methods that take either a LongevityConfig or a Typesafe config.
    • ๐Ÿ“ฆ 2016.12.06 - Add annotation macro @subdomain in package longevity.subdomain.annotations.
    • 2016.12.06 - Add Subdomain constructor and apply method that collect all the PTypes and CTypes by package scanning.
    • 2016.11.30 - Add annotation macros @component, @derivedComponent, @derivedPersistent, @keyVal, @mprops, @persistent, @polyComponent, and @polyPersistent in package longevity.subdomain.annotations.
    • ๐Ÿšš 2016.11.30 - Remove scanning of PType inner objects keys and indexes to look for keys and indexes. Users must now define PType.keySet, and override PType.indexSet, to declare keys and indexes. We made this change since the object scanning was superfluous, and complicates the API. (In contrast, scanning for properties is useful, as users need to be able to call properties by name. However, users never really need to call keys and indexes by name, so there is no advantage to naming them in an inner object.)
    • 2016.11.23 - Add method PType.emptyKeySet.
    • 2016.11.23 - Make PType.partitionKey methods return Key[P] instead of PartitionKey[P]. this is for convenience of Scala 2.11 users, so they dont have to declare the full type of their keySet.
    • ๐Ÿšš 2016.11.22 - Remove second type parameter from longevity.subdomain.Key and longevity.subdomain.PartitionKey. Remove types longevity.subdomain.AnyKey and longevity.subdomain.AnyPartitionKey, as they no longer serve any purpose.