summaryrefslogtreecommitdiff
path: root/support/bib2gls/CHANGES
blob: 3e284ad3f11f425fcbda2c2774f3a1341789d24c (plain)
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
v3.8 (2023-10-13)

  * bib2gls

    - bug fix: #27 Version 3.7 does not work correctly with subdirectories for auxiliary files
      https://github.com/nlct/bib2gls/issues/27

v3.7 (2023-09-29)

  * bib2gls

    - \bibglshypergroup no-op only if glossaries version below 4.53
      and glossaries-extra version below 1.53 (update glossaries
      and glossaries-extra to enable)

v3.6 (2023-09-04)

  * bib2gls

    - added check for self-referencing alias

    - added check for encoding in aux file not matching requested or
      default TeX encoding

    - allow process to retry if encoding error occurs in aux file

    - bug fix: --default-encoding option not picked up in all
      instances where the default is required

v3.5 (2023-08-24)

  * bib2gls

    - new command line switches:

      --default-encoding
      --log-encoding
      --debug-mode

    - extra command supported by the interpreter (but not in the
      document):

      \bibglspaddigits

v3.4 (2023-06-29)

  * bib2gls

    - bug fix: NullPointerException occurs if @compoundset found in
      bib file but no \@glsxtr@mglsrefs found in aux file.
      https://github.com/nlct/bib2gls/issues/23

v3.3 (2023-04-24):

  * bib2gls

    - New resource options:

      assign-fields
      assign-override
      assign-missing-field-action
      flatten-lonely-condition
      flatten-lonely-missing-field-action
      copy-to-glossary
      copy-to-glossary-missing-field-action
      abbreviation-text-fallback
      locale

    - default value of sort option is now sort=resource rather than 
      sort=doc. If the locale option isn't set then sort=resource
      is equivalent to sort=doc.

    - Added support for bib2gls-extra-<lang>.xml files.

    - Bug fix: Removed already defined in other glstex file warning if 
      action != define

    - Bug fix: if parent entry is a dependent of another entry not
      marked for removal don't flatten lonely child

  * convertgls2bib

    - Fixed infinite loop:

	at com.dickimawbooks.gls2bib.Gls2Bib.newcommand(Gls2Bib.java:419)
	at com.dickimawbooks.texparserlib.latex.LaTeXParserListener.newcommand(LaTeXParserListener.java:978)

v3.2 (2022-11-24):

  * Added --[no-]obey-aux-catcode

    The default is --no-obey-aux-catcode, which ignores catcode
    changing commands found in the aux file.
    (Issue #22 https://github.com/nlct/bib2gls/issues/22)

v3.1 (2022-11-05):

  * If new versions of glossaries.sty, mfirstuc.sty and glossaries-extra.sty
    are detected, \bibglsuppercase and \bibglslowercase will now
    have \glsuppercase and \glslowercase in their definition,
    instead of \MakeTextUppercase and \MakeTextLowercase

  * skip empty elements in src

  * added resource option merge-ranges

  * added support for \ifglsfieldvoid

  * bug fix: secondary sort type not included in group label

  * TeX parser library (texparserlib.jar) now has limited support
    for \NewDocumentCommand, \RenewDocumentCommand, 
    \ProvideDocumentCommand and \DeclareDocumentCommand.

v3.0 (2022-10-14):

  * support for \glsxtr@select@entry and \glsxtr@select@entry@nameref
    (new to glossaries-extra-bib2gls v1.49)

  * support for bibglsaux and \glsxtrsetbibglsaux
    (new to glossaries-extra.sty v1.49)

  * if mfirstuc v2.08+, glossaries v4.50+ and glossaries-extra
    v1.49+ detected, default mfirstuc protection settings will
    switch to --no-mfirstuc-protection --no-mfirstuc-math-protection

  * bug fix: case changing options aren't recognising commands
    identified with \glsxtrnewgls

  * added support for \glsxtridentifyglsfamily (glossaries-extra
    v1.49+)

  * new switch --record-count-rule (or -r) which may be used to
    determine whether or not certain types of records (such as
    ignored records) should be included in the record count.

  * new switch --replace-quotes

  * issue #15: loc-prefix and type leads to undefined \bibglslocprefix with multiple glossaries
    https://github.com/nlct/bib2gls/issues/15

    This has led to new resource options:

    - loc-prefix-def
    - loc-suffix-def

  * added support for sub-groups (requires glossaries-extra v1.49+):

    - group-level

  * new merge small groups option:

    - merge-small-groups

  * new option to save root label:

    - save-root-ancestor

  * new option to split primary locations into counter groups:

    - primary-loc-counters (synonym: principal-loc-counters)

  * new options to skip break-at via pattern matching:

    - break-at-match
    - break-at-not-match
    - break-at-match-op
    - dual-break-at-match
    - dual-break-at-not-match
    - dual-break-at-match-op
    - secondary-break-at-match
    - secondary-break-at-not-match
    - secondary-break-at-match-op

  * new options to prune "see" and "seealso" fields:

    - prune-xr
    - prune-see-op
    - prune-see-match
    - prune-seealso-op
    - prune-seealso-match
    - prune-iterations

  * new save-locations values:

    - save-locations=see
    - save-locations=see not also
    - save-locations=alias only

  * bug fix: nameref records not merging for wrglossary counter

v2.9 (2021-11-22):

  * Support for \multiglossaryentry (new to glossaries-extra v1.48)
    This has led to new resource options:

    - compound-dependent
    - compound-add-hierarchy
    - compound-has-records
    - compound-adjust-name
    - compound-write-defs
    - compound-options-global
    - compound-main-type
    - compound-other-type
    - compound-type-override

  * added -q and --quiet as synonyms for --silent

  * issue #14: bib2gls breaks hypergroup styles
    https://github.com/nlct/bib2gls/issues/14

v2.8 (2021-11-05):

  * Support for new features of mfirstuc v2.07:

    - sentence case (firstuc) and title case now recognise \MFUskippunc. 
      (This should be used to skip leading punctuation.)

    - title case now recognises \MFUwordbreak. 

  * new dual field 'dualdescription'

  * new selection option 'selected before'

  * new resource options:

    - save-from-alias
    - save-from-see
    - save-from-seealso
    - save-crossref-tail
    - save-definition-index
    - save-use-index
    - format-integer-fields
    - format-decimal-fields
    - secondary-match-action
    - secondary-match-op
    - secondary-match
    - secondary-not-match
    - encapsulate-sort
    - prefix-only-existing
    - save-principal-locations (synonym for save-primary-locations)
    - principal-location-formats (synonym for primary-location-formats)

  * issue #10: explicit ranges with identical start and end should
    collapse to a normal location
    https://github.com/nlct/bib2gls/issues/10

    This has led to new switches:

      --collapse-same-location-range (default)
      --no-collapse-same-location-range

  * issue #12 Primary locations need to be retained not merged (save-primary-locations=remove)
    https://github.com/nlct/bib2gls/issues/12

    This has led to new switches:

      --retain-formats
      --no-retain-formats

  * bug fix: @entry missing required name/description results in "null"
    saved in the field value. This has been changed to an empty
    string (but the warning about the missing field remains).

  * bug fix: selection=all doesn't show see and seealso lists in
    locations https://github.com/nlct/bib2gls/issues/9

  * bug fix: integer sort method should cast to int
    https://github.com/nlct/bib2gls/issues/11

  * bug fix: indexplural default name incorrect when parent field set
    https://github.com/nlct/bib2gls/issues/13

v2.7 (2020-07-11):

  * save-original-entrytype option now allows the name of a field
    as the value (making it consistent with the save-original-id
    option).

  * save-original-id option now has a check to disallow special
    internal fields (instead of silently ignoring the setting).

  * replicate-fields option will now allow unknown fields (but not
    special internal fields) in the targets and will save them using 
    \GlsXtrSetField.

  * new options:

     save-original-id-action
     save-original-entrytype-action
     hex-unicode-fields

  * Bug fix: Added check for null in getSortFallbackContents
    (to avoid NullPointerException)

v2.6 (2020-07-09):

  * Fixed bug where getSortFallbackValue returns string "null"
    instead of actual null.

v2.5 (2020-05-30):

  * --version switch now also shows version details for bundled
    texparserlib.jar

  * Bug fix (texparserlib.jar): corrected \else part of conditionals

v2.4 (2020-05-27):

  * Bug fix (issue in TeX parser library used by bib2gls)
    https://github.com/nlct/texparser/issues/3

v2.3 (2020-03-23):

  * New sort methods: recordcount and recordcount-reverse
    (both require --record-count).

  * Resource option 'selection' now also allows the values
    'deps but not recorded' and 'ancestors but not recorded'

  * New resource options:
 
     custom-sort-fallbacks
     field-concat-sep

  * The sort fallback resource options custom-sort-fallbacks,
    entry-sort-fallback, symbol-sort-fallback,
    abbreviation-sort-fallback and bibtexentry-sort-fallback 
    now allow 'id' or 'original id' as values or values that are 
    field concatenations.

  * New command line switches:

    --provide-glossaries
    --no-provide-glossaries

v2.2 (2020-03-16):

  * Bug fix (texparserlib.jar):

    - "Files located in local texmf path are not determined
      correctly" issue #3
      https://github.com/nlct/bib2gls/issues/3

v2.1 (2020-02-28):

  * Only trigger error exit code for bib parser exceptions
    (just warn for interpreter and aux parser exceptions).

  * Bug fix (texparserlib.jar):

    - "Fails to parse \@writefile{lot}{\egroup }" issue #2
      https://github.com/nlct/texparser/issues/2

v2.0 (2020-02-12):

  * New command line options:

     --trim-only-fields
     --trim-except-fields

  * New resource option:

     interpret-fields-action
     prefix-fields
     append-prefix-field
     append-prefix-field-cs
     append-prefix-field-exceptions
     append-prefix-field-cs-exceptions
     append-prefix-field-nbsp-match
     save-sibling-count

  * New values for 'identical-sort-action' option: 'def' and 'use'

  * New value for 'selection' option: 'recorded and deps and see not also'

  * New internal fields: dualprefix, dualprefixplural,
    dualprefixfirst, dualprefixfirstplural, siblingcount,
    siblinglist

  * Dual prefix mappings now added if the prefix field is defined
    (provided by glosssaries-prefix.sty).

  * Interpreter now supports \nobreakspace and it obeys
    --break-space and --no-break-space in the same way as ~

  * Added support for nonumberlist

  * Bug fixes:

    - corrected interpret-fields
    - corrected selection={recorded and deps and see}
    - corrected plural for entries where the name is inherited from
      the parent


  * convertgls2bib:

    - new command line options:

      --ignore-type
      --no-ignore-type
      --split-on-type (-p)
      --no-split-on-type
      --ignore-category
      --no-ignore-category
      --split-on-category (-c)
      --no-split-on-category
      --ignore-fields (-f)
      --overwrite
      --no-overwrite
      --preamble-only (-p)
      --no-preamble-only
      --index-conversion (-i)
      --no-index-conversion 
      --absorb-see
      --no-absorb-see

    - added check for see=[\alsoname] in addition to
      see=[\seealsoname]

v1.9 (2019-04-09):

  * manual:

    - added section "Logical Divisions: type vs group vs parent"

  * new resource option:

     compact-ranges
     progenitor-type
     adopted-parent-field
     unknown-entry-alias
     save-original-entrytype
     field-case-change
     no-case-change-cs
     encapsulate-fields
     encapsulate-fields*
     interpret-fields
     replicate-missing-field-action
     entry-sort-fallback

  * new entry types:

     @progenitor
     @spawnindex
     @spawnindexplural
     @spawnentry
     @spawnsymbol
     @spawnnumber
     @spawnabbreviation
     @spawnacronym

  * New command line options:

     --warn-non-bib-fields
     --no-warn-non-bib-fields
     --warn-unknown-entry-types
     --no-warn-unknown-entry-types

  * The `type` option (and similar options that assign the `type`
    field) now accepts the special setting "same as parent".

  * The `group` option no longer requires the --group switch.
    
  * The `match` and `not-match` options now accept `original entrytype`.

v1.8 (2018-11-30):

  * new resource options:

     save-primary-locations
     primary-location-formats
     long-case-change
     dual-long-case-change
     word-boundaries
     sort-label-list
     dependency-fields

  * added support for the new glossaries-extra package option
    record=nameref (introduced to glossaries-extra v1.37).

  * normal locations are now written to the location field as
    \glsnoidxdisplayloc{<prefix>}{<counter>}{<format>}{<location>}
    instead of explicitly using
    \setentrycounter[<prefix>]{<counter>}\<format>{<location>}
    This matches the way the record is added to the loclist field
    and makes it easier to adjust the record formatting.

  * bib2gls now always parses the .log file even if the interpreter
    setting is off. (It still needs to know version details and
    whether hyperlinks and Unicode are supported by the document.)

  * Underscores now allowed in bib labels.

  * Hooks added to pick up label prefixes if needed:

     \bibglsprimaryprefixlabel
     \bibglsdualprefixlabel
     \bibglstertiaryprefixlabel
     \bibglsexternalprefixlabel

  * bug fix: corrected default sort=doc

  * bug fix: corrected letternumber-upperlower and
    letternumber-lowerupper sort methods.

  * bug fix: corrected invalid datetime pattern that threw
    InvalidArgumentException

  * bug fix: https://github.com/nlct/bib2gls/issues/3
    Files located in local texmf path are not determined correctly
    on Windows.
    (actual bug was in texparserlib.jar rather than bib2gls.jar)

  * \@glsnavhypertarget will now fallback on original definition
    (which requires an extra LaTeX call) if the type is unknown.

  * Renamed example file sample-languages.tex to
    sample-markuplanguages.tex

v1.7 (2018-08-18):

  * added support for multiple supplementary sources
    (requires at least glossaries-extra v1.36)

v1.6 (2018-07-07):

  * corrected some of the latin<n> to Java encoding names

  * added check for \@input in .aux file

v1.5 (2018-05-09):

  * added introductory guide (bib2gls-begin.pdf)

  * rearranged some of the resource option sections in 
    the main user manual (bib2gls.pdf)

  * new .glstex helper command:

    \bibglssetlastgrouptitle

  * added @indexplural and associated .glstex helper command
    \bibglsnewindexplural

  * added resource options:

   - sort-replace
   - dual-sort-replace
   - secondary-sort-replace

  * save-child-count now also creates the childlist internal field.

  * bug fixes:

   - corrected encoding setting (bib2gls and convertgls2bib)
   - corrected \ (backslash space) eol causing unwanted extra eol
   - corrected sort fallback
   - labelify-replace now recognises \$ in the replacement part as a
     reference to a captured group
   - improved error handling for invalid entry IDs
   - save-child-count was partially switching on flatten-lonely
   - corrected name-case-change for @index

v1.4 (2018-04-09):

   * added switches:

     --list-known-packages
     --custom-packages
     --cite-as-record
     --no-cite-as-record
     --merge-wrglossary-records
     --no-merge-wrglossary-records

   * added resource options:

     - missing-parents
     - missing-parent-category
     - bibtexentry-sort-fallback
     - save-index-counter

   * added extra keyword "same as original entry" 
     to category and type assignments.

   * added new entry types:

     - @bibtexentry
     - @contributor

v1.3 (2018-03-05):

   * bug fix: check for quoted path elements (spaces in file names)

   * bug fix: corrected category={same as base}

   * bug fix: corrected dual selection

   * New switch --ignore-packages (-k)

v1.2 (2018-02-25):

   * New resource options:

     - group-formation
     - secondary-group-formation
     - dual-group-formation
     - labelify
     - labelify-list
     - labelify-replace

   * New command line switches:

     - --force-cross-resource-refs (-x)
     - --no-force-cross-resource-refs
     - --support-unicode-script
     - --no-support-unicode-script

   * Bug fix: replicate-fields now parsed correctly

   * Bug fix: corrected hierarchical sorting

   * Bug fix: fixed sort=none

v1.1 (2017-11-25):

   * New resource options: 

     - counter
     - dual-counter
     - name-case-change
     - description-case-change
     - not-match
     - identical-sort-action
     - dual-identical-sort-action
     - secondary-identical-sort-action
     - sort-suffix
     - sort-suffix-marker
     - date-sort-format
     - date-sort-locale
     - dual-date-sort-format
     - dual-date-sort-locale
     - secondary-date-sort-format
     - secondary-date-sort-locale
     - entry-type-aliases
     - tertiary-prefix
     - tertiary-type
     - tertiary-category
     - combine-dual-locations
     - abbreviation-sort-fallback
     - abbreviation-name-fallback
     - symbol-sort-fallback
     - match-action
     - save-loclist
     - action
     - copy-action-group-field
     - field-aliases
     - replicate-fields
     - post-description-dot
     - strip-trailing-nopost
     - write-preamble
     - bibtex-contributor-fields
     - contributor-order
     - check-end-punctuation
     - sort-number-pad
     - dual-sort-number-pad
     - secondary-sort-number-pad
     - sort-pad-plus
     - dual-sort-pad-plus
     - secondary-sort-pad-plus
     - sort-pad-minus
     - dual-sort-pad-minus
     - secondary-sort-pad-minus
     - cs-label-prefix
     - record-label-prefix
     - save-original-id
     - interpret-label-fields
     - strip-missing-parents
     - limit
     - copy-alias-to-see
     - replicate-override
     - date-time-fields
     - date-fields
     - time-fields
     - date-time-field-format
     - date-field-format
     - time-field-format
     - dual-date-time-field-format
     - dual-date-field-format
     - dual-time-field-format
     - date-time-field-locale
     - date-field-locale
     - time-field-locale
     - dual-date-time-field-locale
     - dual-date-field-locale
     - dual-time-field-locale
     - alias
     - primary-dual-dependency
     - duplicate-label-suffix
     - missing-sort-fallback
     - dual-missing-sort-fallback
     - secondary-missing-sort-fallback

   * Added 'same as base' as a keyword value of 'category',
     'type', 'dual-category', 'dual-type', and
     'supplemental-category' resource options.

   * New entry types: @dualindexentry, @dualindexsymbol,
     @dualindexnumber, @dualindexabbreviation,
     @tertiaryindexabbreviationentry

   * Case-changing options now also accept the values
     firstuc and firstuc-cs

   * New sort options: letter-upperlower, letter-upperlower-reverse,
     letter-lowerupper, letter-lowerupper-reverse, 
     letternumber-case, letternumber-case-reverse,
     letternumber-nocase, letternumber-nocase-reverse, 
     letternumber-lowerupper, letternumber-lowerupper-reverse, 
     letternumber-upperlower, letternumber-upperlower-reverse, 
     numeric, numeric-reverse, currency, currency-reverse, 
     percent, percent-reverse, numberformat, numberformat-reverse,
     date, date-reverse, time, time-reverse,
     datetime, datetime-reverse (and associated resource options).

   * fixed bug in hierarchical entries with label prefixes.

   * fixed bugs in secondary sorting.

   * new switches: --packages (-p), --expand-fields, 
     --no-expand-fields, --record-count (-c), --no-record-count,
     --record-count-unit (-n), --no-record-count-unit,
     --no-break-space, --break-space

   * fixed fallback if kpsewhich fails.

   * texparserlib: added extra core maths commands.

   * convertgls2bib: new switches --ignore-sort and --no-ignore-sort.

v1.0 (2017-09-09):

   * initial release