Summary of changes to citeproc-js since version 1.0.0 release.
==========================
Changes in version 1.1.115
==========================
- Apply Institution variant conditions and styling to Institution
fields (was using Person parameters)
==========================
Changes in version 1.1.114
==========================
- Fix failure to resort tainted citations on up-registry reinsert.
Reported by Derek Sifford:
https://github.com/Juris-M/citeproc-js/issues/13
==========================
Changes in version 1.1.113
==========================
- Fix missing argument in log function.
==========================
Changes in version 1.1.112
==========================
- Fix multilingual bug, triggered by settings that invoked
a tertiary variant.
==========================
Changes in version 1.1.111
==========================
- Do not throw on CSL error. Use dump if console not available.
==========================
Changes in version 1.1.110
==========================
- Fix erroneous remap of CSL section field to locator in vanilla
CSL.
https://forums.zotero.org/discussion/59427/citation-of-a-law/
==========================
Changes in version 1.1.109
==========================
- Fix sort errors in Scandinavian locales that erupted here:
https://forums.zotero.org/discussion/59907/odd-behaviour-when-sorting-in-danish/
==========================
Changes in version 1.1.108
==========================
- Show language variants of institutions even when external abbreviation
is applied.
==========================
Changes in version 1.1.107
==========================
- Recognize default-locale on cs:date in rendering context.
==========================
Changes in version 1.1.106
==========================
- Recognize a default-locale attribute on cs:label and cs:text when used to
render a term.
- Avoid use of array comprehension in variable assignment.
==========================
Changes in version 1.1.105
==========================
- Fix over-restrictiveness in the application of en-dash, uncovered
while working through a style issue reported here:
https://forums.zotero.org/discussion/59568/style-error-australian-guide-to-legal-citation/
==========================
Changes in version 1.1.104
==========================
- Rework the year-suffix fix introduced at 1.1.100, which
broke on a separate, as-yet-untested disambiguation issue.
- Split `authority` and `committee` field content on a semicolon,
and cast as multiple name elements. Affects CSL-M
mode only.
- Fix bugs in the handling of extended locator elements
(locator-date and locator-extra).
==========================
Changes in version 1.1.103
==========================
- In text-case="title" with English, capitalize a word that follows
a forward slash.
- Properly escape and markup when applying
text transforms (fixes a bug unmasked by the change above).
- When no authors are available for citation-label, use a fragment
of the title.
- When adding multilingual variants in output, suppress italics,
oblique, and boldface in supplementary (secondary and tertiary)
text.
==========================
Changes in version 1.1.102
==========================
- Append citationID to the citation arrays returned
by processCitationCluster(). Depending on document
addressing capabilities, this can greatly simplify
the matching of updates to document citations.
==========================
Changes in version 1.1.101
==========================
- Fix missing-delimiter bug with explicit year-suffix.
- Fix erroneous render of implicit year-suffix when date variable
has no content. Reported by Sebastian:
https://forums.zotero.org/discussion/58636/collapse-yearsuffix-in-chicago-manual-of-style/#Item_5
==========================
Changes in version 1.1.100
==========================
- In @initialize-with attribute value, retain zero-width non-breaking
space (\uFEFF) and non-breaking space (\u00A0) as inter-initials
join, and in the RU and FR locales only, when either non-breaking
space is present in the attribute value, use non-breaking space
(\u00A0) as given-to-family join when building initialized names in
non-sort order. Otherwise, use space for given-to-family join.
Resolves issue discussed at:
https://forums.zotero.org/discussion/31693/nonbreaking-space-unavailable-between-initials-and-names
- Fix bug in which styling of cs:date nodes with no variable content
(specifically affixes) affected styling in subsequent date nodes.
- Fix bugs in explicit year-suffix when used with year- or year-suffix collapse.
=========================
Changes in version 1.1.99
=========================
- Fix pluralism of embedded labels.
=========================
Changes in version 1.1.98
=========================
- Recognized balanced single- or balanced double-quotes
in XML markup.
=========================
Changes in version 1.1.97
=========================
- Set single-field names from {:key:val} note field hacks as
literal, rather than as family + isInstitution.
=========================
Changes in version 1.1.96
=========================
- Handle DOS and Mac line endings correctly when parsing serialized
XML.
=========================
Changes in version 1.1.95
=========================
- Trim numeric field values before parsing.
=========================
Changes in version 1.1.94
=========================
- Extend parseNoteFieldHacks() to accept a hash object of
valid-field flags.
=========================
Changes in version 1.1.93
=========================
- Expose field-hack decoding as parseNoteFieldHacks() method
on CSL object.
=========================
Changes in version 1.1.92
=========================
- Add pretitle macros to all style modules. Thank you OSCOLA,
thank you European Court of Justice.
=========================
Changes in version 1.1.91
=========================
- Return bibliography strings as an array of strings,
not as a array of and array of strings. Restores behaviour
prior to 1.1.68. Fault reported by Carles Pina.
=========================
Changes in version 1.1.90
=========================
- Return false for comma-safe when term set is a value term
on cs:text.
=========================
Changes in version 1.1.89
=========================
- Set just_did_number flag on cs:text with term or value attribute.
=========================
Changes in version 1.1.88
=========================
- With comma-safe, always return true a term exists and is alpha.
=========================
Changes in version 1.1.87
=========================
Fix nesting mismatch triggered on RTL-language items. Reported by
abdeali khurrum to the Juris-M Freshers list.
=========================
Changes in version 1.1.86
=========================
- Fix failure to return variable_attempt=true when
require="empty-label" failed, and so fail to suppress
sibling term when no other variable renderings are
attempted.
=========================
Changes in version 1.1.85
=========================
- Remove stale alternative-macro support from processor,
and fix tests to remove it from there.
- Update CSL-M schema to add empty-label value on reject and require.
- Enhancements and bugfixes for require and reject:
- Handle group_context only on real nodes in the style.
- Treat the outer group on macros as a real group node in the style.
- Fix a bug in the application of layout suffix on bibliographies.
- Add an empty-label value to reject and require.
- Flag a failed reject or require to the parent as a failed attempt
to render a variable, so that it will take bare term siblings
with it on fail.
=========================
Changes in version 1.1.84
=========================
- Replace reject and require conditions with smarter
comma-safe value
=========================
Changes in version 1.1.83
=========================
- Fix hang condition triggered when single straight quotes were set as
inner quotes, and a field contained a straight-quote apostrophe.
=========================
Changes in version 1.1.82
=========================
- Fix Arabic locale selection.
=========================
Changes in version 1.1.81
=========================
- Remove unused macros from modular code tests.
- Fix minor bugs in require and reject code.
- Fix bug in "romanesque" regular expressions.
- Return styleID from JSON parser.
=========================
Changes in version 1.1.80
=========================
- Force per-word sorting on all sort keys.
- Fix bug in new reject and require attributes that caused
test to fail when rendered label was nested in a macro
or condition statement.
- Move in CSL-M tests migrated from standard CSL test suite.
=========================
Changes in version 1.1.79
=========================
- Recognize require and reject attribute on cs:text in
value and term modes.
=========================
Changes in version 1.1.78
=========================
- Clean up group context code, replacing array with
keyed object.
- Remove stale "oops" attribute code.
- Implement require and reject condition attributes
on cs:group with "label-empty-or-alpha" value.
=========================
Changes in version 1.1.77
=========================
- Fix failure of locale-based numeric-term embedded affixes on
first number in field.
- Add "static" term form to CSL-M schema, and mask it from
changes via the label-form attribute.
- Add -nojuris mode option to ./test.py
=========================
Changes in version 1.1.76
=========================
- Fix parallel cite test failure.
=========================
Changes in version 1.1.75
=========================
- Unescape angle brackets in string-based parser.
(checked Zotero styles repo to confirm that all
names entities used in CSL styles are now covered).
=========================
Changes in version 1.1.74
=========================
- Migrate repo to git.
- Fix issue with raw affix affecting French styles.
- Include CSL test suite, CSL locales, CSL and CSL-M schemata,
and a new citeproc-js-docs repo as submodules.
- Implement a string-based XML-to-JS converter.
- Bundle DOM and JSON walking parsers and XML-to-JS converter in
processor instance, and sniff input to select parser.
- Provide with-E4X and without-E4X versions of the processor code.
- Clean up the test script a bit.
- Fix support for alternative JS engines.
- Merge JS runners into a single file.
- Add jing validator to project repo, and fix test.py -c to
report correct source filename on error.
- Remove unused files.
=========================
Changes in version 1.1.73
=========================
- Permit use of leading-noise-words in style-level locale declarations.
- Suppress parens flip on all but note styles.
- Make test fixtures work with standard CSL locales.
=========================
Changes in version 1.1.72
=========================
- More robust implementation of parens-flipping, enabled only
on note styles.
- Fix global replacements that failed on many JS implementations.
- Introduce string-based parsing of serialized XML.
- Extend test framework to allow use of alternative JS engines.
- Remove spaces from sort keys to fix sort behaviour on several
JS implementations.
- Add a few test fixtures.
=========================
Changes in version 1.1.71
=========================
- Fix bug affecting styles making use of near-note.
Reported by Zotero user @tog
https://forums.zotero.org/discussion/56946/attribute-name-formshort-ignored/
=========================
Changes in version 1.1.70
=========================
- Fix a second bug, affecting all styles. Check for nesting name
failed erroneously, but failure did not show in tests b/c written
to console.log() rather than print().
=========================
Changes in version 1.1.69
=========================
- Fix a bug that manifested in Juris-M configuration with the
Vancouver style.
=========================
Changes in version 1.1.68
=========================
- Revised handling for numeric variables
* Numeric variables are processed identically in cs:text and cs:number
* Label short-codes embedded in fields are recognized and pluralized
* Label override by leading short-code recognized in locator and number
* Per-number affixes can be specified in locale label terms with %s placeholder
* Prefix and suffix labels can be forced in locale label terms with %s placeholder
* Expansion and collapsing of page ranges in locators is supported
=========================
Changes in version 1.1.67
=========================
- Fix a bug in reverse-lookup support used by the visual editor.
=========================
Changes in version 1.1.66
=========================
- Remove title-casing suppression from quotes, and smarten up
quote parsing.
http://xbiblio-devel.2463403.n2.nabble.com/Title-case-questions-tt7579427.html
=========================
Changes in version 1.1.65
=========================
- Amend date parser module to accomodate usage in Juris-M, and
provide parse() method for backward compatibility.
- Make parsed date values numeric
https://github.com/Juris-M/zotero/issues/2
- Fix date parsing bug exposed when multiple date locales are
loaded
https://github.com/Juris-M/zotero/issues/9
- Recognize underscore workaround as a date delimiter
https://github.com/Juris-M/zotero/issues/6
- Return incompletely parsed dates as literal
https://github.com/Juris-M/zotero/issues/13
=========================
Changes in version 1.1.64
=========================
- Fix bug in xmljson.js that caused incorrect formatting of
names in some styles when rendered with xmljson.js parser:
https://github.com/zotero/citeproc-node/issues/26
- Fix bug in text-case="title" that prevented tag-enclosed
text from uppercasing properly.
https://bitbucket.org/fbennett/citeproc-js/issues/187/title-case-formatter-does-not-title-case
- Fix sort bug affecting some JavaScript engines.
https://twitter.com/fgbjr/status/662844111834079232
=========================
Changes in version 1.1.63
=========================
- Extend uppercase-subtitles option to cover container-title
as well. New code is extensible to series titles as well, if
that is desired.
https://github.com/Juris-M/propachi-upper/issues/2
=========================
Changes in version 1.1.62
=========================
- Fix bug in cite-group-delimiter:
https://github.com/citation-style-language/styles/pull/1742/files#r43429282
=========================
Changes in version 1.1.61
=========================
- Fix Extra-field hack parse of creators. Add (possibly multiple)
names if original input had not name of same category. Addresses
bug report:
https://github.com/zotero/zotero/issues/846#issuecomment-146794378
=========================
Changes in version 1.1.60
=========================
- Avoid erroneous disambiguation when non-"issued" date variables
are the only difference between citations (but continue to ignore
"accessed").
https://forums.zotero.org/discussion/52758/disambiguation-enabled-when-not-needed-with-date--original-date/
=========================
Changes in version 1.1.59
=========================
- Update to processor documentation.
- Fix parsing of particles with articulars to work like normal.
=========================
Changes in version 1.1.58
=========================
- Fix a bug in the particle parser, ouch. Thanks to Emiliano Heyns
for reporting it:
https://bitbucket.org/fbennett/citeproc-js/issues/183/particle-parser-returning-non-dropping
=========================
Changes in version 1.1.57
=========================
- Simplify particle parsing mechanism, following discussion in these threads:
https://forums.zotero.org/discussion/51491/double-surnames-starting-with-te-end-up-quoted-incorrect/
https://forums.zotero.org/discussion/51783/1/parsing-problem-on-italian-names/
- Move list of particles to a separate processor segment, for access by
calling applications that implement their own parsing methods.
=========================
Changes in version 1.1.56
=========================
- Fix bug in cite-group-delimiter:
https://forums.zotero.org/discussion/51942/citeprog-bug-citegroupdelimiter-and-yearsuffix/#Item_1
=========================
Changes in version 1.1.55
=========================
- Add Dutch particles from external source linked by Rintze, as suggested by nickbart
https://forums.zotero.org/discussion/30974/2/any-idea-why-an-a-author-comes-last-in-the-bibliography/2/#Item_26
- Merge entries as appropriate
=========================
Changes in version 1.1.54
=========================
- Reformat particle list
=========================
Changes in version 1.1.53
=========================
- Fix some Italian particle classifications
https://forums.zotero.org/discussion/51783/parsing-problem-on-italian-names/
=========================
Changes in version 1.1.52
=========================
- Fix Dutch particle classifications, per:
https://forums.zotero.org/discussion/51491/double-surnames-starting-with-te-end-up-quoted-incorrect/#Comment_232339
- Restore case sensitivity in names parsing.
- Restore uppercase Arabic particles, pending further feedback from Arabists.
=========================
Changes in version 1.1.51
=========================
- Discriminate between dropping and non-dropping particles in
subsequent-author-substitute. Reported by gracile:
https://forums.zotero.org/discussion/51260/citeproc-same-author-different-particles-parsing-subsequentauthorsubstitute/
=========================
Changes in version 1.1.50
=========================
- Bugfixes in handling of displayed jurisdiction names.
=========================
Changes in version 1.1.49
=========================
- Clean up suppress-jurisdictions mess (includes a change to hook function
signature).
=========================
Changes in version 1.1.48
=========================
- Do not swap punctuation across quotes="false" boundary.
- Do not migrate terminal punctuation across quotes boundary.
=========================
Changes in version 1.1.47
=========================
- Avoid first-entry exception with styles that use first-reference-note-number.
https://forums.zotero.org/discussion/39244/error-mlz-citation-processor-only-works-second-time/#Item_27
=========================
Changes in version 1.1.46
=========================
- Fix parsing crash.
https://forums.zotero.org/discussion/17317/2/sep-is-undefined/#Item_18
=========================
Changes in version 1.1.45
=========================
- Make name parsing completely case-insensitive. This change
aims only to put a consistent behaviour in place, as a basis
for further discussion as we make our way through the name-particle
morass.
https://forums.zotero.org/discussion/42687/found-a-bug-with-name-starting-with-de/#Item_6
- Provide for discretionary classification of "de las" and "de la" as all-non-dropping
or dropping/non-dropping, depending on user entry.
https://forums.zotero.org/discussion/30974/2/any-idea-why-an-a-author-comes-last-in-the-bibliography/#Item_12
- Remove uppercase versions of Arabic name particles. Maybe be restored if case
sensitivity is introduced.
=========================
Changes in version 1.1.44
=========================
- Suppress jurisdictions based on machine-readable code,
regardless of multilingual variant.
=========================
Changes in version 1.1.43
=========================
- Fix bugs in three particle specs (d', des, de).
https://forums.zotero.org/discussion/50718/apostrophe-in-last-name/
=========================
Changes in version 1.1.42
=========================
- Eliminate extraneous \\line operator in RTF output. Not
extensively tested.
https://forums.zotero.org/discussion/2252/word-plugin-inserts-superfluous-linebreaks-in-bibliography/
https://forums.zotero.org/discussion/50628/bibliography-alignment/
=========================
Changes in version 1.1.41
=========================
- Introduce option to disable the parsing of names in the
processor (delegating to the calling application)
https://forums.zotero.org/discussion/30974?page=1#Item_46
=========================
Changes in version 1.1.40
=========================
- Introduce force_jurisdiction option for extended styles.
- Replace String() methods with RegExp() for compatibility
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/replace
- Fix typo in particle parsing struct (affecting al- and von), and add
a list of Arabic particles
https://forums.zotero.org/discussion/30974/any-idea-why-an-a-author-comes-last-in-the-bibliography/#Item_30
=========================
Changes in version 1.1.39
=========================
- Fix title case to work in Internet Explorer.
Thanks to David Laurenson for reporting the fault.
=========================
Changes in version 1.1.38
=========================
- Do not capitalize leading particles in the bibliography.
https://forums.zotero.org/discussion/50199/lowercase-first-letter-of-the-surname
=========================
Changes in version 1.1.37
=========================
- Fix scoping bug in RTF markup.
https://forums.zotero.org/discussion/50304/problems-with-et-al
=========================
Changes in version 1.1.36
=========================
- Fix further root of bug in institutiona names handling,
affecting first-class instititional names (not authority
or committee) that have a multilingual variant.
Thanks to Zotero user bluunksaesn for reporting.
=========================
Changes in version 1.1.35
=========================
- Fix a bug introduced at 1.1.33. New code for juggling
suffixes crashed when an empty item was encountered.
=========================
Changes in version 1.1.34
=========================
- Fix bug in institution names handling. Force values to
obj.literal rather than obj.family w/obj.isInstitution.
Simpler is beautifuler.
=========================
Changes in version 1.1.33
=========================
- Fix bug in multiple layouts. With the second-field-align option,
the layout suffix on non-default alternative layouts was placed
outside of the right-inline block, resulting in a stray hard
return between the citation and the trailing punctuation in output.
Many thanks to Vladimir Sobolev for reporting the fault.
=========================
Changes in version 1.1.32
=========================
- Show multilingual forms of long-form institution name on
failover from request for short form.
=========================
Changes in version 1.1.31
=========================
- Fix bug in 1.1.30
=========================
Changes in version 1.1.30
=========================
- Enable alternative-macro calls from within modular code.
The macro called is the macro in the main style; this will
require a convention to use a uniform macro name for this
purpose (this: "at-locator-label"), and to provide it in
all main JM styles.
=========================
Changes in version 1.1.29
=========================
- Extend discretionary creator handling to committee variable.
=========================
Changes in version 1.1.28
=========================
- Provide mappings for all multilingual fields in LangPrefsMap
=========================
Changes in version 1.1.27
=========================
- Make short form of institutional names empty by default.
=========================
Changes in version 1.1.26
=========================
- Add language-name and language-name-original with
short forms in "place" category.
=========================
Changes in version 1.1.25
=========================
- Add an authority-residue condition. Checks whether
there are elements not rendered by the most recent
use-last condition.
=========================
Changes in version 1.1.24
=========================
- The proper fix for fallbacks.
=========================
Changes in version 1.1.23
=========================
- Bugfix in fallback.
=========================
Changes in version 1.1.22
=========================
- Set "us" as the fallback style module, if available.
=========================
Changes in version 1.1.21
=========================
- Introduce far-note test on position attribute.
=========================
Changes in version 1.1.20
=========================
- Better handling of implicit conditional rendering with
juris-locator-label macro in cs:group.
=========================
Changes in version 1.1.19
=========================
- Fix a subtle bug affecting juris-locator-label in
modular style code.
- Fix potential bug in detection of output from multiple
variables.
=========================
Changes in version 1.1.18
=========================
- Add locale fallback "lv_LV" for "lv".
- Check for callback completeness in test runner.
=========================
Changes in version 1.1.17
=========================
- Add locale fallback "hr_HR" for "hr".
=========================
Changes in version 1.1.16
=========================
- Align treatment of locators on regulation with legislation et al.
=========================
Changes in version 1.1.15
=========================
- Make the juris-locator-label macro shy like a bare label
or term.
=========================
Changes in version 1.1.14
=========================
- Improved handling of suppressed jurisdiction names
and modular style code.
=========================
Changes in version 1.1.13
=========================
- New names for composite locators in modular code.
=========================
Changes in version 1.1.12
=========================
- Fix bug in parsing of embedded labels on non-locator vars
when section var not present in input (legal types only)
- Remove capitalized Chapter and Section terms (legal types only)
- Adjust tests to use explicit labels on number var, rather
than label-form attribute (legal types only)
=========================
Changes in version 1.1.11
=========================
- Extract label from number rendered with cs:number, and
make available on cs:label with variable="number."
Behaviour tracks that of page and page-first variables.
- Fix bug in parsing of pipe-delimited extra data on locator
- Change locator-revision to locator-extra (accompanied by
change to CSL-m schema)
=========================
Changes in version 1.1.10
=========================
- Fix conditional for embedded label in "number" variable rendered
with cs:number
========================
Changes in version 1.1.9
========================
- Fix repeat of "by" term in Chicago Author-Date etc.
- Remove treaty from modular types, add report
========================
Changes in version 1.1.8
========================
- Add support for cs:law-module types="a b c", following schema revision.
========================
Changes in version 1.1.7
========================
- Run alternative-macro when a variable render fails, or when no
attempt is made to render anything.
- Flag attempt to render a term in cs:label.
- Properly add cs:name nodes in xmljson.xml. Fault reported
by Faolan Cheslack-Postava.
========================
Changes in version 1.1.6
========================
- Fix group closure bug (loss of decorations when self-testing jurisdiction
modules)
- Fix erroneous capitalization of non-English characters.
https://forums.zotero.org/discussion/47850/greek-letter-is-shown-as-b-in-bibliography/#Item_18
- Allow non-conforming macro names in jurisdiction modules. Necessary for
standalone testing.
========================
Changes in version 1.1.5
========================
- More name particles, from Philipp Zumstein:
https://forums.zotero.org/discussion/47161/names-reform-request-for-comments/#Comment_217706
- Fix bug in terminator testing in util_names.js (Thanks to @fcheslack).
- Fix a small spacing issue affecting name particles with a leading
single quote.
========================
Changes in version 1.1.4
========================
- Particles parser.
========================
Changes in version 1.1.3
========================
- Rename alt-macro attribute as alternative-macro
========================
Changes in version 1.1.2
========================
- Fix loss of affixes on failed juris test
- Implement item-type-specific support in modules
- Some code cleanup
========================
Changes in version 1.1.1
========================
- Require juris-locator-label macro as a late addition.
========================
Changes in version 1.1.0
========================
- citeproc-js now has full support for jurisdiction-specific
modular legal styles. This is the last piece to the puzzle
it set out to solve. Time to roll over that version number.
==========================
Changes in version 1.0.561
==========================
- Do not mask lower-tier jurisdictions from memory lists
used to generate menus and such when a higher-tier
jurisdiction hits for an abbreviation.
==========================
Changes in version 1.0.560
==========================
- Fix (the last?) grouping bug in modular jurisdiction code.
- Place the interative retry logic for jurisdiction modules
in the processor, and delegate only single try attempts
to the external retrieveStyleModule() hook function.
- Fix a bug in XML traverse affecting jurisdiction loading
in some environments.
==========================
Changes in version 1.0.559
==========================
- Fix bugs in modular jurisdiction support.
- Implement mode without institution name reordering,
and make it the default.
==========================
Changes in version 1.0.558
==========================
- If nesting issues in new law style module code.
==========================
Changes in version 1.0.557
==========================
- Preliminary support for law style modules.
==========================
Changes in version 1.0.556
==========================
- When suppressing initial-term capitalization on items with a
single-word prefix, ignore leading and trailing spaces on the
prefix when determining whether it consists of a single word.
==========================
Changes in version 1.0.555
==========================
- Preserve the last name in the list, in case we're rendering with a
PI ellipsis (et-al-use-last). Fault reported by Chris Maloney.
==========================
Changes in version 1.0.554
==========================
- Extend jurisdiction suppression to hearings
==========================
Changes in version 1.0.553
==========================
- Adjustment for new jurisiction identifier schema.
==========================
Changes in version 1.0.552
==========================
- Reflect style class attribute on citeproc.opt.class as well
as citeproc.opt.xclass, per promise made here:
https://github.com/zotero/zotero/commit/d894fdb1d445f02aa8ee1f46f9fc3ee0cbb71462
==========================
Changes in version 1.0.551
==========================
- Send human-readable form of identifiers to the abbreviation
function, if a citeproc.getHumanForm() hook function
is defined.
==========================
Changes in version 1.0.550
==========================
- Fix bug in xmldom.js. When extracting a node by attribute value,
code failed to discriminate non-matching nodes from nodes with
no such attribute. Thanks to Carles Pina for reporting the fault.
==========================
Changes in version 1.0.549
==========================
- Fix issue in subtitle capitalization.
https://forums.zotero.org/discussion/35190/beta-capitalization-after-colons/#Item_37
==========================
Changes in version 1.0.548
==========================
- Allow parallel cite treatment only if top-level jurisdiction matches.
==========================
Changes in version 1.0.547
==========================
- Fix punctuation migration, merger and duplicates control code.
Prompted by bug report from Brenton Wiernik:
https://forums.zotero.org/discussion/41934/suppressing-period-in-citations-with-other-punctuation/
==========================
Changes in version 1.0.546
==========================
- Recognize an option to capitalize the first word in subtitles.
May need to be controlled for language.
==========================
Changes in version 1.0.545
==========================
- Do not assume first character when prefix ending in a period
has no spaces. Heuristic proposed by Sebastian Karcher (adamsmith):
https://forums.zotero.org/discussion/41775/first-character-lowercase-ibid/
==========================
Changes in version 1.0.544
==========================
- Fix display="indent" in RTF output.
- Fix page-range-format, broken by a recent commit.
==========================
Changes in version 1.0.543
==========================
- Fix potential crash in util_flipflop.js on weird spaced-off
straight single quote marks. Fault reported by Carles Pina.
https://bitbucket.org/fbennett/citeproc-js/src/tip/tests/fixtures/local/bugreports_MendeleyApostrophe.txt
Thanks to Carles also for the long wait in clearing this one -
it took awhile.
==========================
Changes in version 1.0.542
==========================
- Fix duplicate punctuation caused by initialized names with
leading punctuation on suffix separated by styling
decoration at arbitrary level. Thanks to Sebastian
Karcher for reporting:
https://twitter.com/adam42smith/status/515321387062284288
==========================
Changes in version 1.0.541
==========================
- Fix prefix-cite interspace handling (was erroneously adding
space on almost all non-alpha characters).
- Add support for suppression of trailing punctuation on
note styles (currently in MLZ only).
==========================
Changes in version 1.0.540
==========================
- Fix bug in editor + translator rendering with institution names
(affects only CSL-m styles)
==========================
Changes in version 1.0.539
==========================
- Fix crashing bug triggered by certain update operations. Reported
by Markus Piipari, with this fix:
https://bitbucket.org/fbennett/citeproc-js/issue/166/second-call-to-updateitems-fails-with
The fix might also address the following error report on the Zotero forums:
https://forums.zotero.org/discussion/39244/error-mlz-citation-processor-only-works-second-time/
==========================
Changes in version 1.0.538
==========================
- Fix a disambiguation bug affecting styles that use by-cite
givenname disambiguation with differing values for et-al-min and
et-al-subsequent-min.
https://forums.zotero.org/discussion/38512/help-with-disambiguation
==========================
Changes in version 1.0.537
==========================
- Apply options to localCompare() when sorting citations and bibliography
entries. Options invoked are:
{
sensitivity:"base",
ignorePunctuation:true,
numeric:true
}
See:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_identification_and_negotiation
Thanks to Aurimas Vinckevicius for reporting an inconsistency in sorting, and
for pointing out these options as a way of eliminating it.
==========================
Changes in version 1.0.536
==========================
* Recognize "cslstyle" as the top-level node containing cs:style
(for some releases of citeproc-node). Thanks again to Steve Ridout
for tracking this down.
==========================
Changes in version 1.0.535
==========================
* Fix misrendering of numbers under some condition (most importantly, the
CSL Visual Editor). Thanks to Steve Ridout for reporting the fault.
==========================
Changes in version 1.0.534
==========================
* Add a space after trailing closing parens or bracket on user-supplied
prefix. A response to Gracile here:
https://forums.zotero.org/discussion/37875/citeprocjs-should-add-a-whitespace-after-a-prefixbefore-a-suffix-in-more-cases
==========================
Changes in version 1.0.533
==========================
- Fix potential bugs in code around variableWrapper().
==========================
Changes in version 1.0.532
==========================
- Use localCompare() for title comparisons needed by
subsequent-author-substitute. Thanks to @aurimas for
this suggestion.
- Improved interface for variableWrapper() method:
this.variableWrapper = function (params, prePunct, str, postPunct) {
if (params.variableNames[0] === 'title'
&& params.itemData.URL
&& params.context === "citation"
&& params.position === "first") {
return prePunct + '' + str + '' + postPunct;
} else if (params.variableNames[0] === 'first-reference-note-number'
&& params.context === "citation"
&& params.position !== "first") {
return prePunct + '' + str + '' + postPunct;
} else {
return (prePunct + str + postPunct);
}
};
==========================
Changes in version 1.0.531
==========================
- Implement field-level citation wrappers as a caller-provided
variableWrapper() function hook on the sys object. Example:
sys.variableWrapper = function (itemData, variableNames, str, punct) {
if (variableNames[0] === 'title' && itemData.URL) {
return '' + str + '' + punct;
} else {
return (str + punct);
}
}
==========================
Changes in version 1.0.530
==========================
- Include note numbers in rendered disambiguation strings when
givenname-disambiguation-rule="by-cite" (the default rule) is
in force.
- Add disambiguate="check-ambiguity-and-backreference" option,
for use on first-position cites that must check whether
disambiguation is true without affecting the incremental
truthiness of the disambiguation conditionals.
- Improve backreference updates for styles that use the
disambiguate conditional.
- Control for the non-breaking-space suffix used to join names
in some French citation styles.
- Treat title-short on input as fully equivalent to shortTitle
for the purposes of form="short" on the title variable.
==========================
Changes in version 1.0.529
==========================
- Derive CSL-m variables title-main and title-sub from either
shortTitle or title-short.
- Protect against DOM engines that set the root document above
above cs:style node. This happens with jsdom, and possibly
others. Implementers shouldn't need to worry about this.
==========================
Changes in version 1.0.528
==========================
- Provide automatic space before parenthetical suffixes.
==========================
Changes in version 1.0.527
==========================
- Reimplement duplicate space and punctuation suppression,
punctuation merging, and quote swapping. Related discussion
is here:
https://forums.zotero.org/discussion/37091/citeproc-bug-punctuation-in-quotes/
- Introduce a hook for normalizing Unicode to avoid sort failures.
Thread prompting the change is here (thanks to user isabel-h1 for reporting):
https://forums.zotero.org/discussion/37201/mlz-sorting-problem-in-chinese-transliteration/
==========================
Changes in version 1.0.526
==========================
- Fix bug in page-range-format affecting certain locales. Addresses
https://forums.zotero.org/discussion/33793?page=1#Item_13
==========================
Changes in version 1.0.525
==========================
- Add optional call to getSuppressJurisdictions() offered
by the Abbreviation Filter.
==========================
Changes in version 1.0.524
==========================
- Expose the style name as citeproc.opt.styleName
==========================
Changes in version 1.0.523
==========================
- Fix typo in regexp that could trigger a processor crash.
Thanks to Carles Pina for reporting this fault.
==========================
Changes in version 1.0.522
==========================
- Remove workaround code for Unicode sorting. localeCompare() now
seems to be generally working in JavaScript implementations.
==========================
Changes in version 1.0.521
==========================
- Fix global variable in formatters.js, with thanks to
anonymous user reporting to the citeproc-js bug tracker.
==========================
Changes in version 1.0.520
==========================
- Include multilingual variants when remapping to authority
creator variable. Error reported by MLZ user wonblee.
==========================
Changes in version 1.0.519
==========================
- Fix segment names used to fetch container-title-short
info for journal name abbreviations.
==========================
Changes in version 1.0.518
==========================
- Ignore false blobs when pushing to output queue. Avoids a
crash condition when rendering names with multilingual
elements.
==========================
Changes in version 1.0.517
==========================
- Prevent et-al decorations and term selections in cs:citation
from affecting cs:bibliography. Bug identified by adamsmith.
==========================
Changes in version 1.0.516
==========================
- Allow initials-only format in bibliography with
all-names-with-initials and primary-name-with-initials
disambiguation rules. Fixes bug identified by tipichris
and adamsmith.
==========================
Changes in version 1.0.515
==========================
- Fix bug that dropped multilingual variants when rendering
institution names. Reported by MLZ user egrebnev.
==========================
Changes in version 1.0.514
==========================
- Fix newly introduced bug triggered by name-as-sort-order on
cs:style-options.
==========================
Changes in version 1.0.513
==========================
- Exclude Hebrew vav (ו) from romanesque regexp, so that
spacing can be set explicitly on the "and" term.
==========================
Changes in version 1.0.512
==========================
- Fix bug in near-note reported by Devin Roza.
==========================
Changes in version 1.0.511
==========================
- Implement locale style options name-as-sort-order and
name-never-short. Yields much more flexible handling of
non-Romanesque names (Vietnamese, Chinese, Hungarian, Japanese,
Myanmar ...)
g==========================
Changes in version 1.0.510
==========================
- Fix bug in decorations applied to a macro containing a cs:number
element, exposed by code simplification at tag 1.0.498.
==========================
Changes in version 1.0.509
==========================
- Recognize a cs:style-options attribute "leading-noise-words".
The attribute is optional in CSL-m locales, and takes a comma delimited
list of words as its argument. The value is locale-specific, and
will not fall back. Currently relevant only in CSL-m.
- Fix up pre-parsing regexps used with title- and sentence-case functions
to produce cleaner string lists.
==========================
Changes in version 1.0.508
==========================
- Fix bug in date parser toArray() method reported by
Michel Krämer.
- Fix bug in name constraints when et-al-min is not set
in cs:bibliography, reported by Sebastian Karcher.
==========================
Changes in version 1.0.507
==========================
- Handle dropping and non-dropping name particles that begin with an apostrophe.
==========================
Changes in version 1.0.506
==========================
- Recognise generic (single-element) locales as such
in cs:layout and cs:sort, and respect the matching
priorities set in cs:layout when applying locales
in cs:sort.
==========================
Changes in version 1.0.505
==========================
- Allow push/pop on output stack inside macros that render
a date.
==========================
Changes in version 1.0.504
==========================
- Assure that the locale set on CSL-m specific default-locale-sort
attribute is always configured in the processor locale.
==========================
Changes in version 1.0.503
==========================
- Generate sort keys using the layout's master locale for
localised terms.
==========================
Changes in version 1.0.502
==========================
- Disable requiring explicit title-short on legal_case type
by default (i.e. form="short" will now call shortTitle).
- Toggle options based on the version of the loaded style
(i.e. CSL-m styles will automatically be run in CSL-m mode).
==========================
Changes in version 1.0.501
==========================
- Implement CSL-m specific test of genre field content
(limited to "email" and "instant-message" options).
This plays with genre field content supplied by MLZ on
the respective types, and is needed for localisation.
==========================
Changes in version 1.0.500
==========================
- Avoid redundant calls to substituteStart and substituteEnd
when casting macros.
- Avoid quashing labels when full cs:names nodes are nested.
==========================
Changes in version 1.0.499
==========================
- Limit loss of suffix on elements receiving multilingual
supplements to comma, space and full stop (preserving
parens). This adjustment may see further refinement in the
light of experience.
- Avoid attempting to create a locale object with undefined
as locale string, which triggers an error on Mac OS X.
==========================
Changes in version 1.0.498
==========================
- Avoid repeated text escaping of delimiters between numeric
blobs.
- Fix Firefox branch of locale sort function to use processor instance
default-locale, without reference to "applicationLocale".
==========================
Changes in version 1.0.497
==========================
- Recognize a full stop in a quotation mark within a cite prefix
for term capitalisation purposes.
- Recognize a leading full stop on a cite prefix for delimiter purposes,
where the preceding cite suffix is empty.
==========================
Changes in version 1.0.496
==========================
- Extend coverage of Greek characters in ROMANESQUE regexps.
==========================
Changes in version 1.0.495
==========================
- Use safe string values for hard-coded kanji era labels
in Japanese imperial data function.
==========================
Changes in version 1.0.494
==========================
- Limit name-as-sort-order="first" to the first name rendered
in a nameset, accounting for multiple blocks of personal
names. Thanks to MLZ user mlwang for pointing out the need
for the restriction.
==========================
Changes in version 1.0.493
==========================
- Control for double spacing before leading apostrophes
(as with '09).
==========================
Changes in version 1.0.492
==========================
- Use localised symbolic form of "and" ("&") when rendering names.
Disabled by default. Option is:
citeproc.opt.development_extensions.expect_and_symbol_form = true
==========================
Changes in version 1.0.491
==========================
- Check the shortTitle field, and require a match as a
precondition of parallel merging.
==========================
Changes in version 1.0.490
==========================
- Simple support for Japanese imperial date output. Covers only
post-1867 era.
- Turn off experimental RTL support by default.
==========================
Changes in version 1.0.489
==========================
- Simplified rewrite of style build code. The old version was written while I was
struggling to learn JavaScript. Citeproc-js began raising a recursion error
in Firefox 24 with the MLZ American Law style, and in background reading preparatory
to filing a bug report it became clear that "in any case, if you're getting a recursion
error, there are serious problems with your code." The next build function is based on a
sample from Douglas Crockford. From this version, the American Law style loads without
a hitch under FF 24, and (of course) all tests still pass.
==========================
Changes in version 1.0.488
==========================
- Avoid applying abbreviation hint lists to non-legal item titles.
==========================
Changes in version 1.0.487
==========================
- Fix error in application of affixes with multiple locales.
Error reported by Zotero forum user mlwang:
https://forums.zotero.org/discussion/32329/mlz-bugs-with-multilocale-citation
==========================
Changes in version 1.0.486
==========================
- Fix "this.registry[id].givens[i] is undefined" bug.
==========================
Changes in version 1.0.485
==========================
- Move punctuation on inner as well as outer quotes.
==========================
Changes in version 1.0.484
==========================
- Fix several bugs in the handling of names with institution
elements and et-al rendering parameters. Thanks to Tom Philpot
for reporting the fault:
https://bitbucket.org/fbennett/citeproc-js/issue/152/error-rendering-literal-translator-in
==========================
Changes in version 1.0.483
==========================
- Fix a bug in the locale test caused by a bad closure.
==========================
Changes in version 1.0.482
==========================
- Avoid reconfiguring all tested locales from XML source
every time the new "locale" condition is invoked as a
normal conditional.
==========================
Changes in version 1.0.481
==========================
- Move name term and connector evaluation from build to
runtime. It was a nice thought to save a little overhead,
but multilingual breaks without runtime evaluation based
on item content.
==========================
Changes in version 1.0.480
==========================
- Remove force-locale-terms-to-default. A bare locale inside
the style has the same effect.
- Implement stricter conditions for page number is-numeric
evaluation, control via strict_page_numbers development
extensions option. Off by default.
==========================
Changes in version 1.0.479
==========================
- Add force-locale-terms-to-default attribute, for styles that
use locale-based conditions.
==========================
Changes in version 1.0.478
==========================
- Use meaningful logic for number of volumes and number of pages.
==========================
Changes in version 1.0.477
==========================
- Ignore hyphens when applying title-case etc. Fixes bug
reported by Sebastian Karcher.
================================================
Changes in version 1.0.476 [language API change]
================================================
- Separate main title from journals etc in language configuration
control interface. This changes the expected input on the language
control functions in api_control.js.
==========================
Changes in version 1.0.475
==========================
- Don't corrupt citation order in rebuildProcessorState()
==========================
Changes in version 1.0.474
==========================
- Fix a recently introduced bug that caused the suffix to be lost on the
leading partner of two consecutive numeric blobs.
==========================
Changes in version 1.0.473
==========================
- Fix bug in editortranslator collapsing (caused by a missing
offset value).
==========================
Changes in version 1.0.472
==========================
- Fix bug in empty string elements included in a numeric
blob series.
==========================
Changes in version 1.0.471
==========================
- Implement citation-number collapse on grouped elements.
==========================
Changes in version 1.0.470
==========================
- Avoid crash observed with CMS Full Note in MLZ.
==========================
Changes in version 1.0.469
==========================
- Allow call-number variable (exceptionally) to abbreviate as a non-numeric number var,
despite being (presently) non-numeric in CSL-m.
==========================
Changes in version 1.0.468
==========================
- Attempt to solve LTR/RTL quandary (parens only, may mess
up RTL cite content).
==========================
Changes in version 1.0.467
==========================
- Add African Union, Arbitration, and ICJ (subjurisdiction to UN)
to jurisdiction data.
==========================
Changes in version 1.0.466
==========================
- Fix hanging bug in disambig_cites.js
- Force "any" when testing for multiple item types
- Add Romanian s with hanging comma (like cedilla) to
Romanesque character pattern match
- Add some code in an attempt to patch up parens behaviour
in some RTL environments (MS Word).
==========================
Changes in version 1.0.465
==========================
- Fix bug in jurisdiction condition evaluation.
- Recognize {stet} as shorthand for original field
content in ordinary field abbreviations.
==========================
Changes in version 1.0.464
==========================
- Use nand not anynot.
==========================
Changes in version 1.0.463
==========================
- Fix broken sort of single-field names sent to the
processor as ordinary personal names.
- Do not change page label from field content unless
citeproc.opt.development_extensions.static_statute_locator
is enabled.
==========================
Changes in version 1.0.462
==========================
- Fix leakage of name formatting parameters between bibliography
and citations.
- Boost disambiguation levels in bibliography if required.
- Gracefully degrade disambiguation levels when partners of
a disambiguated cite are removed from a document.
==========================
Changes in version 1.0.461
==========================
- Implement enhanced conditional syntax.
==========================
Changes in version 1.0.460
==========================
- Allow trailing matter on all cites in a procedural history
citation.
==========================
Changes in version 1.0.459
==========================
- Provide item type to getAbbreviation() where category may
be container-title and type may be chapter.
==========================
Changes in version 1.0.458
==========================
- Provide locale names mapping.
==========================
Changes in version 1.0.457
==========================
- Add "ca" to capitalisation skip list.
==========================
Changes in version 1.0.456
==========================
- Add "before", "after", "c", "through" and "et" to
capitalisation skip list.
==========================
Changes in version 1.0.455
==========================
- When comparing before-and-after name disambiguation
settings, avoid comparing given name settings when
the number of names is known to differ, as this can
potentially throw an error.
==========================
Changes in version 1.0.454
==========================
- Treat page as a numeric variable in is-numeric.
The is-numeric test should be generally available
on all variables, but this covers the most common
gotcha.
==========================
Changes in version 1.0.453
==========================
- Do not sub title for title-short on legal types (aligns
behaviour with other types).
==========================
Changes in version 1.0.452
==========================
- Fix bug in new conditional evaluation code exposed in some
JavaScript implementations.
==========================
Changes in version 1.0.451
==========================
- Really fix the bug in disambiguation rule selection.
Default now really is now by-cite. Really.
- Implement incremental application of disambiguate="true"
condition.
==========================
Changes in version 1.0.450
==========================
- Fix a bug in default disambiguation rule selection.
Thanks to @adamsmith and @mattchoj for reporting this.
==========================
Changes in version 1.0.449
==========================
- Fix a bug in rebuildProcessorState() that struck when
run a second time against an instantiated processor.
Thanks to Simon Hewitt for reporting.
- Add van, von, de and d' to the title-case capitalisation
suppression list.
- Code cleanup for conditional statements.
- Implement an optional not: prefix on individual argument elements
and add *-any and *-all forms for the following condition attributes:
* is-numeric
* is-uncertain-date
* locator
* type
* variable
* jurisdiction (MLZ only)
* page (MLZ only)
The changes above will make more compact CSL code possible
in complex citation styles.
==========================
Changes in version 1.0.448
==========================
- Do not capitalise the first character of an in-text
citation.
==========================
Changes in version 1.0.447
==========================
- Fix loss of delimiters on adjacent cs:number
nodes.
==========================
Changes in version 1.0.446
==========================
- Run updateItems() exactly once in rebuildProcessorState()
- Fix output mode selection in rebuildProcessorState()
==========================
Changes in version 1.0.445
==========================
- Do not remove uncited items in updateItems()
- Simplify code in rebuildProcessorState()
==========================
Changes in version 1.0.444
==========================
- Final fix for updateUncitedItems() (I hope).
- Apply subsequent-author-substitute only to namesets
rendered at the very beginning of a bibliography entry.
- Handle disambiguate="true" correctly.
- Render transformed long and short legal_case names with
variable="title" + form="short" and variable="title-short"
+ form="short" respectively.
------------------------------------
Mishandled or unimplemented features
------------------------------------
==========================
Changes in version 1.0.443
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug affecting updateUncitedItems().
==========================
Changes in version 1.0.442
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug affecting punctuation-in-quote. Thanks to
@adamsmith and @tipichris for reporting the fault.
==========================
Changes in version 1.0.441
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Do not force capitalisation of hyphenated first-position non-dropping
particles.
==========================
Changes in version 1.0.440
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Handle hyphenated name particles.
- Remove forced lowercasing of name particles with normal
name ordering.
- Refinements to new rebuildProcessorState() function.
==========================
Changes in version 1.0.439
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- New rebuildProcessorState() function provides a simple
API for building valid cites from a list of citation
objects.
The restoreProcessorState() has frequently been
misunderstood to provide the service of the new
function. I have not heard of any instances in which
restoreProcessorState() is used for its originally
intended purpose. I've noted in a comment that it is
deprecated, and unless there are objections, it will
be removed from the code at some point in the future.
==========================
Changes in version 1.0.438
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Implement loose matching of language variable for text-case
only. If the first two characters in the "language" variable
are "en" (case-insensitive), the language will be read as "en".
If the "language" variable has a value and it does not begin
with "en", the language is set to "tlh" (Klingon).
The behaviour is controlled by a processor toggle, with the
following default:
citeproc.opt.development_extensions.strict_text_case_locales [false]
Although loose matching behaviour is set as the processor default,
it diverges from the CSL Specification:
http://citationstyles.org/downloads/specification.html#non-english-items
For strict CSL-conformant behaviour, set the toggle as follows:
citeproc.opt.development_extensions.strict_text_case_locales [true]
==========================
Changes in version 1.0.437
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Be less aggressive about capitalising name
particles. Force particles to lowercase when
names are rendered in ordinary name order.
==========================
Changes in version 1.0.436
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix is-numeric conditional to test false against
an empty variable.
==========================
Changes in version 1.0.435
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Apply subsequent-author-substitute without regard
to name labels.
==========================
Changes in version 1.0.434
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in date parser that mistook a portion of a
time as a date element.
==========================
Changes in version 1.0.433
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix erroneous parallel treatment of Japanese case
cites in MLZ AmLaw/CMSFull.
==========================
Changes in version 1.0.432
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Avoid suppressing a semicolon following a period
in names. Addresses a fault report from Zotero
user Mira Bulo.
==========================
Changes in version 1.0.431
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix delimiters on repeat references to the same
item. Many thanks to Aurimas Vinckevicius for the
fault report.
==========================
Changes in version 1.0.430
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix numerous small issues around static section
locators. Disabling the option (the default) should
entirely disable the behaviour. Was not the case, now
fixed. Internal mappings for book, folio, sub verbo,
and issue labels were broken, also now fixed.
==========================
Changes in version 1.0.429
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix a fatal bug triggered by a single quote
surrounded by spaces, when wrapped in double
quotes by the style.
==========================
Changes in version 1.0.428
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Replace another array reference to a string object
with slice.
==========================
Changes in version 1.0.427
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Introducing JSON style and locale loading. Code is
contained in xmljson.js
==========================
Changes in version 1.0.426
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Squash a.sortkeys undefined bug for good.
==========================
Changes in version 1.0.425
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix "undefined" bug affecting certain locator labels
on legal types.
==========================
Changes in version 1.0.424
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Optionally a custom introduce stringCompare
function through sys. Thanks to Carles Pina
for the patch.
==========================
Changes in version 1.0.423
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix a bug affecting date sort keys consisting of less
than a full date generated via macro.
==========================
Changes in version 1.0.422
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Recognize all-uppercase variable names in input
field hack.
========================================================
Changes in version 1.0.421 [API CHANGE] (parallels only)
========================================================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Recognize extended date variables.
- Shift same-year suppression from original-date
back to issued.
- Provide a gender attribute on cs:number to allow
gender to be set to an explicit value. Useful when
alternative labels are applied to a variable on a
particular type.
==========================
Changes in version 1.0.420
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Eliminate the cs:generate node, as more trouble
than it will be worth.
- Use title as implicit fallback for title-short on legal
types.
==========================
Changes in version 1.0.419
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Small refinement to short-forming of legal type titles.
==========================
Changes in version 1.0.418
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix hereinafter.
==========================
Changes in version 1.0.417
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix a bug in trigraph support affecting
some JavaScript engines. Thanks to Simon
Hewitt for pinning these down.
==========================
Changes in version 1.0.416
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix a bug in space stripping that affected
some JavaScript engines.
==========================
Changes in version 1.0.415
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in text-case. Thanks to MTadd for the fault
report.
==========================
Changes in version 1.0.414
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Use lang tag on headline field if available.
==========================
Changes in version 1.0.413
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Set locale properly on language transform elements,
and suppress text-case="title" as appropriate within
each element.
==========================
Changes in version 1.0.412
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix breakage of short-form titles when option
main_title_from_short_title is enabled.
- Implement virtual variables title-main and title-sub,
controlled by main_title_from_short_title processor
option.
==========================
Changes in version 1.0.411
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix "section" bug affecting statutory types
==========================
Changes in version 1.0.410
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Make archive and archive-place variables multilingual
and open to abbreviation, addressing a need pointed
out by Titus Nemeth.
==========================
Changes in version 1.0.409
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix fatal bug in the handling of labels in cs:names
nodes called via macro from cs:substitute.
==========================
Changes in version 1.0.408
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Implement cite-group-delimiter
==========================
Changes in version 1.0.407
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Implement delimiter-precedes-et-al="after-inverted-name"
and delimiter-precedes-last="after-inverted-name"
==========================
Changes in version 1.0.406
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Allow italics on numeric strings.
==========================
Changes in version 1.0.405
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Do not apply initials to given names that begin with a non-romanesque character
unless the initials template contains "%s".
- Fix bug that prevented pluralisation of terms set by a single leading in-field
label abbreviation, with thanks to Ty Vichet for reporting the fault.
==========================
Changes in version 1.0.404
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Limit transliteration italics to title (exclude
container-title).
==========================
Changes in version 1.0.403
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Capitalise the first letter of a name particle if
it is the first-occurring word in a citation.
==========================
Changes in version 1.0.402
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Add an exception for Hungarian names, to control name ordering. To
invoke the exception, set the item default language to "hu", or set
an "hu" tag on the name field. The behaviour for the Vietnamese
exception ("vi" -- previously implemented incorrectly as "vn") has
aligned to recognise a default language on the item.
==========================
Changes in version 1.0.401
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Treat a top-level cs:choose as a unit within cs:substitute
- Fix hereinafter support
==========================
Changes in version 1.0.400
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Drop creator labels when generating sort keys.
- Ignore genre variable when evaluating parallels for legal types.
==========================
Changes in version 1.0.399
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Add option to disable shortTitle as short form
and enable main title / short title parsing
(the latter remains to be implemented)
- Protect against Day Zero in the embedded date
parser.
- Suppress affixes when generating wrapped cites.
==========================
Changes in version 1.0.398
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Strip affixes from citation rendered with link wrapper.
==========================
Changes in version 1.0.397
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Protect against zero as a day value in date parser.
==========================
Changes in version 1.0.396
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Capture locator_txt and suffix_txt values for use with
cite wrappers in next-generation RTF Scan.
==========================
Changes in version 1.0.395
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Provide for applying arbitrary wrappers around
cites. Function has access to unique item ID supplied
by calling application.
==========================
Changes in version 1.0.394
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix infinite loop in by-cite disambiguation with
disambiguate-add-givenname when given name values
are empty. Thanks to johannes.kruse for reporting
the fault.
==========================
Changes in version 1.0.393
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix a bug in cs:substitute suppression affecting nested names
constructs. Many thanks Sebastian Karcher for the fault report.
- Fix a bug in name label overrides with nested names
constructs.
Test covering both issues is here:
https://bitbucket.org/bdarcus/citeproc-test/src/ab136a6aa8f2/processor-tests/humans/substitute_SuppressOrdinaryVariable.txt
==========================
Changes in version 1.0.392
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in gender assignment affecting some variables
in some styles (including edition in CMS). Thanks to
Gracile for reporting the fault.
==========================
Changes in version 1.0.391
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix a bug in raw date parser affecting partial
Chinese/Japanese dates.
==========================
Changes in version 1.0.390
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Use gender fallbacks when evaluating ordinals only
if neutral term was explicitly defined.
==========================
Changes in version 1.0.389
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Correctly handle locales that have no ungendered term
defaults.
- Implement limit-day-ordinals-to-day-1.
==========================
Changes in version 1.0.388
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bugs in locale ordinals affecting gender
alignment and CSL 1.0.1 ordinal term sets provided by a
style.
==========================
Changes in version 1.0.387
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Implement CSL 1.0.1 ordinals.
==========================
Changes in version 1.0.386
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Be a little more conservative in pluralisation.
- Use default locale always for accessed term,
aligning behaviour with accessed date variable.
==========================
Changes in version 1.0.385
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- In multiple (multi-lingual) layouts, always use
the default-locale (explicit or en-US implicit) to
render the "accessed" date variable.
==========================
Changes in version 1.0.384
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Pluralize terms for all numeric variables containing
a hyphen without backslash escape or an en-dash.
==========================
Changes in version 1.0.383
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Tie in Lithuanian CSL locale.
==========================
Changes in version 1.0.382
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Escape affixes on cs:number.
==========================
Changes in version 1.0.381
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix sorting of strings that begin or end in [, " or '.
No special handling for such characters inside the string
yet, we'll see if there are complaints.
==========================
Changes in version 1.0.380
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix another bug affecting unknown locales defined within
a style.
==========================
Changes in version 1.0.379
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix a small but glaring bug in conditional logic behind
multi-locale layouts.
==========================
Changes in version 1.0.378
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Honor the punctuation-in-quote attribute in multi-locale
layouts.
==========================
Changes in version 1.0.377
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug that masked from view all locale nodes
embedded in a style that had an explicit xml:lang
attribute. Many thanks to MLZ user maras for putting
forward the use case that forced identification of
the fault.
==========================
Changes in version 1.0.376
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bugs in evaluation of per-layout locales.
- Fix a bug affecting numeric formatting of the
trailing date of a range -- zero-padding was not
being applied when requested.
==========================
Changes in version 1.0.375
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Adjust parallel cite pointers on delete. This is
not perfectly automatic; document may need an explicit
refresh to produce correct formatting after delete.
==========================
Changes in version 1.0.374
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Enable parallel cites only in position-sensitive
styles (already enabled only for legal item types).
==========================
Changes in version 1.0.373
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Handle reformatting parallel citations in a live document
more correctly.
==========================
Changes in version 1.0.372
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Tighten conditions for is-numeric test to conform
more closely to CSL specification.
- Abbreviate all numeric variables fed to cs:text with
form="short" using the "number" segment.
- Apply abbreviations before processing to entire strings
rendered via cs:number unconditionally on "number" segment,
but add entries to UI only if variable tests false for
is-numeric.
==========================
Changes in version 1.0.371
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Apply requested italics on transliterations only where
content has actually been transliterated.
==========================
Changes in version 1.0.370
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix an unfortunate bug in the assignment of affixes
to multilingual elements.
==========================
Changes in version 1.0.369
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- When rendering via cs:number, attempt to translate
the field string before processing.
==========================
Changes in version 1.0.368
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Add support for multilingual affix option on transliterated
content in the primary slot. Changes the control UI, which
now expects a list of 40 elements rather than 30 as before.
==========================
Changes in version 1.0.367
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Option to apply a workaround in HTML output for thin non-breaking
spaces, which render incorrectly on Windows XP systems. The
option is off by default. To turn the option on, set a toggle
on the instantiated processor:
citeproc.opt.development_extensions.thin_non_breaking_space_html_hack = true;
This should be used only for HTML intended for rendering by
browsers on the Web, and not for output intended for use as an
intermediate conversion format.
==========================
Changes in version 1.0.366
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Avoid a possible error when attempting to process
multilingual citations with bad parameters.
==========================
Changes in version 1.0.365
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- New syntax for embedding suppression requests
in abbreviation lists. Old (undocumented) syntax
to suppress subsequent fields was::
!authority,jurisdiction<<>>SCC
New syntax to suppress current field (which permits content to leak through on treaty or patent types) is::
!here>>>US
==========================
Changes in version 1.0.364
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Allow trailing content after {suppress} in a jurisdiction
"abbreviation" entry to leak through for patent and treaty
items types.
==========================
Changes in version 1.0.363
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Filter field category keys on object received
as argument to setLangPrefsForCites()
==========================
Changes in version 1.0.362
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Avoid crash when locator variable is accessed
in bibliography context.
==========================
Changes in version 1.0.361
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix the logic of the jurisdiction conditional test.
- Restore page and page-first to midVars list in the
parallel detection machinery.
==========================
Changes in version 1.0.360
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Optionally loosen conditions for parallel citations to include
article-journal and article-magazine types. Because the rules for
citing the segments of a serialized article (the use case for this)
vary between styles this cannot be made perfect for all cases
automatically, but this code gets something readable into place that
can either be used directly or tweaked to suit.
This feature is disabled by default. It can be enabled by setting:
citeproc.opt.development_extensions.handle_parallel_articles = true;
- Suppress italics when applied directly to non-romanesque strings in
a rendering node.
- Suppress supplementary multilingual info on subsequent partners of a
parallel citation.
==========================
Changes in version 1.0.359
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Honor {suppress} string on name parts
and ordinary variables.
- Refactor code for is-numeric test to
avoid unneeded runs of processNumber()
and to fix potential faults with tests
of multiple variables.
==========================
Changes in version 1.0.358
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix a bug in plurals detection in section
+ label + locator code.
==========================
Changes in version 1.0.357
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix parsing bug in section + label +
locator code for statutory items.
==========================
Changes in version 1.0.356
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Clean up code for combining section variable
with label and locator on statutory items.
==========================
Changes in version 1.0.355
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Recognize Hebrew characters as romanesque.
==========================
Changes in version 1.0.354
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Recognize endash when splitting out page-first
value.
==========================
Changes in version 1.0.353
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix long-standing bug affecting month names
when strip-periods was used on the date node.
==========================
Changes in version 1.0.352
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Suppress bold, oblique and italic font characteristics
on multilingual secondary and tertiary content.
==========================
Changes in version 1.0.351
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Avoid a processor hang when disambiguate="true"
and disambiguate-add-year-suffix="true" are both
set by the style.
- Amend processor CPAL license option to require display of
CSL attribution on a website used to distribute an
application that makes use of citeproc-js, as well
as in the application itself.
==========================
Changes in version 1.0.350
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Implement slot-specific affixes on multilingual
fields.
==========================
Changes in version 1.0.349
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Derive language of name from language of entry, if
no explicit value set on name.
==========================
Changes in version 1.0.348
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Preserve multi segment when cloning name objects.
==========================
Changes in version 1.0.347
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix a syntax typo that apparently broke the processor
in IE7. Thanks to Adam Vessey for the patch.
==========================
Changes in version 1.0.346
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Be a little smarter about mixed romanesque/non-romanesque
script in names, and allow explicit zh and ja set on name
to override name ordering assumptions derived from the
script used.
==========================
Changes in version 1.0.345
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Implement preferred form of
for small caps in rich text.
==========================
Changes in version 1.0.344
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Do not include year-suffix in citation-label when
generating ambiguous cite versions.
==========================
Changes in version 1.0.343
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Allow multilingual treatment of variables
that want to be short-formed.
==========================
Changes in version 1.0.342
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Prevent empty multi-form variables from throwing
empty objects on to the output queue.
==========================
Changes in version 1.0.341
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Be less shy about updating numeric citations when
reference list sequence numbers change.
==========================
Changes in version 1.0.340
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Provide for reversal of wrap_doi_and_url toggle in
a running processor, with thanks to Faolan for
pointing out this didn't work.
- Set processor version on uninstantiated CSL object,
with thanks to Carles Pina for pointing out that
previous treatment was cumbersome.
==========================
Changes in version 1.0.339
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Avoid breaking when multilingual when nil values are passed
to language configuration methods
- Disable lowercasing of characters with text-case="capitalize-all"
and text-case="title". The old behavior can be obtained by
setting citeproc.opt.development_extensions.allow_force_lowercase
to true.
- Reset internal ambigsTouched variable after use. This avoids
unnecessary busy-ness in repeated document refreshes on some systems.
==========================
Changes in version 1.0.338
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Tiny cleanup, dropping some unneeded code lines.
- Always set taintedCitationIDs as Object()
- Small changes to satisfy JSHint on some files.
- Be more disciplined about preserving submission
order when building registry from updateItems()
- Include year-suffix as sort key only in cs:citation.
cs:bibliography must be allowed to float freely.
- Provide for the forced rerunning of ambig sets
via updateItems()
==========================
Changes in version 1.0.337
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Clean up given names disambiguation updates.
(Code was not working correctly, but was being
rescued by inefficient calls in disambiguation
engine.)
- Eliminate memory leak in main disambiguation
loop.
==========================
Changes in version 1.0.336
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in the flagging of taints resulting
from changes in the year-suffix assigned to an
item.
- Recognize taints flagged by updateItems() when
processCitationCluster() is run.
==========================
Changes in version 1.0.335
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix a bug in author-only. A crash was caused in
numeric styles when the processor attempted to
handle the undefined "reference" term. Thanks to
James Jardine for reporting the fault.
==========================
Changes in version 1.0.334
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Align new treaty with legislation, bill and
gazette for purposes of internal backref ID
generation and section variable remangling.
- Implement paged returns from makeBibliography()
- Implement URL and DOI link wrappers in HTML output.
This is turned off by default. To enable, either
change the following value in state.js to true:
this.development_extensions.wrap_url_and_doi = true;
or set the value to true on the instantiated
processor:
citeproc.opt.development_extensions.wrap_url_and_doi = true;
- Implement "master" and "servant" conditions to complement
existing "true" and "false" on is-parallel attribute to
cs:group.
- Render locator-revision variable only once (aligns with
behavior of locator itself).
- Introduce new "treaty" item type, with optional locator
behavior similar to bill and legislation.
- Recognize "none" as a possible value on the and attribute
to cs:institution. This allows a inherited value to be
turned off.
- Some fine tuning of parallels detection mechanism for
legal types.
==========================
Changes in version 1.0.333
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Halfway to you-know-where.
- Allow locator-revision to be check with is-numeric
on the same terms as title (i.e. true if ends in a
number).
- Correct internal list of default locale mappings
to reflect currently available CSL locale files
and naming conventions.
- Protect against crash when locale term abbreviation
is entered in pages field without a following value.
==========================
Changes in version 1.0.332
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Add "director" to the list of creator names.
- Fix weird fault triggered in IE8 when setAttribute
function property is checked directly. Many thanks
to Phil Lord for tracking down the source of the
fault and identifying a means of addressing it.
- Fix a small bug in handling et-al in some
configurations. For details see:
http://forums.zotero.org/discussion/23322
==========================
Changes in version 1.0.331
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Break parallel detection when title exists on
either item, and title values do not match.
- In tracing markup mode (citeproc.opt.development_extensions.csl_reverse_lookup_support),
capture affixes in trace tag.
==========================
Changes in version 1.0.330
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Do not strip periods embedded in ordinary field strings
if they don't appear to be part of an abbreviation.
==========================
Changes in version 1.0.329
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Reverse requirement of page variable for rendering
of locator on statutory types, introduced at
1.0.327.
- Fix bug in relatively new code in disambiguation machinery,
triggered by an attempt to access a name form parameter
that has not been set in that case.
- Allow personal name replacement only on interview and
personal communication items.
==========================
Changes in version 1.0.328
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Apply leading embedded locator label to
item label if section is not present.
- Remove redundant text escapes (bug unmasked
by 1.0.324).
==========================
Changes in version 1.0.327
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Remove requirement of title variable for
generation of internal legislation_id value
on statutory items, and use either original-date
or issued in the value, but not both.
- Allow locator on statutory types if page variable
is non-nil.
==========================
Changes in version 1.0.326
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix backreferencing with reset of note numbers.
==========================
Changes in version 1.0.325
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Avoid disambiguation for statutory types
(bill, gazette, legislation).
- Make numeric evaluation of number variable
rendered via cs:number not depend on whether
page-range-format has been set.
- Introduce is-parallel condition. Condition is
robust; suppressing an element on which detection
of the parallel depends will not break detection.
- Fix a bug in static section labels code, with
thanks to Faolan Cheslack-Postava for reporting
the fault.
==========================
Changes in version 1.0.324
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Add locator labels needed for citing UK legislation.
- Implement embedded labels on number variable via cs:number.
This permits clean separation of label and locator for
amending act and target, needed for OSCOLA cites to
statutes with regnal dates, and probably other forms as
well.
- Consistently apply text escape to all output
strings. Repairs a fault identified by Rintze
Zelle.
==========================
Changes in version 1.0.323
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in embedded locator parsing, affecting legislation, bill
and order items in the extended processor.
==========================
Changes in version 1.0.322
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Use s. rather than sec. as the primary embedded abbrev
of section, with sec. mapping to exceptional Section term.
- Fill in missing bits of embedded locator label mappings
and reverse mappings.
==========================
Changes in version 1.0.321
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Set first-reference-note-number when ibid is detected.
The note number is needed in some styles (e.g. New Zealand Law)
that set ibid back-references without an ibid term, and so need
to use a supra-style short form reference to refer to the same
location in the source in this context.
- Avoid nil variables in parallel detection machinery.
- Use a more proper method of suppressing first-reference-note-number
on parallel cites.
- Add rule and title to statute and locator label terms.
==========================
Changes in version 1.0.320
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Allow the form of locator labels on bill and legislation
items to be controlled with a label-form attribute on
cs:number, and provide a freshly coded but simpler mechanism
for guessing plurality of the elements on these items.
- Always suppress subsequent renderings of the locator
variable when once rendered via cs:number, regardless
of how it is handled internally.
- Always respect the outermost value of label-form applied
to a macro via cs:text.
- Use only the first element of a locator set on a bill
or legislation item for is-numeric evaluation.
- Implement year-range-format as an option separate from
page-range-format
- Add optional terms year-range-delimiter and citation-range-delimiter
- Apply year-range-format to collection-number on legal types when
rendered via cs:number
- Parse out embedded labels from page and page-first as well as locator
when rendering via cs:number
- Render parsed-out page/page-first labels via cs:label, and implement
a page label test similar to locator label test to control
output. Introducing a page-label variable would be a cleaner way to
do this on the input side, but for the moment this serves the
purpose for style development.
- Provide for override of section marker on bill and legislation
pinpoint with abbrev. at start of section string.
- Insulate changes to item.locator and item.label from copy
held by calling application.
- Recognized pp. as equivalent to p. when parsing locator
abbrev. labels.
- Introduce a new "gazette" type for official gazettes
published by government, which contain amending acts and
legislation prior to codification.
- Suppress note number in parallel cites attached to a
master backreference.
- Be slightly more aggressive about applying page-range-delimiter
to ranges and detecting plural numbers.
==========================
Changes in version 1.0.319
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Recognize an explicitly defined page-range-delimiter term.
==========================
Changes in version 1.0.318
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Enable code from previous checkin on makeCitationCluster()
as well as processCitationCluster()
==========================
Changes in version 1.0.317
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Add the ability to extend the static statute locator
through the normal item.locator to the 1.0.316 version
checkin.
==========================
Changes in version 1.0.316
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Introduce new logic for bill and legislation items, controlled
by the following toggle:
citeproc.development_extensions.atomic_statutes = true;
By default, this toggle is currently set to false, which disables
the new behavior.
If the toggle is set to true, locator terms in the CSL section field
on bill and legislation items are rendered with locators parsed out
of the field using the abbreviation conventions here (with the
abbrev followed by a period in the field):
https://bitbucket.org/fbennett/citeproc-js/src/9bfa1bbd729c/src/load.js#cl-539
The effect is to force (or at least strongly encourage) the storing
of individual statutes as a set of multiple items in the calling
application, one per cited subunit. This is convenient where
research notes need to be associated with specific provisions,
rather than the entire statute. This is a better fit for the way
statutes are referenced in legal research and writing.
As noted above, this behavior is currently turned off by default.
==========================
Changes in version 1.0.315
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix a bug in disambguation, reported by Zotero
user @gauthamg
The reported fault led to substantial revision
of the disambiguation module, and fixes for several
small but significant bugs, including revisions to
three test fixtures that were demanding incorrect
output, and a memory leak on the givens segment of
registry disambig objects.
==========================
Changes in version 1.0.314
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix the ItemObject crash bug. I mean it this time.
==========================
Changes in version 1.0.313
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- The change intended in the previous release, but in a
form that actually works.
- Avoid crash on comment node when this.development
_extensions.csl_reverse_lookup_support = true;
==========================
Changes in version 1.0.312
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Be indifferent to the relative position of collection-number
and original-date in the cite when suppressing the latter
for equivalence. Restrict behavior to legal_case type.
==========================
Changes in version 1.0.311
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Be safer when skipping past a nil ItemObject in
processNumber()
==========================
Changes in version 1.0.310
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Quash year if it matches collection-number rather
than volume, to align behavior with expectations of
legal style suite.
==========================
Changes in version 1.0.309
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in institution-entire var quash code
- Fix bug in macro id tracking code.
==========================
Changes in version 1.0.308
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Recognize !varname<<< subsequent var quash syntax
in institution-entire abbreviation segment.
==========================
Changes in version 1.0.307
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Avoid crash when cs:number is used to render locator
on an item with no supplementary data object.
==========================
Changes in version 1.0.306
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Implement wrappers to flag the group, macro
and rendering nodes traversed to produce each
element of output. This is off by default. To turn
it on (with HTML output only), in
this.development_extensions.csl_reverse_lookup_support = true;
There is no runtime option for this behavior; the
change must be made in the source.
- Simplify the tracking and substitution of names, for use
with hereinafter refs and personal name (i.e. "the author")
substitution when citing personal correspondence.
==========================
Changes in version 1.0.305
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Detect unparsable strings as renderable date content.
==========================
Changes in version 1.0.304
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Restore is-plural test, for use with names. Off-CSL
extension, allows use of item-type-specific non-standard
pluralized labels set with value="txt" with standard cs:names
variables. Styles can change first, followed by data if
new names variables a adopted in CSL and supported by
Zotero and other CSL-consuming applications.
==========================
Changes in version 1.0.303
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix a bug affecting numeric styles with second-field-align
with some combinations of input.
- Allow use of (off-CSL) text-case="normal" attribute
value to suppress multi-number rendering on cs:number.
==========================
Changes in version 1.0.302
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Detect ibid correctly when separate citations are in
the same note.
==========================
Changes in version 1.0.301
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Suppress text-case="title" on items that carry a
jurisdiction value.
==========================
Changes in version 1.0.300
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Eliminate "subjurisdiction" label, as "jurisdiction"
seems adequate for use cases.
- Introduce a "subjurisdictions" test with a numeric
value. Evaluates true if number of jurisdiction levels
in jurisdiction variable (minus one) is equal to or greater
than value.
- Make page-first a first-class variable on receipt
(deriving value from page variable), and eliminate
(most) reprocessing code from cs:text and cs:number.
- Fix a bug that prevented strip-periods from taking effect
when text-case was used.
- Allow suppression of multiple variables with in-abbreviation
"!varname1,varname2<< fi_FI) for Finnish locale.
- Fixups for control of text-case by language:
(1) Normalize the extracted field content to lowercase for
comparison.
(2) Treat unparseable values as non-English.
(3) Supply a method for registering exceptional strings that should
be recognized as English, regardless of other logic. Usage is:
citeproc.setEnglishLocaleEscapes(["angl", "ingl"])
With the setting above, a value of "Anglais" in the language field
will treated as equivalent to "en".
==========================
Changes in version 1.0.286
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Use entire jurisdiction string for subjurisdiction
- Include _ in regexp to permit archive_location variable in hack syntax.
- More certain logic for discriminating between in-text and in-note references
for ibid purposes.
- Never remember output from the authority variable as author for name suppression
et cetera.
==========================
Changes in version 1.0.285
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Protect against crash when attempting to render
the (off-CSL) hereinafter variable without
abbreviations support.
==========================
Changes in version 1.0.284
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Implement suppression of subjurisdiction "short-form"
if it matches the beginning of container-title "short-form".
The subjurisdiction variable, and so this facility, are used
when rendering legal items only.
==========================
Changes in version 1.0.283
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Loosen conditions for replacement of en-dash
with hyphen when rendering page and locator variables
via cs:text.
==========================
Changes in version 1.0.282
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in DOM parsing module, affecting styles
formatted with closing tags on the same line.
==========================
Changes in version 1.0.281
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in nested quote flipflop handling.
- Use CSL original-date rather than issued for
legal types capable of parallel referencing
(legal_case, bill, legislation).
==========================
Changes in version 1.0.280
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Do not crash when attempting to normalize undefined affix value
in rtf or plain text mode (html mode was already protected, the
other modes had been overlooked).
==========================
Changes in version 1.0.279
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Convert hyphen to en-dash when rendering page variable
as cs:text, limiting to simple numeric ranges and allowing
overrides, with -- forcing en-dash and \- forcing hyphen.
(override behavior aligns with that of cs:number)
==========================
Changes in version 1.0.278
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Do not apply year suffixes if the first increment of disambig parameters returns no clashes.
- Allow authority variable to be handled via cs:names
==========================
Changes in version 1.0.277
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Recognize ibid position for in-text citations (fixes a regression).
- Streamline key structure for "hereinafter" (an as-yet-off-CSL
variable accessible through the abbreviations list facility).
==========================
Changes in version 1.0.276
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Recognize \- and -- as overrides forcing hyphen or
en-dash respectively, in numeric variable processing.
As noted under 1.0.275 below, most entries will be rendered
correctly, the override syntax can be used to address cases
where the syntactic meaning of a plain hyphen in input cannot
be derived reliable from context.
==========================
Changes in version 1.0.275
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Assure that the section variable is a string
when parsing as string.
==========================
Changes in version 1.0.274
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Set any numeric string with "&" to plural when testing for pluralism.
This fixes a regression that appears to have crept in around processor
version 1.0.220.
- Move page mangling inside numeric element parse, when using numeric
processing for locators. Not perfect: leaf numbers formatted like
1-15 will get an en-dash. But leaf numbers are rare, and that small
error will be rarer still. The alternative would be to require
users to enter en-dash rather than hyphen as appropriate, which
seems a poorer choice.
==========================
Changes in version 1.0.273
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Return is-numeric true against title variable
when it ends with a number (used in styles that
require a comma after title only in this case).
- Some improvements to en-dash delimiter assignment
and to plurals detection.
==========================
Changes in version 1.0.272
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Correctly handle given names that have a
lowercase suffix appended with a hyphen
when converting to the initialed form.
==========================
Changes in version 1.0.271
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Ignore "strip-periods" on URLs, true numbers and
locators. This may face some more adjustment as reports
roll in, but it seems to be broadly right.
==========================
Changes in version 1.0.270
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Allow "hereinafter" variable (CSL 1.0mlz1 schema)
in parallel legal citations.
==========================
Changes in version 1.0.269
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix regression in forced values on plural attribute.
==========================
Changes in version 1.0.268
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in by-cite disambiguation affecting cites with two
names sharing the same surname.
==========================
Changes in version 1.0.267
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Protect systems missing locale terms needed for
section variable parsing from corruption in the
field.
==========================
Changes in version 1.0.266
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in flipflop triggered by certain
combinations of mismatched quotation marks.
==========================
Changes in version 1.0.265
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Map "event" var to the "title" abbreviation
list segment.
- Add "event" to the list of multilingual variables.
Enables multilingual, and also short-forming via
abbreviation plugins.
- Parse out embedded pinpoint label specifiers from
the "section" variable. For legal support.
==========================
Changes in version 1.0.264
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Avoid clobbering name-part decor when a cs:names
element is used in the context of cs:substitute.
==========================
Changes in version 1.0.263
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fall back to next-best disambiguation form on final failure when
performing names-based disambiguation.
==========================
Changes in version 1.0.262
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Suppress cite delimiter when cite suffix ends in a comma.
==========================
Changes in version 1.0.261
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in disambiguation logic that could cause a
hang when disambiguate="true" was used, but did not
succeed.
==========================
Changes in version 1.0.260
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix disambiguation logic, with a hat tip to Andrea Rossato
for pointing out the logical flaw in the citeproc-js code.
In the new configuration, some disambiguation operations
will run faster, there is less code, and it is a bit easier
to follow.
The mail relating to this has apparently disappeared from the
xbiblio-devel archive on SourceForge, but has been archived for
posterity in the ./attic.
==========================
Changes in version 1.0.259
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Turn parentheses flipping on or off in both
item prefix and item suffix.
==========================
Changes in version 1.0.258
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Flipflop parenthesis and square brackets based on
citation prefix/suffix content. A simple and slightly
rough implementation that will probably cover all use
cases for this without causing confusion (touch wood).
This behavior can be turned off with the following toggle
if it causes any trouble:
citeproc.opt.development_extensions.flip_parentheses_to_braces = false;
- Use subsequent, not ibid, if multiple discrete citations
exist in the preceding footnote.
==========================
Changes in version 1.0.257
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Migrate a lone locator at the end of a parallel
series of legal_case references to the same case
(by title) to first position. Needed for the OSCOLA
style, in which subsequent parallels disappear in
subsequent references.
- Fix a small bug in text-case="title" (leave things with
capital letters in them alone, if the title as a whole
isn't all caps).
==========================
Changes in version 1.0.256
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Remove DOMParser declaration from xmldom.js,
that wasn't deleted in the earlier change.
==========================
Changes in version 1.0.255
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix abbreviations fallback. "default" entries
and senior jurisdiction abbreviations will be
applied to juniors, and copied to them for
editing.
==========================
Changes in version 1.0.254
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Implement year ranges in institutional abbreviations,
for use in generating official reporter names for
legal cases.
==========================
Changes in version 1.0.253
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Do not throw a warning to output if parallel cite
truncation results in an empty cite, and quash superfluous
delimiters for cites that render empty in this case.
- Remove ActiveXObject and XMLHttpRequest var declarations
from xmldom.js. These had bad side effects because a var
declaration of a global function wipes out the function
within the scope. Go figure.
==========================
Changes in version 1.0.252
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Declare ActiveXObject and XMLHttpRequest inside function
rather than globally in xmldom.js.
- Allow declaration of in-style locales for which there is
no corresponding CSL locale file.
- Bugfixes for prefix terminal punctuation logic.
==========================
Changes in version 1.0.251
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in term capitalization following an item prefix ending in a
full stop.
- Fix bug in number collapsing; assure that numeric delimiter joins
are only imposed if the number nodes occur in different citations.
- Fix bug in abbreviations handling; open a requested jurisdiction segment
even if the string to be abbreviated is empty.
- Implement parsing of locator labels from locator string, when
locator label is empty or "page". This is a first step toward proper
statute support, which will require localized locator labels
embedded in the locator string. If not desired, the behavior can be
turned off with:
citeproc.opt.development_extensions.locator_label_parse = false
- Implement three attributes for testing the characteristics of a
date variable:
has-year-only
has-month-or-season-only
has-day-only
These attributes are experimental, not yet in the official CSL schema.
==========================
Changes in version 1.0.250
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix delimiter bug affecting institutional names.
(Hat tip to Zac Howarth for reporting the fault)
==========================
Changes in version 1.0.249
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Open a new abbreviations segment if it is
missing when called.
==========================
Changes in version 1.0.248
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Clean up sort keys. Fixes some sort breakage.
==========================
Changes in version 1.0.247
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Provide for abbreviation of the publisher field.
- Do not capitalize first-occurring term when it is
preceded by a prefix that does not end in terminal
punctuation.
==========================
Changes in version 1.0.246
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Large changes to multilingual language configuration
and rendering. A distinction is now drawn between
language roles (original, transliterated, and translated
forms of a field) and roles assigned to particular
field categories: persons, institutions, titles,
publishers and places. For each category, any of the
original, transliterated and translated forms can be
used as the primary entry, and any remaining forms can
be used in the trailing brace-enclosed supplement.
(If the explanation above sounds confusing, take a look
at the Preferences -> Languages panel in the MLZ client,
it should be immediately apparent how things work.)
==========================
Changes in version 1.0.245
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Extend delimiter oops to cover objects removed
from output queue during parallel cite processing.
==========================
Changes in version 1.0.244
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Preserve multi segment when cloning names.
==========================
Changes in version 1.0.243
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix suppression of editor (and other) name variables
rendered via cs:substitute.
==========================
Changes in version 1.0.242
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in strip-periods. Thanks to Liam McHugh-Russell
for reporting.
==========================
Changes in version 1.0.241
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Always honor the requested jurisdiction when returning
abbreviations.
==========================
Changes in version 1.0.240
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Introduce subsequent-parallel position attribute
value for conditions.
==========================
Changes in version 1.0.239
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Guarantee that loadAbbreviation returns a meaningful
jurisdiction key even if raw string for abbreviation is empty.
==========================
Changes in version 1.0.238
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Use a static function for getAbbreviation, supplying
styleID as an explicit parameter.
==========================
Changes in version 1.0.237
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in stop-last attribute to cs:institution
- Allow match of parent jurisdiction when item jurisdiction
field contains additional subelements.
- Fix bug in near-note evaluation
- Implement reverse-order attribute on cs:institution, which
had been overlooked
- Fix bug in "classic" abbreviation substitution
- Add part-separator for use on cs:institution
==========================
Changes in version 1.0.236
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Tie "classic" abbreviations to new "classic" type
of MLZ extended schema.
- Introduce "{suppress}" token for suppressing person
name output via an abbreviation list engine.
- Allow value of zero (0) on use-first and use-last
attributes to cs:institution, to suppress institutional
affiliations.
- Bugfixes for hereinafter support.
- Make hereinafter abbreviation variable testable.
==========================
Changes in version 1.0.235
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Rename obscure "term_sibling" stack variable to slightly less
obscure "group_context".
- Introduce new attributes subgroup-delimiter and
subgroup-delimiter-precedes-last on cs:group element, and recognize
the and delimiter as well. The publisher and publisher-place
variables will now be read nad rendered in parallel only when
subgroup-delimiter has been set to a value.
- Introduce new stop-last attribute on cs:institution, and loosen
default behavior of use-first to allow inclusion of the first element
even if it is the only element. The stop-last attribute has the same
effect as use-last (i.e. it trumps use-first in the event of an overlap),
but renders nothing for the portion of the name that it covers.
- Introduce oops attribute on cs:group. This is a very specialized
attribute for the specific situation where a name with content may
render as nil due to abbreviation logic. In this case, the oops string
value will be substituted for the group delimiter two levels above
the group on which the oops is set. While messy, this avoids the need
for (even messier) syntax that would be needed to check whether
a cs:names element will produce output under various combinations of
options, translation, transliteration and abbreviation transformations.
- Remove instituition-use-first attribute.
- Widespread refactoring of group-conditional logic, particular as
related to cs:names and cs:substitute. Our tests all pass.
- Apply title abbreviations to "genre" and "title-short". The former
as just overlooked. The latter may seem a little odd, but including
this field for abbreviation purposes will help consistency.
==========================
Changes in version 1.0.234
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Assure that processor cannot crash when getAbbreviation
is undefined.
==========================
Changes in version 1.0.233
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Protect against attempts to abbreviate when getAbbreviation is undefined.
- Avoid attempt to append an undefined to the output string in queue.js
- Extend abbreviations mechanism with a jurisdiction segment.
- Step through specific jurisdiction and the default segment when performing
full-field matches, and return default from getAbbreviation()
if the hit occurs there.
==========================
Changes in version 1.0.232
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Avoid crashing processor when (extended, off-CSL
institution-use-first test attribute is invoked before
any names have been rendered.
- Come minor code cleanup.
==========================
Changes in version 1.0.231
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix a bug in abbreviation segment assignments
that affected the publisher field.
==========================
Changes in version 1.0.230
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Separate abbreviation segment for transforms of entire
institution string from that for institution parts.
==========================
Changes in version 1.0.229
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix a bug in registry updating that could trigger
a processor crash under some circumstances. Many thanks
to Zotero user anark for patient work on reproducing
the bug.
==========================
Changes in version 1.0.228
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix a bug in initialize="false" behavior.
- Fix bug in suppression behavior of cs:group.
==========================
Changes in version 1.0.227
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Clean up "tmp.area" and "build.area" flags, providing separate
flags for area key (area), _sort extension (extension), and
root area node name (root).
- Fix breakage in bugfix for generation of sort keys via macros
containing cs:names.
==========================
Changes in version 1.0.226
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in generation of sort keys via macros containing
cs:names.
- Small adjustments to parallel citation handling.
==========================
Changes in version 1.0.225
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Force a possible number to string before
performing a string match, in util_page.js.
- Set static midVars array on instantiation of
parallel evaluation engine, rather than on
StartCitation().
- Restore setAbbreviations() function to citeproc
object. (Will default to a noop unless the
abbreviations mechanism attached to sys
supplies a corresponding hook function.)
- Prevent updateItems() from ever setting duplicate
items in the bibliography. Thanks to an anonymous
user who reported this possibility to the citeproc-js
bug tracker.
==========================
Changes in version 1.0.224
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
Many fixes and adjustments in this release, mostly in connection
with work aimed at improved legal style support with the MLZ
extended CSL schema.
- Do not apply the hard-wired collapse delimiter in numeric styles.
(thanks to Sebastian Karcher for reporting this fault).
- Note to self: Do not allow any parameter fed to slice() to be
undefined. Ever. It behaves differently on (some versions of)
Firefox and (some) other platforms.
- Reverse order of institutional name subunits. We're now
little-endian.
- When sniffing for CSL variables inserted via the "note" field hack,
use match() on string instead of exec() on compiled regexp. The
latter was failing on alternate runs of the processor, not sure why.
- Adjust parallel cite analysis machinery to recognize
collection-title as alternative to container-title, and
collection-number as alternative to volume.
- Implement an institution-use-first test. Painfully obscure, but
necessary.
- Discriminate neutral citations during parallel cite analysis, as
cites that contain neither container-title nor collection-title.
- In util_parallel.js, change condition on which to permit leading
dates to appear in subsequent cites. With this change, in OSCOLA,
dates will not be suppressed on a non-neutral cite without volume
number that follows a neutral cite. This seems to be correctly
targeted logic, safe for other contexts as well (including French
case and commentary clusters).
- Implement form="short" on cs:institution, for refactoring of an
entire institution name list. Implement best-match top-level
short-forms in institution names.
- Implement configurable skip-words list in locale.
- Implement "context" test attribute, to allow macros to change
behavior depending on whether they execute in cs:citation or
cs:bibliography.
- Code cleanup and slight increase in discipline for range
collapsing. Simple pure numeric ranges like 200-03 will work, and
ranges of mixed strings like n23 - n25 will work if the hyphen has
spaces on either side.
- Hack in special handling for titles ("Lord", "Lady"). Titles and
special sort separator should eventually be placed under locale
control, but for the present this gives us something to build on.
- Support text-case on cs:institution-part
- Set term_predecessor at start of each entry rendered via
getBibliographyEntries(). Wakes up automagic capitalization of
initial letter in leading terms.
- Recognize locator-revision as a segment on item, not Item when
evaluating conditionals.
- Pass through isInstitution flag for the benefit of _parseNames. Not
clear why this didn't cause problems earlier.
- Fix a silly bug affecting inherited name options
- Use some more orthodox commands to detect the presence of XML
things in preprocessing phase (xmle4x.js).
- Code cleanup: Move _splitInstitution and _trimInstitution from
util_names_divide.js to util_names_truncate.js, where they are now
actually used.
==========================
Changes in version 1.0.223
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Extend "Lord" hack (suppressing initialization as given
name) to cover "Lady" as well.
- Apply initialize-with string to name suffix as well
as given name elements.
- Wake up implicit initial term capitalization when
suppress-author is used.
- Fix bug in recenly added code permitting suppression of any
type of initial creator.
- Small refinement to rejoin numeric elements in cs:number
with en-dash.
- Treat numbers with leading zeros as strings in cs:number.
==========================
Changes in version 1.0.222
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- With suppress-author, suppress the first creator of
whatever type, and not only author per se.
- Add a "nickname" segment to the abbreviation lists, for use
initially with personal_communication items only. The segment
accepts full rendered personal names.
- Also at this symmetric milestone, some tidying up of the
development_extensions options:
citeproc.development_extensions.clean_up_csl_flaws
The processor goes to great lengths to control for duplicate
punctuation and spacing. Set this option to false will
disable this extra code, resulting in a tiny performance
improvement, but at the cost of triggering formatting errors
in many styles.
citeproc.development_extensions.locator_date_and_revision
Renamed from "locator_date", since the option relates to
two variables parsed out of the locator string.
citeproc.development_extensions.locator_parsing_for_plurals
Renames from "locator_parsing" to better reflect what the
option does. If this is true, the mulitple-dates code
will be used to identify plural/singular entries, which
may yield slightly better results.
citeproc.development_extensions.season_name_is_numeric_true
This hack has been dropped, together with its control
option. The same result (triggering is-numeric true for
season names) can now be accomplished by appending the field
term name after the season name.
The full set of development_extension toggles can be found
in state.js.
==========================
Changes in version 1.0.221
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Some small refinements to multiple numbers handling.
- Provide for numeric range mangling when rendering via cs:number.
- Fix a delimiter bug lurking in some recent code.
==========================
Changes in version 1.0.220
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Adopt a less aggressive (and less risky) approach to multiple
numeric elements. Features of the new behavior:
o Numbers are no longer sorted;
o Ranges are no longer evaluated;
o Delimiters entered by the user are respected.
Apart from those changes, the new machinery delivers the same
benefits as the original enhancement: recognition and formatting
of multiple numbers, smart plural identification, rcleanup
of trailing labels in the input string, and reliable identification
of numeric content (which can usefully be affixed with a label) and
non-numeric content (which is likely meant to be presented
without a label).
(The new mechanism is safe to apply to the locator string,
if CSL extends in that direction.)
==========================
Changes in version 1.0.219
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- The internal date structure is now normalized immediately on
receipt of input. This change was needed for hereinafter support,
described below.
- Fix a small bug that would have affected the "classic" short-form
feature introduced in 1.0.214.
- Recognize publisher abbreviations supplied via an abbreviations
list.
- When suppress-author is set on a legal_case item, suppress the
title rather than the author. In context, this normally appropriate
even if the item has an author.
- In subsequent-author-substitute-rule options, rename "partial" to
"partial-each", and add a "partial-first" option.
- Implement the "hereinafter" segment of the abbreviation list
structure. Key is formed from the first-mentioned author, the
title, the item type, the date, and the item jurisdiction. The
"hereinafter" variable will render only if the user supplies
a value via the abbreviation list mechanism.
- Provide an option to permit raw date parsing to be turned off.
As this is triggered by a special date input structure, there
will normally not be a reason to disable the behavior on purpose,
but just in case it can be turned off with:
citeproc.development_extensions.raw_date_parsing = false
==========================
Changes in version 1.0.218
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Add locator-revision variable, which consists of the trailing
string left over after parsing out locator-date (if any). Disabling
of this extension is controlled by the same locator_date toggle.
========================================
Changes in version 1.0.217 [API warning]
========================================
----------------------------------------------------------------
API change with default citeproc.opt.development_extensions=true
----------------------------------------------------------------
- Fine-grained control over extended functionality. The following
settings are enabled by default in the processor. Each can
be turned off by setting the relevant value to false. A brief
description of each extension is given below.
citeproc.development_extensions.field_hack = true;
citeproc.development_extensions.locator_date = true;
citeproc.development_extensions.locator_parsing = true;
citeproc.development_extensions.season_name_is_numeric_true = true;
field_hack
This is the hack syntax recognized in the "note" field, as
"{:fieldname: value}".
locator_date:
This extension is documented in the citeproc-js CSL supplement.
http://gsl-nagoya-u.net/http/pub/citeproc-js-csl.html#locator-date-variable
locator_parsing:
This extension applies the numeric parsing described in the citeproc-js
supplement to locators. This affects plural detection, the is-numeric
condition, and (the the schema permits) allows the locator to be rendered
using cs:number. If this option is enabled, it is advisable to render
locators using cs:number.
This change allows the processor to distinguish between leaf numbers,
which might take the form "9-15" and ranges, which the processor will
recognize only if written as "9 - 15" (with spaces on either side of
the hyphen). Both forms will render in the same way, but the latter
will be recognized as plural, and the former as singular.
season_name_is_numeric_true
When this extension is enabled, the English season names "Winter", "Spring",
"Summer", "Fall" and "Autum", when the occur by themselves in a numeric
field, will evalute as "true" with the is-numeric conditional.
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Change name of "updated-date" to "locator-date".
==========================
Changes in version 1.0.216
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Implement variable "updated-date", parsed out from the
user-supplied locator. Like the "note" field hack for
CSL 1.0 variables on available on an item type, the parsing-out
and insertion of this non-CSL 1.0 variable can be turned
off by setting:
citeproc.opt.development_extensions = false.
The extension is useful for citing looseleaf services
commonly used in law, the dates of which vary depending
on the page cited and the time at which the resource
was referenced. This permits a single item in Zotero to
represent the volume on the library shelf, the page date being
optionally supplied by the user when citing into a document.
- Introduce a hack to permit English season names "Winter",
"Spring", "Summer", "Fall" and "Autumn" to test true in
the is-numeric conditional. This permits styles to supply
the standard label term to these strings (as in "Fall edn").
This is an acknowledged hack, and the behavior can be turned
off by the same setting shown above:
citeproc.opt.development_extensions = false.
- Remove roman half-width spaces when parsing potential Japanese/Chinese
date strings. The same change has been applied to the standalone
date parsing module shipped with Multilingual Zotero.
- Evaluate subsequent-author-substitute only under the cs:bibliography
node to save a few cycles.
- Perform name transliteration and short-forming after truncating
namesets, to save a few cycles.
- Add a "classic" segment to the object that holds abbreviation
lists. Keys on this object are populated by author + ", " + title
for untyped (plain "document") input objects only. This permits
full descriptive information for classic resources (i.e. established
sources with citation conventions that are independent of a specific
publisher) to be mapped to the commonly accepted abbreviation required
by an individual style.
==========================
Changes in version 1.0.215
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Implement fine-grained subsequent author substitution
(upcoming CSL 1.0.1 proposal)
==========================
Changes in version 1.0.214
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Coerce date-part elements received from calling
application to integer.
==========================
Changes in version 1.0.213
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix delimiter bug reported by user sinophil.
==========================
Changes in version 1.0.212
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Implement cs:generate element, for cross-references
to an item with modified details in the bibliography.
- Implement leading-noise-words attribute, for reversal
or dropping of insignificant words at the start of a
title or other string.
==========================
Changes in version 1.0.211
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in delimiter-precedes-last="always", reported
by Sebastian Karcher.
- Disambiguate on "primary-name" rules only if there is
a clash with another primary name.
==========================
Changes in version 1.0.210
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Small adjustment to name disambiguation when a "*-with-initials"
rule is used. Initials will not be added unless they contribute
something to disambiguation.
==========================
Changes in version 1.0.209
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Screen empty fields from persistent recording by getAbbreviation.
- Initialized abbreviations lists from items added to the registry.
- Recognize event-place as well as publisher-place for list-based
abbreviation, and hold abbreviations for both under a single
"place" type key.
==========================
Changes in version 1.0.208
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Properly escape CSL-supplied affix strings. Fixes problem with superscripted en-dashes
in some numeric styles, among other things.
- Fix output queue bug that could cause delimiters to be swallowed (2401:c8960e2cd591).
- Change to API for external abbreviations management, to allow
more efficient handling of very large lists. Optional sys.getAbbreviations()
function is now sys.getAbbreviation().
- No not rely on quoted escapes, but strip enclosing quotes for the
present.
- Adopt extraction conventions for cs:number described at
http://gsl-nagoya-u.net/http/pub/citeproc-js-csl.html#cs-number-cs-label-and-is-numeric
==========================
Changes in version 1.0.207
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Recognize quoted escapes on cs:number.
==========================
Changes in version 1.0.206
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Recognize fa_FA as the standard locale for
calls to plain fa.
- Recognize suppress-min="0" as specific to a
cs:institution or cs:name node. (This attribute
is outside of standard CSL.)
==========================
Changes in version 1.0.205
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in xmldom.js affecting cs:names.
==========================
Changes in version 1.0.204
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in date extraction code used in sort key
generation, affecting systems relying on xmldom.js.
==========================
Changes in version 1.0.203
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in position evaluation, in which labels were
not taken into account in determining whether a cite
referred to exactly the same pinpoint location as its
immediate predecessor.
==========================
Changes in version 1.0.202
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in reassignment and updating of year-suffix values.
Thanks to Zotero user brazuca for reporting the fault.
==========================
Changes in version 1.0.201
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix logic of date key generation from macros. Processor
formerly used the first-occurring date in the macro. With
the fix, conditional logic is recognized. The only constraints
are (1) that macros containing a date (somewhere) will generate
date keys only, with other nodes delivering an empty string; and
(2) that macros used for key generation should render exactly
one date node; rendering multiple nodes will result in a
misformatted sort key.
- Implement new boolean "initialize" attribute. When set to
false, full given names are normalized to use the initials
punctuation set by initialize-with. Not yet in official
CSL 1.0.
==========================
Changes in version 1.0.200
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- When attempting disambiguation, never include names that
fail to reduce the number of clashes.
- Fix typo in xmldom.js. Thanks to Greg Law for identifying
the fault.
- When sort order of citation-number is set to "descending",
reverse the order of citation numbers without reversing
the order of items.
- Implement gender-sensitive rendering of non-numeric
terms, based on gender assignment to item type (beyond
CSL 1.0).
- Implement jurisdiction conditional.
==========================
Changes in version 1.0.199
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix another bug in multilingual layouts, triggered by the
use of cs:number, strangely enough.
==========================
Changes in version 1.0.198
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in multiple (multilingual) layouts, affecting styles
that use multilingual citation layouts when a bibliography is
rendered. Bug spotted by Abbas Shahzadeh.
==========================
Changes in version 1.0.197
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Properly set and reset discretionary multilingual locale
during output operations. This fixes a bug in multilingual
bibliography generation identified by Maxim Nazarenko.
==========================
Changes in version 1.0.196
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Implement suppress-max attribute for cs:names
and fix bug in implicit conditional behavior within
cs:group when cs:names renders no output due
to suppress-min or suppress-max. (Note that neither
suppress-min nor suppress-max are valid in CSL 1.0).
- Treat numerals as lowercase letters when evaluating
text-case="title".
- Fix bug in editor-translator magical merging that
caused lone translators to disappear.
==========================
Changes in version 1.0.195
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Wake up strip-periods on month date parts.
==========================
Changes in version 1.0.194
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Render hyphen as en-dash in locator strings.
==========================
Changes in version 1.0.193
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in disambiguate="true" disambiguation, when used
together with disambiguate-add-names. Thanks to user
Zotero user bevweber for reporting the fault.
==========================
Changes in version 1.0.192
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Suppress only author, and only if it is the first-occurring
name, when suppress-author toggle is set. (The fix is slightly
more aggressive -- suppression will also occur if author is the
first of multiple variables set on the variable attribute of
cs:names. This affects only a single style at present (din-1505-2.csl,
in which "author" and "composer" are used as a pair).
==========================
Changes in version 1.0.191
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in near-note position detection. Was true
when when distance was zero upon the first reference
to the source. Now returns false in this case.
==========================
Changes in version 1.0.190
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in strip-periods when set on cs:text macro calls or
cs:group elements. Thanks to Liam McHugh-Russell for identifying
the error.
==========================
Changes in version 1.0.189
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Treat short-form titles as a separate variable
when sniffing for parallel cites.
- Remove "names" (encompassing any variable rendered
via cs:names) from the list of mid-cite variables.
- Remove legacy code that attempts to work with
"names" when sniffing parallel cites.
==========================
Changes in version 1.0.188
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix breakage in second-field-align when macro containing date is
used as sort key in cs:bibliography. Reported by Sebastian Karcher
(adamsmith).
==========================
Changes in version 1.0.187
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Provide a discriminator sequence hint on keys set during
author-grouped sorts, to prevent decay of the sequence during
final sort.
==========================
Changes in version 1.0.186
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Suppress only duplicate punctuation at end of citation
(do not suppress duplicate parens).
==========================
Changes in version 1.0.185
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix missing default delimiter and range delimiter
affecting styles that use collapse="year-suffix".
==========================
Changes in version 1.0.184
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Suppress inter-cite delimiter if subsequent prefix begins
with a comma.
==========================
Changes in version 1.0.183
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Do not suppress a semicolon delimiter when reconciling punctuation.
==========================
Changes in version 1.0.182
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- ownerDocument is a property, not a method.
Fixed in xmldom.js.
- Suppress text-case="title" transform when
(off-CSL) language variable begins with a valid
language tag that is non-en, or when default-locale
is non-en and language variable is either not set,
or set to a non-en value.
- Provide an option to remove behavior that is
not standard CSL from the processor for production
use.
- Use en-dash for collapsed citation ranges.
- Provide code for future configurability of both
page range and citation collapse range delimiter
as a locale term.
==========================
Changes in version 1.0.181
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Do not insert space as a placeholder when applying
strip-periods. In the only known use case in which this
is significant (preserving space in abbreviated journal
titles), it results in an incorrectly formatted string.
The new behavior is simpler, both to code and to explain,
reflects the plain meaning of the attribute name, and
conforms to the CSL specification.
- Correctly process top-level cs:names nodes (those without
a cs:substitute parent). This covers a recent CSL proposal,
which will allow the volume of name formatting code in many
CSL styles to be significantly reduced.
- Place suffix on cs:name-part nodes of name="family" outside
of a name suffix, when the name is rendered in "vanilla"
ordering (i.e. not in sort ordering). This brings the
processor into line with a recent proposal to allow affixes
on cs:name-part.
- Fix a delimiter bug affecting styles that disambiguate by
applying a year suffix, with collapsing, where year-suffix-delimiter
is not specified. No such styles exist as far as we know, but
it was a bug, and it's now fixed.
==========================
Changes in version 1.0.180
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Eliminate potential extraneous trailing space when applying
strip-periods.
==========================
Changes in version 1.0.179
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Honor givenname options set within macros when used as sort keys.
==========================
Changes in version 1.0.178
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Adopt a method for recognizing "sub verbo" term that does
not touch the input string shared with the calling application.
==========================
Changes in version 1.0.177
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Don't escape HTML superscript markup in output.
- Fix bug in quoted escaping of numeric field content.
==========================
Changes in version 1.0.176
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Record the processor styleID in citeproc.opt.
==========================
Changes in version 1.0.175
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Convert Unicode superscript characters to marked-up
equivalents in RTF and HTML output. This permits the
use of these characters in locale term strings where
superscript is required, while producing output that
will be reliably rendered by target applications.
==========================
Changes in version 1.0.174
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Correctly suppress "normal" font forms as the
top-level font declaration of their class, as this
can have unexpected side effects depending on the
style.
- Prevent leakage of formatting parameters between
the cs:name-part elements of different cs:names
nodes within the same cite.
==========================
Changes in version 1.0.173
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Extend dropping-particle handling implemented in
changeset 9dd55c95979b to names rendered in sort
order.
==========================
Changes in version 1.0.172
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Properly render encoded rich text markup embedded in
ordinal suffix terms.
==========================
Changes in version 1.0.171
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Ignore name terms that are missing from the locale files
when generating labels in cs:names.
- Log message with CSL.debug() rather than CSL.error()
when falling back from unknown locale.
- Log message with CSL.debug() rather than CSL.error() when
fixing up non-fatal but weird date values.
- Step past comment nodes silently (this is a simple noop
for the processor, so save the chatter in the log files).
==========================
Changes in version 1.0.170
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Do not attempt to replace en-dash with hyphen on
undefined value in CSL.Node.text.
- Ignore decorations array on cs:institution nodes.
***
Both issues reported by Faolan.
==========================
Changes in version 1.0.169
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Do not attempt to apply affixes to name parts
that evaluate false. Fault reported by
Faolan Cheslack-Postava.
==========================
Changes in version 1.0.168
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Provide missing insertPublisherAndPlace() function
in xmldom.js. WebKit systems will now run again.
- Attempt to execute publisherOutput only if it has
been instantiated for use.
==========================
Changes in version 1.0.167
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Replace several largely incomprehensible functions used
to generate alphabetic suffixes with a short function
from Avram Lyon that is concise, readable, and does the
same thing.
- Implement paired rendering and "and"-wise joins of multiple
publishers and publisher-places, where (a) rendered as the sole
text elements within a group, (b) with no affixes on the two
text elements, and (c) the data consist of semicolon-delimited
lists of equal length, and (d) (at least) name-delimiter
is supplied on the ancestor cs:citation or cs:bibliography
node. The "and" term used for the join, if any, is also that
specified on the ancestor node.
==========================
Changes in version 1.0.166
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Remove hasOwnProperty() condition wrapper
from key iteration loop used for the
match="none" condition evaluation. The target
variable might be an array, in which case
WebKit systems and Tracemonkey produce
differing results (WebKit filters the
indices with this function, Firefox doesn't).
- Recognize en-dash equally with hyphen when
evaluating page numbers for context pluralization.
- Some minor code cleanup.
==========================
Changes in version 1.0.165
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Protect against undefined skey and ikey elements
when removing names from citeproc.registry.namereg.
- Always use the shortest permitted form of names
when building item ambig keys.
- Reset advance_mode toggle when initializing
disambiguation engine.
- Avoid unnecessary reruns of the disambiguation
queue in disNames().
- Fix bad conversion of string to object in registry
dodeletes() method. This code is probably never used
anyway, but if it does, it will work correctly now.
- Remove unused debugging function from api_cite.js
==========================
Changes in version 1.0.164
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix a subtle bug in the interaction of the names-based
and cite-based disambiguation engines, affecting styles
that rely on names-based disambiguation with givenname
expansion.
==========================
Changes in version 1.0.163
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Recognize dates when entered in cheater syntax
(via the note variable). Syntax is:
{:original-date: 2001-01-10}
==========================
Changes in version 1.0.162
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Tell the truth when reporting label offsets to
the calling application.
- Remove some unused code relating to names.
- Further small adjustments to the handling of
name particles.
==========================
Changes in version 1.0.161
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix various small bugs in the parsing of name
particles and the application of formatting
and affixes to names.
==========================
Changes in version 1.0.160
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Make sorting work against the citation-label
virtual variable.
==========================
Changes in version 1.0.159
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Run processor in a try/catch to prevent
a crash during preview from blocking
reconstruction of the registry.
- Eliminate nesting closure that was causing
a non-fatal tag mismatch.
- Force all-uppercase terms to lowercase
(a hack that really should not be necessary,
and may not be required with recent fixes).
==========================
Changes in version 1.0.158
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Reimplement citation-label to permit configuration
of the generated string. The algorithm can be controlled
by adjusting the "trigraph" string in citeproc.opt.trigraph.
The string consists of a series of specifiers delimited by ":",
which define the format for strings generated against a
nameset corresponding in length to the position of the
specifier (beginning with 1). Each specifier must begin
with "A", and must consist only of characters "A", "a", and "0".
where "A" indicates a name boundary, and "0" indicates a
digit in the "issued" year.
==========================
Changes in version 1.0.157
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- A more comprehensive fix for "sub verbo" -> "sub-verbo",
that will work with match="all" with both forms of the
term.
==========================
Changes in version 1.0.156
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bugs in evaluation of match="all".
- Properly split and evaluate label names in
locator attribute on cs:if and cs:else-if.
- Special handling of "sub verbo", to treat it as
a single token on the locator attribute.
- Correctly encode guillemet character in find-and-replace
operation.
==========================
Changes in version 1.0.155
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- When initialize-with is not set on a name, and
the short form is used, and disambiguate-add-givenname="true",
jump immediately to the full name form, without trying
to disambiguate by adding initials. This conforms to the
CSL 1.0 specification.
==========================
Changes in version 1.0.154
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Do not flag style as position sensitive (thereby
disabling grouped sorting mechanism) merely
due to the fact that et-al-subsequent-min or
et-al-subsequent-use-first are set; set this
flag ONLY when these values differ from their
plain counterparts.
==========================
Changes in version 1.0.153
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Massive overhaul of names formatting code,
to make it maintainable. Several things that
were broken and basically unfixable in the
old code now work properly.
- Do not force lowercase on Celtic clan names.
- Do not add a stray period to titles in
Chicago note styles, when quotes run up against
the cite join delimiter because of a missing
page number in a subsequent cite.
- In in-text author-date styles that perform
collapsing (and in these styles only), group
citations by the author part of the string,
so that collapsing never fails due to the
vagaries of (say) date sorting. Addresses an
issue raised by Bruce D'Arcus.
==========================
Changes in version 1.0.152
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Correctly compose the forcing of itemIDs to string.
==========================
Changes in version 1.0.151
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Force all itemIDs to string on initial insert.
May avoid undefined citationID and pkey
errors.
==========================
Changes in version 1.0.150
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Some cleanup of core disambiguation code in disambig_cites.js.
Greater clarity, possibly a slight time saving.
- Normalize quote chars to avoid "sep is undefined" error on
mismatched quote marks.
- Fix bug in year-suffix assignment code.
==========================
Changes in version 1.0.149
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in flipflop nesting with RTF output.
==========================
Changes in version 1.0.148
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in the application of an explicit
year-suffix collapse delimiter to an implicit
year-suffix.
- Eliminate a couple of redundant code blocks that
would have triggered unnecessary disambiguation operations.
- Provide a skeleton function for embedding bibliographic data
adjacent to rendered bibliography entries.
==========================
Changes in version 1.0.147
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Debugging trace to help track down the cause of
"sep is undefined" error, should it persist.
- Hard-code a comma between cites with the same author
(hack to restore previous processor behavior, pending
changes to CSL to permit this delimiter to be controlled
explicitly)
==========================
Changes in version 1.0.146
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in isInstitution toggle introduced in last
set of changes.
==========================
Changes in version 1.0.145
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Require new isInstitution toggle with lone family name
element to force it to render as an institution.
- Do not truncate multiple variables on a name node
to a single variable in an in-text style unless in
citation area.
- Move an inter-name-variable delimiter from after a preceding
name label (wrong) to before the label (correct).
- Convert all apostrophes in content strings, not only the
first one encountered in the string.
- Do not merge identical editor and translator if the
combined term label is empty.
==========================
Changes in version 1.0.144
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Honor a fullname request in the bibliography,
regardless of what has happened with name
disambiguation settings in citations.
- Fix bugs producing "sep is not defined" and
"state.fun.decorate [params[0]][params[1]] is not a function"
errors.
- Fix institution delimiter bug.
- Adjust punctuation to satisfy French orthographic
rules.
==========================
Changes in version 1.0.143
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Do not apply text_escape when building strings
for purposes other than display. Fixes sort issues
on Scandinavian and other non-ascii character sets.
- Fix potentially serious bug in registry handing of
uncited items, that could result in incomplete
registration of internal item data.
==========================
Changes in version 1.0.142
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Provide itemID to bibliography entry wrapper
function, for use in HTML link wrappers and the like.
Thanks to Phillip Lord at Newcastle University for
exploring possible paths for this in the processor
code.
==========================
Changes in version 1.0.141
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix typo that would produce a (well, now "the",
unfortunately) "sep is undefined" error.
- Avoid lowercasing words within a name that
are in all caps, when no text-case transformation
is applied to the name.
==========================
Changes in version 1.0.140
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix some issues in the title case function.
- Always treat the year-suffix variable as rendering
output, for purposes of cs:group rendering suppression.
- Among the date variables, include only the issued date
when generating strings for disambiguation.
- Properly fix the colon suppression (software) bug.
- Do not add an and attribute to the implicit institution
node if none exists on the companion name node.
==========================
Changes in version 1.0.139
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Do not suppress a colon following a period when
adjusting punctuation.
==========================
Changes in version 1.0.138
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Properly reset state.tmp.suppress_decorations
in getCitationCluster().
- Avoid corruption of a leading apostrophe.
==========================
Changes in version 1.0.137
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Properly update the registry when items are added
via updateUncitedItems().
==========================
Changes in version 1.0.136
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Do not rely on localeCompare() if a collation is available.
Avoids erratic results from this function in Firefox Javascript
implementations.
==========================
Changes in version 1.0.135
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix undefined year-suffix-delimiter with implicit
year suffix.
==========================
Changes in version 1.0.134
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Raise output flag on page-first virtual
variable, so that it is not suppressed when
rendered as the sole content of a group,
or of a macro (with an implicit group wrapper).
==========================
Changes in version 1.0.133
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Quash ordinary variables rendered via cs:substitute.
==========================
Changes in version 1.0.132
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Wake up debug tracing in Zotero configuration of the processor.
==========================
Changes in version 1.0.131
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Do not escape mismatched quote marks.
==========================
Changes in version 1.0.130
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Map family name decorations to institutions
in xmle4x.js. Similar changes may be required
in xmldom.js.
==========================
Changes in version 1.0.129
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix minor spacing bug affecting ASA style.
- Tighten conditions for the automatic insertion
of spaces between user-supplied affixes and
citations to which they apply.
==========================
Changes in version 1.0.128
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Broaden the list of skip-words used by the title-case
function. Fixes regression from 2.0.9.
- Tighten conditions for identifying parallel citations
somewhat.
- Provide some protection against a processor crash when
parallel citation machinery missteps.
==========================
Changes in version 1.0.127
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Reflect extended name lists triggered by disambiguate-add-names
in bibliography as well as in citations.
==========================
Changes in version 1.0.126
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Bugfix for styles that failed to show year-suffix in the bibliography,
by slightly extending the conditions under which implicit year-suffix
is applied.
==========================
Changes in version 1.0.125
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Include all institutional authors when rendering, with
correct joins. For the present, the join to the last
institutional author is set always to the "long" form
of the "and" term, subject to feedback on proper behavior
and possible extensions to CSL.
Since I'm not sure of the correct treatment for institutional names
in author-date strings, we'll just open this up for the present, and
restrict names included again, if necessary, in light of user
feedback.
==========================
Changes in version 1.0.124
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Taint citations containing cites in which the number of names to be used
changes as the result of adding or editing another citation.
- Provide translations for container-title and collection-title
as well as title.
==========================
Changes in version 1.0.123
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Deliver U+2019 rather than U+02bc for apostrophes.
==========================
Changes in version 1.0.122
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Reset correctly after first citation rendering.
==========================
Changes in version 1.0.121
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Properly render a personal author that is succeeded by an institutional
author as the last entry in a nameset.
==========================
Changes in version 1.0.120
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Do not force characters to lower case when invoking
localeCompare().
==========================
Changes in version 1.0.119
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Introduce processor option to suppress the transliteration
of titles in bibliography and notes.
==========================
Changes in version 1.0.118
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Enable edition as a multilingual variable, and
force use of the global locale when rendering,
aligning multilingual behavior of this variable
with publisher and publisher place.
- Fix a stack error that occured when both citation
and bibliography were included in a style that
makes use of the context-sensitive locale switching
facility in citeproc-js.
==========================
Changes in version 1.0.117
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Escape the value of subsequent-author-substutute when
rendering bibliographies. This squashes the ??? bug
flat as a pancake.
==========================
Changes in version 1.0.116
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Combine editor and translator names only if the
editortranslator locale term is defined.
==========================
Changes in version 1.0.115
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Revise code for resstoring disambig_restore variable
after use, in response to reports of random inclusion
of extra names in citations, in styles that do not
even require disambiguation. This is not a guaranteed
fix; we will have to see what people discover in field
testing.
==========================
Changes in version 1.0.114
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Reset disambig_restore variable after use. Prevents disambiguation
parameters from leaking between references.
- Fix insane parameters in a style used for testing, which were not previously
triggering a failure because of the bug listed above.
==========================
Changes in version 1.0.113
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Apply formatting set on family name parts to institutions as well.
==========================
Changes in version 1.0.112
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Avoid carrying year-suffix forward to a following
reference when performing position-sensitive
citation updates.
==========================
Changes in version 1.0.111
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Avoid error when sorting items not yet added to the registry,
triggered in Zotero clients on attempt to enter multiple
citations in a style that applies sorting to citations.
==========================
Changes in version 1.0.110
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- 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.
==========================
Changes in version 1.0.109
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- 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.
==========================
Changes in version 1.0.108
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Prevent et al. truncation of name lists that are
less than et-al-min (or et-al-subsequent-min, depending
on context), when they are accompanied by a clash
partner with fewer names.
==========================
Changes in version 1.0.107
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Quash year-suffix on all entries that successfully
disambiguate on the basis of names or text added
with disambiguate="true".
==========================
Changes in version 1.0.106
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix a flaw in disambiguation logic that could
result in a processor hang, when a creator list
with fewer names that 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.
==========================
Changes in version 1.0.105
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Assure that all ids passed into an array or se
as a straight variable are stringified. Loosen
condition statements where appropriate to treat
numeric IDs of string and numeric type as
equivalent.
==========================
Changes in version 1.0.104
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Make restoreProcessorState() notice that the sequence
of citations has changed, and assign fresh citation
IDs to duplicate citations in the input.
==========================
Changes in version 1.0.103
==========================
-----------
Enhancement
-----------
- 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.
==========================
Changes in version 1.0.102
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Protect against undefined name.multi.main when
checking headline names for a name tag.
- Fix for undefined value bug. 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.
==========================
Changes in version 1.0.101
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- 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. Fault reported by Hem
Sras.
==========================
Changes in version 1.0.100
==========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Allow institutional names to collapse correctly in collapsing citations.
- Add heuristic code to identify Vietnamese names,
and make it optional.
=========================
Changes in version 1.0.99
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix loop constraint variable misassignment that was
a likely cause behind reported instability in word
processor plugins.
=========================
Changes in version 1.0.98
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix failure to honor et-al-subsequent-min
when it is smaller than et-al-min (which
it ordinarily is).
======================================
Changes in version 1.0.97 [API change]
======================================
------------
Enhancements
------------
- 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.
=========================
Changes in version 1.0.96
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix global variable assignment. Important for stability.
=========================
Changes in version 1.0.95
=========================
------------
Enhancements
------------
- 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.
======================================
Changes in version 1.0.94 [API change)
======================================
----------
API change
----------
- The input format for multilingual data changes in
this version. The previous 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.
=========================
Changes in version 1.0.93
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- 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.
=========================
Changes in version 1.0.92
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix ordinal suffix assignment to values
11 - 19 (for English, at least).
=========================
Changes in version 1.0.91
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Set circa rather than fuzzy on uncertain date
objects in the internal human-readable dates parser.
=========================
Changes in version 1.0.90
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Reimplement language conditions through
cs:layout rather than cs:choose.
=========================
Changes in version 1.0.89
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Allow multiple locales to be specified in a condition,
restrict fallback behavior to base (single two-character)
locales, and use the first locale specified in
language 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 delimiter and affixes
with language condition statements.
- Fix minor bug in xmle4x.js XML parser affecting some
locale load operations.
=========================
Changes in version 1.0.88
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fine tuning of language condition logic, to use only
the base language name for matching, while applying
the full locale specified in the conditional.
- Refinements to the recently introduced handling of
brace-enclosed leading characters as initialized
form of names.
- Adjustments to print statement arbitration, suggested
by Carles Pina and Fergus Gallagher.
=========================
Changes in version 1.0.87
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Where et-al-min, et-al-subsequent-min or names-min are
set to some value larger than an arbitrary threshold of
50, truncate author lists that are longer than that value
(plus a buffer value of 2), to raise performance to a
reasonable level with large namesets.
=========================
Changes in version 1.0.86
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Improve performance when handling very large
sets of names.
(Thanks to Nick and Carles at Mendeley for reporting,
and for exploring the source of the fault.)
=========================
Changes in version 1.0.85
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- 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 recognized as valid CSL.)
=========================
Changes in version 1.0.84
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Preserve explicit double spaces in HTML output.
(Released as 1.0.84-1)
=========================
Changes in version 1.0.83
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Use en-dash rather than hyphen in formatted page range
joins.
=========================
Changes in version 1.0.82
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- 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.
=========================
Changes in version 1.0.81
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Yet more fixes to locale selection behavior.
Use en-US if calling application requests an
unknown style.
=========================
Changes in version 1.0.80
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- More fixes to locale selection behavior.
-----------
Enhancement
-----------
- Provide a toggle to override the locale of a style
with the locale set on the processor at runtime.
=========================
Changes in version 1.0.79
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Correct fault in locale fallback behavior. Had been ignoring
optional default argument set in the processor.
=========================
Changes in version 1.0.78
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Enable the proper parsing and rendering of
seasons in ranged dates, in the internal
dates parser.
=========================
Changes in version 1.0.77
=========================
-------
Cleanup
-------
- Adjustments to RTF output formatting, by
Simon Kornblith.
=========================
Changes in version 1.0.76
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in locale processing, arising from the
previous release, that could trigger a processor
crash.
=========================
Changes in version 1.0.75
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Do not apply decorative formatting to name suffixes.
- Fix breakage in ordinal suffix formatting for days
in a date.
------------
Enhancements
------------
- 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.
=========================
Changes in version 1.0.74
=========================
-----------
Enhancement
-----------
- 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.
=========================
Changes in version 1.0.73
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Limit the recognition of multiple numbers
to cases in which numbers are separated by
at least one space, to prevent accidental
reformatting of leaf numbers.
=========================
Changes in version 1.0.72
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- 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.
- Eliminate space following a trailing apostrophe on a
dropping-particle, when immediately followed by family
in rendered output.
- Recognize multiple parameters of position attribute of
cs:if and cs:else-if, per CSL 1.0 schema. For the fix,
eliminate cutted-and-pasteded code from node_if.js and
node_elseif.js, and consolidate in attributes.js.
=========================
Changes in version 1.0.71
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Variables (including names) should be (and have been)
suppressed when rendered via the cs:substitute node
of cs:names. Subsequent rendering of any name variable
after its first use within a given cite was being
suppressed unconditionally, however, 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.)
- 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 punctuatioin or extraneous spaces
has been fixed.
=========================
Changes in version 1.0.70
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Adopt conventions from Chicago 16th ed. for commas that follow
terminal punctuation in user content fields such as title.
=========================
Changes in version 1.0.69
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- 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.
- 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.
=========================
Changes in version 1.0.68
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- 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.
=========================
Changes in version 1.0.67
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- 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.
=========================
Changes in version 1.0.66
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Adjustment the conditions for application
of 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.
Thanks to Carles Pina for bug reports and
testing.
-------
Cleanup
-------
- Add e4x declaration when loading e4x parsing
code in demo.html, to avoid error in the Chrome
browser. Thanks to Fergus Gallagher for this fix.
(If these changes show some staying power, we can
discuss later whether to name this release
"Route 66" or "Norman Conquest".)
=========================
Changes in version 1.0.65
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- 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. Use case
suggested by Carles Pina.
-------
Cleanup
-------
- Align version tag with version in source in this release.
- Refactor test fixture bundle for restoreProcessorState() function
to avoid setting globals, and add a fixture to test resetting to
an empty state.
=========================
Changes in version 1.0.64
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Release tag to pick up the actual changes
claimed in 1.0.62 and 1.0.63, the checkins
of which were lost in the shuffle.
=========================
Changes in version 1.0.63
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix appendCitationCluster() to return
a simple string, and required by Zotero
RTF Scan or any similar utility.
=========================
Changes in version 1.0.62
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Block needless initialization of names where
the full name is requested and initialization
is not.
Thanks again to Carles Pina for reporting this
fault.
=========================
Changes in version 1.0.61
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Block needless initialization of names where
form is long, no initialization is requested,
and last names are identical.
Thanks to Carles Pina for this bug report.
=========================
Changes in version 1.0.60
=========================
-----------
Enhancement
-----------
- Turn on the parsing of name prefixes and
suffixes by default.
=========================
Changes in version 1.0.59
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- 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.
=========================
Changes in version 1.0.58
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- In multilingual names handling,
eliminate fallback to default locale
language. (Running with this configuration
in an application proved to be confusing.)
=========================
Changes in version 1.0.57
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Correctly handle singleton conditional
nodes. Affects cites to theses in the
Chicago styles.
=========================
Changes in version 1.0.56
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Provide for separate configuration of name
and title transliterations.
=========================
Changes in version 1.0.55
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- 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.
-----------
Enhancement
-----------
- Add methods for setting multilingual
transliteration, translation, and sort
parameters on configured processor.
=========================
Changes in version 1.0.54
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fixes misplacement of labels set before the
nameset to which they apply.
=========================
Changes in version 1.0.53
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix a subtle bug that caused full author names to
be erroneously rendered in citations although the
style parameters did not permit them.
=========================
Changes in version 1.0.52
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Reverse the RTF-related conservatism in the quashing
of duplicate spaces that was introduced in 1.0.51.
- Add missing parens to suspect test condition (not
related to any known bug).
----------
API change
----------
- The processor quashes double spaces in the output.
RTF control words can be terminated with a space, but
this causes an immediately following space to be lost
from the output. To avoid this, the RTF output mode of
the processor has been adjusted to terminate RTF control
words with {} rather than space. Applications that convert
processor output between other formats (such as HTML)
may need to be adjusted to accomodate this new behavior.
=========================
Changes in version 1.0.51
=========================
----------
API change
----------
- Return error objects with details of cites or bibliography
entries that produce no rendered output. See processor
manual for details.
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix string breakage affecting text-case="title".
- Fix over-aggressive quashing of spaces, which affected
spacing following RTF entities.
-------
Cleanup
-------
- Update manual with description of supplementary field
facility.
=========================
Changes in version 1.0.50
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Apply output-mode-specific text_escape function to
affixes and delimiters.
- Strip XML declaration from CSL and locale strings
received for parsing in the xmldom.js module.
- Add paranoia fallback to handle comment nodes that
sneak past the XML parser.
Thanks to Carles Pina for bug reports on the issues
above.
-------
Cleanup
-------
- Update manual to indicate support for non-E4X platforms.
=========================
Changes in version 1.0.49
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix XML parsing code in xmldom.js to screen XML comments
from the processor. Thanks to Carles Pina for reporting
this fault.
- Tighten up conditions for suppression of the trailing year
where the volume number and the year have the same value.
Suppression will no longer occur when the rendered date
contains additional details (day, month).
- Throw a more meaningful error when an invalid locale
is requested. Thanks to Carles Pina.
- Fix missing definition of quotes="false" in formats.js.
Thanks to Carles Pina.
- Fix bug in handling of capitalized characters used in
citeproc-js hackaround for multi-character initials.
-----------
Enhancement
-----------
- Extend support for "parallel" legal citations to include
case and comment string citations used in French legal
writing.
-------
Cleanup
-------
- Adjust demo page to include a comment (to check that
comment nodes are no longer reaching the processor).
=========================
Changes in version 1.0.48
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Further fixes to quashing of duplicate punctuation
and spaces.
- Fix issues with bibliography slug.
- Properly report orphan shortTitle and journalAbbriviation
to group as producing output, when short form is called
and main variable is nil.
- Fix bug in short form title support.
- Permit author to vary between parallel citations. Useful
for French case-and-commentary string cites.
-----------
Enhancement
-----------
- Provide for parsing experimental variables out of the
content of the note variable. For use in advance
testing of styles that require changes to the variables
available in CSL, or supplied by the calling application.
=========================
Changes in version 1.0.47
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix a duplicate space issue reported by Carles Pina.
- General refactoring of code for identifying an quashing
duplicate punctuation and spaces. The code should be
easier to control when further issues involving punctuation
arise down the road.
-----------
Enhancement
-----------
- Provide for replacement of the citation number in
numbered styles with a slug, so that strings in a
bibliography listing can be used in a template
without rerendering.
-------
Cleanup
-------
- Fix up stale links in processor manual.
- Fix syntax error in test.py affecting Python 2.5 systems.
- Add explanatory notes to demo.html page, in an effort
to clarify the way processor output can be styled
and formatted.
=========================
Changes in version 1.0.46
=========================
-----------
Enhancement
-----------
- Add option to updateItems() and updateUncitedItems()
to suppress sorting of the bibliography.
=========================
Changes in version 1.0.45
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix duplicate terminal punctuation
affecting bibliography output.
- Eliminate dereferencing assignments, for
compatibility with some JS implementations.
- Suppress duplicate spaces affecting some
styles.
-------
Cleanup
-------
- Fix typo in demo page.
=========================
Changes in version 1.0.44
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Do not treat empty dates as rendering content for purposes of
implicit group conditional rendering, but do recognize literal
date content in the same context."
=========================
Changes in version 1.0.43
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- In test.py, change the -E bundled code dump option to -Z,
and describe as a Zotero bundle option in script help messages.
- Include an assignment of CSL.error to Zotero.debug in the Zotero
bundle, so that error messages and warnings from the processor will
pass through correctly, without crashing the processor.
- Render literal passthrough strings on date objects only when
the year is included among the requested date elements.
- Add temporary code to normalize the structure of some date
input objects.
(... and so we bid a sad farewell to the Meaning of Life
release.)
=========================
Changes in version 1.0.42
=========================
-----------
Enhancement
-----------
- Provisional implementation of ellipsis truncation of
creator listings as required by APA 6th, in anticipation
of upcoming point release of CSL schema and specification.
=========================
Changes in version 1.0.41
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Reset processor's internal last_name_rendered variable,
to prevent previous runs of the processor from affecting
bibliography output.
=========================
Changes in version 1.0.40
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Avoid update to position data of other citations during
previewing. On-the-fly updates of related citations upon
citation edit or insert were broken, but should now work
correctly.
=========================
Changes in version 1.0.39
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix a tiny bug that could cause erroneous position values when
previewing under some circumstances, resulting in an incorrect
cite form in preview, and a different (but correct) cite form
in the document.
=========================
Changes in version 1.0.38
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix appendCitationCluster() to work with the API revision
made to processCitationCluster() in point release 1.0.28.
-----------
Enhancement
-----------
- When user provides a cite suffix that ends with a full stop,
suppress the normal inter-cite join.
=========================
Changes in version 1.0.37
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- 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.
=========================
Changes in version 1.0.36
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Refresh citations in which names or year suffixes have
(potentially) changed.
=========================
Changes in version 1.0.35
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- 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.
=========================
Changes in version 1.0.34
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- 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
a concurrency issue?
-------
Cleanup
-------
- Eliminate unused keyname on cloned disambig objects.
- Minor formatting cleanup in util_disambig.js.
- 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.
=========================
Changes in version 1.0.33
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- 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().
-------
Cleanup
-------
- Add a further unit test for previewCitationCluster(), to
uncover year suffix bug.
=========================
Changes in version 1.0.32
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bugs in the handling of document-wide names disambiguation
that manifested when one or more items with identical names were
deleted from the registry.
-------
Cleanup
-------
- More thorough tests for previewCitationCluster().
- Add some debugging trace chatter for cmd_cite.js.
- Pointless increment to processor manual version number.
=========================
Changes in version 1.0.31
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix some state restore bugs in previewCitationCluster().
-------
Cleanup
-------
- Roll back previewCitationClusterStatic() command that
was introduced in the last 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.
- Extend the test fixtures for previewCitationCluster()
a bit.
=========================
Changes in version 1.0.30
=========================
-----------
Enhancement
-----------
- Add new previewCitationClusterStatic() command, to
simplify the task of generating previews in the calling
application. The command requires only a citation
object, and an output mode flag (typically "html").
-------
Cleanup
-------
- Document previewCitationClusterStatic() command in the
processor manual.
=========================
Changes in version 1.0.29
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- 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.
-------
Cleanup
-------
- Move disambiguation options from citeproc.citation.opt
to citeproc.opt.
- Use named year_suffix element on disambiguation configuration
objects, rather than the anachronistic index value 2.
- Set default value of false rather than number 0 on year_suffix
element.
- Generate year suffix for any non-false value on year_suffix
element.
======================================
Changes in version 1.0.28 [API change]
======================================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- 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, open.sort_citations, is true if
citations are sorted by the style in any way.
-------
Cleanup
-------
- Document API change in the processor manual.
- Document availability of opt.citation_number_sort and
opt.sort_citations in the processor manual.
=========================
Changes in version 1.0.27
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix obvious memory leak and corruption bug affecting sortedItems
elements, of citationItem content objects.
=========================
Changes in version 1.0.26
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Implement new command restoreProcessorState(), for use in
... restoring the processor state, when position variables
and citation sort keys are already known.
-------
Cleanup
-------
- Add entry for new restoreProcessorState() command to processor
manual.
- A few tests of the restoreProcessorState() command.
=========================
Changes in version 1.0.25
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- 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 use
in previewing.
-------
Cleanup
-------
- Provide more meaningful internal flags for processCitationCluster().
- Add entry for new previewCitationCluster() command to processor
manual.
- A few tests of the new previewCitationCluster() command.
=========================
Changes in version 1.0.24
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Cope with item IDs of numeric type, and roll back
one patch from 1.0.23 that becomes unnecessary as
a result.
=========================
Changes in version 1.0.23
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Cope with two disambiguation cases, involving add-names and
add-givenname, that succeeded in crashing the processor.
=========================
Changes in version 1.0.22
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Bypass sorting of citations that have a value for "unsorted"
in citation.properties.
-------
Cleanup
-------
- Document "unsorted" toggle in processor manual.
=========================
Changes in version 1.0.21
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Tighten up "NUMERIC" update_mode to mean styles that render
citation-number in citations (renderings in the bibliography
are now ignored for purposes of setting this internal flag).
- The numeric styles fix introduced at version 1.0.17 broke with
styles that sort the bibliography on anything other than
citation-number (i.e. document first-reference order). With
this release, arbitrary sorts of the bibliography work with
numeric styles.
- Position evaluation code is now invoked only in styles that make
use of position testing (to save a few cycles).
- Numeric styles now perform targetted citation updates correctly.
=========================
Changes in version 1.0.20
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Retain all names added by disambiguate-add-givennames when year-suffix
is added to a cite. While not strictly necessary for disambiguation,
the additional information is useful when scanning a bibliography for
the target entry. In the previous implementation, Bennett was guilty
of thinking too much like a computer with a hash table, and too little
like a reader with a reference list in front of them.
- Eliminate conditions that erroneously suppressed wrapper tags on
institutional names.
=========================
Changes in version 1.0.19
=========================
-------
Cleanup
-------
- Set up AGPLv3 as an alternative license to CPAL.
=========================
Changes in version 1.0.18
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- RTF and plain text output specs, provided by Simon Kornblith of
the Zotero project, Center for History and New Media, George
Mason University.
- Fix weakness in by-cite disambiguation where (I think) maxing out
disambiguation parameters results in successful disambiguation of
all but one of the cites in a pool. Relevant discussion on
`xbiblio list @ SourceForge`__.
__ http://sourceforge.net/mailarchive/forum.php?thread_name=AANLkTimtM7wsRL9dhcb4xUICFdj2VIom_Y2t_1wvG1RQ%40mail.gmail.com&forum_name=xbiblio-devel
-------
Cleanup
-------
- Added -E option to ./test.py, to dump processor code with embedded E4X
support, as used in Zotero.
- Renamed -b option in ./test.py to -B, for consistency with new -E option.
- Simplify regexp used to identify numbers in numeric variables. Now
more conservative, but this is probably right. No effect on tests.
=========================
Changes in version 1.0.17
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- For styles that sort cites on citation-number, postpone the
cite sort operation, to allow the registry entry and accompanying
sequence number to appear in the registry before the sort is
attempted.
=========================
Changes in version 1.0.16
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix error raised by bad var in warning message.
-------------------------------------
Adjustments to extended functionality
-------------------------------------
- Treat names that have a family element without a given element
as institutional names, with related adjustments to test fixtures.
-------
Cleanup
-------
- Drop test fixture description from processor manual. This is
now to be maintained in the manual of the CSL Test Suite.
=========================
Changes in version 1.0.15
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Eliminate implicit rendering of "no date" term by cs:date.
=========================
Changes in version 1.0.14
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Remove conditional statement that caused leakage of long-form names into subsequent
cites in the MHRA style.
- Fix error in test fixture example contained in the processor manual.
-------
Cleanup
-------
- Add ambig key to one block of debugging info in disambig_cites.js
- Set path to styles to point into manually updated external standard tests bundle.
- Remove styles used by standard tests from this archive.
=========================
Changes in version 1.0.13
=========================
-------
Cleanup
-------
- Drop standard test fixture data from citeproc-js source repository.
- Adjust test runner test.py to accomodate the directory structure of
the standalone copy of the test fixtures.
- Add note on the need to add the test fixtures manually to the README.txt
file and the processor manual.
=========================
Changes in version 1.0.12
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix bug in optional date parser code affecting ranged
Japanese dates.
-------
Cleanup
-------
- Separate local and standard test fixtures, and make necessary
adjustments to test framework.
- Drop test subdirectories "bundled" and "run" from mercurial.
=========================
Changes in version 1.0.11
=========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Processor now opens a key entry in the abbreviation lists for any
field value for which abbreviation is requested, but unavailable.
This should provide enough to get a circle-of-goodness thing
going to start crowdsourcing style-specific abbreviation lists.
=========================
Changes in version 1.0.10
=========================
-------
Cleanup
-------
- Checking in bundled code for the last change, upping version
in processor code.
========================
Changes in version 1.0.9
========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Cause processor to report its own version as processor_version,
and the supported CSL version as csl_version.
========================
Changes in version 1.0.8
========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix code incompatible with IE6 in util_dateparser.js.
- Fix error in the code for generating year-suffix strings
(fixes bug affecting very high values unlikely to be encountered
in actual operation).
-------
Cleanup
-------
- Various small fixes in the tests/citeproc_js processor
tests directory to get tests working with current version
of code.
- Make syntax and formatting adjustments to recent code as
recommended by jslint.
- Fix invalid CSL in one test.
- Drop some extraneous files from the archive.
========================
Changes in version 1.0.7
========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Place name suffix after the given name is name-as-sort-order
rendering, separated by a comma, as required by CMS.
- Provide for quote-escaping of name field parsing, when the
citeproc-js specific parse-names toggle is used to invoke
name field pre-parsing.
-------
Cleanup
-------
- Tests of citeproc-js name parsing extension, with CMS-correct
handling of name suffixes.
- Fix placement of name suffix in several tests.
- Move parseName() function from build.js to util_names.js.
- Test for quote-escaped particles in the family name with name field
parsing.
- Update to manual to cover the citeproc-js parsing conventions for
name particles and suffixes.
========================
Changes in version 1.0.6
========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Drop suffix from short form of names.
- Use implicit context-sensitive joins (space or comma + space)
when the cs:et-al element is used in a name (i.e. align behavior
of this element with behavior of the implicit "et al." term, as
required by the amended CSL specification).
- Permit use of "initials" with non-byzantine names, when style requires
initialization of a name. Will allow truncation of Japanese given
names to the first character, as required by some book publisher
styles in Japan, and possibly in other Asian-script domains.
-------
Cleanup
-------
- Move a test specific to citeproc-js to citeprocjs group.
- Adjust tests to require implicit application of comma + space prefix
to et al. term, when cs:et-al is used.
- Simplify handling of "et-al" and "with" joins, eliminating a couple
of nesting levels. Preliminary infrastructure for discriminate
handling of "et-al" and "and" terms with institutional names.
========================
Changes in version 1.0.5
========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Give name suffixes the same formatting as the family
name-part.
========================
Changes in version 1.0.4
========================
-----------
Enhancement
-----------
- Fix articulars preceded by a comma (as Bennett's own name)
to render correctly in bibliographies, as "Bennett, Frank G., Jr.".
---------------------------
Minor interface adjustments
---------------------------
- Change the "comma_suffix" key used to indicate that a name suffix
should be preceded by a comma to "comma-suffix", for consistency.
-------
Cleanup
-------
- Fix manual to reflect minor interface adjustments made in 1.0.1 and
1.0.4 releases, and to mention the "hereinafter" section of the
abbreviations object, previously overlooked.
========================
Changes in version 1.0.3
========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Use comma + space for delimiter before implicit et al. term, when
preceded by more than one personal name. Brings processor behav ior
into line with current Zotero processor and common style
requirements. Context sensitivity is not available with explicit et
al. term; tha t issue to be addressed in CSL 1.1.
========================
Changes in version 1.0.2
========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Fix errors in the placement of non-dropping particles.
- Fix placement of particles in short-form names.
-------
Cleanup
-------
- Fix invalid CSL in test fixtures.
========================
Changes in version 1.0.1
========================
------------------------------------
Mishandled or unimplemented features
------------------------------------
- Return maxoffset and the value of second-field-align itself in the
header of the return value from makeBibliography() when
second-field-align is used.
- Correctly set the value of entry-spacing and line-spacing, providing
for a default value of 1 for both attributes, and permitting them
to be set to 0.
- Set position to subsequent rather than ibid on cites for which one
or more notes stand between the current citation and the preceding
partner.
- Implement and test the baseline value for vertical-align.
- Recognize first-reference-note-number as a variable attribute value
on cs:if and cs:else-if. Wake up locator attribute on cs:if and
cs:else-if.
- Fix uppercasing of terms when rendered at first position, and
prevent uppercasing otherwise.
- Use a space rather than space + comma as the delimiter preceding
an implicit et-al term.
- Return entry_ids in the header returned by makeBibliography(). The
entry_ids value is a list, in turn containing one list per entry
(the nested list being necessary to provide for parallel citations
picked up in the bibliography).
- Support for uncited items, via new updateUncitedItems() command.
-----------
Fine tuning
-----------
- Suppress issued year if it matches the volume number exactly. This
effect is needed for UK case cites. It's an exception, so other
content must take priority; the change comes out if it causes
problems elsewhere.
- Fixes in node_names.js to make institutional names handling available in note styles.
- In what I think is a harmless divergence from the specification,
return true for is-numeric for non-numeric variables that end in a
number. Some styles require adjustment of joins, such as the
insertion of a comma, in this case.
- Taint items for a change in sequence number only if citation-number
is used in the citation.
---------------------------------
Fixes to parallels detection code
---------------------------------
- Fix array overrun bug in parallel detection code.
- When the trailing year is quashed in a cite in initial position
within a set, quash it also in the final partner. Needed to
handle public domain citations.
- Provide looser constraint on minimum variable content for parallels
detection. Provide for adding a constraint on item type.
- Eliminate am_master flag, and instead rely on the position of the
rendered item under analysis within the cite set. This works after
eliminating and extraneous cite set list push operation that was
causing it to fail.
-----------------
Internal bugfixes
-----------------
- Suppress registration of names that do not include a family name.
- Provide for the possibility that subsequent citation forms will not
include any names, and therefore not produce disambiguation data in
the registry.
- Avoid rendering of citation numbers when evaluating subsequent cites
for disambiguation purposes, in node_text.js
- Fix a subtle bug in the rollback of added names, in
disambig_cites.js.
- Companion changes in node_names.js and cmd_cite.js, to restore
parameters based on subsequent-form disambiguation to the registry,
after rendering a first-position cite.
- Fix bug caused by incomplete cs:choose node set as a helper for
cs:substitute.
- Rename citationIdByItemId to citationsByItemId, and adjust code to
set this list with pointers instead of IDs. Leverage availability
of citation pointers to get near-note conditional working.
---------------------------
Minor interface adjustments
---------------------------
- Extend abbreviations structure with addition sections
"title", "publisher", and "publisher-place". Change names of
abbreviation sections "journal" and "series" to "container-title"
and "collection-title" respectively, for consistency and clarity.
-------
Cleanup
-------
- Delete tests which, if they had been correctly written, would have
been invalid CSL.
- Fix tests involving et-al-subsequent-min and
et-al-subsequent-use-first that were either incorrectly written or
required a wrong result.
- Align abbreviation list keys with field names in tests.
- Cleanup and reorganization of code related to multi-lingual handling
and abbreviations.
- Adjust near-note tests to use a simple boolean value on the cite
supplement element of the item, rather than a note distance.
- Adjust tests to reflect correct lowercasing of ibid term when not at
first position.
- Change tests to use a space rather than comma+space before et al.