Changelog
v9.0.77
- The progress window for citation‑key generation now reports both the generation and the item‑persistence phases, using a doubled total count, showing the current phase, items processed and an estimated time remaining, briefly yields to allow Zotero to repaint, and displays a brief “Ready” message before automatically closing after two seconds.
- Refreshing citation keys now displays a progress bar with separate stages for generating keys and saving items, and ensures progress updates even when errors occur during key generation or saving.
- The legacy exportTitleCase preference has been migrated to the new exportTitlecase setting, making title‑casing and case‑protection independent options.
- A new build loader for the bibtex‑wasm module guarantees that the WASM parser is included in the bundled extension.
- Documentation now states that Better BibTeX applies both title‑casing and case‑protection to non‑raw fields, adding capitals to the prefix where appropriate.
- The TeX.subtitle field is now subject to title‑casing during export, fixing cases where subtitle capitalization was previously omitted.
- The subtitle field now follows the title‑case setting when exporting to Better BibTeX, ensuring subtitles are capitalised when title‑case is enabled.
- The language field is now exported, preserving language codes such as “ja”, “zh‑TW”, and others in the exported data.
- The shortTitle field is now exported for items that define it, allowing a concise title to be retained in the Better BibTeX output.
- Even when empty, the autoJournalAbbreviation field is now present in the exported record, ensuring the field is consistently included.
- Hayagriva export now replaces Unicode characters in citation keys with underscores and omits entries whose keys cannot be safely transformed, preventing export failures due to unsupported characters.
- When exporting Standard items to Hayagriva, the Number field is now mapped to the appropriate serial‑number entry instead of being omitted, preserving identifier information in the output.
- Hayagriva export now includes the edition field for book entries, preserving edition information that was previously omitted.
- Hayagriva export now places author suffixes in the correct position, fixing cases where suffixes such as “IV” or “V” were incorrectly ordered.
- The syntax for role annotations in the extra field has been corrected: tex.“author+an:role” now uses an equals sign (e.g., tex.“author+an:role”=1=director) instead of a colon, aligning the exported BibTeX with the expected format for author role specifications.
v9.0.76
- The release compatibility notice now states that this version works with Zotero 10 and Zotero 11 beta, and it no longer mentions Zotero 7 support.
- Export jobs that use the “collections” scope now require the collection list to be non‑empty and will throw an error if any entry lacks a numeric ID, providing stricter input validation.
- The handling of “collection” and “collections” export scopes has been updated to use a new helper that resolves collection scopes to root collections (for Zotero 11) or all descendant collections (for older Zotero versions), ensuring items are gathered without duplicates and that the appropriate collection rows are supplied for the target Zotero version.
v9.0.74
- The CI workflow scripts now enhance error handling for Groq API calls: when a request fails, the script parses the JSON error response (if any) and includes the model name and detailed error message in the thrown exception, instead of only reporting the HTTP status and generic status text.
v9.0.73
- The library loading step now filters collection item references to include only IDs that actually exist, preventing attempts to sort or process missing items and avoiding related runtime errors.
- A new test case for the “Export Hangs on beta11” scenario (issue #3642) was added, expanding the test suite to cover this export failure condition.
- Parsing of author name components now respects explicit family, given, prefix, and useprefix fields, enabling correct handling of name prefixes such as “de” in exported citations.
- Support for the CSL fields shorttitle, shortjournal, and volumes was added, allowing these abbreviated titles and volume counts to be retained in exported BibTeX entries.
- Handling of the langid field was implemented to preserve language identification metadata during import and export.
- Support for the pagetotal field was added, enabling total page counts to be captured in bibliography records.
- Processing of online resource entries was improved by recognizing url and urldate fields for accurate citation of web resources.
v9.0.72
- Fixed Hayagriva Postscript invocation and made the Zotero API available to Hayagriva postscripts
- Improved paired-quote handling in text exports
v9.0.71
- Improved conversion of configured quote pairs during text export
v9.0.70
- Maintenance release
v9.0.69
- Improved selection of dates from date intervals
- Fixed BibLaTeX article-number exports and stopped guessing unsupported fields
v9.0.68
- Maintenance release
v9.0.67
- Maintenance and logging updates
v9.0.66
- Improved BibLaTeX handling of
number,issue, andeidfields
v9.0.65
- Improved startup time for large libraries and export performance
- Fixed collection/library resolution and behavior when no Zotero pane is active
v9.0.64
- Added Better BibTeX YAML export and improved CSL YAML format detection and import
- Expanded Hayagriva support and preserved date-like YAML values
v9.0.63
- Updated translations
v9.0.62
- Maintenance release
v9.0.61
- Updated translations
v9.0.60
- Added an option to export Extra-field content as a note
- Fixed duplicate tags in local citation-key scope
v9.0.59
- Removed the note-picking workaround and made Chinese citation-key segmentation load on demand
v9.0.58
- Improved Hayagriva export, including creator-role and field handling
v9.0.57
- Improved date parsing for seasons and expanded Hayagriva field handling
v9.0.56
- Reduced copying during export to improve performance
v9.0.55
- Updated translations
v9.0.54
- Added support for selecting multiple libraries and collections in Zotero
v9.0.53
- Improved compatibility with Zotero’s selected-library APIs
v9.0.52
- Made collection-path and JSON-RPC lookups safer when collections are missing
v9.0.51
- Improved export handling of items from the selected library
v9.0.50
- Updated translations
v9.0.49
- Applied skip-field rules to Hayagriva exports
v9.0.48
- Improved parsing of seasonal dates and journal-abbreviation migration
v9.0.47
- Added a standalone Better Hayagriva translator for import and export
v9.0.46
- Expanded Hayagriva item-type and identifier support
v9.0.45
- Improved handling of unresolved libraries in read-only checks
v9.0.44
- Preserved citation keys when exporting items from read-only libraries
v9.0.43
- Improved read-only handling for feed items
v9.0.42
- Maintenance release
v9.0.41
- Maintenance release
v9.0.40
- Improved read-only library diagnostics
v9.0.39
- Stopped restoring citation keys to Extra during key migration
v9.0.38
- Added initial Hayagriva import support through Better CSL YAML
v9.0.37
- Added support for read-only libraries and migration of their citation keys
- Improved CSL YAML export and startup progress reporting
v9.0.36
- Fixed zero-padding of date fields, including negative years
v9.0.35
- Corrected BibLaTeX spelling in the export quality report
v9.0.34
- Fixed HTML conversion in CSL YAML exports
v9.0.33
- Fixed CSL YAML handling with the YAML library
v9.0.32
- Maintenance release
v9.0.31
- Fixed note retrieval in CAYW
v9.0.30
- Added configurable title casing for exports and improved CSL field and date handling
v9.0.29
- Improved CAYW note picking and citation context handling
v9.0.28
- Added CAYW over HTTP and a JSON-RPC method to regenerate citation keys
- Updated Zotero compatibility, including automatic beta support
v9.0.27
- Added CSL-specific Extra-field handling and improved language-code handling in CSL exports
v9.0.26
- Maintenance release
v9.0.25
- Improved capitalization in citation-key formatting
v9.0.24
- Improved BibTeX cross-references and date/year handling
- Merged CSL and Zotero Extra fields when formatting citation keys
v9.0.23
- Bug fixes and German translation updates
v9.0.22
- Fixed preference-pane loading
v9.0.21
- Hidden preference instructions updated
- Cloned items have their citation keys cleared automatically to prevent duplicates
- CAYW works again
- Date parsing logic was enhanced to support better timezone offset detection and date interval handling
- Collection path resolution support fixed for library and group IDs in absolute paths
- Pattern formatting for author initials was updated to correctly handle cases where full names are requested instead of just substrings
v9.0.10
- Citation key at the top
v9.0.8
- preference autoPinDelay has been renamed to fillKeyAfter
- preference autoPinOverwrite has been renamed to resetKeyOnChange
- native Zotero citation key field is now hidden and replaced with a field at the top
v9.0.7
- localization cleanup
- updated language support in the
languagecitekey formatting function andlangidoutput - improved test reliability by sending only SIGTERM
- auto-updates are back in the context menu for libraries/groups
v9.0.6
- fixed raw encoding for tex.X fields
- auto-export loading fixed
- removed obsolete clean_pane_persist
v9.0.0
- removed lokijs which gave unpredictable errors when storing auto-exports
- new major (should have been done earlier) as BBT is now strictly Zotero 8+
v8.0.40
- removed pause-auto-export-during sync. Sync will activate auto-exports and the auto-export debounce will handle the rest
- Switched key migration to use Sqlite.sys.mjs instead of Zotero.DBConnection.
- Refactored lokijs object updates re-use objects retrieved from find (spread does not always update)
v8.0.38
- Context-aware menu visibility: Menu items for citation keys (pin, fill, refresh, copy) now hide automatically when no valid, editable items are selected.
- Manual “Pin” command: pinning is back for people who have autoPinOverwrite on
- Citation key pattern update: a new key formula function
pinnedwas added, that’s always prepended - Fix: BBT would stall zotero shutdown
- new translations
v8.0.25
- fix: read-only groups would error out key migration
- fix: enable re-migration after start
v8.0.22
- Re-migration option for citation keys
- Skip non-editable items
- Show number of conflicts before migration
- Migration UI wording improvements
v8.0.20
- dynamic citation keys are back, option in migration
- new the
pinnedfunction for citation key patterns, which retrieves a pinned citation key from theextrafield. - autoPinDelay defaults to on (2 seconds)
- migration uses direct DB read rather than attach/detach, windows too clingy and rename failed
v8.0.18
Migration improvements:
- prevent accidental locking of BBT database during migration
- Performance: adds a skipNotifier flag when saving migrated items, avoiding triggering of auto-exports
v8.0.17
- Updated terminology changing “pin” to “fill” for clarity
- Reliable renaming of the legacy database after a successful migration.
- Auto-export storage fixed (would appear to have been deleted after a restart)
v8.0.16
- Citekey migration skips the update of the ‘Date Modified’ field.
- Dependencies, including the zotero-plugin-toolkit and zotero-types, have been updated.
v8.0.15
- A notification flash has been added to inform users when citation key migration has started.
v8.0.14
- Internal logic for loading items during migration has been improved.
- Key confict handling removed
v8.0.13
- Compatibility for Zotero 7.0.32
v8.0.12
- The minimum required Zotero version was bumped to 7.0.32.
- Plugin testing was expanded to include Zotero 7 specifically.
v8.0.11
- Dependency versions for libraries like ajv and zotero-plugin were clamped to ensure stability.
v8.0.10
- Enforcement of the minimum Zotero version 7.0.32 requirement was finalized.
v8.0.9
- UI phrasing was updated in the migration tool to offer a clearer postponement option (“Do not migrate; ask me again at next start”).
v8.0.8
- A direct link to migration discussions was added to the migration tool to assist users with the transition.
v8.0.7
- Compatibility status was updated: Zotero 8 and 9 beta are fully supported, while Zotero 7.0.32 is now considered legacy and will not receive ongoing support.
- The migration dialog now includes an explanation that Better BibTeX citation keys are unavailable until the migration to the native field is complete.
v8.0.6
- The migration dialog text was further refined for better user understanding.
v8.0.5
- Additional help text was added to the migration UI for users who are unclear about their choices.
v8.0.4
- The migration tool now reports the total count of native Zotero citation keys already present.
- Migration options were clarified to distinguish between moving all keys versus only pinned keys.
v8.0.2
- The plugin manifest was updated to reflect the new supported Zotero version ranges.
v8.0.1
- Handling for legacy imports and configuration modules was improved for better reliability.
v8.0.0 (Major Release)
With the advent of Zotero 8, items have a Zotero-native citation key field. This has replaced the BBT citation key field.
This has caused a few somewhat disruptive changes:
- The citation key no longer sits at the top of the item pane. It now sits somewhere in the middle and you may have to scroll to see it. This placement is not under my control
- Zotero will have moved all pinned keys out of the
extrafield into the native field - The concept of pinning keys is gone; keys are always pinned now. Zotero doesn’t have a place I can store whether a key is pinned or not.
- The Zotero-native citation keys are stored in another place than the BBT citation keys. If you have no Zotero-native citation keys yet, BBT will silently migrate them to there. If you do have Zotero-native citation keys, and a migration would overwrite them, you will be offered a windows with the choice on how to migrate your citation keys from the BBT storage to the Zotero storage.
- I have enabled auto-pin (what really is auto-fill now) even you had it turned off. You can still turn it back off if you don’t want this.
Upside to all of this is that keys will sync.
Changes
- Zotero 8 Integration: Items now use a native Zotero citation key field, which replaces the legacy BBT citation key field.
- Key Pinning Changes: The concept of pinning is technically gone; because Zotero lacks a specific “pinned” toggle, keys are now always pinned.
- Feature Renaming: The “auto-pin” feature has been effectively renamed to “auto-fill” to align with native Zotero behavior.
- Bug Fixes: Resolved an issue where the originalDate field was not working with citation keys (#3392) and fixed the retrieval of shortjournal abbreviations (#3382).
- Database Migration: The internal database for tracking keys and exports has been migrated to LokiJS.
- Internationalization: Integrated new and updated translations for French, German, Italian, Chinese Simplified, and Brazilian Portuguese.
- Cleanup: The unused Alchemy.js graph editor was removed from the documentation.