sconfig

Scala configuration library supporting HOCON for Scala, Java, Scala.js, and Scala Native

OTHER License

Stars
118

Bot releases are visible (Hide)

sconfig - sconfig 1.3.0

Published by ekrich over 4 years ago

This is the 12th release of sconfig which supports the Scala line of products.

Scala Native 0.4.0-M2 for Scala 2.11. Scala.js 0.6.32, 1.0.1, and Scala JVM are supported on Scala 2.11, 2.12, 2.13, and JVM only for 0.24.0-RC1 (aka Dotty). Pure Java projects are also supported but require the Scala library. All platforms are supported on Java 8 and 11.

Changes πŸ’₯

This release updates Scala.js to 1.0.1 and Dotty to 0.24.0-RC1.
Scala Native version 0.3.9 has been dropped.

Contributors πŸ‘₯

According to git shortlog -sn --no-merges v1.2.2..v1.3.0 1 person contributed to this release: Eric K Richardson

Thanks to the Scala.js and Dotty teams for their updates. 🎀 πŸ‘

sconfig - sconfig 1.2.2

Published by ekrich over 4 years ago

This is the 11th release of sconfig which supports the Scala line of products.

Scala Native 0.3.9 and 0.4.0-M2 for Scala 2.11. Scala.js 0.6.32, 1.0.0, and Scala JVM are supported on Scala 2.11, 2.12, 2.13, and 0.23.0-RC1 (aka Dotty) for JVM only. Pure Java projects are also supported but require the Scala library. All platforms are supported on Java 8 and 11 except Scala Native 0.3.x which is currently not supported on Java 11 due to an needing a PR merged and a release cut.

Changes πŸ’₯

This release updates Scala to 2.12.11 and 2.13.2. It also updates Dotty to the latest 0.23.0-RC1.

Contributors πŸ‘₯

According to git shortlog -sn --no-merges v1.2.1..v1.2.2 1 person contributed to this release: Eric K Richardson

Thanks to the Scala and Dotty teams. 🎀 πŸ‘

sconfig - sconfig 1.2.1

Published by ekrich over 4 years ago

This is the 10th release of sconfig which supports the Scala line of products.

Scala Native 0.3.9 and 0.4.0-M2 for Scala 2.11. Scala.js 0.6.32, 1.0.0, and Scala JVM are supported on Scala 2.11, 2.12, 2.13, and 0.22.0-RC1 (aka Dotty) for JVM only. Pure Java projects are also supported but require the Scala library. All platforms are supported on Java 8 and 11 except Scala Native 0.3.x which is currently not supported on Java 11 due to an needing a PR merged and a release cut.

Changes πŸ’₯

This release updates Scala.js to the long awaited version 1.0.0 and the latest 0.6.32. It also updates Dotty to the latest 0.22.0-RC1. Updates to components and Travis CI are also included.

  • Update Scala.js to 1.0.0 (#68)

Scala Native 0.3.9 will be dropped in the next version. Scala 2.11 support will also be dropped if Scala Native supports 2.12 before the next release.

Contributors πŸ‘₯

According to git shortlog -sn --no-merges v1.1.3..v1.2.1 1 person contributed to this release: Eric K Richardson

Thanks to Γ“lafur PΓ‘ll Geirsson (@olafurpg) for help with sbt-ci-release. 🎀 πŸ‘

sconfig - sconfig 1.1.4

Published by ekrich almost 5 years ago

This release is the same as https://github.com/ekrich/sconfig/releases/tag/v1.1.3 but includes a fix in the Travis CI that was making it hard to release all the versions for the different Scala platforms. Versions 1.1.0, 1.1.1 and 1.1.2 releases were all incomplete.

sconfig - sconfig 1.1.3

Published by ekrich almost 5 years ago

This is the 9th release of sconfig which supports basically the entire Scala line of products.

Scala Native 0.3.9 and 0.4.0-M2 for Scala 2.11. Scala.js 0.6.31, 1.0.0-RC2, and Scala JVM are supported on Scala 2.11, 2.12, 2.13. We added 0.21.0-RC1 (aka Dotty) for JVM only. Pure Java projects are also supported but require the Scala library. All platforms are supported on Java 8 and 11 except Scala Native 0.3.x which is currently not supported on Java 11 due to an needing a PR merged and a release cut.

Changes πŸ’₯

This release has been a long time in the making. The Config.resolve issue which allows substitution was broken on Scala.js due to missing java.util.IdentityHashMap. Testing is still not cross platform or this would have been caught. Fixing this required contributing the collection to Scala.js which was a big job for me. Once this was merged to 0.6.x and then forward ported to 1.0.0-RC2 then we could add support for the 1.0.x series as well.

Dotty support came in 3 major PRs and is not 100% yet. Java Serialization still is broken due to some enum issues but most of the unit tests pass. Only 19 fail out of 530 but currently we are only testing 346 on Dotty. All warnings are gone except Int to Long implicit warnings in the test suite which just showed up in the latest release and I was told they are too strict. Warnings due to non-local returns have also been removed which was a pretty long list of real code changes since this library was ported from Java with switch and return everywhere. Thanks to the helpful folks on scala/scala in resolving some of the harder ones. There are other issues that mostly affect Java support with the Dotty build. Issues are outlined in #49.

Fixing the scaladoc links was a major job but all the warnings were really junking up the log file. I think we have no documentation in Scala because it is way too hard. Javadoc was a pretty big improvement at the time and Scaladoc should be much better but is not. Maybe we need a PhD thesis to take documentation to the next level.

  • Fix #36: Could not call Config.resolve in Scalajs #57
  • Update scalafmt version and allow changes #56
  • Add support for Scala.js 1.0.0-RC2 #58
  • Fix #24: Fix scaladoc #60
  • Dotty update #3 #62
  • Dotty port phase 2 #49
  • Add support for Dotty #48

Contributors πŸ‘₯

According to git shortlog -sn --no-merges v1.0.0..v1.1.3, 2 people contributed to this release: Eric K Richardson and Hamid

Thanks to Hamid (@hamidr) for being the very first direct contributor and for Andares Merigold (@andares) for trying out Scala.js and finding the resolve issue. Special thanks to SΓ©bastien Doeraene (@sjrd) for coaching me through my contribution to Scala.js.

I would also like to thank the Dotty team on Gitter for helping me and putting up with me with during the Dotty porting. This included help with issues and workaround suggestions. Special thanks to Guillaume Martres (@smarter). 🎀 πŸ‘

sconfig - sconfig 1.0.0

Published by ekrich about 5 years ago

This is the 8th release of sconfig which supports Scala Native 0.3.9 and 0.4.0-M2 for Scala 2.11. Scala.js 0.6.28 and Scala JVM are supported on Scala 2.11, 2.12, and 2.13. Pure Java projects are also supported but require the Scala library. All platforms are supported on Java 8 and 11 except Scala Native 0.3.x which is currently not supported on Java 11.

Changes πŸ’₯

The major focus of this release was to add support for Scala Native 0.4.0-M2 and Java 11.
Warning: This version is not binary compatible with v0.9.2 due to removal of deprecated methods.

None of the changes listed have any impact on the library or its workings with the exception of the removed deprecated methods. Here are the major changes in this release:

  • Compile multiple versions of Scala Native (#40)
  • Add jdk11 to Travis CI (#43)
  • Add support for jdk11 (#42)
  • Add resolve test for Scala Native (#39)
  • Update utest, remove deprecation, and format (#38)
  • Add scala-collection-compat to codebase (#37)

Contributors πŸ‘₯

According to git shortlog -sn --no-merges v0.9.2..v1.0.0, 1 person contributed to this release: Eric K Richardson

Thanks to Seth Tisue (@SethTisue) for pushing me to provide Java 11 support with his PR so technically there are 2 contributors to this release. This also gave me the template to add Scala Native 0.4.0-M2 support. Lorenzo Gabriele (@lolgab) also published minitest for Scala Native 0.3.9 and 0.4.0-M2 which allowed me to test on Scala Native. 🎀 πŸ‘

sconfig - sconfig 0.9.2

Published by ekrich over 5 years ago

This is the 7th release of sconfig which supports Scala Native 0.3.9 and Scala.js 0.6.28 for Scala 2.11, 2.12, and now 2.13. It also supports Scala 2.11, 2.12, and 2.13 with Java 8 on the JVM.

Changes πŸ’₯

The major focus of this release was to upgrade from 2.13.0-RC2 to 2.13.0

None of the changes listed have any impact on the library or its workings. Here are the major changes in this release:

  • Updated Scala version to 2.13.0
  • Added Scala.js support for 2.13.0
  • Changed Scala.js test to use JUnit
  • Updated library dependencies

Contributors πŸ‘₯

According to git shortlog -sn --no-merges v0.9.1..v0.9.2, 1 person contributed to this release: Eric K Richardson

Thanks to Jakob Odersky (@jodersky) for the spray-json Scala 2.13.0 update. 🎀 πŸ‘

sconfig - sconfig 0.9.1

Published by ekrich over 5 years ago

This is the 6th release of sconfig which now supports Scala Native 0.3.9 and Scala.js 0.6.27 for Scala 2.11 and 2.12. It also supports Scala 2.13.0-RC2, 2.12 and 2.11 with Java 8 on the JVM.

Changes πŸ’₯

The major focus of this release was to upgrade from 2.13.0-RC1 to 2.13.0-RC2

None of the changes listed have any impact on the library or its workings. Here are some of the major changes in this release:

  • Updated Scala version to 2.13.0-RC2
  • Updated jodersky/spray-json dependency to the 2.13.0-RC2 version.

Contributors πŸ‘₯

According to git shortlog -sn --no-merges v0.9.0..v0.9.1, 1 person contributed to this release: Eric K Richardson

Thanks to Jakob Odersky (@jodersky) for the spray-json RC2 update. 🎀 πŸ‘

sconfig - sconfig 0.9.0

Published by ekrich over 5 years ago

This is the 5th release of sconfig which now supports Scala Native 0.3.9 and Scala.js 0.6.27 for Scala 2.11 and 2.12. It also supports Scala 2.13.0-RC1, 2.12 and 2.11 with Java 8 on the JVM.

Changes πŸ’₯

The major focus of this release was to add support for Scala.js.

None of the changes listed have any impact of the library or its workings although not all functionality is supported on Scala.js. Here are some of the major changes in this release:

  • Changed build.sbt to add Scala.js
  • Added missing Java library stubs for Scala.js
  • Added adapter classes to delegate to the stubs for Scala.js and the implementation for Scala Native and JVM. Note: some stubs where added directly to Scala Native in the previous release so the delegation may still go to stubs indirectly.
  • Update user guide to include some info for Scala.js

Contributors πŸ‘₯

According to git shortlog -sn --no-merges v0.8.0..v0.9.0, 1 person contributed to this release: Eric K Richardson

Thanks to Γ“lafur PΓ‘ll Geirsson (@olafurpg) for a code review of the Scala.js PR. 🎀 πŸ‘

sconfig - sconfig 0.8.0

Published by ekrich over 5 years ago

This is the 4th release of sconfig which now supports Scala Native version 0.3.9. It also supports Scala 2.13.0-RC1, 2.12 and 2.11 with Java 8 on the JVM.

Changes πŸ’₯

The major focus of this release was to add support for Scala Native which will allow scalafmt be built as a Scala Native application. This will allow formatting to start and run super fast.

None of the changes listed have any impact of the library or its workings although not all functionality is supported on Scala Native. Here are some of the major changes in this release:

  • Changed build.sbt to a full cross build to support Scala Native and Scala.js in the future
  • Changes needed specific to Scala Native
  • Add developer support for Metals and Bloop
  • Add Linux build support for Scala Native in Travis CI
  • Add a Users Guide for Scala Native
  • Minor version updates

Contributors πŸ‘₯

According to git shortlog -sn --no-merges v0.7.6..v0.8.0, 1 person contributed to this release: Eric K Richardson

Special Thanks to Γ“lafur PΓ‘ll Geirsson (@olafurpg), Denys Shabalin (@densh), and Jakob Odersky (@jodersky) for his fork of spray-json that supports Scala Native. 🎀 πŸ‘

sconfig - sconfig 0.7.6

Published by ekrich over 5 years ago

This is the 3rd release of sconfig which supports Scala 2.13.0-RC1, 2.12 and 2.11 and Java 8 on the JVM.

Changes πŸ’₯

The major focus of this release was to add support for 2.13.0-RC1 in preparation for the first production release.

None of the changes listed have any impact of the library or its workings.

  • Changed dependencies in the build

Contributors πŸ‘₯

According to git shortlog -sn --no-merges v0.7.5..v0.7.6, 1 person contributed to this release: Eric K Richardson

sconfig - sconfig 0.7.5

Published by ekrich over 5 years ago

This is the 2nd release of sconfig which supports Scala 2.13.0-M5, 2.12 and 2.11 and Java 8 on the JVM.

Changes πŸ’₯

The major focus of this release was to add support for 2.13.0-M5 in preparation for RC versions and the first production release.

None of the changes listed have any impact of the library or its workings.

  • Changed the JSON test library to use a fork of spray-json that supports Scala 2.13, Scala Native, and Scala-js. Thanks to @jodersky for updating the library and creating a release for 2.13.0-M5

    • This required changing the build and changing many tests due to differences in the parsing.
    • Some tests that checked the JSON parser itself were removed.
  • Many changes were done to support the 2.13 compiler and library changes

    • Changed varargs handling between Java and Scala so the code would compile. Scala varargs are now immutable while Java varargs are mutable.
    • Remove procedure syntax to remove deprecation warnings
    • Change string concatenation to string interpolation to remove deprecation warnings

Contributors πŸ‘₯

According to git shortlog -sn --no-merges v0.7.0..v0.7.5, 1 person contributed to this release: Eric K Richardson

Thanks to @SethTisue for adding sconfig to the community build. 🎀 πŸ‘

sconfig - sconfig 0.7.0

Published by ekrich almost 6 years ago

This is the first release of sconfig which supports Scala 2.12 and 2.11 and Java 8 on the JVM. The sconfig code branches after config release version 1.3.3 at commit 1fc2aff4. See the PR to the config project for more background.

Changes πŸ’₯

The following are changes from the original Java version.

  • The package organization name changed from com.typesafe to org.ekrich. A global change like the following should be safe.
    • Search and replace the first line with the second.
    import com.typesafe.config
    import org.ekrich.config
    
  • We removed () to follow the Scala convention which supports the uniform access principle (Odersky, Spoon, & Venners (2016). Programming in Scala (3rd Ed), (pp. 185-188)). Methods that have side effects should still require ().
    • When using Scala, code sites may require removing () where the method just returns state.
  • The serialization format has changed due to the package name change. This could require special consideration.
  • Support for OSGi has been dropped to reduce complexity. OSGi is more popular in the Java world and the primary purpose of this library is to support Scala.

Contributors πŸ‘₯

According to git shortlog -sn --no-merges 1fc2aff4..v0.7.0, 1 person contributed to this release: Eric K Richardson

100 commits are from the original port PR and then 7 additional PRs after the fork.

Special Thanks to Havoc Pennington (the original author of config) and Γ“lafur PΓ‘ll Geirsson for his support and encouragement. 🎀 πŸ‘