Skip to content

Releases: cashapp/zipline

0.9.17

16 Mar 02:25
Compare
Choose a tag to compare

We've changed this project to focus exclusively on executing Kotlin/JS libraries.

We plan to drop support for executing arbitrary JavaScript code. If you've been using either
QuickJS Java (this project's name until September 2021) or Duktape Android (this project's name
until June 2021), those projects remain as git branches but will not receive further updates.

The project's new Maven coordinates are app.cash.zipline:zipline.

  • Upgrade: [Kotlin 1.8.10][kotlin_1_8_10].
  • Upgrade: [Kotlin Serialization 1.5.0][kotlin_serialization_1_5_0].
  • Fix: Support function overloads in ZiplineService interfaces.
  • Fix: Workaround a crash in Kotlin/JS incremental compilation. We were using a constant string in
    a js(...) literal.

0.9.16

09 Feb 21:44
Compare
Choose a tag to compare

We've changed this project to focus exclusively on executing Kotlin/JS libraries.

We plan to drop support for executing arbitrary JavaScript code. If you've been using either
QuickJS Java (this project's name until September 2021) or Duktape Android (this project's name
until June 2021), those projects remain as git branches but will not receive further updates.

The project's new Maven coordinates are app.cash.zipline:zipline.

  • New withDevelopmentServerPush() subscribes to the local development server's websocket to
    trigger hot reloads. This is lower-latency and more efficient than polling.
  • Upgrade: [Kotlin 1.8.0][kotlin_1_8_0].

0.9.15

25 Jan 22:52
Compare
Choose a tag to compare

We've changed this project to focus exclusively on executing Kotlin/JS libraries.

We plan to drop support for executing arbitrary JavaScript code. If you've been using either
QuickJS Java (this project's name until September 2021) or Duktape Android (this project's name
until June 2021), those projects remain as git branches but will not receive further updates.

The project's new Maven coordinates are app.cash.zipline:zipline.

  • Fix: Don't crash if canceled with a 0-delay job enqueued. We had a bug where calling
    Zipline.close() could race with an enqueued job.
  • Fix: Don't crash in the JS CoroutineEventLoop. This replaces an IllegalStateException with a
    CancellationException when making a suspending call after the Zipline is closed.
  • Fix: Do not set -Xir-per-module. This is no longer necessary, and may have prevented
    whole-program module generation.
  • New: Support Webpack builds. In addition to modular builds that emit many .zipline files per
    program, webpack builds emit a single minified .zipline file. (In both cases a single manifest
    file is used.)
  • New: We've added event listener events for the loader's initializer and main function.

0.9.14

16 Jan 22:01
Compare
Choose a tag to compare

We've changed this project to focus exclusively on executing Kotlin/JS libraries.

We plan to drop support for executing arbitrary JavaScript code. If you've been using either
QuickJS Java (this project's name until September 2021) or Duktape Android (this project's name
until June 2021), those projects remain as git branches but will not receive further updates.

The project's new Maven coordinates are app.cash.zipline:zipline.

  • Fix: Don’t force suspend functions to suspend. We've changed our calling convention so
    suspendable functions are executed inline and on the same call stack until they suspend. If such
    functions return without suspending, the async dispatch is skipped.
  • Fix: Provide more information when calling a closed service.
  • Fix: Clean up file names in stack traces.
  • New: Add a ZiplineManifest to LoadResult.Success.

0.9.13

22 Dec 16:24
Compare
Choose a tag to compare

We've changed this project to focus exclusively on executing Kotlin/JS libraries.

We plan to drop support for executing arbitrary JavaScript code. If you've been using either
QuickJS Java (this project's name until September 2021) or Duktape Android (this project's name
until June 2021), those projects remain as git branches but will not receive further updates.

The project's new Maven coordinates are app.cash.zipline:zipline.

  • New: ZiplineScope is a new mechanism to close pass-by-reference services and flows. Pass a
    ZiplineScope to Zipline.take() or implement ZiplineScoped in a ZiplineService to declare
    a scope, then call ZiplineScope.close() to close all received services. Note that Flows
    that were passed-by-reference previously needed to be collected exactly once; with this change
    Flows may be collected any number of times.
  • New: Configure the development HTTP server's local port in Gradle:
    zipline {
      ...
      httpServerPort.set(22364)
    }
  • New: Include the service name in ZiplineApiMismatchException.
  • Fix: Prevent .zipline files from being stored in the HTTP cache. We've added
    'Cache-Control: no-store' request headers to downloads to prevent caching that's redundant
    with ZiplineLoader's cache.
  • Fix: Make ZiplineService.close() idempotent for outbound services.

0.9.12

06 Dec 17:43
Compare
Choose a tag to compare

We've changed this project to focus exclusively on executing Kotlin/JS libraries.

We plan to drop support for executing arbitrary JavaScript code. If you've been using either
QuickJS Java (this project's name until September 2021) or Duktape Android (this project's name
until June 2021), those projects remain as git branches but will not receive further updates.

The project's new Maven coordinates are app.cash.zipline:zipline.

  • New: Add ZiplineFunction.isSuspending.
  • New: Add events for ziplineCreate(), moduleLoadStart(), and moduleLoadEnd().

0.9.11

05 Dec 21:06
Compare
Choose a tag to compare

We've changed this project to focus exclusively on executing Kotlin/JS libraries.

We plan to drop support for executing arbitrary JavaScript code. If you've been using either
QuickJS Java (this project's name until September 2021) or Duktape Android (this project's name
until June 2021), those projects remain as git branches but will not receive further updates.

The project's new Maven coordinates are app.cash.zipline:zipline.

  • New: Publish an event when Zipline is closed.
  • Fix: Avoid a linear search through endpoint names.

0.9.10

30 Nov 16:30
Compare
Choose a tag to compare

We've changed this project to focus exclusively on executing Kotlin/JS libraries.

We plan to drop support for executing arbitrary JavaScript code. If you've been using either
QuickJS Java (this project's name until September 2021) or Duktape Android (this project's name
until June 2021), those projects remain as git branches but will not receive further updates.

The project's new Maven coordinates are app.cash.zipline:zipline.

  • New: Add support for var and val declarations in service interfaces.
  • Fix: Update Gradle task to serve zipline files for compatibility with Gradle 7.6.

0.9.9

17 Nov 02:10
Compare
Choose a tag to compare

We've changed this project to focus exclusively on executing Kotlin/JS libraries.

We plan to drop support for executing arbitrary JavaScript code. If you've been using either
QuickJS Java (this project's name until September 2021) or Duktape Android (this project's name
until June 2021), those projects remain as git branches but will not receive further updates.

The project's new Maven coordinates are app.cash.zipline:zipline.

  • Changed: Roll back Kotlin 1.7.20 to ensure downstream users can still use Compose easily. The plugin remains compatible with 1.7.21.

0.9.8

16 Nov 22:35
Compare
Choose a tag to compare

We've changed this project to focus exclusively on executing Kotlin/JS libraries.

We plan to drop support for executing arbitrary JavaScript code. If you've been using either
QuickJS Java (this project's name until September 2021) or Duktape Android (this project's name
until June 2021), those projects remain as git branches but will not receive further updates.

The project's new Maven coordinates are app.cash.zipline:zipline.

  • New: Support Kotlin 1.7.21.