v1.17.0
1.17.0 - 2026-06-22
Internal Housekeeping
Update doobie 1 to 1.0.0-RC11 (#589)
Update Scala.js to 1.20.2 (#591)
Update Scala Native to 0.5.10 (#593)
Update Scala 2 for refined-compat-scala2 modules (#595)
2.12.18=>2.12.192.13.16=>2.13.17
Hide UuidV7 until it's ready for use. (#597)
It should include:
UuidV7UuidV7InstancesUuidV7Generator
Update extras from 0.50.1 to 0.52.0 (#599)
Changes
java.net.URL constructor is deprecated in newer Java versions (Java 20+) so it should be updated (#571)
java.net.URL constructor is deprecated in newer Java versions (Java 20+), so it should be updated.
Url validation in networkCompat uses new java.net.URL(urlString), and it has to be updated.
Problem
The JVM implementation of Url in networkCompat was using new URL(url) for validation and conversion. However, the java.net.URL constructor is deprecated in newer Java versions (Java 20+). In addition, using new URL(url) directly can lead to inconsistent behavior compared to parsing a URI first and then converting it to a URL, which is a recommended way to construct a URL instance in the newer Java versions.
Solution
Replace the direct usage of the java.net.URL constructor with java.net.URI(url).toURL (as recommended) across the networkCompat for JVM.
Specifically:
- In
validate(url: String): Changednew URL(url)tonew URI(url).toURL. - In
isValidateUrlmacro: Changednew java.net.URL(urlStr)tonew java.net.URI(urlStr).toURL. - In the
Urlextension methods:toURI: Changed fromtoURL.toURItonew URI(url.value).toURL: Changed fromnew URL(url.value)totoURI.toURL.toUri: Changed fromUri(toURL.toURI)toUri(toURI).
This ensures that Url parsing and validation are consistent with modern Java best practices by using URI as the primary parsing mechanism before converting to URL.
New Features
Add support for UuidV7 (RFC 9562) (#572)
UuidV7 (RFC 9562) (#572)NOTE: This feature is temporarily hidden and unusable as it is not ready for production use.
What's Changed
- Update sbt to
1.12.2by @kevin-lee in #570 - Close #571:
java.net.URLconstructor is deprecated in newer Java versions (Java20+) so it should be updated by @kevin-lee in #573 - Close #572: Add support for
UuidV7(RFC 9562) by @kevin-lee in #574 - Close #575: [
refined4s-core] ImproveUuidV7monotonic counter with random seeding perRFC 9562section6.2by @kevin-lee in #576 - Fix typo in expected variable name in
refined4s.types.stringsSpecby @kevin-lee in #577 - Close #578: [
refined4s-core] ExtractUuidV7GeneratorfromUuidV7refined type by @kevin-lee in #579 - Close #580: [
refined4s-core] MakeUuidV7Generatorcustomisable withRandomSourceandTimestampSourceby @kevin-lee in #581 - Close #582: [
refined4s-core] MakeUuidV7Generatoreffect-polymorphic with higher-kinded type parameterF[*]by @kevin-lee in #583 - Bump sbt to 1.12.5 by @kevin-lee in #584
- Bump sbt to 1.12.9 by @kevin-lee in #586
- Bump sbt to 1.12.11 by @kevin-lee in #587
- Bump codecov/codecov-action from 5 to 6 by @dependabot[bot] in #585
- Close #589: Update doobie 1 to
1.0.0-RC11by @kevin-lee in #590 - Close #591: Update Scala.js to
1.20.2by @kevin-lee in #592 - Close #593: Update Scala Native from
0.5.8to0.5.10by @kevin-lee in #594 - Close #595: Update Scala 2 for
refined-compat-scala2modules by @kevin-lee in #596 - Close #597: Hide UuidV7 until it's ready for use by @kevin-lee in #598
- Close #599: Update
extrasfrom0.50.1to0.52.0by @kevin-lee in #600 - refined4s v1.17.0 by @kevin-lee in #602
Full Changelog: v1.16.0...v1.17.0