1. Frank Bennett
  2. citeproc-js

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
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
Summary of changes to citeproc-js since version 1.0.0 release.

=========================
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.