Skip to content

Releases: cormacrelf/CiteprocRsKit

v0.4.0

03 Sep 14:54
5887cec
Compare
Choose a tag to compare

SwiftPM + JSON

This release changes the distribution from entirely xcframework-driven, to mostly SwiftPM.

Merged PRs:

  • #6 SwiftPM support. Now you should depend directly on this repo from your Package.swift or via Xcode. See the README for how.
  • #7 Supports constructing a CslReference programatically, and also passing pre-encoded JSON references directly to citeproc-rs.

Issues fixed

  • #4 is no longer problem because SwiftPM downloads + compiles the Swift code from scratch when you add the package.

v0.3.0

19 Aug 12:37
Compare
Choose a tag to compare

Checksum: 997a2bf52e1da1fc93936791d93e7de4768413b709bbb95031b583935632eefc

v0.2.1

19 Aug 12:32
Compare
Choose a tag to compare

Checksum: f04fd6e97967860dcfdfeda2f6a7f94b03a7ce477917610626f6a332e0a9caa4

Fixed #3. Added a CRCiteHandle API that 0.3.0 will replace with something else entirely. Not very exciting.

v0.2.0

10 Aug 13:00
Compare
Choose a tag to compare

Checksum: d0df70204a01cf7c1c205aa8b3ebe62ce2e4556cb348d67279b0470652f33320

Add to SPM/XCode via https://github.com/cormacrelf/CiteprocRsKit-Binary

Many changes from v0.1.0-alpha in this release.

  • Much more of the citeproc API is now covered by the FFI layer. You can now manipulate clusters and cites and render a full bibliography. (No batched updates/diffs yet.)
  • Complete rewrite of Swift bindings.
  • All Swift APIs prefixed with CR, shorter than CiteprocRs
  • API entry point is now called CRDriver(style:localeCallback:outputFormat:)
  • All APIs can throw, and all errors thrown are CRError with the sole exception of Swift-side JSON serialization errors.
  • CRError represents an error from Rust with a human-readable error message
  • All panics are caught and exposed to Swift as CRError with err.code == .caughtPanic. Any panic "poisons" the driver, preventing its reuse (as reuse would most likely be unsafe).
  • CRDriver.previewReference(reference:) now gives you a bibliography entry, unlike previewCitationCluster.
  • You can provide a sink for rust-side logging. There is a built-in implementation for the Unified Logging system on iOS. See CRLogger and CRLog. The filter string is passed to https://lib.rs/env_logger as if it were the RUST_LOG environment variable. This is static configuration, and the more modules you allow, the more performance impact logging will have. Setting minSeverity: CRLevelFilter.warn, filter: "" is a good basic default, it will print the warnings and errors from anywhere. For problems with output, try filter: "citeproc_proc::db=debug" to dip the minimum severity for that module only.
  • Patterns implemented for less copying, and fewer allocations when copying, data between Swift and FFI layer

v0.1.0-alpha.1

08 Apr 11:50
Compare
Choose a tag to compare

Checksum: d0df70204a01cf7c1c205aa8b3ebe62ce2e4556cb348d67279b0470652f33320

Test Release

29 Mar 13:27
Compare
Choose a tag to compare
Test Release Pre-release
Pre-release

Test Release ignore