Skip to content

Releases: google/mug

Release 9.9.2

14 Feb 20:17

Choose a tag to compare

  • @ParametersMustMatchByName applicable to package level

Release 9.9.1

07 Feb 22:00

Choose a tag to compare

Release 9.8

16 Jan 02:45

Choose a tag to compare

Minor changes and BOM update

Release 9.7

28 Dec 22:45

Choose a tag to compare

  • SafeSql.args() for interoperability with JdbcTemplate
  • Iteration.lazily(), Iteration.emit().

Release 9.5

09 Dec 03:26

Choose a tag to compare

  • Parser.quotedBy().
  • Parser.first() to search for an anchor point.
  • Parser.sequence() for 3 and 4 parsers.
  • SafeSql.prepareToBatch() for JDBC batching.
  • Csv.join(), Csv.joining().

mug-root-9.4

14 Nov 02:02

Choose a tag to compare

Release 9.4

  • More parser combinators

Release 9.3

24 Oct 01:52

Choose a tag to compare

  • Dot Parse.
    • Easy, safe parser combinator library (no infinite loop possible).
    • Supports lazy, streaming parsing (jsonParser.parseToStream(Reader)).
    • Csv and regex parsers included.
    • Tiny — 1/5 the size of jparsec.
  • New StringFormat.format() overloads for more efficient formatting.

Release 9.2

08 Aug 06:08

Choose a tag to compare

  • SafeSql.queryForOne().
  • Supports public fields besides Java Beans.
  • {names? -> AND name IN (names?)}
  • BoundedConcurrency in mug-concurrent24. concurrently() as a higher-throughput mapConcurrent(). race().

Release 9.1

13 Jul 01:09

Choose a tag to compare

  • Automatic module names
  • Fixed accidental JDK 9 references

Release 9.0

12 Jul 19:00

Choose a tag to compare

Major release fixing dependencies.

  • SafeSql supports converting ResultSet into Java Beans and records.
  • Removed guava dependency from the mug-safesql artifact to help avoid jar hell.
  • Added mug-spanner artifact with ParameterizedQuery to offer safe templating for Cloud Spanner dynamic queries (no extra dependency other than mug and cloud spanner).
  • Fixed mug-guava split package by renaming packages to make it more friendly to JPMS
  • Moved CaseBreaker into Mug core artifact.
  • Split out the CaseFormat-dependent method into mug-guava as CaseFormats class.
  • Added optional template parameter support. For example:
    SafeSql.of("... {filter? -> WHERE filter?}", optionalFilter())