Update to kotlinx-datetime:0.7.0 and fix binary incompatible changes.#1645
Conversation
I believe this was the concession when we originally took the unstable dependency. It's a test only dependency (or should be) so it's okay that we take this hit. |
| ) : FileSystem() { | ||
|
|
||
| // Avoid propagating 'ExperimentalTime' if 'clock' is not specified. | ||
| constructor() : this(Clock.System) |
There was a problem hiding this comment.
Not sure if it's worth maintaining this secondary constructor forever to avoid propagating @ExperimentalTime to FakeFileSystem(). Let me know what you think
There was a problem hiding this comment.
Seems like a good idea. We can do @JvmOverloads once this type goes stable.
swankjesse
left a comment
There was a problem hiding this comment.
Thanks for all the attention to compatibility!
|
Is there any chance that this will be included in an upcoming release? Thanks! |
|
It will be released today or tomorrow, yes. |
|
When this build completes, the release is out. https://github.com/square/okio/actions/runs/15945624170 |
kotlinx-datetime:0.7.0completely removeskotlinx.datetime.Clockandkotlinx.datetime.Instantin favour of thekotlin.timeversions (more info). This creates a couple issues:kotlinx.datetime.InstantinFakeFileSystem's public API. We probably have to take a binary incompatible change here and update to the new class.kotlin.timeclasses are marked with@ExperimentalTimewhich will propagate to ourFakeFileSystem's constructor unless we add a secondary constructor:constructor() : this(Clock.System)that hides the experimental arg.0.7.0-0.6.x-compat(a compat version that retains the removed classes) if they want to update to0.7.0and useFakeFileSystem.