Immutables v2.8.3 Release Notes

Release Date: 2019-12-12 // 2 months ago
  • 🚀 Minor release fixing a couple of bugs in Geode backend :

    1. Use JDK collections for geode bind variables when sending query to server (7cc1fb8) 🚀 2. Prefer Region.getAll() method for queries which filter only on ID attribute (5426af6)
    2. Drop ContainerResolver interface (cb9d064)
    3. Drop NamingStrategy interface (764d3b5)

Previous changes from v2.8.2

  • 🛠 Main feature of this release is DISTINCT statement in Criteria. Plus, small functionalities and bugfixes.

    Notable changes

    Criteria

    • 👌 Support for DISTINCT modifier in queries. Simple DSL to allow chaining DISTINCT / LIMIT / OFFSET modifiers (9d639225)

      // example of DISTINCT queryrepository.find(person.isActive.isTrue()) .orderBy(person.name.asc()) .select(person.name) .distinct() .limit(2) .fetch();

    Geode backend

    Codegen

    • ✂ Remove unnecessary empty line between hashCode() and toString() functions introduced by previous commit
    • ⚠ Suppress ErrorProne error (with @SuppressWarnings(Immutable)) for lazy hashCode field (#1114)

    Gson / JSON Adapters

    • 🛠 Fixed issue where integers are always printed as doubles (#1120) by Ben Mazzarol (@bmazzarol)
    • 🛠 Fixed issue using the jackson XML streaming parser where boolean tokens are always strings (#1120) by Ben Mazzarol (@bmazzarol)

    Other changes

    • 🔄 Change dependency scope of jackson-datatype-guava and jackson-datatype-jdk8 to test in ElasticSearch backend. They were used only in tests.
    • Enable errorprone static analysis in criteria module (ef5f1a267)

    Thanks to all contributors: