Skip to content

Releases: Gmugra/net.cactusthorn.config

Release v0.81

26 Mar 07:52
0fbde47
Compare
Choose a tag to compare

🚀 Features

  1. Use Slf4j instead of java.util.logging (#359)
  2. Add default support for more types (#304)
    1. java.time.MonthDay
    2. java.time.ZoneId
    3. java.time.ZoneOffset
    4. java.util.regex.Pattern

🧰 Maintenance

  1. Actualize PMD configuration (#354)
  2. MethodInfo refactoring (#345)
  3. Simplify generated toString() & equals() methods (#341)
  4. add unit tests for multi-line string (#316)
  5. Generate JARs with test sources (#310)

Release v0.80

02 Feb 07:32
21c01d9
Compare
Choose a tag to compare

🚀 Features

🐛 Bug Fixes

  • Change code to avoid Spotbug "false positive" (#266)
  • Compiler ignore several standard converters (e.g. java.util.Currency) (#286)
  • Compiler could not use standard and custom converters for interfaces and abstract classes (#296)
  • Some validators do not provide correct Element when a ProcessorException is thrown (#292)

🧰 Maintenance

  • Add build with Java 17 (#243)
  • Integrate Maven License Plugin (#240)
  • Actualize configurations for PMD (#236)
  • New check-style rule to disallow console output: System\.(out|err)
  • Add info about compiler source/target JDK in JARs MANIFEST.MF (#302)

🗎 Documentation

Release v0.70

30 Aug 08:59
59ea8f7
Compare
Choose a tag to compare

Release 0.70

  1. Reload listeners (#205)
  2. Global Prefix (#86)
    1. Also new @Disable feature GLOBAL_PREFIX
  3. Extras: loader for Apache ZooKeeper (#204) : https://github.com/Gmugra/net.cactusthorn.config/tree/main/zookeeper
  4. OSGi support:
    1. config-json.jar OSGi ready (#207)
    2. config-yaml.jar OSGi ready (#209)
    3. config-jasypt.jar OSGi ready (#213): config-jasypt-0.70-bundle.jar
    4. config-toml.jar OSGi ready (#215): config-toml-0.70-bundle.jar
    5. config-zookeeper.jar OSGi ready (#221)
  5. BuildTime in all generated JARs (#211)

Release v0.60

19 Jul 06:51
5bb841d
Compare
Choose a tag to compare

Release 0.60

  1. New supported return type java.util.Currency (#187):
  2. New @Factory annotation (#80)
  3. Extras: loaders for files in YAML format (#165) : https://github.com/Gmugra/net.cactusthorn.config/tree/main/yaml
  4. New package for ConfigFactory: net.cactusthorn.config.core -> net.cactusthorn.config.core.factory (#195)

Release v0.50

05 Jul 07:57
f3974cb
Compare
Choose a tag to compare

Release 0.50

  1. ConfigFactory.Builder.addSourceNoCache methods deleted (#169)
  2. Periodical auto reloading (#168)
  3. New @Disable feature AUTO_RELOAD (#173)
  4. New supported return types of interface methods (#182):
    1. java.time.LocalTime
    2. java.time.OffsetTime
    3. java.time.Year
    4. java.time.YearMonth
  5. New parameterized custom converters related annotations (#182):
    1. @LocalTimeParser
    2. @OffsetTimeParser
    3. @YearParser
    4. @YearMonthParser
  6. New loading strategies (#170):
    1. FIRST_KEYRELAXED
    2. MERGE_KEYRELAXED

Release v0.40

05 Jun 05:40
46cd43c
Compare
Choose a tag to compare

Release 0.40

  1. Support for system properties and/or environment variable in the @Key and @Prefix(#154)
  2. Special support for net.cactusthorn.config.core.Reloadable interface (#166)
  3. Extras: loaders for files in JSON format (#151) : https://github.com/Gmugra/net.cactusthorn.config/tree/main/json
  4. Optimizations in the generated classes (#142, #150, #160)

Release v0.31

23 May 10:17
28f4a5b
Compare
Choose a tag to compare

Release 0.31

The release renames generated artifacts, to make it more unique.

Old Name New Name
core config-core
compiler config-compiler
jasypt config-jasypt
toml config-toml

Release v0.30

22 May 15:01
aa9b6ee
Compare
Choose a tag to compare

Release 0.30

  1. New supported return types of interface methods (#54, #56, #134):
    1. java.time.LocalDate
    2. java.time.LocalDateTime
    3. java.time.ZonedDateTime
    4. java.time.OffsetDateTime
    5. net.cactusthorn.config.core.converter.bytesize.ByteSize (for size settings, e.g. "10Mb")
  2. Added support for parameterized custom converters (#96) and related annotation:
    1. @LocalDateParser
    2. @LocalDateTimeParser
    3. @ZonedDateTimeParser
    4. @OffsetDateTimeParser
  3. Added support for java.util.Map and java.util.SortedMap (#99, #123)
  4. Support Service-provider loading facility for Loaders (#87)
  5. Extras (#124, #131):
    1. parameterized converter to decrypt properties that were encrypted with Jasypt Password-Based Encryption : https://github.com/Gmugra/net.cactusthorn.config/tree/main/jasypt
    2. loaders for files in TOML format : https://github.com/Gmugra/net.cactusthorn.config/tree/main/toml

Release v0.20

11 May 05:45
Compare
Choose a tag to compare

Release 0.20

  1. New supported return types of interface methods (#55, #61, #81, #85):
    1. java.net.URI
    2. java.time.Instant
    3. java.time.Duration
    4. java.time.Period
    5. java.nio.file.Path
  2. New loading strategies (#43):
    1. FIRST_KEYCASEINSENSITIVE
    2. MERGE_KEYCASEINSENSITIVE
  3. New standard loaders (#46, #90)
    1. for XML files (format: properties.dtd or OWNER)
    2. for META-INF/MANIFEST.MF from classpath
  4. Special support for java.io.Serializable interface (#47)
  5. Special support for net.cactusthorn.config.core.Accessible interface (#65)
  6. nocache: URI-prefix (#62)
  7. file:~/ expansion in URI for home-dir (#64)
  8. @Config annotation optional parameters sources and loadStrategy (#75)
  9. ConfigHolder get more conversion methods (#78)

Release v0.10

30 Apr 16:55
62b696f
Compare
Choose a tag to compare

Release 0.10

The first release with basic set of features

  1. annotation processor for class & builder generation
  2. Annotations: @Config, @Prefix, @Key, @Default, @Disable, @Split, @ConverterClass
  3. Standard types conversions + Converter interface for custom converters
  4. ClassFactory with support for multiple source and loading strategies
  5. Standard loaders: system:properties, system:env, properties files by URL and from classpath
  6. Loader interface for custom loaders + System properties and/or environment variable in sources URIs
  7. Direct (without interface) access to properties
  8. Caching