Skip to content

Fix javadoc markdown artifacts#15309

Merged
calixtus merged 6 commits intoJabRef:mainfrom
AbhijitBhowmick:14897-fix-javadoctoMarkdown-repairs
Mar 15, 2026
Merged

Fix javadoc markdown artifacts#15309
calixtus merged 6 commits intoJabRef:mainfrom
AbhijitBhowmick:14897-fix-javadoctoMarkdown-repairs

Conversation

@AbhijitBhowmick
Copy link
Copy Markdown
Contributor

@AbhijitBhowmick AbhijitBhowmick commented Mar 9, 2026

Related issues and pull requests

Closes #14897

PR Description

1.This incorporates all the pending old Javadoc to Markdown changes required after merging #14891.
2.The following files are changed: 2.1.AutoCompletionTextInputBinding.java 2.2.JabRefCliPreferences.java 3.3.SearchBasedParserFetcher.java 4.4.StartNewStudyAction.java

Checklist

  • I own the copyright of the code submitted and I license it under the MIT license
  • I manually tested my changes in running JabRef (always required)
  • [/] I added JUnit tests for changes (if applicable)
  • [/] I added screenshots in the PR description (if change is visible to the user)
  • [/] I added a screenshot in the PR description showing a library with a single entry with me as author and as title the issue number
  • [/] I described the change in CHANGELOG.md in a way that can be understood by the average user (if change is visible to the user)
  • [/] I checked the user documentation for up to dateness and submitted a pull request to our user documentation repository

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 9, 2026

Hey @AbhijitBhowmick! 👋

Thank you for contributing to JabRef!

We have automated checks in place, based on which you will soon get feedback if any of them are failing. We also use Qodo for review assistance. It will update your pull request description with a review help and offer suggestions to improve the pull request.

After all automated checks pass, a maintainer will also review your contribution. Once that happens, you can go through their comments in the "Files changed" tab and act on them, or reply to the conversation if you have further inputs. You can read about the whole pull request process in our contribution guide.

Please ensure that your pull request is in line with our AI Usage Policy and make necessary disclosures.

@qodo-free-for-open-source-projects
Copy link
Copy Markdown
Contributor

Review Summary by Qodo

Convert Javadoc to Markdown and standardize comment formatting

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Convert Javadoc comment style from /// to standard /**/ format
• Replace ASCII art section dividers with // region: and // endRegion markers
• Remove HTML list tags (<ol>, </ol>) from documentation comments
• Improve code organization and readability with consistent comment formatting
Diagram
flowchart LR
  A["Old Javadoc Style<br/>/// comments<br/>ASCII dividers"] -- "Convert to" --> B["Standard Format<br/>/* */ comments<br/>region markers"]
  B -- "Applied to" --> C["4 Java Files<br/>AutoCompletion<br/>Preferences<br/>Fetcher<br/>Study Action"]
Loading

Grey Divider

File Changes

1. jabgui/src/main/java/org/jabref/gui/autocompleter/AutoCompletionTextInputBinding.java Formatting +26/-24

Convert copyright header to standard block comment

• Convert copyright header from /// line comments to standard /* */ block comment format
• Maintain all copyright and license information with improved readability

jabgui/src/main/java/org/jabref/gui/autocompleter/AutoCompletionTextInputBinding.java


2. jabgui/src/main/java/org/jabref/gui/slr/StartNewStudyAction.java 📝 Documentation +2/-2

Remove HTML list tags from documentation

• Remove HTML <ol> and </ol> tags from Javadoc comments
• Replace with plain text format using /// prefix for list items

jabgui/src/main/java/org/jabref/gui/slr/StartNewStudyAction.java


3. jablib/src/main/java/org/jabref/logic/importer/SearchBasedParserFetcher.java 📝 Documentation +2/-2

Remove HTML list tags from interface docs

• Remove HTML <ol> and </ol> tags from interface documentation
• Simplify list formatting in Javadoc comments

jablib/src/main/java/org/jabref/logic/importer/SearchBasedParserFetcher.java


View more (1)
4. jablib/src/main/java/org/jabref/logic/preferences/JabRefCliPreferences.java Formatting +23/-39

Replace ASCII dividers with region markers throughout

• Replace ASCII art section dividers (/// with asterisks) with // region: and // endRegion
 markers
• Standardize 12+ section headers throughout the file including serializer logic, backing store
 access, cleanup, custom entry types, misc, network preferences, citation key patterns, bib entry
 preferences, internal preferences, linked files, import/export, importer preferences
• Improve code organization and readability with consistent region-based commenting

jablib/src/main/java/org/jabref/logic/preferences/JabRefCliPreferences.java


Grey Divider

Qodo Logo

@qodo-free-for-open-source-projects
Copy link
Copy Markdown
Contributor

qodo-free-for-open-source-projects Bot commented Mar 9, 2026

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (1) 📎 Requirement gaps (0)

Grey Divider


Remediation recommended

1. // endRegion casing inconsistent📘 Rule violation ✓ Correctness
Description
The PR introduces mixed // endregion and // endRegion markers in JabRefCliPreferences, which
breaks the established convention and can reduce readability/IDE-folding consistency. Standardize
the casing to match the project’s existing style.
Code

jablib/src/main/java/org/jabref/logic/preferences/JabRefCliPreferences.java[1169]

+    // endRegion
Evidence
Compliance requires adherence to JabRef style and avoiding typos/inconsistencies in changed code.
The same file contains both // endregion and newly added // endRegion markers, demonstrating
inconsistent convention introduced by this PR.

AGENTS.md
jablib/src/main/java/org/jabref/logic/preferences/JabRefCliPreferences.java[862-862]
jablib/src/main/java/org/jabref/logic/preferences/JabRefCliPreferences.java[1169-1169]
jablib/src/main/java/org/jabref/logic/preferences/JabRefCliPreferences.java[1393-1393]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`JabRefCliPreferences` contains inconsistent region end markers (`// endregion` vs `// endRegion`). This is a style inconsistency/typo introduced in the changed code and may reduce readability and IDE code-folding consistency.
## Issue Context
The project commonly uses `// region: ...` paired with `// endregion` (lowercase `r`). In this PR, multiple `// endRegion` variants were added.
## Fix Focus Areas
- jablib/src/main/java/org/jabref/logic/preferences/JabRefCliPreferences.java[1169-1169]
- jablib/src/main/java/org/jabref/logic/preferences/JabRefCliPreferences.java[1210-1210]
- jablib/src/main/java/org/jabref/logic/preferences/JabRefCliPreferences.java[1324-1324]
- jablib/src/main/java/org/jabref/logic/preferences/JabRefCliPreferences.java[1351-1351]
- jablib/src/main/java/org/jabref/logic/preferences/JabRefCliPreferences.java[1393-1393]
- jablib/src/main/java/org/jabref/logic/preferences/JabRefCliPreferences.java[1459-1459]
- jablib/src/main/java/org/jabref/logic/preferences/JabRefCliPreferences.java[1561-1561]
- jablib/src/main/java/org/jabref/logic/preferences/JabRefCliPreferences.java[1697-1697]
- jablib/src/main/java/org/jabref/logic/preferences/JabRefCliPreferences.java[1803-1803]
- jablib/src/main/java/org/jabref/logic/preferences/JabRefCliPreferences.java[2359-2359]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

@github-actions github-actions Bot added good first issue An issue intended for project-newcomers. Varies in difficulty. status: changes-required Pull requests that are not yet complete labels Mar 9, 2026
@testlens-app

This comment has been minimized.

@testlens-app

This comment has been minimized.

@AbhijitBhowmick AbhijitBhowmick force-pushed the 14897-fix-javadoctoMarkdown-repairs branch from 6880f85 to 2ededd5 Compare March 10, 2026 01:01
@testlens-app

This comment has been minimized.

@testlens-app

This comment has been minimized.

@github-actions github-actions Bot added status: no-bot-comments and removed status: changes-required Pull requests that are not yet complete labels Mar 10, 2026
@testlens-app

This comment has been minimized.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This endregion now does not have a start. Looks like the file was already using some region definitions which interfere with the new ones. Please revisit the region splitting w.r.t. whether it still makes sense. Perhaps some regions are obsolete, need adjustment or reorganization. Can you suggest an adjustment to the regions to solve this issue? Ideally without changing things too radically.

@Stewori
Copy link
Copy Markdown
Collaborator

Stewori commented Mar 10, 2026

Okay, I found that in JabRefCliPreferences.java the existing old region declarations don't use a colon. (it's region name, not region: name). So I googled to find some reference on how the region patter should actually be. From what I found,
https://eclipse.dev/eclipse/markdown/?f=news/4.36/jdt.md
https://donraab.medium.com/grouping-java-methods-using-custom-code-folding-regions-with-intellij-bdff0b4fb2a3
it looks like the version without colon is actually correct.
@AbhijitBhowmick please adjust the new region declarations accordingly.

BTW it's a pity that when Javadoc introduced the @snippet tag, which supports region references, they introduced their own region style (// @start region=name ... // @end region=name), incompatible with the one used by IDEs: https://docs.oracle.com/en/java/javase/25/javadoc/snippets.html#GUID-E17E559E-BD80-4548-846F-1AC53C768CAD One opportunity to improve consistency in the Java ecosystem missed.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please edit the endRegion markings for consistency? (In the whole file) endRegion vs endregion, endRegion vs endRegion: name.
According to https://eclipse.dev/eclipse/markdown/?f=news/4.36/jdt.md endregion it is.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does intellj support them without colon?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the JabRef codebase both variants are mixed. So, either it does not matter, or you are already missing some in IntelliJ.
According to https://blog.jetbrains.com/idea/2012/03/custom-code-folding-regions-in-intellij-idea-111/ the concept is originally a VS thing, IntelliJ added support for their syntax. I struggle to find a proper reference for the syntax definitions in the VS docs (because they are terrible, have dead links, were partly retired etc), but the majority of examples and blog-posts I find use it without colon.
If IntelliJ simply supports both (colon is optional), I suggest we should agree on one version for consistency and apply it whenever possible.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, as a definite check, use the "Surround With" feature in IntelliJ. You will find, it does not use a colon.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have writtten as '''//endregion ''' and I will changes old ones(endRegion ->endregion)

Copy link
Copy Markdown
Contributor Author

@AbhijitBhowmick AbhijitBhowmick Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intellij has a feature in "Surround with" to add region and endregion .This feature we can use to end confusion in future .
Screenshot 2026-03-11 at 11 05 16

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes we do not need colon after region.I will remove : after region (in 17 places).

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfect!

//*************************************************************************************************************
// ToDo: Cleanup
//*************************************************************************************************************
// region: Cleanup
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder what to do with this. Turning the cleanup-todo into a region Cleanup is misleading. Perhaps move the methods to the misc region? (or is there a better fit?) Unfortunately I do not know what the cleanup actually shall accomplish.
Perhaps, simply no region in this case, but just a // Todo: Cleanup comment (without ****... decoration).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure about this Todo:CleanUp. I will keep it as // Todo: Cleanup comment .

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's fine. It's arguably well beyond the scope of this issue.

@calixtus calixtus changed the title 14897 fix javadocto markdown repairs Fix javadocto markdown artifacts Mar 12, 2026
@calixtus calixtus changed the title Fix javadocto markdown artifacts Fix javadoc markdown artifacts Mar 12, 2026
This incorporates all the pending old Javadoc to  Markdown changes required after merging JabRef#14891.The following files are changed:
1.AutoCompletionTextInputBinding.java
2.JabRefCliPreferences.java
3.SearchBasedParserFetcher.java
4.StartNewStudyAction.java
                                             1.
1.JabRefCliPreferences.java
2.SearchBasedParserFetcher.java
1.JabRefCliPreferences.java.
The following changes are done:-
1.Added // endregion to maintain sync with region:AI
  And // region Push to application preferences and //region to Git
2.Changed region: to region
3.Changed region: Cleanup to previous ToDo: Cleanup
4.changed endRegion to end region
5.Adjusted  dangling // endregion by merging Imported Preference tag(new one) with Other Preferences(old one)
@AbhijitBhowmick AbhijitBhowmick force-pushed the 14897-fix-javadoctoMarkdown-repairs branch from 39e8c75 to 9496f9b Compare March 13, 2026 07:37
@testlens-app

This comment has been minimized.

@github-actions github-actions Bot added status: changes-required Pull requests that are not yet complete and removed status: no-bot-comments labels Mar 13, 2026
1.JabRefCliPreferences.java.
The following changes are done:-
1.Apply IntelliJ formatting
@testlens-app
Copy link
Copy Markdown

testlens-app Bot commented Mar 13, 2026

✅ All tests passed ✅

🏷️ Commit: 204f156
▶️ Tests: 10135 executed
⚪️ Checks: 51/51 completed


Learn more about TestLens at testlens.app.

@github-actions github-actions Bot added status: no-bot-comments and removed status: changes-required Pull requests that are not yet complete labels Mar 13, 2026
@calixtus calixtus enabled auto-merge March 15, 2026 16:19
Copy link
Copy Markdown
Member

@calixtus calixtus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's move forward here

@calixtus calixtus added this pull request to the merge queue Mar 15, 2026
@github-actions github-actions Bot added the status: to-be-merged PRs which are accepted and should go into the merge-queue. label Mar 15, 2026
Merged via the queue into JabRef:main with commit a4fe918 Mar 15, 2026
51 checks passed
Syimyk43 pushed a commit to Syimyk43/jabref that referenced this pull request Mar 15, 2026
* Closes JabRef#14897
This incorporates all the pending old Javadoc to  Markdown changes required after merging JabRef#14891.The following files are changed:
1.AutoCompletionTextInputBinding.java
2.JabRefCliPreferences.java
3.SearchBasedParserFetcher.java
4.StartNewStudyAction.java
                                             1.

* 1.

* Rsolved mix up of endregion and endRegion.Final one is endregion.
1.File changed-JabRefCliPreferences.java

* Rsolved format issue related to line space.Files changed.
1.JabRefCliPreferences.java
2.SearchBasedParserFetcher.java

* Files changed.
1.JabRefCliPreferences.java.
The following changes are done:-
1.Added // endregion to maintain sync with region:AI
  And // region Push to application preferences and //region to Git
2.Changed region: to region
3.Changed region: Cleanup to previous ToDo: Cleanup
4.changed endRegion to end region
5.Adjusted  dangling // endregion by merging Imported Preference tag(new one) with Other Preferences(old one)

* Files changed.
1.JabRefCliPreferences.java.
The following changes are done:-
1.Apply IntelliJ formatting
github-merge-queue Bot pushed a commit that referenced this pull request Mar 15, 2026
* Close entry editor when last library is closed

When no library tab is active, the entry editor remained visible.
Added close() call in the activeTabProperty listener's else branch
to handle the zero-libraries-open case.

Fixes #13125

* Update CHANGELOG for #13125

* Fix case-insensitive DOI comparison in duplicate detection (#12967)

* Chore(deps): Bump org.gradlex:java-module-dependencies in /build-logic (#15328)

Bumps [org.gradlex:java-module-dependencies](https://github.com/gradlex-org/java-module-dependencies) from 1.12 to 1.12.1.
- [Release notes](https://github.com/gradlex-org/java-module-dependencies/releases)
- [Changelog](https://github.com/gradlex-org/java-module-dependencies/blob/main/CHANGELOG.md)
- [Commits](gradlex-org/java-module-dependencies@v1.12...v1.12.1)

---
updated-dependencies:
- dependency-name: org.gradlex:java-module-dependencies
  dependency-version: 1.12.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.openrewrite.rewrite from 7.26.0 to 7.28.1 (#15326)

Bumps org.openrewrite.rewrite from 7.26.0 to 7.28.1.

---
updated-dependencies:
- dependency-name: org.openrewrite.rewrite
  dependency-version: 7.28.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.mockito:mockito-core in /versions (#15330)

Bumps [org.mockito:mockito-core](https://github.com/mockito/mockito) from 5.22.0 to 5.23.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](mockito/mockito@v5.22.0...v5.23.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-version: 5.23.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.cyclonedx.bom from 3.2.0 to 3.2.1 (#15327)

Bumps org.cyclonedx.bom from 3.2.0 to 3.2.1.

---
updated-dependencies:
- dependency-name: org.cyclonedx.bom
  dependency-version: 3.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump com.squareup.okio:okio-jvm in /versions (#15329)

Bumps [com.squareup.okio:okio-jvm](https://github.com/square/okio) from 3.16.4 to 3.17.0.
- [Changelog](https://github.com/square/okio/blob/master/CHANGELOG.md)
- [Commits](square/okio@parent-3.16.4...parent-3.17.0)

---
updated-dependencies:
- dependency-name: com.squareup.okio:okio-jvm
  dependency-version: 3.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>

* New translations jabref_en.properties (Italian) (#15334)

* RIS export SP/EP fields when pages contain Unicode en-dash or em-dash (#15315)

* Extend the split regex to match en-dash and em-dash

* Added tests

---------

Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>

* Remove object redundancy, miscellaneous refactoring (#15332)

* Remove object redundancy, miscellaneous refactoring

Signed-off-by: subhramit <subhramit.bb@live.in>

* Use abbreviationRepository parameter

Signed-off-by: subhramit <subhramit.bb@live.in>

* Use less injections for journal abbreviations repository

Signed-off-by: subhramit <subhramit.bb@live.in>

* Indent

Signed-off-by: subhramit <subhramit.bb@live.in>

* Revert to codepoint

---------

Signed-off-by: subhramit <subhramit.bb@live.in>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>

* Add drag-and-drop support for Citation Relations tab (#15181)

* Add drag-and-drop support for Citation Relations tab

- Implement drag detection in CitationRelationsTab to allow dragging entries
- Add drag support to ViewModelListCellFactory
- Fix NullPointerException in FrameDndHandler when dropping onto tabs without IDs
- Fixes #15135

* Fix: correctly set drop completion status for entries

* Fix: Add Unreleased section and moved changelog entries

* Fix CHANGELOG formatting and upstream linter errors; removed empty groups

* Fix code consistency for cr

* Add explicit type

* Consistency in CHANGELOG.md

---------

Co-authored-by: Christoph <siedlerkiller@gmail.com>
Co-authored-by: Carl Christian Snethlage <calixtus@users.noreply.github.com>

* Update dependency org.eclipse.jgit:org.eclipse.jgit.pgm to v7.6.0.202603022253-r (#15335)

* Chore(deps): Bump org.cyclonedx.bom from 3.2.1 to 3.2.2 (#15337)

Bumps org.cyclonedx.bom from 3.2.1 to 3.2.2.

---
updated-dependencies:
- dependency-name: org.cyclonedx.bom
  dependency-version: 3.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.eclipse.jgit:org.eclipse.jgit in /versions (#15338)

Bumps [org.eclipse.jgit:org.eclipse.jgit](https://github.com/eclipse-jgit/jgit) from 7.5.0.202512021534-r to 7.6.0.202603022253-r.
- [Commits](eclipse-jgit/jgit@v7.5.0.202512021534-r...v7.6.0.202603022253-r)

---
updated-dependencies:
- dependency-name: org.eclipse.jgit:org.eclipse.jgit
  dependency-version: 7.6.0.202603022253-r
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add 'All' citation fetcher that aggregates results from all providers (#15292)

* Add 'All' citation fetcher that aggregates and deduplicates results from all providers

- Implements CitationFetcher as AllCitationFetcher aggregating CrossRef,
  OpenAlex, OpenCitations, and SemanticScholar
- Deduplicates results using DuplicateCheck with BibDatabaseMode.BIBTEX
- Returns maximum citation count across all providers
- Tolerates individual provider failures gracefully
- Adds ALL entry to CitationFetcherType enum and factory method
- Covers behaviour with unit tests (failure tolerance, deduplication, max count)

Closes #15029

* Add 'All' citation fetcher that aggregates results from all providers

- Add ALL as first entry in CitationFetcherType enum
- Implement AllCitationFetcher aggregating CrossRef, OpenAlex,
  OpenCitations, and SemanticScholar
- Union results using DatabaseMerger with keyword separator from
  ImportFormatPreferences, as specified in the task
- Return maximum citation count across all providers
- Tolerate individual provider failures gracefully
- Fix race condition in SearchCitationsRelationsService by marking
  citationFetcher and citationCountFetcher fields as volatile
- Set ALL as the default citation fetcher in preferences
- Add unit tests covering failure tolerance, deduplication, and
  max citation count

Closes #15029

* Update CHANGELOG for issue #15029

* Address bot review: fix AllCitationFetcher and improve tests

- Build provider list from CitationFetcherType enum (excluding ALL)
  to avoid duplicate list that can drift when new providers are added
- Track anySuccess in fetch() and getCitationCount(); throw
  FetcherException when all providers fail instead of silently
  returning empty results
- Emit WARN log when some providers fail but others succeed
- Rename test variables to intent-revealing names
- Fix citation count assertion to use assertEquals(Optional.of(20))
- Add tests for all-providers-fail and partial-failure scenarios

* Trigger CI

* Reformat AllCitationFetcher

* Fix checkstyle: remove blank line at start of constructor block

* Reverted back to semantic scholar ui preference

* Revert default citation fetcher to SEMANTIC_SCHOLAR in EntryEditorPreferences

* Re-trigger CI

* Adapt tests to use real constructor with mocks, remove test constructor

* fix unchecked excpetion

---------

Co-authored-by: Siedlerchr <siedlerkiller@gmail.com>

* Avoid error logs when search queries are incomplete (#15333)

* Avoid error logs when search queries are incomplete

Log the parsing error at debug level instead of error level. This prevents having
unnecessary output when user is still entering input like "title =".

* Update changelog for fixing incomplete search logging issue

* Update changelog entry for incomplete search logging issue

* Refine changelog entry for incomplete search logging issue

* Chore(deps): Bump org.openrewrite.recipe:rewrite-recipe-bom from 3.24.0 to 3.25.0 (#15217)

* Chore(deps): Bump org.openrewrite.recipe:rewrite-recipe-bom

Bumps [org.openrewrite.recipe:rewrite-recipe-bom](https://github.com/openrewrite/rewrite-recipe-bom) from 3.24.0 to 3.25.0.
- [Release notes](https://github.com/openrewrite/rewrite-recipe-bom/releases)
- [Commits](openrewrite/rewrite-recipe-bom@v3.24.0...v3.25.0)

---
updated-dependencies:
- dependency-name: org.openrewrite.recipe:rewrite-recipe-bom
  dependency-version: 3.25.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* udpate plugin

* update rewrite

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Siedlerchr <siedlerkiller@gmail.com>

* Select better value in MultiMergeEntries dialog component (#15027) (#15255)

* Select better value in MultiMergeEntries dialog component (#15027)

* Use PlausibilityComparatorFactory in MultiMergeEntriesViewModel
to select the more plausible value when merging fields from
multiple sources, instead of always keeping the first-seen value.

* Add DateFieldPlausibilityComparator to prefer more specific dates.

* Add unit tests for DateFieldPlausibilityComparator

* implement review comments

* Fix trailing whitespace in MultiMergeEntriesViewModelTest

* Trigger CI

* CI: re-trigger

* CI: re-trigger

---------

Co-authored-by: Christoph <siedlerkiller@gmail.com>

* Fix reset and import for PreviewPreferences (#15306)

* Cleanups

* Refactor PreviewPreferences for resetting and import

* Some null checks and migrations

* Fix wrong notnull

* Fix import

* Avoid addAll crash on immutable List

* Add forgotten customPreviewLayout

* Fix artifact from code iteration

* Refactor for consistency

* Fix artifact from code iteration

* Enhance dummy fallback layout

* Try to fix jbang

* Apply IDE suggestions

* Fix weird checkstyle behaviour

* Add default styles

* Fix migration tests

* Add tests

* Small cleanups

---------

Co-authored-by: Carl Christian Snethlage <calixtus@users.noreply.github.com>

* Fix javadoc markdown artifacts (#15309)

* Closes #14897
This incorporates all the pending old Javadoc to  Markdown changes required after merging #14891.The following files are changed:
1.AutoCompletionTextInputBinding.java
2.JabRefCliPreferences.java
3.SearchBasedParserFetcher.java
4.StartNewStudyAction.java
                                             1.

* 1.

* Rsolved mix up of endregion and endRegion.Final one is endregion.
1.File changed-JabRefCliPreferences.java

* Rsolved format issue related to line space.Files changed.
1.JabRefCliPreferences.java
2.SearchBasedParserFetcher.java

* Files changed.
1.JabRefCliPreferences.java.
The following changes are done:-
1.Added // endregion to maintain sync with region:AI
  And // region Push to application preferences and //region to Git
2.Changed region: to region
3.Changed region: Cleanup to previous ToDo: Cleanup
4.changed endRegion to end region
5.Adjusted  dangling // endregion by merging Imported Preference tag(new one) with Other Preferences(old one)

* Files changed.
1.JabRefCliPreferences.java.
The following changes are done:-
1.Apply IntelliJ formatting

* Update CHANGELOG for JabRef#12967

* Apply case-insensitive comparison only to DOI identifiers

* Apply IntelliJ code formatting to DuplicateCheck and DuplicateCheckTest

* Add tests for case-insensitive DOI duplicate detection

* Fix case-insensitive DOI comparison in duplicate detection

* fix formatting

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: subhramit <subhramit.bb@live.in>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>
Co-authored-by: Christoph <siedlerkiller@gmail.com>
Co-authored-by: Faneesh Juneja <willowstration@gmail.com>
Co-authored-by: Subhramit Basu <subhramit.bb@live.in>
Co-authored-by: Paul <thecoder777.github@gmail.com>
Co-authored-by: Carl Christian Snethlage <calixtus@users.noreply.github.com>
Co-authored-by: Mend Renovate <bot@renovateapp.com>
Co-authored-by: Nishant Dasgupta <nishant.24bcs10451@sst.scaler.com>
Co-authored-by: Mike Zhang <97817030+mikezhanghaozhe@users.noreply.github.com>
Co-authored-by: JunWang222 <70090336+JunWang222@users.noreply.github.com>
Co-authored-by: AbhijitBhowmick <94289124+AbhijitBhowmick@users.noreply.github.com>
AnvitaPrasad pushed a commit to AnvitaPrasad/jabref that referenced this pull request Mar 18, 2026
* Closes JabRef#14897
This incorporates all the pending old Javadoc to  Markdown changes required after merging JabRef#14891.The following files are changed:
1.AutoCompletionTextInputBinding.java
2.JabRefCliPreferences.java
3.SearchBasedParserFetcher.java
4.StartNewStudyAction.java
                                             1.

* 1.

* Rsolved mix up of endregion and endRegion.Final one is endregion.
1.File changed-JabRefCliPreferences.java

* Rsolved format issue related to line space.Files changed.
1.JabRefCliPreferences.java
2.SearchBasedParserFetcher.java

* Files changed.
1.JabRefCliPreferences.java.
The following changes are done:-
1.Added // endregion to maintain sync with region:AI
  And // region Push to application preferences and //region to Git
2.Changed region: to region
3.Changed region: Cleanup to previous ToDo: Cleanup
4.changed endRegion to end region
5.Adjusted  dangling // endregion by merging Imported Preference tag(new one) with Other Preferences(old one)

* Files changed.
1.JabRefCliPreferences.java.
The following changes are done:-
1.Apply IntelliJ formatting
AnvitaPrasad pushed a commit to AnvitaPrasad/jabref that referenced this pull request Mar 18, 2026
* Close entry editor when last library is closed

When no library tab is active, the entry editor remained visible.
Added close() call in the activeTabProperty listener's else branch
to handle the zero-libraries-open case.

Fixes JabRef#13125

* Update CHANGELOG for JabRef#13125

* Fix case-insensitive DOI comparison in duplicate detection (JabRef#12967)

* Chore(deps): Bump org.gradlex:java-module-dependencies in /build-logic (JabRef#15328)

Bumps [org.gradlex:java-module-dependencies](https://github.com/gradlex-org/java-module-dependencies) from 1.12 to 1.12.1.
- [Release notes](https://github.com/gradlex-org/java-module-dependencies/releases)
- [Changelog](https://github.com/gradlex-org/java-module-dependencies/blob/main/CHANGELOG.md)
- [Commits](gradlex-org/java-module-dependencies@v1.12...v1.12.1)

---
updated-dependencies:
- dependency-name: org.gradlex:java-module-dependencies
  dependency-version: 1.12.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.openrewrite.rewrite from 7.26.0 to 7.28.1 (JabRef#15326)

Bumps org.openrewrite.rewrite from 7.26.0 to 7.28.1.

---
updated-dependencies:
- dependency-name: org.openrewrite.rewrite
  dependency-version: 7.28.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.mockito:mockito-core in /versions (JabRef#15330)

Bumps [org.mockito:mockito-core](https://github.com/mockito/mockito) from 5.22.0 to 5.23.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](mockito/mockito@v5.22.0...v5.23.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-version: 5.23.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.cyclonedx.bom from 3.2.0 to 3.2.1 (JabRef#15327)

Bumps org.cyclonedx.bom from 3.2.0 to 3.2.1.

---
updated-dependencies:
- dependency-name: org.cyclonedx.bom
  dependency-version: 3.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump com.squareup.okio:okio-jvm in /versions (JabRef#15329)

Bumps [com.squareup.okio:okio-jvm](https://github.com/square/okio) from 3.16.4 to 3.17.0.
- [Changelog](https://github.com/square/okio/blob/master/CHANGELOG.md)
- [Commits](square/okio@parent-3.16.4...parent-3.17.0)

---
updated-dependencies:
- dependency-name: com.squareup.okio:okio-jvm
  dependency-version: 3.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>

* New translations jabref_en.properties (Italian) (JabRef#15334)

* RIS export SP/EP fields when pages contain Unicode en-dash or em-dash (JabRef#15315)

* Extend the split regex to match en-dash and em-dash

* Added tests

---------

Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>

* Remove object redundancy, miscellaneous refactoring (JabRef#15332)

* Remove object redundancy, miscellaneous refactoring

Signed-off-by: subhramit <subhramit.bb@live.in>

* Use abbreviationRepository parameter

Signed-off-by: subhramit <subhramit.bb@live.in>

* Use less injections for journal abbreviations repository

Signed-off-by: subhramit <subhramit.bb@live.in>

* Indent

Signed-off-by: subhramit <subhramit.bb@live.in>

* Revert to codepoint

---------

Signed-off-by: subhramit <subhramit.bb@live.in>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>

* Add drag-and-drop support for Citation Relations tab (JabRef#15181)

* Add drag-and-drop support for Citation Relations tab

- Implement drag detection in CitationRelationsTab to allow dragging entries
- Add drag support to ViewModelListCellFactory
- Fix NullPointerException in FrameDndHandler when dropping onto tabs without IDs
- Fixes JabRef#15135

* Fix: correctly set drop completion status for entries

* Fix: Add Unreleased section and moved changelog entries

* Fix CHANGELOG formatting and upstream linter errors; removed empty groups

* Fix code consistency for cr

* Add explicit type

* Consistency in CHANGELOG.md

---------

Co-authored-by: Christoph <siedlerkiller@gmail.com>
Co-authored-by: Carl Christian Snethlage <calixtus@users.noreply.github.com>

* Update dependency org.eclipse.jgit:org.eclipse.jgit.pgm to v7.6.0.202603022253-r (JabRef#15335)

* Chore(deps): Bump org.cyclonedx.bom from 3.2.1 to 3.2.2 (JabRef#15337)

Bumps org.cyclonedx.bom from 3.2.1 to 3.2.2.

---
updated-dependencies:
- dependency-name: org.cyclonedx.bom
  dependency-version: 3.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.eclipse.jgit:org.eclipse.jgit in /versions (JabRef#15338)

Bumps [org.eclipse.jgit:org.eclipse.jgit](https://github.com/eclipse-jgit/jgit) from 7.5.0.202512021534-r to 7.6.0.202603022253-r.
- [Commits](eclipse-jgit/jgit@v7.5.0.202512021534-r...v7.6.0.202603022253-r)

---
updated-dependencies:
- dependency-name: org.eclipse.jgit:org.eclipse.jgit
  dependency-version: 7.6.0.202603022253-r
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add 'All' citation fetcher that aggregates results from all providers (JabRef#15292)

* Add 'All' citation fetcher that aggregates and deduplicates results from all providers

- Implements CitationFetcher as AllCitationFetcher aggregating CrossRef,
  OpenAlex, OpenCitations, and SemanticScholar
- Deduplicates results using DuplicateCheck with BibDatabaseMode.BIBTEX
- Returns maximum citation count across all providers
- Tolerates individual provider failures gracefully
- Adds ALL entry to CitationFetcherType enum and factory method
- Covers behaviour with unit tests (failure tolerance, deduplication, max count)

Closes JabRef#15029

* Add 'All' citation fetcher that aggregates results from all providers

- Add ALL as first entry in CitationFetcherType enum
- Implement AllCitationFetcher aggregating CrossRef, OpenAlex,
  OpenCitations, and SemanticScholar
- Union results using DatabaseMerger with keyword separator from
  ImportFormatPreferences, as specified in the task
- Return maximum citation count across all providers
- Tolerate individual provider failures gracefully
- Fix race condition in SearchCitationsRelationsService by marking
  citationFetcher and citationCountFetcher fields as volatile
- Set ALL as the default citation fetcher in preferences
- Add unit tests covering failure tolerance, deduplication, and
  max citation count

Closes JabRef#15029

* Update CHANGELOG for issue JabRef#15029

* Address bot review: fix AllCitationFetcher and improve tests

- Build provider list from CitationFetcherType enum (excluding ALL)
  to avoid duplicate list that can drift when new providers are added
- Track anySuccess in fetch() and getCitationCount(); throw
  FetcherException when all providers fail instead of silently
  returning empty results
- Emit WARN log when some providers fail but others succeed
- Rename test variables to intent-revealing names
- Fix citation count assertion to use assertEquals(Optional.of(20))
- Add tests for all-providers-fail and partial-failure scenarios

* Trigger CI

* Reformat AllCitationFetcher

* Fix checkstyle: remove blank line at start of constructor block

* Reverted back to semantic scholar ui preference

* Revert default citation fetcher to SEMANTIC_SCHOLAR in EntryEditorPreferences

* Re-trigger CI

* Adapt tests to use real constructor with mocks, remove test constructor

* fix unchecked excpetion

---------

Co-authored-by: Siedlerchr <siedlerkiller@gmail.com>

* Avoid error logs when search queries are incomplete (JabRef#15333)

* Avoid error logs when search queries are incomplete

Log the parsing error at debug level instead of error level. This prevents having
unnecessary output when user is still entering input like "title =".

* Update changelog for fixing incomplete search logging issue

* Update changelog entry for incomplete search logging issue

* Refine changelog entry for incomplete search logging issue

* Chore(deps): Bump org.openrewrite.recipe:rewrite-recipe-bom from 3.24.0 to 3.25.0 (JabRef#15217)

* Chore(deps): Bump org.openrewrite.recipe:rewrite-recipe-bom

Bumps [org.openrewrite.recipe:rewrite-recipe-bom](https://github.com/openrewrite/rewrite-recipe-bom) from 3.24.0 to 3.25.0.
- [Release notes](https://github.com/openrewrite/rewrite-recipe-bom/releases)
- [Commits](openrewrite/rewrite-recipe-bom@v3.24.0...v3.25.0)

---
updated-dependencies:
- dependency-name: org.openrewrite.recipe:rewrite-recipe-bom
  dependency-version: 3.25.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* udpate plugin

* update rewrite

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Siedlerchr <siedlerkiller@gmail.com>

* Select better value in MultiMergeEntries dialog component (JabRef#15027) (JabRef#15255)

* Select better value in MultiMergeEntries dialog component (JabRef#15027)

* Use PlausibilityComparatorFactory in MultiMergeEntriesViewModel
to select the more plausible value when merging fields from
multiple sources, instead of always keeping the first-seen value.

* Add DateFieldPlausibilityComparator to prefer more specific dates.

* Add unit tests for DateFieldPlausibilityComparator

* implement review comments

* Fix trailing whitespace in MultiMergeEntriesViewModelTest

* Trigger CI

* CI: re-trigger

* CI: re-trigger

---------

Co-authored-by: Christoph <siedlerkiller@gmail.com>

* Fix reset and import for PreviewPreferences (JabRef#15306)

* Cleanups

* Refactor PreviewPreferences for resetting and import

* Some null checks and migrations

* Fix wrong notnull

* Fix import

* Avoid addAll crash on immutable List

* Add forgotten customPreviewLayout

* Fix artifact from code iteration

* Refactor for consistency

* Fix artifact from code iteration

* Enhance dummy fallback layout

* Try to fix jbang

* Apply IDE suggestions

* Fix weird checkstyle behaviour

* Add default styles

* Fix migration tests

* Add tests

* Small cleanups

---------

Co-authored-by: Carl Christian Snethlage <calixtus@users.noreply.github.com>

* Fix javadoc markdown artifacts (JabRef#15309)

* Closes JabRef#14897
This incorporates all the pending old Javadoc to  Markdown changes required after merging JabRef#14891.The following files are changed:
1.AutoCompletionTextInputBinding.java
2.JabRefCliPreferences.java
3.SearchBasedParserFetcher.java
4.StartNewStudyAction.java
                                             1.

* 1.

* Rsolved mix up of endregion and endRegion.Final one is endregion.
1.File changed-JabRefCliPreferences.java

* Rsolved format issue related to line space.Files changed.
1.JabRefCliPreferences.java
2.SearchBasedParserFetcher.java

* Files changed.
1.JabRefCliPreferences.java.
The following changes are done:-
1.Added // endregion to maintain sync with region:AI
  And // region Push to application preferences and //region to Git
2.Changed region: to region
3.Changed region: Cleanup to previous ToDo: Cleanup
4.changed endRegion to end region
5.Adjusted  dangling // endregion by merging Imported Preference tag(new one) with Other Preferences(old one)

* Files changed.
1.JabRefCliPreferences.java.
The following changes are done:-
1.Apply IntelliJ formatting

* Update CHANGELOG for JabRef#12967

* Apply case-insensitive comparison only to DOI identifiers

* Apply IntelliJ code formatting to DuplicateCheck and DuplicateCheckTest

* Add tests for case-insensitive DOI duplicate detection

* Fix case-insensitive DOI comparison in duplicate detection

* fix formatting

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: subhramit <subhramit.bb@live.in>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>
Co-authored-by: Christoph <siedlerkiller@gmail.com>
Co-authored-by: Faneesh Juneja <willowstration@gmail.com>
Co-authored-by: Subhramit Basu <subhramit.bb@live.in>
Co-authored-by: Paul <thecoder777.github@gmail.com>
Co-authored-by: Carl Christian Snethlage <calixtus@users.noreply.github.com>
Co-authored-by: Mend Renovate <bot@renovateapp.com>
Co-authored-by: Nishant Dasgupta <nishant.24bcs10451@sst.scaler.com>
Co-authored-by: Mike Zhang <97817030+mikezhanghaozhe@users.noreply.github.com>
Co-authored-by: JunWang222 <70090336+JunWang222@users.noreply.github.com>
Co-authored-by: AbhijitBhowmick <94289124+AbhijitBhowmick@users.noreply.github.com>
FynnianB pushed a commit to FynnianB/jabref that referenced this pull request Mar 19, 2026
* Closes JabRef#14897
This incorporates all the pending old Javadoc to  Markdown changes required after merging JabRef#14891.The following files are changed:
1.AutoCompletionTextInputBinding.java
2.JabRefCliPreferences.java
3.SearchBasedParserFetcher.java
4.StartNewStudyAction.java
                                             1.

* 1.

* Rsolved mix up of endregion and endRegion.Final one is endregion.
1.File changed-JabRefCliPreferences.java

* Rsolved format issue related to line space.Files changed.
1.JabRefCliPreferences.java
2.SearchBasedParserFetcher.java

* Files changed.
1.JabRefCliPreferences.java.
The following changes are done:-
1.Added // endregion to maintain sync with region:AI
  And // region Push to application preferences and //region to Git
2.Changed region: to region
3.Changed region: Cleanup to previous ToDo: Cleanup
4.changed endRegion to end region
5.Adjusted  dangling // endregion by merging Imported Preference tag(new one) with Other Preferences(old one)

* Files changed.
1.JabRefCliPreferences.java.
The following changes are done:-
1.Apply IntelliJ formatting
FynnianB pushed a commit to FynnianB/jabref that referenced this pull request Mar 19, 2026
* Close entry editor when last library is closed

When no library tab is active, the entry editor remained visible.
Added close() call in the activeTabProperty listener's else branch
to handle the zero-libraries-open case.

Fixes JabRef#13125

* Update CHANGELOG for JabRef#13125

* Fix case-insensitive DOI comparison in duplicate detection (JabRef#12967)

* Chore(deps): Bump org.gradlex:java-module-dependencies in /build-logic (JabRef#15328)

Bumps [org.gradlex:java-module-dependencies](https://github.com/gradlex-org/java-module-dependencies) from 1.12 to 1.12.1.
- [Release notes](https://github.com/gradlex-org/java-module-dependencies/releases)
- [Changelog](https://github.com/gradlex-org/java-module-dependencies/blob/main/CHANGELOG.md)
- [Commits](gradlex-org/java-module-dependencies@v1.12...v1.12.1)

---
updated-dependencies:
- dependency-name: org.gradlex:java-module-dependencies
  dependency-version: 1.12.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.openrewrite.rewrite from 7.26.0 to 7.28.1 (JabRef#15326)

Bumps org.openrewrite.rewrite from 7.26.0 to 7.28.1.

---
updated-dependencies:
- dependency-name: org.openrewrite.rewrite
  dependency-version: 7.28.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.mockito:mockito-core in /versions (JabRef#15330)

Bumps [org.mockito:mockito-core](https://github.com/mockito/mockito) from 5.22.0 to 5.23.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](mockito/mockito@v5.22.0...v5.23.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-version: 5.23.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.cyclonedx.bom from 3.2.0 to 3.2.1 (JabRef#15327)

Bumps org.cyclonedx.bom from 3.2.0 to 3.2.1.

---
updated-dependencies:
- dependency-name: org.cyclonedx.bom
  dependency-version: 3.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump com.squareup.okio:okio-jvm in /versions (JabRef#15329)

Bumps [com.squareup.okio:okio-jvm](https://github.com/square/okio) from 3.16.4 to 3.17.0.
- [Changelog](https://github.com/square/okio/blob/master/CHANGELOG.md)
- [Commits](square/okio@parent-3.16.4...parent-3.17.0)

---
updated-dependencies:
- dependency-name: com.squareup.okio:okio-jvm
  dependency-version: 3.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>

* New translations jabref_en.properties (Italian) (JabRef#15334)

* RIS export SP/EP fields when pages contain Unicode en-dash or em-dash (JabRef#15315)

* Extend the split regex to match en-dash and em-dash

* Added tests

---------

Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>

* Remove object redundancy, miscellaneous refactoring (JabRef#15332)

* Remove object redundancy, miscellaneous refactoring

Signed-off-by: subhramit <subhramit.bb@live.in>

* Use abbreviationRepository parameter

Signed-off-by: subhramit <subhramit.bb@live.in>

* Use less injections for journal abbreviations repository

Signed-off-by: subhramit <subhramit.bb@live.in>

* Indent

Signed-off-by: subhramit <subhramit.bb@live.in>

* Revert to codepoint

---------

Signed-off-by: subhramit <subhramit.bb@live.in>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>

* Add drag-and-drop support for Citation Relations tab (JabRef#15181)

* Add drag-and-drop support for Citation Relations tab

- Implement drag detection in CitationRelationsTab to allow dragging entries
- Add drag support to ViewModelListCellFactory
- Fix NullPointerException in FrameDndHandler when dropping onto tabs without IDs
- Fixes JabRef#15135

* Fix: correctly set drop completion status for entries

* Fix: Add Unreleased section and moved changelog entries

* Fix CHANGELOG formatting and upstream linter errors; removed empty groups

* Fix code consistency for cr

* Add explicit type

* Consistency in CHANGELOG.md

---------

Co-authored-by: Christoph <siedlerkiller@gmail.com>
Co-authored-by: Carl Christian Snethlage <calixtus@users.noreply.github.com>

* Update dependency org.eclipse.jgit:org.eclipse.jgit.pgm to v7.6.0.202603022253-r (JabRef#15335)

* Chore(deps): Bump org.cyclonedx.bom from 3.2.1 to 3.2.2 (JabRef#15337)

Bumps org.cyclonedx.bom from 3.2.1 to 3.2.2.

---
updated-dependencies:
- dependency-name: org.cyclonedx.bom
  dependency-version: 3.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.eclipse.jgit:org.eclipse.jgit in /versions (JabRef#15338)

Bumps [org.eclipse.jgit:org.eclipse.jgit](https://github.com/eclipse-jgit/jgit) from 7.5.0.202512021534-r to 7.6.0.202603022253-r.
- [Commits](eclipse-jgit/jgit@v7.5.0.202512021534-r...v7.6.0.202603022253-r)

---
updated-dependencies:
- dependency-name: org.eclipse.jgit:org.eclipse.jgit
  dependency-version: 7.6.0.202603022253-r
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add 'All' citation fetcher that aggregates results from all providers (JabRef#15292)

* Add 'All' citation fetcher that aggregates and deduplicates results from all providers

- Implements CitationFetcher as AllCitationFetcher aggregating CrossRef,
  OpenAlex, OpenCitations, and SemanticScholar
- Deduplicates results using DuplicateCheck with BibDatabaseMode.BIBTEX
- Returns maximum citation count across all providers
- Tolerates individual provider failures gracefully
- Adds ALL entry to CitationFetcherType enum and factory method
- Covers behaviour with unit tests (failure tolerance, deduplication, max count)

Closes JabRef#15029

* Add 'All' citation fetcher that aggregates results from all providers

- Add ALL as first entry in CitationFetcherType enum
- Implement AllCitationFetcher aggregating CrossRef, OpenAlex,
  OpenCitations, and SemanticScholar
- Union results using DatabaseMerger with keyword separator from
  ImportFormatPreferences, as specified in the task
- Return maximum citation count across all providers
- Tolerate individual provider failures gracefully
- Fix race condition in SearchCitationsRelationsService by marking
  citationFetcher and citationCountFetcher fields as volatile
- Set ALL as the default citation fetcher in preferences
- Add unit tests covering failure tolerance, deduplication, and
  max citation count

Closes JabRef#15029

* Update CHANGELOG for issue JabRef#15029

* Address bot review: fix AllCitationFetcher and improve tests

- Build provider list from CitationFetcherType enum (excluding ALL)
  to avoid duplicate list that can drift when new providers are added
- Track anySuccess in fetch() and getCitationCount(); throw
  FetcherException when all providers fail instead of silently
  returning empty results
- Emit WARN log when some providers fail but others succeed
- Rename test variables to intent-revealing names
- Fix citation count assertion to use assertEquals(Optional.of(20))
- Add tests for all-providers-fail and partial-failure scenarios

* Trigger CI

* Reformat AllCitationFetcher

* Fix checkstyle: remove blank line at start of constructor block

* Reverted back to semantic scholar ui preference

* Revert default citation fetcher to SEMANTIC_SCHOLAR in EntryEditorPreferences

* Re-trigger CI

* Adapt tests to use real constructor with mocks, remove test constructor

* fix unchecked excpetion

---------

Co-authored-by: Siedlerchr <siedlerkiller@gmail.com>

* Avoid error logs when search queries are incomplete (JabRef#15333)

* Avoid error logs when search queries are incomplete

Log the parsing error at debug level instead of error level. This prevents having
unnecessary output when user is still entering input like "title =".

* Update changelog for fixing incomplete search logging issue

* Update changelog entry for incomplete search logging issue

* Refine changelog entry for incomplete search logging issue

* Chore(deps): Bump org.openrewrite.recipe:rewrite-recipe-bom from 3.24.0 to 3.25.0 (JabRef#15217)

* Chore(deps): Bump org.openrewrite.recipe:rewrite-recipe-bom

Bumps [org.openrewrite.recipe:rewrite-recipe-bom](https://github.com/openrewrite/rewrite-recipe-bom) from 3.24.0 to 3.25.0.
- [Release notes](https://github.com/openrewrite/rewrite-recipe-bom/releases)
- [Commits](openrewrite/rewrite-recipe-bom@v3.24.0...v3.25.0)

---
updated-dependencies:
- dependency-name: org.openrewrite.recipe:rewrite-recipe-bom
  dependency-version: 3.25.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* udpate plugin

* update rewrite

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Siedlerchr <siedlerkiller@gmail.com>

* Select better value in MultiMergeEntries dialog component (JabRef#15027) (JabRef#15255)

* Select better value in MultiMergeEntries dialog component (JabRef#15027)

* Use PlausibilityComparatorFactory in MultiMergeEntriesViewModel
to select the more plausible value when merging fields from
multiple sources, instead of always keeping the first-seen value.

* Add DateFieldPlausibilityComparator to prefer more specific dates.

* Add unit tests for DateFieldPlausibilityComparator

* implement review comments

* Fix trailing whitespace in MultiMergeEntriesViewModelTest

* Trigger CI

* CI: re-trigger

* CI: re-trigger

---------

Co-authored-by: Christoph <siedlerkiller@gmail.com>

* Fix reset and import for PreviewPreferences (JabRef#15306)

* Cleanups

* Refactor PreviewPreferences for resetting and import

* Some null checks and migrations

* Fix wrong notnull

* Fix import

* Avoid addAll crash on immutable List

* Add forgotten customPreviewLayout

* Fix artifact from code iteration

* Refactor for consistency

* Fix artifact from code iteration

* Enhance dummy fallback layout

* Try to fix jbang

* Apply IDE suggestions

* Fix weird checkstyle behaviour

* Add default styles

* Fix migration tests

* Add tests

* Small cleanups

---------

Co-authored-by: Carl Christian Snethlage <calixtus@users.noreply.github.com>

* Fix javadoc markdown artifacts (JabRef#15309)

* Closes JabRef#14897
This incorporates all the pending old Javadoc to  Markdown changes required after merging JabRef#14891.The following files are changed:
1.AutoCompletionTextInputBinding.java
2.JabRefCliPreferences.java
3.SearchBasedParserFetcher.java
4.StartNewStudyAction.java
                                             1.

* 1.

* Rsolved mix up of endregion and endRegion.Final one is endregion.
1.File changed-JabRefCliPreferences.java

* Rsolved format issue related to line space.Files changed.
1.JabRefCliPreferences.java
2.SearchBasedParserFetcher.java

* Files changed.
1.JabRefCliPreferences.java.
The following changes are done:-
1.Added // endregion to maintain sync with region:AI
  And // region Push to application preferences and //region to Git
2.Changed region: to region
3.Changed region: Cleanup to previous ToDo: Cleanup
4.changed endRegion to end region
5.Adjusted  dangling // endregion by merging Imported Preference tag(new one) with Other Preferences(old one)

* Files changed.
1.JabRefCliPreferences.java.
The following changes are done:-
1.Apply IntelliJ formatting

* Update CHANGELOG for JabRef#12967

* Apply case-insensitive comparison only to DOI identifiers

* Apply IntelliJ code formatting to DuplicateCheck and DuplicateCheckTest

* Add tests for case-insensitive DOI duplicate detection

* Fix case-insensitive DOI comparison in duplicate detection

* fix formatting

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: subhramit <subhramit.bb@live.in>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>
Co-authored-by: Christoph <siedlerkiller@gmail.com>
Co-authored-by: Faneesh Juneja <willowstration@gmail.com>
Co-authored-by: Subhramit Basu <subhramit.bb@live.in>
Co-authored-by: Paul <thecoder777.github@gmail.com>
Co-authored-by: Carl Christian Snethlage <calixtus@users.noreply.github.com>
Co-authored-by: Mend Renovate <bot@renovateapp.com>
Co-authored-by: Nishant Dasgupta <nishant.24bcs10451@sst.scaler.com>
Co-authored-by: Mike Zhang <97817030+mikezhanghaozhe@users.noreply.github.com>
Co-authored-by: JunWang222 <70090336+JunWang222@users.noreply.github.com>
Co-authored-by: AbhijitBhowmick <94289124+AbhijitBhowmick@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

first contrib good first issue An issue intended for project-newcomers. Varies in difficulty. status: no-bot-comments status: to-be-merged PRs which are accepted and should go into the merge-queue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Some small repairs after Javadoc to Markdown conversion.

4 participants