Skip to content

Releases: zotero/citeproc-rs

@citeproc-rs/wasm v0.2.0

14 Dec 16:10
Compare
Choose a tag to compare

wasm-v0.2.0 (2021-12-14)

Steps to upgrade:

  1. Replace Driver.new with new Driver
  2. Delete all .unwrap() after JS API calls
  3. Adopt the new previewCluster API (deprecates previewCitationCluster), whose first argument is now an id-less cluster and can handle cluster modes (AuthorOnly etc).

New APIs (i.e. setOutputFormat) are documented in the README, at https://www.npmjs.com/package/@citeproc-rs/wasm/v/0.2.0

Full Changelog

Breaking changes:

  • Add a way to specify the ClusterMode of a previewed cluster #119
  • Remove .unwrap() from JS API; Driver.new => new Driver #142 [A-ci]

Implemented enhancements:

  • Set output format after driver initialization #122
  • previewCitationCluster => previewCluster #141
  • setOutputFormat API #140
  • Improved Typescript definitions
  • Some trailing arguments now optional instead of requiring you pass null (format in previewCluster, for example)

Fixed bugs:

Closed issues:

  • CI errors downloading test results from S3 when PRs are submitted from people who aren't me #134
  • "<" is ignored in prefix #129 [A-core]
  • In some scenarios prefix needs to be ignored when wrapping DOI #127 [A-core]
  • Invalid HTML produced when item URL contains a quotation symbol ". #123
  • BibliographyMeta wrongly cased/documented #77

Merged pull requests:

  • reimplement name parsing #139 [A-core]
  • Solve year-suffix / no-date interaction #137 [A-core]
  • Fix "line-spacing" attribute on <bibliography> in CSL is ignored #133 [A-core]
  • Fix doi urls in prefix duplication, and pmids/pmcids #132 [A-core]
  • Fix erroneous parsing of HTML in prefix="..."/suffix #130
  • Test case for #127 #128
  • Test ESR wasm support #125
  • Escape urls, implement auto-prefixing and configurable link anchors #124 [A-core]

wasm-v0.1.0

21 Oct 07:31
Compare
Choose a tag to compare

While this is in fact the first non-canary release, installable via npm i @citeproc-rs/wasm, it includes a list of changes since the first canary release for posterity.

Full Changelog

Breaking changes:

  • author-only, suppress-author, composite #117 [A-core]
  • Breaking JS changes: Driver.new(InitOptions); WasmResult wrapper/.unwrap(); parseStyleMetadata #94
  • Bring the CSL test suite to 100% #82 [A-core]
  • Remove unclear setReferences, replace with insertReferences + resetReferences #69

Implemented enhancements:

  • suppress-author and friends #114 [A-core]
  • Publish prerelease builds of the wasm driver #7
  • CSL-JSON hardening #109 [A-core]
  • Integration testing on Zotero's Firefox ESR #108 [A-ci]
  • Return an error on unrecognised output format (JS) #107
  • Use strings as cluster ids #80
  • Queue-draining fullRender() API; better diffing & bibliography docs #76
  • Throw proper JS errors #75
  • Write a new wasm README #70 [A-docs]
  • Preview citation cluster #68
  • Uncited Items API #67 [A-core]

Fixed bugs:

  • npmjs.com repo is not updating #110 [I-bug] [A-ci]
  • CiteprocRsDriverError: JSON Deserialization Error: unknown field year, expected one of date-parts, season, circa, literal, raw #99 [A-core] [I-spec]
  • Fatal failure with unexpected page field data #93 [I-bug] [A-core]
  • Error: unknown field shortTitle, expected any CSL variable #92 [A-core] [I-schema]
  • Plaintext output of citations does not handle unicode characters properly #91 [I-bug] [A-core]
  • CompileErrror when initializing the wasm driver #84 [I-bug]
  • Wasm driver throws string errors #25 [I-packaging]
  • Fix npm publishing breakage due to wasm-opt segfault #111 [A-ci] [I-packaging]
  • Don't exclude the no-modules target from NPM builds #81 [I-packaging]
  • Configure wasm-opt to avoid 'exported global cannot be mutable' #66 [I-packaging]

Merged pull requests:

  • Fix & test overflowing integer parsing #95 [A-core]
  • Downgrade to wasm-bindgen 0.2.62 #86
  • Use Rust 1.43 and fix wasm mutable globals #85 [A-ci]
  • Build the no-modules target for wasm #73
  • Run Rust library test suite as well as integration tests #71 [A-core] [A-ci]