Added
- We added a native query field for catalogs on the SLR dialog. #17199
- We made almost everything in JabRef navigatable by keyboard, including adding visiual indicators. #17059
- We added a fetcher for Software Heritage identifiers (SWHID). #16809
- We added the community themes from themes.jabref.org (Everforest, Nord, Papers, Chocolate Honey, and Dino Girl's collection) as selectable themes. #15915
- We added a preview image to the theme selection in the preferences. #15915
- We added an icon to each tab: the Welcome tab, and per library whether it is BibTeX, BibLaTeX, or a shared database. #17071
- We added automatic reconnection to shared databases that were still connected when JabRef was closed. #16801
- We added a loading spinner while shared libraries connect to their database. #16935
- We added the ability to auto-inject and manually infer the used CSL style in the LibreOffice document. #16640
- We added subset search for CSL styles. #16693
- We added a per-library keyword separator to the library properties, so opening a library no longer rewrites keyword fields. #16835
- We added a "Normalize keyword delimiters" cleanup and save action that rewrites keyword fields to the keyword separator of the library. #16835
- We added a "Commit and push" button which allows to commit and then push in one go for Git operations. #16339
- We added a progress spinner and status indicator to the "Enter Identifier" tab in the New Entry dialog. #16756
- We added the option to close and reopen the PDF preview in the unlinked files dialog. #16159
- We added support for bibliography-defined ordering of numeric CSL styles in the LibreOffice integration. #16692
- We added a new "Primer" theme, based on AtlantaFX's Primer theme. #15625
- We added a semantic diff preview for Git commits of the current library. #16341
- We added a "Show diff" button to the "Save before closing" dialog to review unsaved changes. #16341
- The remote instance listener now answers the plain-text health check
JABREF/1 PINGwithJABREF/1 PONG jabref, so external tools (e.g. browser extensions) can detect a running JabRef without speaking the Java serialization protocol. #16654 - We added some missing tooltips to buttons such as "Export Cited" and "Bibliography properties" in the OpenOffice/LibreOffice panel. #16492
- We added support for the
Export citedfunctionality with CSL and BST styles in the OpenOffice/LibreOffice integration. #16491 - We added a per-library journal abbreviation preference to Library Properties, allowing automatic LTWA abbreviation on save. #15495
- The LibreOffice integration's "Cite special" mode for JStyles can now cite author-year (without parenthesis), author-only and year-only entries. forum#670. #7861
- The LibreOffice/OpenOffice integration now works with Track Changes enabled in the document. #9403. #14018
- We added configurable keyword delimiter detection for imported BibTeX, so that delimiters such as
;are recognized and normalized to your configured keyword separator. #12974 - We added an "Enter URL" tab to the "New Entry" dialog, which creates a
@Miscentry from a pasted URL, using the linked page's title (when reachable) and recording the access date. #15411 - We added an "add space before citation" option in the LibreOffice integration. #16349
- CSL Citations emitted by JabRef in LibreOffice can now be read by Zotero (under a new preference "Zotero Compatibility Mode") and vice versa. #15878
- We added support for bibliography generation using
.bstfiles in the OpenOffice/LibreOffice integration. #624 - The command
jabkit pdf update --format=xmpnow writes XMP metadata to the linked PDF. #16087 - We now offer
jabkitas a native binary (no Java runtime required, instant startup) for Linux (amd64/arm64) and macOS (Apple Silicon) as part of the binary distribution. #16291 - The HTTP import endpoint (
POST /libraries/{id}/entries) now accepts CSL-JSON (application/vnd.citationstyles.csl+json), mapping each item to the correct entry type (e.g. conference paper, book chapter, thesis) via the citation-js-based mapping. #16151 - We added the ability for LibreOffice BST citations to use style-defined labels. forum#3764. #16357
- We added a new "Main" tab to the entry editor showing all fields of an entry in a single scrollable list, with one-click chips for adding optional fields and a free-form box for adding arbitrary fields. Identifiers, files and links, bibliometrics, comments, and meta fields (groups, owner, timestamps, special fields) live in collapsible sections — collapsed when empty — each offering chips for its unset fields; an open files and links section always shows the file editor. #12711
- We added auto-detection import for drag-and-dropped library files. #15391
- We added a preview style selection bar which shows the current preview style and allows to select a specific style without cycling through all of them. #15820
- We added the ability to view citation previews rendered using the selected style on hover in the "Citations" tab. #15914
- We extended the HTTP server with library query, groups listing, and group-assignment on import. #15929
- The HTTP import endpoint (
POST /libraries/{id}/entries) now accepts any open library id, switching JabRef to that library before importing, instead of only the currently active one. #15929 - We added support for selecting response engines and summarization algorithms, allowing users to change the underlying AI behavior. #15688
- We added the ability to jump to cited entries and page locations in the PDF viewer from AI chat citations. #16981
- We added a "Test connection" button to the AI preferences. #17123
- The citation key generator also normalizes super and subscript characters. #15743
- We added automatic source groups to SLR results and fixed group merging to preserve all source groups. #12542
- We enabled usage of relative or absolute file paths depending on your file directory settings. #3590
- We added the ability to import and focus an entry from the Citation tab by double click. #15460
- The
jabkitsubcommands now accept the input file as a positional argument (e.g.jabkit check integrity references.bib); the--inputoption remains available as an alias. #15759 - We grouped the
jabkitconsistency and integrity checks under a newcheckcommand (jabkit check consistency,jabkit check integrity). #15759 - The
jabkit check consistencycommand now supports theerrorformatoutput format (file:line:column: message), which is the default output format for bothchecksubcommands. #15759 - The
jabkit checksubcommands now support agithub-actionsoutput format that emits findings as GitHub Actions workflow commands, so findings show up as annotations on pull requests. #15789 - The
jabkit checkcommand now runs both the consistency and integrity checks when given an input file without a subcommand (e.g.jabkit check references.bib). #15759 - We added an "arXiv DOI" cleanup that derives the version-stable DOI for arXiv entries and drops redundant eprint fields. #16033
- We added OCR feature using OCRmyPDF to extract text from scanned PDFs and create searchable PDFs including the extracted text. #15712
- We Added generic CSV export filter that exports all standard BibTeX fields. #15711
- We added support to the JabKit commands
get-cited-worksandget-citing-worksto output to files in various export formats. #15913 - We added generic CSV export filter that exports all standard BibTeX fields. #15711
- We added OCR engine's executable path as the first OCR preference to let users specify the exact path of the engine they are using. #15990
- We added file notification to OCRed file to let users open the directory and show the new file. #16082
- We added a "Jump to field" button to the entry editor toolbar, triggering the same action as the Ctrl+J shortcut. #16169
- The
jabkit--inputoption (and positional input argument) now accepts http(s)/ftp URLs, downloading the file before processing. #16165 - We added a
jabkit pdf extract-referencescommand that extracts the references from the end of one or more PDFs and outputs them as BibTeX, mirroring the GUI's "Extract references" action. Each PDF can be given as a local file or as an http(s)/ftp URL. #16186 - We added a PDF preview with extracted metadata in the unlinked files dialog. #16159
- We added a
HayagrivaImporter, allowing users to import bibliographic entries from Hayagriva YAML files (used by Typst). #15714 - We added autofocus and clipboard prefill to the commit message field in the Git Commit dialog. #16340
- We added OCR engine selection to the OCR preferences, allowing users to choose the engine they want to use. #16455
- We added BibTeX syntax highlighting to the Source tab and Import entries dialog. #15897
- We added an option to include currently selected entries when creating a new explicit group. #16588
- We added an offer to initialize a Git repository when committing a library that is not yet version controlled. #16722
- We added OCR language selection to the OCR preferences, allowing users to configure which Tesseract languages to use. #16618
- We added a fetcher for the Bielefeld Academic Search Engine (BASE). #15016
- We added a Git section to the library properties for automatic commit, pull and push. #12630
- We added connection URL pasting to the shared database login dialog. #16800
- We added a Dnb Fetcher that uses SRU interface and wired to ISBN Fetcher. #17070
- We added read-only access to shared SQL libraries in
jabkit: every input file argument accepts a PostgreSQL URL. #12948
Changed
- We improve startup performance by load citation style sources only when used. #15962
- We changed the default prompts for "AI-Chat" & "Chat with Groups" to better handle etiquette, metadata, citationkeys and context separation. #16981
- We changed the default local embedding model to
intfloat/multilingual-e5-smallfor better passage retrieval. #17120 - We redesigned the "About JabRef" dialog. #16950
- We now create the group for imported entries when entries are imported, instead of when a library is opened. #16988
- We removed the keystore fields, the server timezone, and the database type selection from the "Connect to shared database" dialog. #16800
- We changed remembered shared database passwords to use the operating system credential store. #16800
- We changed undo and redo to name the step they take back instead of only saying "Undo". #16936
- We changed undo in the entry editor to take back the last typed word instead of one character. #16988
- We moved zotero-related settings from openoffice panel to openoffice/libreoffice preference tab. #16352
- We changed the default size of the "New Entry" dialog to improve visibility. #11589
- We changed LLM citation parsing in the "New Entry" dialog to run in the background. #17158
- We changed the default macOS shortcuts for "Search document identifier online" and "Focus group list" to not insert special characters. #16528
- We changed the extension of backup files from
.bakto.bib, so that they can be opened in JabRef. #11454 - We changed spacing, padding and font sizes across the interface for a more consistent look and feel. #16042
- We reduced the amount of special spacing, padding and font sizes across the interface for a more unified interface. #16887
- We changed the delete and rename file dialogs to state that undo does not restore files on disk. #16680
- We changed the donation prompt to appear as a notification in the notification center instead of a separate popup on the Welcome tab. #16972
- We reworked the appearance preferences: you now choose a theme (e.g. "JabRef", "Primer") and a color scheme ("Follow System", "Light", "Dark") separately; the "Use System Preference" checkbox is gone. #15625
- A custom theme (CSS file) is now applied on top of the selected theme instead of replacing it entirely. #15625
- Custom themes now use the
-color-*variables declared in the theme stylesheet (seejabref-theme.css); the previous-jr-*color variables (e.g.-jr-theme,-jr-accent) were removed, so existing custom CSS files that override them need to be adapted. #15625 - We improved performance when switching between libraries and working with large libraries in the main table and groups sidebar. #17110
- The LibreOffice integration's bibliography generation for CSL styles is now more performant for a large number of entries. #16555
- We now identify Crossref requests with a configured email address, allowing them to use Crossref's polite pool. #16535
- We improved user experience by making the welcome tab visible when no libraries are open. #16451
- We changed the Welcome tab to use more of the window width, so recent library paths stay readable. #17003
- We made it possible to reopen the
Share this library to GitHubdialog for saved local libraries with an existing Git remote, check a personal access token's push access, and pull from remotes with unrelated histories or no branches. #16367 - We no longer show routine SSH connection messages during Git operations in the log. #17150
- We hardened the fetchers and importers against XML Entity Expansion attacks. #16359
- We improved the reliability of online searches by respecting the request limits of arXiv and other services. #16300
- We improved switching between large libraries so entry previews remain responsive while automatic groups and their counts are refreshed. #16289
- We improved the MODS importer for mapping entry types. #16055
- AI summaries now render with regular JavaFX components instead of an embedded browser, matching how AI chat messages are rendered. #16189
- We replaced the scala-based LaTeX-to-Unicode and Unicode-to-LaTeX conversion engine with the new SnuggleTeX-based latex-conv library. Formulas keep their brackets and spacing,
\text{...}and\operatorname{...}render as their content, bases carrying both a sub- and a superscript convert, and--/---render as typographic dashes. #6155 - The "Unicode to LaTeX" cleanup emits accent commands with a single brace group (
{\aa}instead of{{\aa}}). #6155 - The Hayagriva YAML exporter now writes all fields the new Hayagriva importer reads. #16190
- We increased the size of arrow buttons in the Entry Preview preferences tab to improve visibility. #16028
- We now render the entry preview with regular JavaFX components instead of an embedded browser. Text in the preview can be selected with mouse and keyboard and copied; without a selection, "Copy selection" copies the whole preview. #16145
- We replaced the "MathSciNet Review" entry editor tab by identifier support for the "MR Number" field: a button next to the field opens the MathSciNet page in the web browser. #16145
- The
jabkit checkgithub-actionsoutput now embeds the citation key and field name in each finding's message, so the plain workflow log lines are self-describing (not only the pull request annotations). #16065 - We extended the per-fetcher timeout for fulltext PDF lookups from 10 to 120 seconds so fetchers that bounce through an institutional sign-in or a slow publisher CDN have a chance to complete. #15877
- When an imported entry has an empty citation key, it is generated. #15624
- We changed the example entry for empty libraries to include the citation key
JabRef2023. #17113 - We made the
Move file to directoryoperation for Linked Files show every configured JabRef directory as possible options. #12287 - We reworked the entry editor tab preferences into a two-column "Tabs"/"Fields" editor supporting reordering, custom tabs, and regular expressions as field names. #15998. #16594
- We extended library pseudonymization to also pseudonymize group names, not just the entries. #14117
- We introduced a leightweight search engine without fulltext search in linked files as default variant. #15599
- We moved arXiv handling out of the DOI cleanup into the dedicated "arXiv DOI" cleanup. #16033
- Resolving of Math Subject Classification (MSC) needs to be activated in the references now. #15883
- We improved JabRef's startup performance by loading MSC codes only when activated. #15883
- Embedded postgres is no longer started with JabRef unless "Experimental search (Postgres)" is enabled in General preferences. #12844
- We now keep changes made while the remote SQL database connection is down and synchronize them once it is back. #11211
- We changed the full text document search to run as a cancelable background task instead of blocking JabRef with a modal dialog. #16831
- We changed remote SQL database synchronization to PostgreSQL-only with live updates; existing database tables are migrated. #11232
- We moved the Git settings into their own preferences tab. #12630
- "Get fulltext", groups "Attach file", "Attach file from URL", "Open folder(s)" and "Open file" commands in right click menu have been moved into a "More file operations..." submenu. #16829
- We changed the logging during full-text search indexing to identify which linked files cause errors. #15680
- We unified the Button style. All Buttons have rounded corners, a hover, pressed and focused color. #16980
- We changed tabs to have no frame: the selected tab is marked by its accent line, hovered tabs are highlighted. #17071
- We changed tabs to always show their close button, so selecting a tab no longer shifts its label. #17071
Fixed
- We fixed missing publication years and empty parentheses in the related articles tab. #16998
- We fixed an issue where Ctrl + W did not close the welcome tab. #16895
- We fixed an issue where an entry added by DOI or URL could not be undone. #8770
- We fixed an issue where a regular expression search containing a quotation mark stopped the search instead of returning results. #9482
- We fixed an issue where an author list ending with "et al." was parsed as a person named "et al." instead of "and others". #16937
- We fixed an issue where dialog buttons cut off their text at a larger font size. #16787
- We fixed an issue where the font size was wrong after a walkthrough had been running. #17108
- We fixed preferences walkthroughs on macOS and made the Groups and PDF-link walkthroughs run through reliably. #17140
- We fixed an issue where main table columns could not be resized while "Fit table horizontally on screen" was enabled. Resizing a column now adjusts only the columns to its right, and column widths keep their proportions when the window is resized. #10516
- We fixed an issue where entry table column changes would not take effect before restarting JabRef. #17204
- We fixed an issue where the sidebar width jumped after repeatedly showing and hiding a side panel. #17100
- We fixed an issue where entries imported in the background could not be selected or updated in the main table. #16893
- We fixed an issue where editing a library's string constants could not be undone. #16936
- We fixed an issue where changes made in the library properties could not be undone. #16988
- We fixed an issue where the modified marker stayed set after undoing a change to groups or library properties. #16988
- We fixed an exception when switching to a group in a shared library. #17089
- We fixed an issue where undoing could overwrite a newer value when a background operation had changed the same field. #16936
- We fixed an issue where adding, removing, moving, sorting or editing groups could not be undone. #16936
- We fixed an issue where hovering over a group without description showed a stale tooltip from another group. #11487
- We fixed an issue where Ctrl+Z and Ctrl+Y only worked while the entry editor had focus. #16936
- We fixed an issue where the entry editor kept showing an entry of another library after switching libraries. #16892
- We fixed an issue where search results were out of view when the entry table had been scrolled down. #16897
- We fixed an issue where saving a library or PDF dropped its group, DOS flags, ACL and extended attributes. JabRef/jabref-koppor#750
- We fixed Citations tab layout, loading indicators, DOI synchronization, and stale fetcher errors. #16548
- We fixed an issue where undoing while a background operation was still writing to the library corrupted the library. #16936
- We fixed an issue where a step that could only be undone in part reported success. #16936
- We fixed an issue where library settings changed after accepting an external change were not saved or backed up. #16936
- We fixed an issue where generated citation keys could not be undone and no notification appeared. #16936
- We fixed an issue where pressing Escape while a dropdown is open closed the entire dialog instead of just the dropdown. #16596
- We fixed invisible filter text in the keyboard shortcuts preferences when using the light JabRef theme. #16731
- We fixed an issue where a full-text PDF link found by DOI lookup was attached in lowercase and failed. #16762
- "Git commit" now saves a modified library first if autosave is enabled, and otherwise lets you choose between saving first and committing only the state on disk, so unsaved changes are no longer silently left out of the commit. #16718
- We fixed an exception when autosave applied save actions. #17098
- We fixed repeated "index exceeds maxCellCount" log messages after the event log had been closed. #12534
- We fixed an issue where a library could be closed without asking to save changes made after an undo. #16680
- We fixed the context menu of an automatically found file offering "Remove link" instead of linking the file. #16898
- We fixed an issue where an empty backup could overwrite a library during recovery. #10853
- We fixed an issue where an unreadable library file opened as an empty library without an error. #17028
- We fixed an issue where the packaged JabRef application produced an exception when trying to use fulltext search and indexing. #16738
- We fixed search highlighting exceptions caused by incomplete or literal regular-expression characters. #16539
- We fixed freezing while scrolling results in the Search for unlinked local files dialog. #16696
- We fixed an issue where "File > Git > Commit" refused to commit when the repository had no remote or the remote could not be reached. #16720
- We fixed Git commit, push, and GitHub share errors for broken local repositories. #16704
- We fixed Git diffs so group tree changes are highlighted. #16729
- We fixed the unreadable hit count on group badges that turn green because they contain selected entries. #16700
- We fixed an issue where resolving external library conflicts through the merge dialog could discard the merged result. #16537
- We fixed an issue where switching entries in the source tab could throw an exception or overwrite another entry. #16534
- We fixed the source tab showing the wrong library mode at startup. #16844
- We fixed an issue where a PDF imported as a new entry via the merge dialog lost its file link. #16677
- We fixed the Add file link dialog moving behind the main window on macOS. #16549
- We fixed an issue where importing several files at once created one undo entry per file instead of one for the whole import, and undoing more than once afterwards failed. #16627
- We fixed an issue where changes made in the "Manage keywords" dialog could not be undone. #16627
- We fixed an issue where two JabRef instances saving the same library file could silently overwrite each other's changes. The instance finishing last now aborts its save and offers the usual review flow for the external changes instead. #16646
- We fixed an issue where deleting many entries from a large library could freeze the main table. #8976
- We fixed an issue where the integrity check wrongly complained about person names in fields wrapped over multiple lines. JabRef/jabref-issue-melting-pot#1319
- We fixed missed external-change detection while JabRef saves a library, so concurrent changes can be reviewed for resolution. #16646
- We fixed saving libraries with long file names, hard links, or file systems that do not support atomic moves. #7718
- We fixed an issue where the Control key could not be used when recording a new keyboard shortcut in the preferences on macOS. #16604
- We fixed the Control key not being recognized when recording a keyboard shortcut on macOS. #16604
- We fixed an issue where full-text search in linked files was not working when the experimental Postgres search backend is disabled. #16591
- We fixed unreadable notification text and icons when using the dark theme. #16475
- We fixed an issue where removing filtered entries from a group could cause JabRef to throw an exception. #16541
- We fixed an issue where adding JabRef suggested groups immediately after a library loads caused an error. #16552
- We fixed an issue where only a reduced set of icons was available for groups. The broader group icon set is available again. #16557
- We fixed an issue where empty values in the merge entries dialog could not be selected to clear the merged entry field. #15014
- We fixed an issue where
Update with bibliographic information via entry datadid not apply the confirmed merge result back to the selected entry. #15265 - We fixed an issue where
Update with bibliographic information via entry datacould fail with an exception while the merge dialog was open. #16583 - We fixed unreadable text colors and a missing window title in the multi-way merge dialog. #16553
- We fixed an issue where switching the citation provider in the "Citations" tab froze the user interface while the results were matched against the library. #16270
- We fixed an issue where reference mark expands onto the text when cursor is at the end of the mark. #16515
- We fixed an issue where the exception message would show in the notification. #14886
- CSL citations and bibliography in the LibreOffice integration now respect the "Look up BibTeX entries in the currently selected library only" preference. #16484
- We fixed an issue where dragging and dropping a
.bibfile onto an entry in the main table moved the file to the PDF/file folder. #16335 - We fixed journal information retrieval by getting journal metadata and metrics directly from Crossref and OpenAlex instead of Scimago. #16504
- We fixed an issue where the main table showed empty-library actions while a recent library was still loading. #16468
- We fixed an issue where JabRef was unable to save the changed
.bibfile if it was open in TeXstudio on Windows. #11916 - We fixed alignment of Journal/JournalTitle info icon in entry editor. #16425
- We fixed an issue in the LibreOffice integration where citations generated via CSL styles were not properly formatted. #16379
- We fixed an issue in the LibreOffice integration where generating bibliography or inserting citations made superscript citations smaller and smaller. #16351
- We fixed an issue where opening preferences could break arXiv web search later. #16059
- We fixed arXiv title searches containing accented characters. #16477
- We fixed an issue where generating AI embeddings for an entry with a linked URL logged a misleading error about a missing file. #16123
- We fixed an issue where the basic AI preferences stayed disabled although AI was enabled. #17128
- We fixed an issue where the AI preferences could not be saved because the document splitter overlap size was wrongly reported as invalid. #17119
- We fixed an issue where JabRef did not start when Mistral AI was selected as AI provider. #17212
- We fixed an issue with the LibreOffice integration where the ordering for numeric CSL styles in footnotes was broken. #12484
- We fixed an issue where
git pushdid not report rejected remote updates. #16367 - We fixed formatting issues in entry preview when
.bststyles were used. #16314 - We fixed an issue where BST entry previews did not render small caps formatting. #16330
- We fixed rendering of LaTeX math symbols in the entry preview when
.bststyles were used. #11338 - We fixed importing UTF-16 BibTeX files without a byte-order mark. #9496
- We fixed BibTeX imports skipping entries after an unmatched curly brace. #9833
- We fixed an issue where
jabkit convertwithout--outputprinted an internal object reference (e.g.org.jabref.model.database.BibDatabase@17932d9b) instead of the converted library. It now writes the library to standard output in the format selected by--output-format, with progress messages going to standard error. #16292 - We fixed spurious DOI-mismatch warnings when fetching an entry by DOI. #16280
- We fixed an issue where a critical error occurring during application startup (e.g. while constructing the main window) was only written to the log, leaving the user with no visible feedback and an apparently silent crash. #14967
- We fixed an issue where canceling the duplicate resolution dialog did not stop the background duplicate scan and kept the left entry. #16234
- We fixed an issue where entries imported or updated by an arXiv number could end up with the paper's automatic DOI web address as their citation key instead of a proper one; the INSPIRE literature database's key is now used when available, and updating an existing entry no longer silently drops its own or the fetched citation key. #12292
- We fixed an issue where a BibTeX entry printed on the first page of a PDF was not imported when other text (such as author email addresses) appeared above it. #16245
- We fixed an issue where the title detected when importing a PDF could contain a spurious space inside a word (e.g. "T opology") and could pick up unrelated text from the second page. #16246
- We fixed an issue where exported dates displayed month names in the system language—regardless of locale settings—instead of in English. #16224
- We improved the zbMATH fetcher so it imports books and collection articles more accurately and handles current zbMATH API responses more reliably. #16048
- We fixed an issue where converting a field to Unicode and back to LaTeX destroyed
\textsuperscript{...}/\textsubscript{...}: runs of Unicode super-/subscript characters now merge back into a single command. #3644 - We reduced the size of Linux packages by removing embedded Postgres binaries for unused architectures. #16143
- We fixed an issue where the PDF metadata merge dialog required manually clicking a small button to fetch full bibliographic data for identifiers (DOI, ISBN, ISSN, arXiv) found in the extracted PDF metadata; this now happens automatically. #15415
- We fixed an issue where searching ISIDORE failed with a security connection error. #16054
- We fixed an issue in the new entry editor's file field editor where files added via the add button did not appear until switching to another entry and back, and cleaned up the layout so the add/fetch-fulltext/download-URL buttons sit to the left of the file list and the list no longer leaves blank space below the last file. #16172
- We fixed an issue where the entry editor file field showed scrollbars even with a single linked file. #16676
- We fixed an issue where Keywords and Groups field editors were too large. #12112
- We fixed an issue where
jabkit's-p/--porcelainand-d/--debugflags only took effect when placed at the exact command level where they were parsed, so e.g.jabkit -p check consistency file.bibsilently ran without porcelain output. #16164 - We fixed an issue where no raw preferences values were visible anymore in the preferences filter. #16161
- We fixed an issue where cleanup did not detect an arXiv entry when its
urlfield ended with a fragment anchor (e.g.https://arxiv.org/html/2510.26275v2#bib). #16150 - We fixed an issue where searching OpenLibrary for a non-existing ISBN caused an error instead of returning no results. #16482.
- We fixed an issue where fetchers sent an empty API-key parameter (e.g.
api_key=) to the remote service when no key was configured. #16044 - We fixed an issue where the global search dialog kept showing the previous entry preview when the search returned no results. #15613
- We fixed an issue where preferences referencing removed cleanup steps are now ignored instead of failing to load. #15948
- We fixed an issue where the "Add enclosing braces" and "Normalize en dashes" cleanups could not be selected. #17021
- We fixed an issue where keyboard navigation shortcuts Alt+Up/Alt+Down in the entry editor did not preserve focus on the current field when switching between entries. #14943
- EndNote and Refer importers now respect the citation key preferences for unwanted characters. #15743
- We hardened CAYW browser endpoint communication by validating custom
librarypathaccess and adding an allow/disallow confirmation dialog for opening local files. #15295 - We fixed the Hayagriva YAML exporter to correctly nest DOI, ISBN, and ISSN under
serial-numberas required by the Hayagriva file format specification. #15713 - We fixed an issue where newly added entries could not be found in search. #15719
- We fixed a performance issue with the duplicate resolving when copying and pasting many entries. #15780
- We fixed an issue where the duplicate finder progress counter displayed incorrect values, not reflecting the actual number of duplicate pairs reviewed by the user. #11848
- We fixed an issue where non latin caseless author names being parsed as nameprefix instead of familyname. #15813
- We fixed an issue where
Quality-> Cleanup -> Rename PDFtogether withMoved linked files to file directorywould lead to an exception. #15833 - We fixed an issue where renaming a linked file with a very long title showed a misleading "file is being used by another process" error instead of renaming successfully. #14771
- We fixed an issue where JabRef would trigger
The libray has been changedwhile still saving. #4877 - We fixed preview tooltip height calculation in the main table. #16219
- We fixed an issue where stale main table search results could remain visible after consecutive searches. #15710
- We fixed an issue where the button shape changed when hovering over it. #16188
- We fixed handling of
exitin the LSP server. #16268 - We fixed an issue where
LinkedFile.isOnlineLink()did not recognizeftp://links as online links. #16400 - We fixed an issue where the "Jump to field" dialog only searched fields already shown in the entry editor. It now searches all known fields, adds the selected field if it is not yet visible, and creates the field if it does not exist yet. #16593
- We fixed an issue where deleting an entry removed the group filter and defaulted to the home view. #16036
- We fixed an issue where opening an online link with a query string could open a truncated URL. #16774
- We fixed an issue where the main table showed a tooltip with the entry's full title even when the title was already fully visible; the tooltip now appears only when the title is truncated. #16607
- We fixed the
Journal Abbreviationsearch box invisible text withJabRef - Light theme. #15721. - We fixed an issue where file synchronization tools could pick up a half-written PDF while JabRef wrote metadata. #16782
- We fixed an issue where undo in one library could revert a change made in another library. #16857
- We fixed an issue where saving one library cleared the modified marker of another library. #16857
- We fixed an issue where entry added by "add entry using" was not selected. #16035
- We fixed an issue where the "Connect to shared database" dialog froze while connecting. #16800
- We fixed an issue where the "entrytype" column header was shown in lower case; it now reads "Entry Type". #16894
- We fixed an issue where some buttons were not aligned in entry editor. #16485
- We fixed an issue where long recent library paths overflowed and were cut off in the Welcome tab. #16808
- We fixed an issue where a library file containing merge conflict markers was opened without any warning. #9167
- We fixed an issue where the deb, rpm and msi packages did not register JabRef for
.bibfiles. #17006 - We fixed AI chat connection errors to show the server URL and the reason. #17125
Removed
- We removed the redundant "Look up BibTeX entries in all open libraries" setting from the LibreOffice panel, which is now the toggle of "Look up BibTeX entries in the currently selected library only". #16484
- We removed the entry editor tabs "Required fields", "Optional fields", "Optional fields 2", "Deprecated fields", "Other fields", and "Comments"; their content is part of the new "Main" tab. #12711
- We removed the default custom entry editor tabs "General" and "Abstract"; their content is part of the new "Main" tab. User-defined custom tabs are kept. #12711
- The citation key integrity check now includes the generated citation key in its warning message. #15776
- We removed the CiteSeerX fetcher, because the service is defunct and its links now redirect to the Wayback Machine. #16299