Skip to content

Commit 8771120

Browse files
authored
Merge branch 'main' into restore-auto-rename-feature-2
2 parents 9f81a8e + 178f2b1 commit 8771120

34 files changed

+543
-179
lines changed

.gitattributes

+1
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ gradlew text eol=lf
1313
*.properties text eol=lf
1414

1515
CHANGELOG.md merge=union
16+
src/main/resources/l10n/JabRef_en.properties merge=union

.github/PULL_REQUEST_TEMPLATE.md

+13-7
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,27 @@
1-
<!-- YOU HAVE TO MODIFY THIS TEXT TO FIT YOUR PR. OTHERWISE, YOUR PR WILL BE CLOSED WITHOUT FURTHER COMMENT. -->
2-
3-
Describe the changes you have made here: what, why, ...
1+
<!-- YOU HAVE TO MODIFY THE TEXT BELOW TO FIT YOUR PR. OTHERWISE, YOUR PR WILL BE CLOSED WITHOUT FURTHER COMMENT. -->
42

53
<!-- LINK THE ISSUE WITH THE "Closes" KEYWORD -->
6-
<!-- Example: Closes (link) OR Closes #xyz -->
4+
<!-- Example: Closes (link) OR Closes #12345 -->
5+
6+
Closes _____
7+
Describe the changes you have made here: what, where, why, ...
8+
If your work is not yet complete, please open a draft pull request. In that case, outline your intended next steps. Do you need feedback? Will you continue in parallel? ...
79

810
### Mandatory checks
911

1012
<!--
11-
- Go through the list below. Please don't remove any items.
12-
- [x] done; [ ] not done / not applicable
13+
Go throgh the checklist below. It is mandatory, even for a draft pull request.
14+
15+
Keep ALL the items. Mark them as follows:
16+
[x] done
17+
[ ] not done
18+
[/] not applicable
1319
-->
1420

1521
- [x] I own the copyright of the code submitted and I licence it under the [MIT license](https://github.com/JabRef/jabref/blob/main/LICENSE)
1622
- [ ] Change in `CHANGELOG.md` described in a way that is understandable for the average user (if change is visible to the user)
1723
- [ ] Tests created for changes (if applicable)
1824
- [ ] Manually tested changed features in running JabRef (always required)
19-
- [ ] Screenshots added in PR description (for UI changes)
25+
- [ ] Screenshots added in PR description (if change is visible to the user)
2026
- [ ] [Checked developer's documentation](https://devdocs.jabref.org/): Is the information available and up to date? If not, I outlined it in this pull request.
2127
- [ ] [Checked documentation](https://docs.jabref.org/): Is the information available and up to date? If not, I created an issue at <https://github.com/JabRef/user-documentation/issues> or, even better, I submitted a pull request to the documentation repository.

.github/ghprcomment.yml

+22-6
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
Please carefully follow [the setup guide for the codestyle](https://devdocs.jabref.org/getting-into-the-code/guidelines-for-setting-up-a-local-workspace/intellij-13-code-style.html).
66
Afterwards, please [run checkstyle locally](https://devdocs.jabref.org/getting-into-the-code/guidelines-for-setting-up-a-local-workspace/intellij-13-code-style.html#run-checkstyle) and fix the issues.
77
8+
89
In case of issues with the import order, double check that you [activated Auto Import](https://devdocs.jabref.org/getting-into-the-code/guidelines-for-setting-up-a-local-workspace/intellij-13-code-style.html#enable-proper-import-cleanup).
910
You can trigger fixing imports by pressing <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>O</kbd> to trigger [Optimize Imports](https://www.jetbrains.com/guide/tips/optimize-imports/).
1011
- jobName: OpenRewrite
@@ -14,20 +15,23 @@
1415
The issues found can be **automatically fixed**.
1516
Please execute the gradle task *`rewriteRun`*, check the results, commit, and push.
1617
18+
1719
You can check the detailed error output by navigating to your pull request, selecting the tab "Checks", section "Tests" (on the left), subsection "OpenRewrite".
1820
- jobName: Modernizer
1921
message: >
2022
Your code currently does not meet JabRef's code guidelines.
2123
We use [Gradle Modernizer Plugin](https://github.com/andygoossens/gradle-modernizer-plugin#gradle-modernizer-plugin) to ensure "modern" Java coding practices.
2224
Please fix the detected errors, commit, and push.
2325
26+
2427
You can check the detailed error output by navigating to your pull request, selecting the tab "Checks", section "Tests" (on the left), subsection "Modernizer".
2528
- jobName: Markdown
2629
message: >
2730
You modified Markdown (`*.md`) files and did not meet JabRef's rules for consistently formatted Markdown files.
2831
To ensure consistent styling, we have [markdown-lint](https://github.com/DavidAnson/markdownlint) in place.
2932
[Markdown lint's rules](https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#rules) help to keep our Markdown files consistent within this repository and consistent with the Markdown files outside here.
3033
34+
3135
You can check the detailed error output by navigating to your pull request, selecting the tab "Checks", section "Tests" (on the left), subsection "Markdown".
3236
- jobName: CHANGELOG.md
3337
message: |
@@ -39,17 +43,16 @@
3943
In the area "Some checks were not successful", locate "Tests / Unit tests (pull_request)" and click on "Details".
4044
This brings you to the test output.
4145
46+
4247
You can then run these tests in IntelliJ to reproduce the failing tests locally.
4348
We offer a quick test running howto in the section [Final build system checks](https://devdocs.jabref.org/getting-into-the-code/guidelines-for-setting-up-a-local-workspace/intellij-12-build.html#final-build-system-checks) in our setup guide.
4449
- jobName: no-force-push
4550
message: >
4651
Do not force-push!
47-
Force push is off limits and very bad style when working together on a project.
48-
([Mainly because it is not supported well by GitHub istself.](https://github.com/orgs/community/discussions/3478))
49-
Commits will be lost, comments on commits will loose their context.
50-
This makes it harder to review.
51-
In the end, all commits will be [squashed](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges#squash-and-merge-your-commits) either way before being merged into the `main`` branch.
52-
- jobName: move_issue
52+
Force pushing is a very bad practice when working together on a project (mainly because it is [not supported well by GitHub itself](https://github.com/orgs/community/discussions/3478)).
53+
Commits are lost and comments on commits lose their context, thus making it harder to review changes.
54+
At the end, all commits will be [squashed](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges#squash-and-merge-your-commits) anyway before being merged into the `main` branch.
55+
- jobName: 'Mark issue as in progress'
5356
message: |
5457
Your pull request needs to link an issue.
5558
@@ -81,3 +84,16 @@
8184
- ✅ `Fixes https://github.com/JabRef/jabref/issues/xyz` links pull-request to issue. Merging the PR will close the issue.
8285
- ✅ `Fixes https://github.com/Koppor/jabref/issues/xyz` links pull-request to issue. Merging the PR will close the issue.
8386
- ❌ `Fixes [#xyz](https://github.com/JabRef/jabref/issues/xyz)` links pull-request to issue. Merging the PR will **NOT** close the issue.
87+
- jobName: 'Conflicts with target branch'
88+
message: >
89+
Your pull request conflicts with the target branch.
90+
91+
92+
Please [merge `upstream/main`](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork#syncing-a-fork-branch-from-the-command-line) with your code.
93+
For a step-by-step guide to resolve merge conflicts, see <https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line>.
94+
- jobName: 'Submodules not modified'
95+
message: >
96+
Your pull request modified git submodules.
97+
98+
99+
Please follow our [FAQ on submodules](https://devdocs.jabref.org/code-howtos/faq.html#submodules) to fix.

.github/workflows/on-issue-comment.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
uses: takanome-dev/assign-issue-action@edge
1717
with:
1818
github_token: '${{ secrets.GITHUB_TOKEN }}'
19-
days_until_unassign: 45
19+
days_until_unassign: 14
2020
maintainers: 'koppor,Siedlerchr,ThiloteE,calixtus,HoussemNasri,subhramit,LinusDietz'
2121
assigned_comment: |
2222
👋 Hey @{{ handle }}, thank you for your interest in this issue! 🎉
@@ -29,7 +29,7 @@ jobs:
2929
3030
Happy coding! 🚀
3131
32-
⏳ Please note, you will be automatically unassigned if the issue isn't closed within **{{ total_days }} days** (by **{{ unassigned_date }}**). A maintainer can also add the "**{{ pin_label }}**" label to prevent automatic unassignment.
32+
⏳ Please note, you will be automatically unassigned if there is not a (draft) pull request within **{{ total_days }} days** (by **{{ unassigned_date }}**).
3333
assignment_suggestion_comment: >
3434
👋 Hey @{{ handle }}, looks like you’re eager to work on this issue—great! 🎉
3535
It also looks like you skipped reading our [CONTRIBUTING.md](https://github.com/JabRef/jabref/blob/main/CONTRIBUTING.md), which explains exactly how to participate. No worries, it happens to the best of us.

.github/workflows/on-pr-closed.yml

+4
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ jobs:
5656
run: gh issue edit ${{ steps.get_issue_number.outputs.ticketNumber }} --remove-label "📍 Assigned"
5757
env:
5858
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
59+
- name: Remove pinned label
60+
run: gh issue edit ${{ steps.get_issue_number.outputs.ticketNumber }} --remove-label "📌 Pinned"
61+
env:
62+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5963
- name: Remove FirstTimeCodeContribution label
6064
run: gh issue edit ${{ steps.get_issue_number.outputs.ticketNumber }} --remove-label "FirstTimeCodeContribution"
6165
env:

.github/workflows/on-pr-opened.yml

+30
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,36 @@ jobs:
4545
default-column: "In Progress"
4646
issue-number: ${{ steps.get_issue_number.outputs.ticketNumber }}
4747
skip-if-not-in-project: true
48+
- uses: actions/checkout@v4
49+
with:
50+
show-progress: 'false'
51+
- name: Assign PR creator to issue
52+
# "gh issue edit" cannot be used - workaround found at https://github.com/cli/cli/issues/9620#issuecomment-2703135049
53+
run: gh api -X PATCH /repos/JabRef/jabref/issues/${{ steps.get_issue_number.outputs.ticketNumber }} -f assignee=${{ github.event.pull_request.user.login }}
54+
env:
55+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
56+
- name: Add label "📌 Pinned"
57+
run: gh issue edit ${{ steps.get_issue_number.outputs.ticketNumber }} --add-label "📌 Pinned"
58+
env:
59+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
60+
conflicts_with_target:
61+
name: Conflicts with target branch
62+
runs-on: ubuntu-latest
63+
steps:
64+
- uses: actions/checkout@v4
65+
with:
66+
show-progress: 'false'
67+
- name: Check PR mergeability
68+
id: check_mergeable
69+
run: |
70+
MERGEABLE=$(gh pr view --json mergeable ${{ github.event.number }} --template '{{.mergeable}}')
71+
if [ "$MERGEABLE" == "CONFLICTING" ]; then
72+
echo "❌ Merge conflicts"
73+
exit 1
74+
fi
75+
echo "✅ No merge conflicts"
76+
env:
77+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4878
upload-pr-number:
4979
runs-on: ubuntu-latest
5080
steps:

.github/workflows/pr-comment.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ name: Comment on PR
77

88
on:
99
workflow_run:
10-
workflows: ["Tests", "Mark issue as in progress"]
10+
workflows: ["Tests", "On PR opened"]
1111
types:
1212
- completed
1313

.github/workflows/tests.yml

+26-1
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ jobs:
136136
grep -q "1 problem" heylogs.txt || exit 1
137137
138138
changelog-unreleased-only:
139+
if: github.event_name == 'pull_request'
139140
name: CHANGELOG.md - only unreleased touched
140141
runs-on: ubuntu-latest
141142
steps:
@@ -367,13 +368,13 @@ jobs:
367368
uses: olivernybroe/[email protected]
368369

369370
no-force-push:
371+
if: github.event_name == 'pull_request'
370372
runs-on: ubuntu-latest
371373
steps:
372374
- name: Checkout repository
373375
uses: actions/checkout@v4
374376
with:
375377
fetch-depth: 0
376-
377378
- name: Check force push
378379
id: force_push_check
379380
run: |
@@ -389,7 +390,31 @@ jobs:
389390
exit 1
390391
fi
391392
393+
unmodified_submodules:
394+
name: Submodules not modified
395+
if: github.actor != 'dependabot[bot]' && github.event_name == 'pull_request'
396+
runs-on: ubuntu-latest
397+
steps:
398+
- uses: actions/checkout@v4
399+
with:
400+
submodules: true
401+
show-progress: 'false'
402+
- name: Check for submodule modifications
403+
id: check_submodule
404+
run: |
405+
git fetch origin ${{ github.base_ref }}
406+
407+
# enable diffing of submodules
408+
sed -i "s/ all/ untracked/" .gitmodules
409+
410+
if ! git diff --submodule=log origin/${{ github.base_ref }} HEAD | grep -vzq "Submodule src"; then
411+
echo "❌ Submodule modifications detected"
412+
exit 1
413+
fi
414+
echo "✅ No submodule modifications"
415+
392416
other_than_main:
417+
if: github.event_name == 'pull_request'
393418
name: Source branch is other than "main"
394419
runs-on: ubuntu-latest
395420
steps:

.github/workflows/unassign-issues.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
uses: takanome-dev/assign-issue-action@edge
2020
with:
2121
github_token: '${{ secrets.GITHUB_TOKEN }}'
22-
days_until_unassign: 45
22+
days_until_unassign: 14
2323
move_unassigned_issues:
2424
needs: unassign_issues
2525
if: ${{ needs.unassign_issues.outputs.unassigned_issues != '[]' }}

CHANGELOG.md

+13-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,11 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv
1212
### Added
1313

1414

15+
1516
- We added automatic file renaming functionality: when entry data is changed, associated filenames are updated automatically without requiring manual clicks on the "Generate" button. [#12604](https://github.com/JabRef/jabref/pull/12604)
17+
18+
- We added <kbd>F5</kbd> as a shortcut key for fetching data and <kbd>Alt+F</kbd> as a shortcut for looking up data using DOI. [#11802](https://github.com/JabRef/jabref/issues/11802)
19+
1620
- We added a feature to rename the subgroup, with the keybinding (<kbd>F2</kbd>) for quick access. [#11896](https://github.com/JabRef/jabref/issues/11896)
1721
- We added a new functionality that displays a drop-down list of matching suggestions when typing a citation key pattern. [#12502](https://github.com/JabRef/jabref/issues/12502)
1822
- We added a new CLI that supports txt, csv, and console-based output for consistency in BibTeX entries. [#11984](https://github.com/JabRef/jabref/issues/11984)
@@ -23,6 +27,7 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv
2327
- We added an integrity check if a URL appears in a title. [#12354](https://github.com/JabRef/jabref/issues/12354)
2428
- We added a feature for enabling drag-and-drop of files into groups [#12540](https://github.com/JabRef/jabref/issues/12540)
2529
- We added support for reordering keywords via drag and drop, automatic alphabetical ordering, and improved pasting and editing functionalities in the keyword editor. [#10984](https://github.com/JabRef/jabref/issues/10984)
30+
- We added a new functionality where author names having multiple spaces in-between will be considered as separate user block as it does for " and ". [#12701](https://github.com/JabRef/jabref/issues/12701)
2631

2732
### Changed
2833

@@ -52,6 +57,8 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv
5257
- We improved the Check Integrity dialog entry interaction so that a single click focuses on the corresponding entry and a double-click both focuses on the entry and closes the dialog. [#12245](https://github.com/JabRef/jabref/issues/12245)
5358
- We improved journal abbreviation lookup with fuzzy matching to handle minor input errors and variations. [#12467](https://github.com/JabRef/jabref/issues/12467)
5459
- We changed the phrase "Cleanup entries" to "Clean up entries". [#12703](https://github.com/JabRef/jabref/issues/12703)
60+
- A tooltip now appears after 300ms (instead of 2s). [#12649](https://github.com/JabRef/jabref/issues/12649)
61+
- We improved search in preferences and keybindings. [#12647](https://github.com/JabRef/jabref/issues/12647)
5562

5663
### Fixed
5764

@@ -74,8 +81,11 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv
7481
- We fixed an issue where month values 21–24 (ISO 8601-2019 season codes) in Biblatex date fields were not recognized as seasons during parsing. [#12437](https://github.com/JabRef/jabref/issues/12437)
7582
- We fixed an issue where migration of "Search groups" would fail with an exception when the search query is invalid. [#12555](https://github.com/JabRef/jabref/issues/12555)
7683
- We fixed an issue where not all linked files from BibDesk in the field `bdsk-file-...` were parsed. [#12555](https://github.com/JabRef/jabref/issues/12555)
84+
- We fixed an issue where user-defined keyword separator does not apply to Merge Groups. [#12535](https://github.com/JabRef/jabref/issues/12535)
85+
- We fixed an issue where duplicate items cannot be removed correctly when merging groups or keywords. [#12585](https://github.com/JabRef/jabref/issues/12585)
7786
- We fixed an issue where JabRef displayed an incorrect deletion notification when canceling entry deletion [#12645](https://github.com/JabRef/jabref/issues/12645)
78-
87+
- We fixed an issue where JabRef displayed an incorrect deletion notification when canceling entry deletion. [#12645](https://github.com/JabRef/jabref/issues/12645)
88+
- We fixed an issue where an exception would occur when running abbreviate journals for multiple entries. [#12634](https://github.com/JabRef/jabref/issues/12634)
7989

8090
### Removed
8191

@@ -611,7 +621,6 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv
611621
- We now have more "dots" in the offered journal abbreviations. [#9504](https://github.com/JabRef/jabref/pull/9504)
612622
- We now disable the button "Full text search" in the Searchbar by default [#9527](https://github.com/JabRef/jabref/pull/9527)
613623

614-
615624
### Fixed
616625

617626
- The tab "deprecated fields" is shown in biblatex-mode only. [#7757](https://github.com/JabRef/jabref/issues/7757)
@@ -1576,4 +1585,5 @@ The changelog of JabRef 2.11 and all previous versions is available as [text fil
15761585
[5.0]: https://github.com/JabRef/jabref/compare/v5.0-beta...v5.0
15771586
[5.0-beta]: https://github.com/JabRef/jabref/compare/v5.0-alpha...v5.0-beta
15781587
[5.0-alpha]: https://github.com/JabRef/jabref/compare/v4.3...v5.0-alpha
1579-
<!-- markdownlint-disable-file MD012 MD024 MD033 MD053 -->
1588+
1589+
<!-- markdownlint-disable-file MD024 MD033 MD053 -->

0 commit comments

Comments
 (0)