Releases: zio/izumi-reflect
Releases · zio/izumi-reflect
3.0.0
Major version bump
The major version was bumped because on Scala 3 izumi-reflect now respects opaque types and will generate a correct tag Tag[m::X]
for the following type
object m {
opaque type X = Int
}
Instead of Tag[m::X::<Int..Int>]
as before.
That means all generated tags for opaque types in libraries (if any) will not match newly generated tags in user code for the same opaque type.
Downstream libraries using opaque types are recommended to update to izumi-reflect version 3.0.0 to avoid this.
Also in this release the treatment of value-dependent types on Scala 2 was aligned with Scala 3, fixing issue #363
Merged Pull Requests
- Fix opacity of opaque types on Scala 3 by @neko-kai (#468)
- Nested path dependent types should have distinct tags by @ncreep (#504)
- ci: Publish docs on release by @Dhanus3133 (#491)
- #493: nixified build by @pshirshov (#494)
Full Changelog: v2.3.10...v3.0.0
2.3.9
- Release for Scala Native 0.5.1. This drops support for Scala Native 2.11, and adds support for Scala Native 2.12 & 2.13 (#459)
- Update README.md by @pshirshov (#454)
Full Changelog: v2.3.8...v2.3.9
2.3.8
2.3.7
- Try to unify Scala 2 and 3 handling of tautological intersections, but fail because of scala/scala3#17544. Add
removeIntersectionTautologies
andremoveUnionTautologies
methods to LightTypeTag by @neko-kai (#393) - Add
=:=
and<:<
forwarding methods toTag
by @neko-kai (#394) - Update README.md by @pshirshov (#392)
Full Changelog: v2.3.6...v2.3.7
2.3.6
- Fix bugs in wildcard and abstract type handling on Scala 3 by @neko-kai (#390)
Changes handling of equal-bounded abstract type members, for typetype X >: String <: String
a tagX|String..String
will be generated now, instead ofString
. (This returns to pre-2.3.0 behavior for Scala 2 version of izumi-reflect)
Full Changelog: v2.3.5...v2.3.6
2.3.5
- public serialization api, fixes #386 by @pshirshov (#389)
Full Changelog: v2.3.4...v2.3.5