Skip to content

Releases: cashapp/zipline

1.10.0

01 May 23:15
Compare
Choose a tag to compare
  • Fix: Clean source paths that show up in stack traces.
  • Fix: Don't leak Zipline instances. We had a bug where our memory-leak detection itself introduced
    a memory leak. We held a reference to a Zipline instance that was intended to be used to report
    services that were garbage collected but not closed.

1.9.0

11 Apr 20:12
Compare
Choose a tag to compare
  • Breaking: Reorder the parameters in ZiplineLoader so FileSystem always precedes Path.
  • Fix: Release unused services in Zipline.close(). This was a memory leak.
  • Fix: Don't break Gradle's configuration cache in the ziplineApiDump task.
  • New: ZiplineCryptography adds a SecureRandom API for guest code.
  • New: Zipline.getOrPutAttachment() lets you attach application data to a Zipline instance.
  • New: Support building Zipline with the new Kotlin K2 compiler.
  • Upgrade: [Kotlin 1.9.23][kotlin_1_9_23]
  • Upgrade: [kotlinx.coroutines 1.8.0][kotlinx_coroutines_1_8_0]
  • Upgrade: [Okio 3.9.0][okio_3_9_0]
  • Upgrade: [SQLDelight 2.0.2][sqldelight_2_0_2]

1.7.0

30 Nov 21:29
Compare
Choose a tag to compare
  • New: Gradle APIs to optimize production builds for either small artifact size or developer
    experience. Call the appropriate functions in the zipline {} block of your build file:
    zipline {
      ...
      optimizeForSmallArtifactSize()
    }
  • Fix: Don't crash when very large Long values are sent over a bridged API. Zipline uses JSON to
    encode values shared between host and guest, and that converts all primitive numeric types to
    Double. It is necessary to add @Contextual to all serialized Long values to get this fix.

1.6.0

21 Nov 01:32
Compare
Choose a tag to compare
  • Upgrade: [SQLDelight 2.0.0][sqldelight_2_0_0]

1.5.1

14 Nov 22:15
Compare
Choose a tag to compare
  • Fix: remove the Zipline version from the klib metadata in the zipline-cinterop-quickjs
    artifact. This restores the behavior from 1.4.0 to work around [KT-62515].

1.5.0

02 Nov 16:53
Compare
Choose a tag to compare
  • New: Zipline.eventListener can be used to get the EventListener from a Zipline instance.
  • Upgrade: Kotlin 1.9.20

1.4.0

01 Nov 04:56
Compare
Choose a tag to compare
  • New: EventListener.Factory can be used to scope events to a particular Zipline instance.

  • New: Support arbitrary metadata in the ZiplineManifest. This new Map<String, String> can be
    produced in your build.gradle.kts file, and consumed from the ZiplineManifest instance.

    zipline {
      ...
      metadata.put("build_timestamp", "2023-10-25T12:00:00T")
    }
  • Upgrade: OkHttp 4.12.0

  • Upgrade: Okio 3.6.0

1.3.0

20 Sep 20:46
Compare
Choose a tag to compare
  • Fix: Configure a 6 MiB stack size by default. Previously Zipline didn't enforce any stack
    size limit, which resulted in difficult-to-diagnose crashes when the stack size was exceeded.
    Callers must manually ensure their calling stack sizes are larger than 6 MiB!
  • Fix: Always include type parameters for nested parameterized types.
  • Fix: Don't double-free when calling NSData.dataWithBytesNoCopy. We had a bug where we were
    double-freeing memory in the Kotlin/Native EcdsaP256 signature verifier.
  • Upgrade: [Kotlin Serialization 1.6.0][kotlin_serialization_1_6_0].

1.2.0

09 Aug 19:20
Compare
Choose a tag to compare

1.1.0

30 Jun 20:38
Compare
Choose a tag to compare
  • New: Gradle tasks ziplineApiCheck and ziplineApiDump. These tasks work like Kotlin’s
    Binary compatibility validator:
    the Dump task writes your public API to a file (api/zipline-api.toml) and the the Check
    task confirms that your public API matches that file. These two tasks expose the IDs Zipline uses
    for functions. The :ziplineApiCheck task configures itself a dependency of Gradle's :check
    task: you'll need to run :ziplineApiDump when applying this update and each time your public
    API changes going forward.
  • Upgrade: [Kotlin 1.8.21][kotlin_1_8_21].
  • Upgrade: [kotlinx.coroutines 1.7.2][kotlinx_coroutines_1_7_2].
  • Upgrade: [Kotlin Serialization 1.5.1][kotlin_serialization_1_5_1].