Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: square/okio
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: parent-3.14.0
Choose a base ref
...
head repository: square/okio
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: parent-3.15.0
Choose a head ref
  • 4 commits
  • 11 files changed
  • 2 contributors

Commits on Jun 28, 2025

  1. Configuration menu
    Copy the full SHA
    6a37697 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2025

  1. Don't crash when running on Kotlin before 2.1.20+ (#1647)

    * Don't crash when running on Kotlin before 2.1.20+
    
    This crash impacts people using FakeFileSystem in code
    that runs in a Gradle plugin.
    
    * Fixup FakeFileSystemTest
    
    * Actually catch Throwable, for NoSuchMethodError
    
    * Spotless
    
    ---------
    
    Co-authored-by: Jesse Wilson <jwilson@squareup.com>
    swankjesse and squarejesse authored Jul 1, 2025
    Configuration menu
    Copy the full SHA
    50bb8d4 View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2025

  1. Don't use Clock.System on an JVM release (#1648)

    * Don't use Clock.System on an JVM release
    
    Okio was broken when running on Kotlin before 2.1.20.
    The failure mode was too severe - a crash at runtime!
    And this is for code that worked just fine on Kotlin 2.0.x.
    
        java.lang.NoSuchMethodError: 'kotlin.time.Clock kotlin.internal.PlatformImplementations.getSystemClock()'
    	at kotlin.time.InstantJvmKt.<clinit>(InstantJvm.kt:12)
    	at kotlin.time.Clock$System.now(Clock.kt:60)
    	at kotlinx.datetime.Clock$System.now(DeprecatedClock.kt:89)
    	at okio.fakefilesystem.-Time.defaultClockNowMillis_delegate$lambda$2(FileMetadataCommon.kt:70)
    	at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
    	at okio.fakefilesystem.-Time.getDefaultClockNowMillis(FileMetadataCommon.kt:65)
    	at okio.fakefilesystem.FakeFileSystem.<init>(FakeFileSystem.kt:72)
    
    The failure would occur anywhere we were running Okio's
    FakeFileSystem inside a Gradle plugin.
    
    With this change FakeFileSystem works inside a Gradle plugin,
    even if the runtime Kotlin version doesn't have
    kotlin.time.Clock.
    
    * Avoid kotlinx.datetime.Clock.System.now()
    
    * Spotless
    
    ---------
    
    Co-authored-by: Jesse Wilson <jwilson@squareup.com>
    swankjesse and squarejesse authored Jul 2, 2025
    Configuration menu
    Copy the full SHA
    a416091 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2af3bb8 View commit details
    Browse the repository at this point in the history
Loading