From Frank's announcement:
Quash duplicate terminal punctuation at the end of citations.
This can happen where an abbreviated term such as id. or
ibid. is rendered at the end of a citation in a note style,
in which the note is terminated with a period.
Eliminate implicit for loops in array constructs, which is
sadly not available in Chromium JS engine.
closes#744, Select multiple items/entire collection in edit bibliography dialog
- adds "Cancel", "Revert", and "Revert All" buttons to edit bibliography dialog
- permits multiple item selections in edit bibliography dialog
- removing items in the edit bibliography dialog now leaves the citations intact, but removes them from the document
fix Accept button issue by using getAttribute() rather than id property, but also scroll to newly inserted citation, since it's probably the desirable behavior
From Frank's announcement:
Simplify save/restore operations for previewing.
Tie in tainting code for disambig values registered via disambig_cites.js.
Possibly over-aggressive about rerendering now, but it works.
In quick initial testing, at least, this release appears to be eerily stable in Zotero.
From Frank's 1.0.31 announcement:
Extensions to the test fixtures for previewCitationCluster(),
which revealed shortcomings in the name state restoration
code.
Properly restore name state in previewCitationCluster().
Roll back previewCitationClusterStatic() command that
was introduced in the last (unannounced) 1.0.30 release.
Discussion and more careful thought showed that it is not
safe and not generally a good idea to make blind assumptions
about document state.
From Frank's 1.0.33 announcement:
In preview mode, avoid tampering with the registry data,
of items in the citation to be previewed that already
exist in the registry. Fixes errors in subsequent
rendering of year suffixes.
Suppress redundant return value for current cite, when it is
tainted by an update by processCitationCluster().
From Frank's 1.0.34 announcement:
Include year suffix in clone of disambiguation
configuration. Failure to include this parameter
appears to have been behind some intermittent
glitches in preview handling of year suffixed
citations.
Avoid processor crash when unregistered citation
objects are encountered in preview mode. The crash
points occur during tainting, which is irrelevant
in preview mode, so no harm is done; but I'm not
really sure why this would ever happen. Possibly
specific to the Zotero version used for testing.
Add a couple of paranoia operations to processCitationCluster():
Issue a bogus warning citation in the event of a processor
crash. This should come out for production.
Slice citationsPre and citationsPost when they enter
the processor. I've been exploring some instability
with large numbers of same-author/same-year cites in
Zotero, and thought that mallability of list input
might be part of the problem. No idea whether these
lists can or do change length or content during processing,
but just in case.
- upgrade to citeproc-js 1.0.29
From Frank's 1.0.25 announcement:
Provide new command, previewCitationCluster(), that returns
string for hypothetical citation at specified position,
without affecting processor state.
Fix bug that would have cause appendCitationCluster() to
run updateItems() unnecessarily.
Provide for forced generation of citationID, for internal use
in previewing.
From Frank's 1.0.26 announcement:
Implement new command restoreProcessorState(), for use in,
er, restoring the processor state, when position variables
and citation sort keys are already known.
From Frank's 1.0.27 announcement:
This fixes a couple of obvious problems in the code of the new
restoreProcessorState() command.
From Frank's 1.0.28 announcement:
This version introduces a significant change to the return
value of processCitationCluster(). It is now an array with
two elements, the first being a JS object that serves as a
data segment, and the second the list of two-element arrays
representing insertion indexes and strings for insertion
(as previously documented). An API change of this scale
probably calls for some more visible sign in the version
numbering, but the original statement on versioning says
that the major and minor numbers will align with the CSL
schema, so we stay at level 1.0.
The data segment referred to above contains just one element
currently, "bibchange", which is true if processing the
citation results in any change affecting the bibliography.
This release also introduces one change and one addition to
style configuration flags. The flag at citation.opt["citation-number-sort"]
has been moved to opt.citation_number_sort, for clarity and
consistency. A new flag, opt.sort_citations, is true if
citations are sorted by the style in any way.
From Frank's 1.0.29 announcement:
Complete reimplementation of cite-level disambiguation.
The new code is more compact and maintainable, and
avoids thrashing behavior that afflicted the previous
code when a large number of cites required both
add-names and year-suffix disambiguation.
Suppress year suffix when fresh ambig keys are generated.
Inserts by a plugin affecting year suffixes should now be
correctly handled.
From Frank's 1.0.23 announcement:
Cope with two disambiguation cases, involving add-names and
add-givenname, that succeeded in crashing the processor.
From Frank's 1.0.24 announcement:
Cope with item IDs of numeric type, and roll back
one patch from 1.0.23 that becomes unnecessary as
a result.
Together, these updates fix several issues with citation previewing.
- update to citeproc-js 1.0.22
From Frank's announcement:
- Bypass sorting of citations that have a value for "unsorted"
in citation.properties.
This permits per-citation override of style-driven citation sorts, as
supported by Zotero and required for some common use cases.