Source

citeproc-js / CHANGES.txt

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
Summary of changes to citeproc-js since version 1.0.0 release.

=========================
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.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.