Run Kotlin/JS libraries in Kotlin/JVM and Kotlin/Native programs
APACHE-2.0 License
Bot releases are visible (Hide)
CancellationException
, such as when canceling a flowZiplineFunction.asDynamicFunction()
short-circuits Kotlin Serialization in Kotlin/JS. ThisPublished by github-actions[bot] 5 months ago
apiTracking
property on the zipline { }
Gradle extension allows disabling API generation.Zipline.close()
will now call ZiplineService.close()
on all bound services. StrongPublished by github-actions[bot] 6 months ago
Published by github-actions[bot] 6 months ago
ZiplineLoader
so FileSystem
always precedes Path
.Zipline.close()
. This was a memory leak.ziplineApiDump
task.ZiplineCryptography
adds a SecureRandom
API for guest code.Zipline.getOrPutAttachment()
lets you attach application data to a Zipline instance.Published by github-actions[bot] 11 months ago
zipline {}
block of your build file:
zipline {
...
optimizeForSmallArtifactSize()
}
Long
values are sent over a bridged API. Zipline uses JSON toDouble
. It is necessary to add @Contextual
to all serialized Long
values to get this fix.Published by github-actions[bot] 11 months ago
Published by github-actions[bot] 11 months ago
klib
metadata in the zipline-cinterop-quickjs
Published by github-actions[bot] 12 months ago
Zipline.eventListener
can be used to get the EventListener
from a Zipline
instance.Published by github-actions[bot] 12 months ago
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
Published by github-actions[bot] about 1 year ago
NSData.dataWithBytesNoCopy
. We had a bug where we wereEcdsaP256
signature verifier.Published by github-actions[bot] about 1 year ago
Published by github-actions[bot] over 1 year ago
ziplineApiCheck
and ziplineApiDump
. These tasks work like Kotlin’sapi/zipline-api.toml
) and the the Check:ziplineApiCheck
task configures itself a dependency of Gradle's :check
:ziplineApiDump
when applying this update and each time your publicPublished by github-actions[bot] over 1 year ago
This is Zipline's initial stable release.
With this release we commit to compatibility between host and guest programs. In particular, host
applications built with any Zipline 1.x release will be able to execute guest applications built
with any other 1.y release. (Application developers must write compatible interfaces to take
advantage of this!)
The following are now stable:
manifest.zipline.json
)my-library.zipline
)As we add features and performance improvements to future releases, we will test compatibility
with 1.0.
We expect to someday do ‘Zipline 2.0’ that uses WebAssembly. When that happens we’ll make sure the
2.x tools can also produce programs that run on 1.x hosts.
ClassCastException
at runtime.Published by github-actions[bot] over 1 year ago
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
.
Published by github-actions[bot] over 1 year ago
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
.
ZiplineFunction.name
to signature
and added a newid
property.console
, event_loop
, event_listener
.)ZiplineManifest
from app.cash.zipline.loader
to app.cash.zipline
. It waszipline
artifact.ZiplineService.targetType
can be used to inspect the function declarations on the peer'sEventListener.manifestVerified()
signals successful signature checks of the manifest.zipline-profiler
into a multiplatform artifact.Published by github-actions[bot] over 1 year ago
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
.
ZiplineService
interfaces.js(...)
literal.Published by github-actions[bot] over 1 year ago
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
.
withDevelopmentServerPush()
subscribes to the local development server's websocket toPublished by github-actions[bot] over 1 year ago
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
.
Zipline.close()
could race with an enqueued job.IllegalStateException
with aCancellationException
when making a suspending call after the Zipline is closed.-Xir-per-module
. This is no longer necessary, and may have prevented.zipline
files per.zipline
file. (In both cases a single manifestPublished by github-actions[bot] almost 2 years ago
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
.
suspend
functions to suspend. We've changed our calling convention soZiplineManifest
to LoadResult.Success
.Published by github-actions[bot] almost 2 years ago
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
.
ZiplineScope
is a new mechanism to close pass-by-reference services and flows. Pass aZiplineScope
to Zipline.take()
or implement ZiplineScoped
in a ZiplineService
to declareZiplineScope.close()
to close all received services. Note that Flowszipline {
...
httpServerPort.set(22364)
}
ZiplineApiMismatchException
..zipline
files from being stored in the HTTP cache. We've addedZiplineService.close()
idempotent for outbound services.