Changelog History
Page 1
-
v1.0.12 Changes
June 07, 2020🚀 RELEASE NOTES
🛠 OWNER v1.0.12 contains following enhancements and bug fixes.
🐛 Bugs fixes
- 🛠 Fixed #268: Calling a value is not thread safe (return another value)
- 🛠 Fixed #266: PropertyEditor - Concurrency Issues
🚀 Downloadable artifacts are published on GitHub and
on Maven Central Repository. -
v1.0.11
April 08, 2020 -
v1.0.10 Changes
March 01, 2018🚀 After long time (more than 2 years now), and many people asking for a new release, here we are.
And here my apologies for the delay.👍 As you may know, I had serious health problems that kept me away from coding. Now my health is getting better, but I
feel much slower in coding and using awesome tools like IntelliJ IDEA; in the meantime, my open source license has
expired, so I hope the guys from JetBrains will be so nice to renew it :).🚀 Also, I always found the maven release process being cumbersome so that also kept me away from the effort.
Now I took some time to simply it a little bit, and I kept some note for the future.🚀 In this release, a huge amount of work has been conducted by contributors, and I mostly did housekeeping with
📚 refactoring, code review, enforcing quality standards, asking for documentation and tests, and integrating the great
ideas coming from the users' community.🚀 I took back the project recently to upgrade it to have Java 9 support, and simplify release deployment, and only now
🚀 that I am writing this release note, I realize how many things have been added and was waiting to be released.📚 Documentation is very important; I hadn't had the chance to keep all in sync, so many things here need to be
🆓 documented. If you think you can help, feel free to help: this website is a sub-project
owner-site
, and uses Markdown language, which is very
handy and quick to learn; the structure is quite easy to follow.
💎 Jekyll is used as site generator, which is written in Ruby and can be tricky for a Java dev
🆓 like me, but it works awesomely with github. So feel free to help there too.
🏗 There is also an ant script which allows
you to launch Jekyll and live-preview the end result of your edits.I don't feel very comfortable in making promises, but I'd really like to give back life to this project and, for the
🚀 future, avoid such a long wait for a release.Please notice that at the moment I am not professionally working, I closed my consultancy company years back, and
in this moment I am writing from a nice Coworking Space "ImpactHub" here in Torino.
So, let me quickly say that donations are very welcome.
Or if you want, you can hire me for some custom development on OWNER, training, or to help implementing your
projects.
This would definitely help keeping OWNER alive.Credits to ALL the contributors of OWNER, and to the end-users of this neat library.
🚀 To you all it goes my gratitude for this release.Thank you!
--Luigi.
🚀 RELEASE NOTES
🛠 OWNER v1.0.10 contains following enhancements and bug fixes.
✨ Enhancements
- ➕ Added Java 9 support, dropped Java 6 support. All code and tests are running and built with Java 9, so you can use
✅ OWNER with the latest Java version. It was not trivial. If you want to use some specific feature like default
methods in interfaces introduced in Java8, you still need to addowner-java8
dependency. I know... I didn't want to
create a new sub-module for Java 9 and every newer versions, if it's not necessary. - ⚡️ Updated all dependencies (testing, and optional) and Maven plugins, in order to have it working with Java 9.
- ➕ Added
list()
method toConfigCache
. ConfigCache is a great way to centralise configuration for various
parts of an application. This commit adds a list() method to the ConfigCache class, which lists the keys for all
🔧 configurations present in the cache. This allows the entire application configuration to be inspected (e.g. for
debugging) without the need for storing cache keys elsewhere. Thanks
📚 @kevin-canadian, who also was so nice to update the documentation on the
website. - ➕ Added
@EncryptedValue
and@DecryptorClass
annotations to allow hiding passwords stored in configuration
👀 properties. See #49, thanks @rrialq
📚 for the implementation and the awesome documentation. - ➕ Added a Java 8 duration converter class:
DurationConverter.class
inowner-java8-extras.jar
.
Thanks @StFS. - ➕ Added system properties and enviroment variable as sources: example
@Sources({"system:properties", "system:env"})
.
👀 See #110. Thanks @gintau for the
implementation and @kevin-canadian for the idea. - ➕ Added
ByteSizeConverter
andDurationConverter
classes inowner-java8-extras
jar, see
#155. Thanks @StFS, also for providing
📚 the necessary documentation and unit tests. - ➕ Added the ability to register default converters for types and classes defined by users.
👀 See #184.
Thanks @StFS. - ➕ Added inheritance support for
@Sources
,@LoadPolicy
and@HotReload
.
🔀 Sources defined for all extended interfaces will be merged.
LoadPolicy and HotReload can be inherited and override by the extended interface.
Thanks chengmingwang.
🐛 Bugs fixes
- 👍 Replaced
fixBackslashForRegex
with better implementation. Thanks @kiefinger. - 👻 Have
ConfigFactory
throw an exception on imported Maps having either null keys or null values.
👀 See #185, #184.
Thanks @StFS. - ⚡️ Accept file URI containing spaces. Updated the uri processing to allow loading files that contain spaces in
their paths.
👀 See #134. Thanks @icirellik. - 👀 Maps with null values cause an unclear exception. See #184.
Thanks @StFS. - 🏗 Set tar long file mode to posix in maven assembly plugin to avoid build errors.
Thanks gdenning.
Site Enhancements
- ➕ Added Crypto support documentation page.
- ➕ Added ByteSize Converter converter documentation
section. - 📚 Chinese documentation has been contributed by @cyfonly and is available
⚡️ here. Sorry, I cannot check that everything is correct or update that! :-)
👀 See #172. - ➕ Added security/stability badges by Meterian.
Thanks @fdiotalevi, @bbossola
🚀 Downloadable artifacts are published on GitHub and
on Maven Central Repository. - ➕ Added Java 9 support, dropped Java 6 support. All code and tests are running and built with Java 9, so you can use
-
v1.0.9 Changes
July 22, 2015🛠 v1.0.9 contains following enhancements and bug fixes.
✨ Enhancements
- ➕ Added
fill(java.util.Map)
method to theAccessible
interface. - ➕ Added pre-processing feature. See #120, thanks
@a1730 for the feedback.
Site Enhancements
- None.
🐛 Bugs fixes
- 🏁 Config.Sources with ~ doesn't create a valid URI on Windows.
👀 See #123, thanks @outofrange for
spotting this bug.
🚀 Downloadable artifacts are published on GitHub and
on Maven Central Repository. - ➕ Added
-
v1.0.8 Changes
July 22, 2015🚀 Release 1.0.7 failed deployment in Maven Central Repository
🚑 Some required pom was skipped, and if you try to use it as dependency in your project, it may raise some maven error or other issues. So here the hotfix: 1.0.8 is out!
🛠 v1.0.8 contains following enhancements and bug fixes.
✨ Enhancements
- 🛠 Fixed the javadocs included in the tarballs/zips released.
Site Enhancements
- None.
🐛 Bugs fixes
- 👀 No
owner-parent
pom in Maven Central Repository. See #121,
thanks @rajatvig for quickly spotting the issue.
🚀 Downloadable artifacts are published on GitHub and
on Maven Central Repository. -
v1.0.7 Changes
March 30, 2015🚀 Release 1.0.7 failed deployment in Maven Central Repository
Some required pom was skipped, and if you try to use it as dependency in your project, it may raise some maven error or other issues. So, avoid using 1.0.7 and jump to 1.0.8!
🛠 v1.0.7 contains following enhancements and bug fixes.
✨ Enhancements
- ➕ Added JMX Support. See #107 and
#19.
Thanks @robinmeiss.
📚 I still need to write the documentation on how to use it (sorry). - ➕ Added examples module, containing some example Maven Java projects to show some of the API features.
🚀 This gets packaged in the released archive artifacts (zip and tarballs).
Site Enhancements
- None.
🐛 Bugs fixes
- 🛠 Fixed packaging: the
owner-extras.jar
was missing required classes.
👀 See #114. Thanks @ksaritek for the patience.
🚀 Downloadable artifacts are published on GitHub and
on Maven Central Repository. - ➕ Added JMX Support. See #107 and
-
v1.0.6 Changes
November 19, 2014🛠 v1.0.6 contains following enhancements and bug fixes.
✨ Enhancements
- ➕ Added basic support for ZooKeeper #81. Thanks @ksaritek.
- ➕ Added Java 8 Support (default and static methods on interfaces). See #94.
- ➕ Added OSGi support. See #101.
Site Enhancements
- 🛠 Fixed documentation errors. See #88, #89, #92. Thanks @hemus2121.
- 🏗 Minor changes in build.xml (ant publishing script to gh-pages)
🐛 Bugs fixes
- 0️⃣ Use of default value for for properties using the Key Expansion mechanism #84.
🚀 Downloadable artifacts are published on GitHub and on Maven Central Repository.
-
v1.0.5 Changes
May 28, 2014🛠 v1.0.5 contains following enhancements and bug fixes.
✨ Enhancements
- 📄 Support for XML.
OWNER is now able to load not only from properties files, but also from XML files. The XML
📄 can follow the Java XML Properties format,
or can be freely defined by the user.
📚 (See more in the documentation: XML support and see
#5).- ➕ Added method
registerLoader()
toConfigFactory
, so the user can define new loaders for more file formats.
👀 (See #55).
- 👌 Support for
classpath:
URLs in HotReload. Also it works with the default files associated to the mapping
interface, when@Sources
is not specified. - ➕ Added method
Set<String> propertyNames()
in theAccessible
interface.
👀 (See #46).
- ➕ Added Event support for property changes and reload.
Both the events can now be transactional: the listener can be notified by an event before and after a property change
⏪ or a reload takes place. The listener can check what is changed and eventually rollback the reload or property change
operation.
📚 (See more in the documentation: Event support and see
#47).- ➕ Added non-static
ConfigFactory
, so one can create independent instances of OWNERFactory
objects.
👀 (See #43).
- ➕ Added implementation on
hashCode()
andequals()
. - ➕ Added serialization capability to OWNER
Config
objects, so now they can be transferred through the network or
transformed to byte streams.
👀 (See #54).
- 👍 Allow
@ConverterClass
annotation to override default converters (i.e. primitive types, etc). - The interfaces
Reloadable
,Mutable
andAccessible
now extend fromConfig
, so you don't need anymore to extend
directly from Config. For instance, your interface can now extend just from Mutable to generate an object which is
also a validConfig
object that can be instantiated by theConfigFactory
:
Site Enhancements
- 🏗 Website sources reorganized: moved from
gh-pages
branch tomaster
, with publish ant scriptsbuild.xml
. - ➕ Added news section, with release announcements and blog posts.
🐛 Bugs fixes
- 🛠 Fixed bugs on tests that were making the build failing on Windows systems.
- 🛠 Fixed bug #51, variables expansion, and path expansion not working
properly with string containing the backslash characters'\'
.
Thanks NiXXeD.
- 🛠 Fixed bug #42, regarding the incompatibility of the OWNER
🔒 library with the Google App Engine security restrictions.
- 📄 Support for XML.
-
v1.0.5.1 Changes
May 28, 2014🛠 v1.0.5.1 contains following enhancements and bug fixes.
✨ Enhancements
- 🛠 Java8 fixes, so now it is officially supported.
- ➕ Added UTF-8 Support for properties files. (See #77 and
#78, thanks @SvetaNesterenko ) - ➕ Added [ConfigCache (Singleton)]({{ site.url }}/docs/singleton/) feature. (See #64)
- 👌 Improved support for Android. Somebody wants to verify/help with this? (See #75)
- 👀 Implemented variable expansion for
@Key
annotation. (See #63) - Restructured maven project to allow sub-modules.
Site Enhancements
- ⚡️ Dyndns dropped free service, so updated links for Sonar, from sheldon.dyndns.tv -> dev.aeonbits.org
- 📚 Documentation website minor style/layout, updates and improvements.
- ➕ Added SlideShare presentation in home page.
- ➕ Added Coveralls. (See #59)
🐛 Bugs fixes
- 🚚 Code cleanup, removed warnings.
- 🛠 Fixed compatibility issue on exception raised by Java7 and Java6. (See #71)
-
v1.0.4 Changes
May 28, 2014🛠 v1.0.4 contains some key enhancements and bug fixes.
✨ Enhancements
- 🆕 New
@ConverterClass
annotation.
👀 See [The @ConverterClass annotation]({{ site.url }}/docs/type-conversion/#toc_1), #38. - Hot reload for file based sources.
👀 See [Automatic "hot reload"]({{ site.url }}/docs/reload/#toc_1), #15. - toString() method can be invoked on the Config object to get some useful text for debugging.
👀 See [The toString() method]({{ site.url }}/docs/debugging/#toc_0), #33. - Added
Mutable
interface for the methods giving write access to the underlying properties structure:
🚚 setProperty, removeProperty, clear.
👀 See [The Mutable interface]({{ site.url }}/docs/accessible-mutable/#toc_0), #31. - ➕ Added
Accessible
interface for thelist()
methods used to aid debugging, and other methods
giving read access to the underlying properties structure.
👀 See [The Accessible interface]({{ site.url }}/docs/accessible-mutable/#toc_1). - ➕ Added the
reload()
method that can be exposed implementing the interfaceReloadable
.
👀 See [Programmatic reload]({{ site.url }}/docs/reload/#toc_0). - 👍 Fist class Java Arrays and Collections support in type conversion. Thanks ffbit.
👀 See [Arrays and Collections]({{ site.url }}/docs/type-conversion/#toc_0), #21, #22 and #24. - Implemented
@DisableFeature
annotation to provide the possibility to disable variable expansion and parametrized
formatting.
👀 See [Disabling Features]({{ site.url }}/docs/disabling-features/), #20.
Site Enhancements
- 🆕 New website for documentation.
- ➕ Added sonar to keep high attention on code quality.
- ➕ Added Travis CI to the project to track changes and run tests on different JDK versions.
- Website code snippets now have syntax highlighting. Thanks ming13.
🐛 Bugs fixes
- 🆕 New