Releases: cashapp/zipline
0.9.8
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.
0.9.7
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
.
- Breaking: Change
EventListener
to pass theZipline
instance when it is available. - Breaking: Introduce
EventListener.applicationLoadSkipped()
when a downloaded manifest hasn't
changed. - New: The development server (
serveDevelopmentZipline
) now notifies code changes via web socket.
Connect to/ws
to receive"reload"
messages.
0.9.6
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 fail with
unexpected call
errors because code was not being rewritten by our Kotlin
compiler plugin.
0.9.5
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
@Contextual
as a type annotation onZiplineService
parameters and return types.
This will attempt to find a contextual serializer for the annotated type. - Breaking: Rename
LoadedZipline
toLoadResult
. This allowsZiplineLoader.load()
to return
a flow that includes both successes and failures. - Breaking: Remove
eval()
support from QuickJs. As a security measure Zipline doesn't support
evaluating JavaScript at runtime.
0.9.4
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: Build in a basic HTTP client for Apple platforms.
- Breaking change: Wrap exceptions thrown in bridged calls with
ZiplineException
. Previously
these were wrapped inException
which was difficult to catch generically.
0.9.3
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
.
- Breaking change: Move
SerializersModule
from a property ofZiplineLoader
to a parameter in
load()
andloadOnce()
. This enables using a single loader for different applications that
have different serializers. - Breaking change: Make
ZiplineCache
a top-level type. It has its own lifecycle and is best
managed directly. - Breaking change: Pass a
startValue
parameter consistently to event listener callbacks. - New: Extension
OkHttpClient.asZiplineHttpClient()
makes it easier to use general-purpose
Zipline APIs from multiplatform code.
0.9.2
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
.
- Breaking change:
ZiplineLoader.load(...)
is no longer suspending. - Breaking change: Don't require implementors of
ZiplineHttpClient
to implement URL resolution. - Breaking change: Include a default clock implementation on iOS.
- Breaking change: Require callers to explicitly opt out of signature checks. Pass
ManifestVerifier.Companion.NO_SIGNATURE_CHECKS
to useZiplineLoader
without code signature
verification. - New: Support ECDSA P-256 for signatures.
0.9.1
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: Gradle extension
zipline {}
block. - New: Compile files in parallel.
- New: Replace webpack with a dedicated static file server. Use
serveDevelopmentZipline
or
serveProductionZipline
to serve an application locally. - Fix: Always run Kotlin/JS in strict mode.
- Upgrade: [Kotlin Serialization 1.4.0][kotlin_serialization_1_4_0].