From Frank's release notes:
Avoid an error when attempting to sort citations that have not yet
appeared in the registry. This error could be triggered, following a
change made in release 1.0.108, by incremental cite insertion
operations via appendCitationCluster() or processCitationCluster().
From Frank's release notes:
With collapse="year", do not block the collapsing of subsequent
authors due to differences that are masked by et al. truncation of the
name list.
- update to citeproc-js 1.0.109
From Frank's release notes:
Use numeric rather than named entities when producing HTML, to avoid
error if the output is processed as XML in an environment in which
named entities have not been declared.
Fix a flaw in disambiguation logic that could result in a processor
hang, when a creator list with fewer names than its predecessor
required additional names to accomplish disambiguation.
Include the year-suffix as a sortable number string in dates used as
sort keys. Citations that include a year-suffix will now sort
correctly within the citation.
Restore XML to defaults before creating E4X objects.
Repair the processor demo page, which broke after revision 1.0.95.
Restore global XML properties when Zotero.Cite.makeFormattedBibliography() is complete. At some point, we should probably modify our existing uses of E4X not to rely on these properties being set to their defaults.
From 1.0.100:
Allow institutional names to collapse correctly when cite collapsing
options are in effect.
Add an option to identify Vietnamese names and format them correctly
(i.e. always family name first). There is a small possibility of false
positives, so the option is off by default. See the processor manual
for details: http://gsl-nagoya-u.net/http/pub/citeproc-doc.html
From 1.0.101:
Add sortkeys array to skeleton items received during
restoreProcessorState() if it is undefined. Avoids a processor crash
on the first Zotero 2.1 connection to a Zotero 2.0.9 document.
From 1.0.102:
When rendering non-ranged cites collapsed with collapse="year-
suffix", and the year suffix is implicit (not being rendered through a
cs:text node with variable="year-suffix"), add the necessary splice
delimiter details to the number object.
Protect against undefined name.multi.main when checking headline names
for a name tag.
From 1.0.103:
Add a reference to item data in registry objects.
Provide a registry method getSortedRegistryObjects() to return current
bibliography data.
Document new registry method in processor manual.
From 1.0.104:
Make restoreProcessorState() notice that the sequence of citations has
changed, and assign fresh citation IDs to duplicate citations in the
input.
From 1.0.105:
Assure that all ids passed into an array or as a straight variable are
stringified. Loosen condition statements where appropriate to treat
numeric IDs of string and numeric type as equivalent.
This fixes some issues with streams being closed due to overzealous garbage collection in Firefox 3.6. I'm not sure if this is the same as #1773 or not, but it certainly produces export errors.
From 1.0.94:
The input format for multilingual data changes in this version. The
change affects only multilingual data; ordinary input is not affected.
The previous multilingual input format, intended only for testing,
relied on string parsing to identify multilingual data embedded in a
given field. While this strategy worked for initial testing (its sole
intended purpose), it is cumbersome and potentially fragile.
The multilingual input data format recognized beginning with this
version of citeproc-js separates multilingual content properly into
separate elements, resulting in simpler design and more robust
operation.
The change to the multilingual input format is not backward
compatible; in the unlikely event that any existing projects have
relied upon the old format, adjustments will be required to run this
version of the processor.
From 1.0.95:
Render multilingual names atomically, and do not modify the content of
names objects during processing. This permits implementation of
alternative name forms, needed to accomodate a new style rule in
scientific publishing, that permits author names to be given in the
original script alongside the romanized form.
Implement the rendering of original name forms, where an alternative
form of the name is used for the primary rendering.
From 1.0.96:
Fixes a global variable assignment. Important for stability.
From 1.0.97:
Replace the methods setLangTagsForCslNameTransliteration() and
setLangTagsForCslTitleTransliteration() with a single method
setLangTagsForCslTransliteration().
Change the multilingual parameters available through the default-
locale attribute of style files (parameters used primarily for
testing, not production) to reflect the API change described above.
Add method setOriginalCreatorNameFormatOption() to the control API.
This allows the name ordering and initialization conventions of
transliterated names either to track those of the original language,
or to follow the conventions of the target script.
Document new setOriginalCreatorNameFormatOption() method and the
previously added method setOriginalCreatorNameFormsOption() in the
processor manual, and update the description of testing parameters
available via the default-locale attribute.
From 1.0.98:
Properly honor et-al-subsequent-min when it is smaller than et-al-min
(which it ordinarily is).
From 1.0.99:
Fix loop constraint variable misassignment that was a likely cause
behind the word processor plugin stability issue reported in the
following discussion thread:
http://forums.zotero.org/discussion/15777/error-updating-openofficeorg-document-in-21b/
- tweak twisty appearance on OS X (highlight-on-click is gone, but this seems preferable to the previous behavior)
- simplify chrome.manifest for standalone
- Don't attempt to backup database on shutdown, since it doesn't seem to work anymore and can delay shutdown
- Change idle backup check timer to 60 seconds from 10 seconds
- Make the add-on bar visible if the Zotero icon isn't set to hidden, which is an annoying way of dealing with https://bugzilla.mozilla.org/show_bug.cgi?id=616419 not yet landing -- people who use an upper toolbar button and don't want the add-on bar to show will need to set the Zotero icon to hidden
Addresses #1726, Firefox 4 Compatibility
- Reenable WebDAV orphaned file purging (currently once every ten days)
Also:
- Create pref of appropriate type automatically in Zotero.Prefs.set() if one doesn't exist
- update to citeproc-js 1.0.93
From 1.0.93:
Cast human-readable dates parser as a separate JS module, and provide
documentation in the processor manual.
Small change to multiple value handling in cs:number.
From 1.0.92:
Fix wrong ordinal suffix assignment for values 11 - 13 (for English,
at least).
From 1.0.91:
Set circa rather than fuzzy on uncertain dates in the internal human-
readable dates parser.
From 1.0.90:
Reimplement language conditions through cs:layout rather than
cs:choose.
From 1.0.89:
In language condition statements, allow multiple locales to be
specified in a condition; restrict fallback behavior to base (single
two-character) locale specifiers; and use the first locale listed in
the attribute as the locale to be assigned to children of the
condition when the test is successful.
Properly honor locale for quotes and punctuation in language condition
statements.
Implement dynamic locale-sensitive layout delimiter and affixes with
language condition statements.
Fix minor bug in xmle4x.js XML parser that affected some locale load
operations that can arise when executing language condition
statements.
From 1.0.82:
Fixes to cs:if and cs:else-if logic. Was failing to set the match
attribute on singleton nodes, among other things.
Treat greek letters as part of the "romanesque" character set, for
name formatting purposes.
If cs:number input has numbers separated by spaces, but also
extraneous non-comma, non-ampersand, non-hyphen characters, then
render as literal.
From 1.0.83:
Use en-dash rather than hyphen in formatted page range joins.
From 1.0.84:
Preserve explicit double spaces in HTML output.
From 1.0.85:
Pass full suite of double space suppression tests.
Language switching within a style works, for both localized dates and
terms. (This functionality is not yet valid in CSL.)
From 1.0.86:
Address bug that caused unreasonable delays with large namesets.
From 1.0.87:
Where et-al-min, et-al-subsequent-min or names-min are set to some
value larger than zero, and the number of names in a nameset exceeds
an arbitrary threshold of 50, truncate author lists that are longer
than the *-min value (plus a buffer value of 2), to raise performance
to a reasonable level with large namesets.
From 1.0.88:
Adjustments to language condition logic, to use only the base language
name for matching, while applying the full locale specified in the
conditional to node children.
Refinements to the recently introduced handling of brace-enclosed
leading characters as initialized form of names.
Adjustments to print statement arbitration, with a view to playing
nice with various systems.
- Fix "myxml.localName() is null" when using dates on non-base locales
Thanks to Frank for dealing with my pestering regarding locale behavior.
From citeproc-js 1.0.78:
Enable the proper parsing and rendering of seasons in ranged dates, in
the internal dates parser.
From citeproc-js 1.0.79:
Correct fault in locale fallback behavior. Had been ignoring optional
default argument set in the processor.
From citeproc-js 1.0.80:
More fixes to locale selection behavior.
Provide a toggle to override the locale of a style with the locale set
on the processor at runtime.
From citeproc-js 1.0.81:
Yet more fixes to locale selection logic. Now uses en-US as ultimate
fallback, for any missing terms or missing locales.
- fix issues with RTF export of brackets
From 1.0.71:
Variables (including names) should be (and have been) suppressed when
rendered via the cs:substitute node of cs:names. Prior to this patch,
however, citeproc-js was unconditionally suppressing name variables
after their first use within a given cite, and this behavior differed
from the Zotero CSL 0.8.1 processor. This patch restores the original
behavior, allowing names rendered outside of cs:substitute to be used
repeatedly within a cite. (The only exception to this behavior is a
name rendered with et-al-min=1 and et-al-use-first=1, which will be
clipped from subsequent output within the same cite.)
The processor was using the localized close-inner-quote character for
apostrophes. This caused problems in styles that use alternative
quotation marks. The processor now uses a hard-coded apostrophe
character for apostrophes.
A bug in the normalization of names, for disambiguation purposes, that
contain punctuation or extraneous spaces has been fixed.
From 1.0.72:
Allow simple range, comma, and ampersand joins in the input to
cs:number, to permit "1st-2nd", "xi-xv", etc. When multiple numbers
are given, the following operations are performed: (1) ranges are
expanded and the numbers are converted to a list; (2) the resulting
list is sorted; (3) duplicates are eliminated; (4) ranges are
truncated; (5) numeric formatting is performed; and (6) appropriate
punctuation is applied to the result. (As of this writing, the use of
multiple numbers with cs:number is not covered by the CSL 1.0
specification, so this is an anticipatory change. It is consistent
with the CSL 1.0 schema, however, and does not have any effect on
single input numbers. Production use of multiple number, issue,
volume, and edition variables should await the formal approval of a
CSL 1.0 schema change to allow the use of these variables with
cs:label, for contextual pluralization of any associated label.)
Eliminate space following a trailing apostrophe on a dropping-
particle, when immediately followed by the family name part in
rendered output.
Recognize multiple parameters to a position attribute on cs:if and
cs:else-if, per the CSL 1.0 schema. For the fix, we eliminate cutted-
and-pasteded code from node_if.js and node_elseif.js, and consolidate
all position node-level position logic in attributes.js.
From 1.0.73:
Limit the recognition of multiple numbers to cases in which they are
separated by at least one space, to prevent the accidental
reformatting of things like "Document no. 1-3752,42".
From 1.0.74:
Recognize new Khmer locale for CSL provided by Hem Sras.
When parsing number ranges in the input to cs:number, abort parsing
when spread of range is over an arbitrary limit of 1000.
Support names-use-last attribute on cs:key. (Anticipatory change to
support upcoming change to CSL schema and specification.)
Use unicode ellipsis character rather than (nonexistent) locale term
when splicing author listings trucated with et-al-use-last.
From 1.0.75:
Do not apply decorative formatting to name suffixes.
Fix breakage in ordinal suffix formatting for days in a date.
For an all-lowercase name suffix (such as an explicit "et al."),
exclude the suffix from the name for disambiguation purposes, and
include it in the strict short form of the name in the short form of a
citation.
Add and recognize delimiter-precedes-et-al attribute, in line with
draft CSL proposal.
Implement grammatical gender sensitivity for ordinal suffixes, in line
with draft CSL proposal.
From 1.0.76:
Fix bug in locale processing, arising from the previous release, that
could trigger a processor crash.
From Frank's release notes for 1.0.69:
Suppress a leading prefix character that is nested at an arbitrary
depth on the subsequent sibling hierarchy of the current output blob
object, where it would result in duplicate punctuation in the
flattened output.
Fix over-aggressive suppression, on subsequent items, of variables
that are called through cs:substitute (and are therefore suppressed
within the current item).
Define print statement conditionally, following suggestions from
Carles Pina and Fergus Gallagher.
Limit suppression of a year that is identical to the volume number
only for cites in which volume and container-title are both rendered,
and volume precedes container-title. Suppression allows legal cites
such as The King v. Lockwood, 99 Eng. Rep. 379 (K.B. 1782) and
Hastings v. Perkins, 1930 P. 217 (Eng. C.A.) to be handled with a
single item type and without resorting to presentation toggles in the
input data. Limiting suppression to cites in which a rendered volume
precedes a rendered container-title prevents this behavior from
corrupting other citation forms.
From Frank's release notes for 1.0.70:
Adopt conventions from Chicago 16th ed. for commas that follow
terminal punctuation in user content fields such as title.
- fix attachment export/import
- make Translator return a copy of displayOptions or configOptions objects
- adjust file export functions for above change
- Translators now use configOptions and displayOptions properties in their metadata instead of Zotero.configure() and Zotero.addOption() to specify interfaces.
- Replaced now broken Zotero.Utilities.inArray() appearances in MODS.js with proper indexOf() calls
From Frank's release notes:
Further refactoring of output queue mechanism, to unify all quote-
swapping and detection code for duplicate terminal punctuation and
spaces in a single function. No changes to behavior, unless there is
a hole in the test suite somewhere.
Fix an output nesting mismatch error triggered by items with two
institutional authors in sequence, when rendered with a style that
sorts on the bibliography.
In the output queue mechanism, fix a bug in the migration of a leading
terminal character in a prefix to the preceding sibling suffix.
From Frank's release notes:
Reimplement duplicate terminal punctuation handling in new
adjustPunctuation() function. Remove old functions used for this
purpose, which were excessively complex and fragile. Some operations
in queue.js may now be redundant, since the new code does a much
better job of cleaning up the output queue in advance of
serialization.
Clears some remaining duplicate punctuation issues.
Corrects errors in the placement of punctuation where multiple
terminal punctuation marks span a formatting boundary (i.e. italics,
boldface, etc.).
- Zotero.Utilities is now a singleton
- Zotero.Utilities.HTTP is now Zotero.HTTP
- Zotero.Utilities.md5 and Zotero.Utilities.Base64 are now located under Zotero.Utilities.Internal
- Zotero.Utilities.AutoComplete has been eliminated
This needs testing to make sure there is no associated breakage.
this won't work if a web/search translator wants to call getTranslatorObject on another web/search translator, but that doesn't happen at the moment, so it should sufficie
from Frank's announcement:
Adjustment to the conditions controlling the tainting of entries
carrying year-suffix values.
Avoid redundant application of year-suffix values during
disambiguation.
Provide a default "institution" format blob on the output queue, to
avoid a processor crash with lone institutional author names.
From Frank's release notes:
citeproc-js 1.0.64:
This release just pulls through the actual changes described in 1.0.62
and 1.0.63.
Apologies for any confusion this caused.
citeproc-js 1.0.65:
Do not needlessly circumvent name disambiguation logic. Reverses a
patch introduced in the 1.0.61 through 1.0.64 series of changes.
Apply the concise and correct fix for the undefined-in-name bug
previously addressed by the 1.0.61 through 1.0.64 series of releases.
Just replacing an undefined variable with an empty string does the
trick.
Force an initialized name that lacks an explicit string value on
initialize-with to full form, but only when using the by-cite
disambiguation rule.
Permit update of year-suffix when it is added, in addition to when it
exists and then changes.
Protect against an undefined value in updateItems(), which can
apparently sometimes occur in the course of word processor plugin
transactions.
Map page-first variable to page when snooping for a value. Prevents a
lone page-first cs:text node within a cs:group from being suppressed
for lack of output.
Repair recently amended appendCitationCluster() command to return a
list of paired values, in accordance with the processor manual.
Extend restoreProcessorState() to work with an empty argument, for
resetting the processor to a pristine state (for use case suggested by
Carles Pina).
Form Frank's release notes:
citeproc-js 1.0.63:
Fix appendCitationCluster() to return a simple string, and required by
Zotero RTF Scan or any similar utility.
citeproc-js 1.0.62:
Block needless initialization of names where
the full name is requested and initialization
is not.
citeproc-js 1.0.61:
Block needless initialization of names where
form is long, no initialization is requested,
and last names are identical.
citeproc-js 1.0.60:
Turn on the parsing of name prefixes and
suffixes by default.
(This change should make CSL 1.0 name prefix
and suffix handling designed by Rintze Zelle
available to existing applications, without complex
changes to the user interface.)
From Frank's announcement:
Extend punctuation swapping to cases
where quotes entered within a locator.
Implement context-sensitive pluralization
of labels.
Fix bug affecting givennames with more
than two words when rendered in full
form without initialization.
Fixes et al. behavior affecting some
mixed personal and institutional name
combinations.
From Frank's release notes:
citeproc-js 1.0.54:
- Fix misplacement of labels that (should) appear before the
nameset to which they apply.
citeproc-js 1.0.55:
- Fix bug that triggered "registry[id] undefined"
error in some disambiguation operations.
- Fix bug affecting voluntary suppression
of small caps in rich text parsing engine.
- Add methods for setting multilingual
transliteration, translation, and sort
parameters on configured processor.
citeproc-js 1.0.56:
- Distinguish between transliterations of
(personal) names and transliterations of
titles in recently-added multilingual
configuration methods.
citeproc-js 1.0.57:
- Correctly handle singleton conditional nodes (if and else-if).