diff --git a/.gitattributes b/.gitattributes
index d37562eb76a..7752b0e534a 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -5,9 +5,6 @@ gradlew text eol=lf
# windows line endings at windows files
*.bat text eol=crlf
-# required for proper releasing
-AUTHORS text eol=lf
-
# ensure that line endings of *.java, and *.properties are normalized
*.java text
*.properties text
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index 3f15c4f0c6f..9088ea73f88 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -1,6 +1,9 @@
---
name: Bug report
about: Create a report to help us improve
+title: ''
+labels: ''
+assignees: ''
---
@@ -16,11 +19,11 @@ JabRef version on
-- [ ] **Mandatory**: I have tested the latest development version from http://builds.jabref.org/master/ and the problem persists
+- [ ] **Mandatory**: I have tested the latest development version from http://builds.jabref.org/main and the problem persists
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 00000000000..9850f404097
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,8 @@
+blank_issues_enabled: false
+contact_links:
+ - name: Help
+ url: https://discourse.jabref.org/c/help/
+ about: Questions and requests for help are handled at https://discourse.jabref.org
+ - name: Feature requests
+ url: https://discourse.jabref.org/c/features/
+ about: If you are missing an important feature? Let us know!
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
deleted file mode 100644
index d2ae96c562d..00000000000
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-name: Feature request
-about: Suggest an idea for this project
-
----
-
-Please use the GitHub issue tracker only for bug reports and suggestions for improvements.
-Feature requests, questions and general feedback is now handled at http://discourse.jabref.org.
-Thanks!
diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md
deleted file mode 100644
index 7e9c25fe4b4..00000000000
--- a/.github/ISSUE_TEMPLATE/question.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-name: Question
-about: Ask a question about JabRef
-
----
-
-Please use the GitHub issue tracker only for bug reports and suggestions for improvements.
-Feature requests, questions and general feedback is now handled at http://discourse.jabref.org.
-Thanks!
diff --git a/.github/ISSUE_TEMPLATE/suggestion-for-improvement.md b/.github/ISSUE_TEMPLATE/suggestion-for-improvement.md
index ec6d48cc1dc..1bcbdb55163 100644
--- a/.github/ISSUE_TEMPLATE/suggestion-for-improvement.md
+++ b/.github/ISSUE_TEMPLATE/suggestion-for-improvement.md
@@ -1,6 +1,9 @@
---
name: Suggestion for improvement
about: Suggest an enhancement
+title: ''
+labels: ''
+assignees: ''
---
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 7bece4ad46d..dc16a47b170 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -11,7 +11,7 @@ The title of the PR must not reference an issue, because GitHub does not support
- Please don't remove any items, just leave them unchecked if they are not applicable.
-->
-- [ ] Change in CHANGELOG.md described (if applicable)
+- [ ] Change in `CHANGELOG.md` described in a way that is understandable for the average user (if applicable)
- [ ] Tests created for changes (if applicable)
- [ ] Manually tested changed features in running JabRef (always required)
- [ ] Screenshots added in PR description (for UI changes)
diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml
index b8f22170b1b..9c26cae4c24 100644
--- a/.github/workflows/automerge.yml
+++ b/.github/workflows/automerge.yml
@@ -3,22 +3,27 @@ on: [pull_request]
jobs:
automerge:
- name: Automerge Dependabot
+ name: Automerge Dependency Updates
runs-on: ubuntu-latest
- if: github.actor == 'dependabot[bot]'
+ if: github.actor == 'dependabot[bot]' || github.actor == 'dependabot-preview[bot]' || contains(github.event.pull_request.labels.*.name, 'dependencies')
steps:
- name: 'Wait for status checks'
id: waitforstatuschecks
- uses: "WyriHaximus/github-action-wait-for-status@v1.2"
+ uses: "WyriHaximus/github-action-wait-for-status@v1.3"
with:
- ignoreActions: Automerge Dependabot
+ ignoreActions: Automerge Dependabot,Code coverage,Create snapcraft image,Deploy binaries on builds.jabref.org,codecov/project,markdown-link-check
checkInterval: 13
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
+ - name: Auto approve
+ uses: hmarr/auto-approve-action@v2.1.0
+ if: steps.waitforstatuschecks.outputs.status == 'success'
+ with:
+ github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Merge pull requests
- uses: pascalgn/automerge-action@v0.12.0
+ uses: pascalgn/automerge-action@v0.13.1
if: steps.waitforstatuschecks.outputs.status == 'success'
env:
- MERGE_METHOD: "squash"
+ MERGE_METHOD: "merge"
MERGE_LABELS: ""
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
diff --git a/.github/workflows/check-outdated-dependencies.yml b/.github/workflows/check-outdated-dependencies.yml
index 71055d45785..19e7019d257 100644
--- a/.github/workflows/check-outdated-dependencies.yml
+++ b/.github/workflows/check-outdated-dependencies.yml
@@ -12,9 +12,10 @@ jobs:
- name: Checkout source
uses: actions/checkout@v2
- name: Set up JDK
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v2
with:
java-version: 14
+ distribution: 'adopt'
- name: Look for outdated dependencies
run: ./gradlew -q checkOutdatedDependencies
- name: Report issues
diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml
index 62065768782..9b10456ba3d 100644
--- a/.github/workflows/deployment.yml
+++ b/.github/workflows/deployment.yml
@@ -1,10 +1,11 @@
name: Deployment
on:
+ workflow_dispatch:
push:
branches:
- - master
- - master-release
+ - main
+ - main-release
paths-ignore:
- 'docs/**'
- 'src/test/**'
@@ -20,6 +21,7 @@ env:
AstrophysicsDataSystemAPIKey: ${{ secrets.AstrophysicsDataSystemAPIKey }}
IEEEAPIKey: ${{ secrets.IEEEAPIKey }}
OSXCERT: ${{ secrets.OSX_SIGNING_CERT }}
+ GRADLE_OPTS: -Dorg.gradle.daemon=false -Dorg.gradle.vfs.watch=false
jobs:
build:
@@ -41,7 +43,7 @@ jobs:
name: Create installer and portable version for ${{ matrix.displayName }}
steps:
- name: Cancel Previous Runs
- uses: styfle/cancel-workflow-action@0.6.0
+ uses: styfle/cancel-workflow-action@0.9.0
with:
access_token: ${{ github.token }}
- name: Fetch all history for all tags and branches
@@ -49,29 +51,33 @@ jobs:
with:
fetch-depth: 0
- name: Install GitVersion
- uses: gittools/actions/gitversion/setup@v0.9.7
+ uses: gittools/actions/gitversion/setup@v0.9.9
with:
versionSpec: "5.x"
- name: Run GitVersion
id: gitversion
- uses: gittools/actions/gitversion/execute@v0.9.7
+ uses: gittools/actions/gitversion/execute@v0.9.9
- name: Set up JDK 15 for linux and mac
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v2
with:
java-version: 15
+ distribution: 'adopt'
if: matrix.os != 'windows-latest'
- name: Set up JDK 14 for windows
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v2
with:
java-version: 14
+ distribution: 'adopt'
if: matrix.os == 'windows-latest'
- name: Restore gradle cache
- uses: actions/cache@master
+ uses: actions/cache@v2
with:
- path: ~/.gradle/caches
- key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
+ path: |
+ ~/.gradle/caches
+ ~/.gradle/wrapper
+ key: ${{ runner.os }}-gradle7x-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
- ${{ runner.os }}-gradle-
+ ${{ runner.os }}-gradle7x-
- name: Setup OSX key chain on OSX
if: matrix.os == 'macos-latest'
uses: apple-actions/import-codesign-certs@v1
@@ -96,18 +102,18 @@ jobs:
if: matrix.os == 'macos-latest'
shell: bash
run: |
- codesign --entitlements buildres/mac/myapp.entitlements --options runtime -vvv -f --sign "Developer ID Application: Tobias Diez (W2PU6LW5U5)" build/distribution/JabRef.app/Contents/runtime/Contents/MacOS/libjli.dylib
- codesign --entitlements buildres/mac/myapp.entitlements --options runtime -vvv -f --sign "Developer ID Application: Tobias Diez (W2PU6LW5U5)" build/distribution/JabRef.app/Contents/MacOS/JabRef
- codesign --entitlements buildres/mac/myapp.entitlements --options runtime -vvv -f --sign "Developer ID Application: Tobias Diez (W2PU6LW5U5)" build/distribution/JabRef.app
+ codesign --entitlements buildres/mac/jabref.entitlements --options runtime -vvv -f --sign "Developer ID Application: JabRef e.V. (6792V39SK3)" build/distribution/JabRef.app/Contents/runtime/Contents/MacOS/libjli.dylib
+ codesign --entitlements buildres/mac/jabref.entitlements --options runtime -vvv -f --sign "Developer ID Application: JabRef e.V. (6792V39SK3)" build/distribution/JabRef.app/Contents/MacOS/JabRef
+ codesign --entitlements buildres/mac/jabref.entitlements --options runtime -vvv -f --sign "Developer ID Application: JabRef e.V. (6792V39SK3)" build/distribution/JabRef.app
jpackage --type pkg --dest build/distribution --name JabRef --app-version "${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}" --app-image build/distribution/JabRef.app --verbose --type dmg --vendor JabRef --app-version "${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}" --file-associations buildres/mac/bibtexAssociations.properties --resource-dir buildres/mac
- codesign -s "Developer ID Application: Tobias Diez (W2PU6LW5U5)" --options runtime --entitlements buildres/mac/myapp.entitlements -vvvv --deep "build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.dmg"
+ codesign -s "Developer ID Application: JabRef e.V. (6792V39SK3)" --options runtime --entitlements buildres/mac/jabref.entitlements -vvvv --deep "build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.dmg"
jpackage --type pkg --dest build/distribution --name JabRef --mac-package-identifier JabRef --app-version "${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}" --app-image build/distribution/JabRef.app --verbose --type pkg --vendor JabRef --app-version "${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}" --file-associations buildres/mac/bibtexAssociations.properties --resource-dir buildres/mac
- productsign --sign "Developer ID Installer: Tobias Diez (W2PU6LW5U5)" "build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.pkg" "build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}-signed.pkg"
+ productsign --sign "Developer ID Installer: JabRef e.V. (6792V39SK3)" "build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.pkg" "build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}-signed.pkg"
- name: Notarize dmg and pkg installer
- if: matrix.os == 'macos-latest' && github.ref == 'refs/heads/master'
+ if: matrix.os == 'macos-latest' && github.ref == 'refs/heads/main'
shell: bash
run: |
- REQUEST_UUID_DMG=$(xcrun altool --verbose --notarize-app --primary-bundle-id "org.jabref" --username ${{ secrets.OSX_NOTARIZATION_APP_USERNAME }} --password ${{ secrets.OSX_NOTARIZATION_APP_PWD }} --asc-provider "W2PU6LW5U5" --file "build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.dmg" | grep RequestUUID | awk '{print $3}')
+ REQUEST_UUID_DMG=$(xcrun altool --verbose --notarize-app --primary-bundle-id "org.jabref" --username ${{ secrets.OSX_NOTARIZATION_APP_USERNAME }} --password ${{ secrets.OSX_NOTARIZATION_APP_PWD }} --asc-provider "6792V39SK3" --file "build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.dmg" | grep RequestUUID | awk '{print $3}')
while xcrun altool --notarization-info "$REQUEST_UUID_DMG" -u ${{ secrets.OSX_NOTARIZATION_APP_USERNAME }} -p ${{ secrets.OSX_NOTARIZATION_APP_PWD }} | grep "Status: in progress" > /dev/null; do
echo "Verification in progress..."
sleep 30
@@ -116,7 +122,7 @@ jobs:
spctl -vvv --assess --type exec build/distribution/JabRef.app
codesign -vvv --deep --strict "build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.dmg"
codesign -dvv "build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.dmg"
- REQUEST_UUID_PKG=$(xcrun altool --verbose --notarize-app --primary-bundle-id "org.jabref" --username ${{ secrets.OSX_NOTARIZATION_APP_USERNAME }} --password ${{ secrets.OSX_NOTARIZATION_APP_PWD }} --asc-provider "W2PU6LW5U5" --file "build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}-signed.pkg" | grep RequestUUID | awk '{print $3}')
+ REQUEST_UUID_PKG=$(xcrun altool --verbose --notarize-app --primary-bundle-id "org.jabref" --username ${{ secrets.OSX_NOTARIZATION_APP_USERNAME }} --password ${{ secrets.OSX_NOTARIZATION_APP_PWD }} --asc-provider "6792V39SK3" --file "build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}-signed.pkg" | grep RequestUUID | awk '{print $3}')
while xcrun altool --notarization-info "$REQUEST_UUID_PKG" -u ${{ secrets.OSX_NOTARIZATION_APP_USERNAME }} -p ${{ secrets.OSX_NOTARIZATION_APP_PWD }} | grep "Status: in progress" > /dev/null; do
echo "Verification in progress..."
sleep 30
@@ -161,12 +167,12 @@ jobs:
- name: Fetch all history for all tags and branches
run: git fetch --prune --unshallow
- name: Install GitVersion
- uses: gittools/actions/gitversion/setup@v0.9.7
+ uses: gittools/actions/gitversion/setup@v0.9.9
with:
versionSpec: '5.x'
- name: Run GitVersion
id: gitversion
- uses: gittools/actions/gitversion/execute@v0.9.7
+ uses: gittools/actions/gitversion/execute@v0.9.9
- name: Get linux binaries
uses: actions/download-artifact@master
with:
diff --git a/.github/workflows/gource.yml b/.github/workflows/gource.yml
new file mode 100644
index 00000000000..a9281f17b2f
--- /dev/null
+++ b/.github/workflows/gource.yml
@@ -0,0 +1,55 @@
+name: Gource
+
+on:
+ push:
+ branches:
+ - gource
+ schedule:
+ - cron: '15 3 1 1,4,7,10 *'
+
+jobs:
+ action:
+ runs-on: ubuntu-latest
+ steps:
+ - name: 'Checkout'
+ uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+ - name: Determine dates
+ id: dates
+ run: |
+ echo ::set-output name=start_date::`date -d "$(date +%Y-%m-01) -3 months" +%Y-%m-%d`
+ echo ::set-output name=stop_date::`date -d "$(date +%Y-%m-01) -1 day" +%Y-%m-%d`
+ echo ::set-output name=quarter::`date -d "$(date +%Y-%m-01) -1 day" +%Y`-Q$(( ((`date -d "$(date +%Y-%m-01) -1 day" +%m`)-1)/3+1 ))
+ - name: 'Development history of last quarter'
+ uses: nbprojekt/gource-action@v1
+ with:
+ gource_title: 'JabRef | more information at contribute.jabref.org'
+ logo_url: 'https://www.jabref.org/img/JabRef-icon-256.png'
+ # 5s * 365 / 4 = 7.5min
+ gource_seconds_per_day: 5
+ gource_start_date: ${{ steps.dates.outputs.start_date }}
+ gource_stop_date: ${{ steps.dates.outputs.stop_date }}
+ gource_file_filter: csl$
+ - name: 'Store video'
+ run: |
+ mkdir gource-videos
+ mv ./gource/gource.mp4 ./gource-videos/jabref-${{ steps.dates.outputs.quarter }}.mp4
+ - name: 'Complete development history'
+ uses: nbprojekt/gource-action@v1
+ with:
+ gource_title: 'JabRef | more information at contribute.jabref.org'
+ logo_url: 'https://www.jabref.org/img/JabRef-icon-256.png'
+ # 0.01 leads to a 45 second video for the complete history until end of 2020
+ # 0.1 leads to a 8 minute video
+ gource_seconds_per_day: 0.1
+ gource_file_filter: csl$
+ - name: 'Store video'
+ run: |
+ mv gource/gource.mp4 gource-videos/jabref-complete.mp4
+ - name: 'Upload gource video'
+ uses: actions/upload-artifact@v2
+ with:
+ name: Gource
+ path: ./gource-videos/
+ retention-days: 80
diff --git a/.github/workflows/refresh-csl-subtrees.yml b/.github/workflows/refresh-csl-subtrees.yml
index 17eb8df3486..d7cdf3efbf1 100644
--- a/.github/workflows/refresh-csl-subtrees.yml
+++ b/.github/workflows/refresh-csl-subtrees.yml
@@ -4,6 +4,7 @@ on:
schedule:
# run on 1st and 15th of each month
- cron: '1 2 1,15 * *'
+ workflow_dispatch:
jobs:
publish:
@@ -14,30 +15,37 @@ jobs:
- name: Checkout source
uses: actions/checkout@v2
with:
- ref: master
+ ref: main
fetch-depth: 0
- - name: Add csl-styles remote
- run: git remote add -f csl-styles https://github.com/citation-style-language/styles.git
- - name: Update csl-styles
+ - name: Initialize git
run: |
- git checkout master
+ git checkout main
git config --local core.editor /usr/bin/cat
git config user.name "github actions"
git config user.email "jabrefmail+webfeedback@gmail.com"
- git subtree pull --prefix src/main/resources/csl-styles csl-styles master --squash
+ - name: Add csl-styles remote
+ run: git remote add -f csl-styles https://github.com/citation-style-language/styles.git
+ - name: Update csl-styles
+ run: |
+ git subtree pull --prefix buildres/csl/csl-styles csl-styles master --squash || true
+ cp buildres/csl/csl-styles/acm-siggraph.csl src/main/resources/csl-styles/
+ cp buildres/csl/csl-styles/ieee.csl src/main/resources/csl-styles/
+ cp buildres/csl/csl-styles/turabian-author-date.csl src/main/resources/csl-styles/
+ git add .
+ git commit -m"Refresh example styles" || true
- name: Add csl-locales remote
run: git remote add -f csl-locales https://github.com/citation-style-language/locales.git
- name: Update csl-locales
run: |
- git subtree pull --prefix src/main/resources/csl-locales csl-locales master --squash
- - uses: ad-m/github-push-action@master
- with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
- branch: master
- - name: Report issues
- if: failure()
- uses: JasonEtco/create-an-issue@master
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ git subtree pull --prefix buildres/csl/csl-locales csl-locales master --squash || true
+ cp buildres/csl/csl-locales/locales.json src/main/resources/csl-locales/
+ cp buildres/csl/csl-locales/locales-en-US.xml src/main/resources/csl-locales/
+ git add .
+ git commit -m"Refresh example styles" || true
+ - uses: peter-evans/create-pull-request@v3
with:
- filename: .github/failure-csl-update.md
+ token: ${{ secrets.GH_TOKEN_UPDATE_GRADLE_WRAPPER }}
+ branch: refresh-csl
+ commit-message: Update CSL styles
+ title: "[Bot] Update CSL styles"
+ labels: dependencies
diff --git a/.github/workflows/refresh-journal-lists.yml b/.github/workflows/refresh-journal-lists.yml
index 414d195771e..a144641e950 100644
--- a/.github/workflows/refresh-journal-lists.yml
+++ b/.github/workflows/refresh-journal-lists.yml
@@ -12,11 +12,11 @@ jobs:
- name: Fetch all history for all tags and branches
uses: actions/checkout@v2
with:
- ref: master
+ ref: main
persist-credentials: false
fetch-depth: 0
- name: Set up JDK
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v2
with:
java-version: 14
- uses: actions/cache@v1
@@ -43,14 +43,15 @@ jobs:
mkdir -p $GITHUB_WORKSPACE/build/journals
cp * $GITHUB_WORKSPACE/build/journals/
+ # ensure that the .java classes are the most recent ones
+ cp $GITHUB_WORKSPACE/src/main/java/org/jabref/logic/journals/* $GITHUB_WORKSPACE/buildSrc/src/copied/java/org/jabref/logic/journals
+
# create .mv file
cd $GITHUB_WORKSPACE
./gradlew generateJournalAbbreviationList
-
- # git commit
- git config user.email "jabrefmail+webfeedback@gmail.com"
- git config user.name "JabRef refresh journal lists [bot]"
- git add . && git commit -m"Update journalList.mv"
- - uses: ad-m/github-push-action@master
+ - uses: peter-evans/create-pull-request@v3
with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
+ token: ${{ secrets.GITHUB_TOKEN }}
+ branch: update-journallist
+ title: "[Bot] Update Journal abbrev list"
+ commit-message: Update journal abbrev list
diff --git a/.github/workflows/snap.yml b/.github/workflows/snap.yml
index bba78f1338d..c190256444f 100644
--- a/.github/workflows/snap.yml
+++ b/.github/workflows/snap.yml
@@ -1,6 +1,7 @@
name: Snap
on:
+ workflow_dispatch:
push:
branches:
- snapcraft
@@ -28,12 +29,12 @@ jobs:
uses: actions/checkout@v2
# The image relies on https://builds.jabref.org/master/JabRef-5.0-portable_linux.tar.gz^
# See snap/snapcraft.yml for details
- - name: Build snap (1) Run build
+ - name: Run snapcraft build
uses: snapcore/action-build@v1
id: snapcraft
with:
snapcraft-args: "--debug"
- - name: Build snap (2) Upload snap
+ - name: Upload snap
if: ${{ steps.checksecrets.outputs.secretspresent }}
uses: snapcore/action-publish@v1
with:
diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
index db8e6e705ef..f227fc4bd1a 100644
--- a/.github/workflows/stale.yml
+++ b/.github/workflows/stale.yml
@@ -2,17 +2,27 @@ name: Mark stale issues and pull requests
on:
schedule:
- - cron: "0 0 * * *"
+ - cron: "20 19 * * *"
jobs:
stale:
runs-on: ubuntu-latest
steps:
- - uses: actions/stale@master
+ - uses: actions/stale@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- stale-issue-message: 'This issue will be closed in 7 days due to inactivity :zzz: Please provide the requested information if the problem persists.'
+ days-before-stale: 180
+ days-before-close: 14
+ stale-issue-message: |
+ This issue has been inactive for half a year. Since JabRef is constantly evolving this issue may not be relevant any longer and it will be closed in two weeks if no further activity occurs.
+
+ As part of an effort to ensure that the JabRef team is focusing on important and valid issues, we would like to ask if you could update the issue if it still persists. This could be in the following form:
+
+ - If there has been a longer discussion, add a short summary of the most important points as a new comment (if not yet existing).
+ - Provide further steps or information on how to reproduce this issue.
+ - Upvote the initial post if you like to see it implemented soon. Votes are not the only metric that we use to determine the requests that are implemented, however, they do factor into our decision-making process.
+ - If all information is provided and still up-to-date, then just add a short comment that the issue is still relevant.
+
+ Thank you for your contribution!
stale-issue-label: 'status: stale'
- days-before-stale: 30
- only-labels: 'status: waiting-for-customer-feedback'
diff --git a/.github/workflows/tests-fetchers.yml b/.github/workflows/tests-fetchers.yml
index 0aa59c10dca..769d1b89fb7 100644
--- a/.github/workflows/tests-fetchers.yml
+++ b/.github/workflows/tests-fetchers.yml
@@ -3,7 +3,7 @@ name: Fetcher Tests
on:
push:
branches:
- - master
+ - main
paths:
- 'src/main/java/org/jabref/logic/importer/fetcher/**'
- 'src/test/java/org/jabref/logic/importer/fetcher/**'
@@ -34,23 +34,19 @@ jobs:
- name: Checkout source
uses: actions/checkout@v2
- name: Set up JDK
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v2
with:
java-version: 14
- - uses: actions/cache@v1
- name: Restore gradle chache
+ distribution: 'adopt'
+ - uses: actions/cache@v2
+ name: Restore gradle cache
with:
- path: ~/.gradle/caches
- key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
+ path: |
+ ~/.gradle/caches
+ ~/.gradle/wrapper
+ key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
- ${{ runner.OS }}-gradle-${{ env.cache-name }}-
- ${{ runner.OS }}-gradle-
- ${{ runner.OS }}-
- - uses: actions/cache@v1
- name: Restore gradle wrapper
- with:
- path: ~/.gradle/wrapper
- key: ${{ runner.os }}-gradle-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
+ ${{ runner.os }}-gradle-
- name: Run fetcher tests
run: ./gradlew fetcherTest
env:
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index fe57e60d3d0..9dbeb6a92b2 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -18,29 +18,25 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Cancel Previous Runs
- uses: styfle/cancel-workflow-action@0.6.0
+ uses: styfle/cancel-workflow-action@0.9.0
with:
access_token: ${{ github.token }}
- name: Checkout source
uses: actions/checkout@v2
- name: Set up JDK
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v2
with:
java-version: 14
- - uses: actions/cache@v1
- name: Restore gradle cache
- with:
- path: ~/.gradle/caches
- key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
+ distribution: 'adopt'
+ - name: Restore gradle cache
+ uses: actions/cache@v2
+ with:
+ path: |
+ ~/.gradle/caches
+ ~/.gradle/wrapper
+ key: ${{ runner.os }}-gradle7-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
- ${{ runner.OS }}-gradle-${{ env.cache-name }}-
- ${{ runner.OS }}-gradle-
- ${{ runner.OS }}-
- - uses: actions/cache@v1
- name: Restore gradle wrapper
- with:
- path: ~/.gradle/wrapper
- key: ${{ runner.os }}-gradle-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
+ ${{ runner.os }}-gradle7-
- name: Run check style reporter
uses: nikitasavinov/checkstyle-action@master
with:
@@ -60,23 +56,19 @@ jobs:
- name: Checkout source
uses: actions/checkout@v2
- name: Set up JDK
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v2
with:
java-version: 14
- - uses: actions/cache@v1
- name: Restore gradle chache
+ distribution: 'adopt'
+ - uses: actions/cache@v2
+ name: Restore gradle cache
with:
- path: ~/.gradle/caches
- key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
+ path: |
+ ~/.gradle/caches
+ ~/.gradle/wrapper
+ key: ${{ runner.os }}-gradle7-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
- ${{ runner.OS }}-gradle-${{ env.cache-name }}-
- ${{ runner.OS }}-gradle-
- ${{ runner.OS }}-
- - uses: actions/cache@v1
- name: Restore gradle wrapper
- with:
- path: ~/.gradle/wrapper
- key: ${{ runner.os }}-gradle-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
+ ${{ runner.os }}-gradle7-
- name: Run tests
run: xvfb-run --auto-servernum ./gradlew check -x checkstyleJmh -x checkstyleMain -x checkstyleTest
env:
@@ -104,23 +96,19 @@ jobs:
- name: Checkout source
uses: actions/checkout@v2
- name: Set up JDK
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v2
with:
java-version: 14
- - uses: actions/cache@v1
- name: Restore gradle chache
- with:
- path: ~/.gradle/caches
- key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
+ distribution: 'adopt'
+ - name: Restore gradle cache
+ uses: actions/cache@v2
+ with:
+ path: |
+ ~/.gradle/caches
+ ~/.gradle/wrapper
+ key: ${{ runner.os }}-gradle7-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
- ${{ runner.OS }}-gradle-${{ env.cache-name }}-
- ${{ runner.OS }}-gradle-
- ${{ runner.OS }}-
- - uses: actions/cache@v1
- name: Restore gradle wrapper
- with:
- path: ~/.gradle/wrapper
- key: ${{ runner.os }}-gradle-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
+ ${{ runner.os }}-gradle7-
- name: Run tests on PostgreSQL
run: ./gradlew databaseTest --rerun-tasks
env:
@@ -150,23 +138,19 @@ jobs:
- name: Checkout source
uses: actions/checkout@v2
- name: Set up JDK
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v2
with:
java-version: 14
- - uses: actions/cache@v1
- name: Restore gradle chache
+ distribution: 'adopt'
+ - uses: actions/cache@v2
+ name: Restore gradle cache
with:
- path: ~/.gradle/caches
- key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
+ path: |
+ ~/.gradle/caches
+ ~/.gradle/wrapper
+ key: ${{ runner.os }}-gradle7-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
- ${{ runner.OS }}-gradle-${{ env.cache-name }}-
- ${{ runner.OS }}-gradle-
- ${{ runner.OS }}-
- - uses: actions/cache@v1
- name: Restore gradle wrapper
- with:
- path: ~/.gradle/wrapper
- key: ${{ runner.os }}-gradle-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
+ ${{ runner.os }}-gradle7-
- name: Run GUI tests
run: xvfb-run --auto-servernum ./gradlew guiTest
env:
@@ -200,23 +184,19 @@ jobs:
- name: Checkout source
uses: actions/checkout@v2
- name: Set up JDK
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v2
with:
java-version: 14
- - uses: actions/cache@v1
- name: Restore gradle chache
- with:
- path: ~/.gradle/caches
- key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
+ distribution: 'adopt'
+ - name: Restore gradle cache
+ uses: actions/cache@v2
+ with:
+ path: |
+ ~/.gradle/caches
+ ~/.gradle/wrapper
+ key: ${{ runner.os }}-gradle7-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
- ${{ runner.OS }}-gradle-${{ env.cache-name }}-
- ${{ runner.OS }}-gradle-
- ${{ runner.OS }}-
- - uses: actions/cache@v1
- name: Restore gradle wrapper
- with:
- path: ~/.gradle/wrapper
- key: ${{ runner.os }}-gradle-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
+ ${{ runner.os }}-gradle7-
- name: Update test coverage metrics
if: ${{ steps.checksecrets.outputs.secretspresent }}
run: xvfb-run --auto-servernum ./gradlew jacocoTestReport && bash <(curl -s https://codecov.io/bash);
@@ -232,35 +212,3 @@ jobs:
steps:
- uses: actions/checkout@v2
- uses: gradle/wrapper-validation-action@v1
- checkauthors:
- name: "Validate AUTHORS"
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- with:
- # full checkout needed for authors generation
- fetch-depth: 0
- - name: "All authors of this PR listed in AUTHORS"
- id: authors_check
- shell: bash
- run: |
- git config user.name "JabRef Author Checker [bot]"
- git config user.email "noreply@jabref.org"
- ./scripts/generate-authors.sh
- set +o pipefail
- added=$(git diff HEAD --no-ext-diff --unified=0 -a --no-prefix | egrep "^\+[^+]" | sed "s/^\+//")
- if [ -z "$added" ]; then
- echo "No authors added"
- exit 0
- fi
- echo "Authors found in this PR not listed in the AUTHORS file."
- echo
- echo "The JabRef maintainers will add the following name to the AUTHORS file"
- echo
- echo -e "$added"
- echo
- echo "In case you want to use a different one, please comment here and adjust your name in your git configuration for future commits"
- echo
- echo "Just adding yourself into the AUHTORS file does not help as it is overwritten by our script ./scripts/generate-authors."
- echo "Read more on the AUTHORS file at found at https://github.com/JabRef/jabref/blob/master/CONTRIBUTING.md#author-credits"
- exit 1
diff --git a/.github/workflows/update-gradle-wrapper.yml b/.github/workflows/update-gradle-wrapper.yml
new file mode 100644
index 00000000000..9e97eb0c57f
--- /dev/null
+++ b/.github/workflows/update-gradle-wrapper.yml
@@ -0,0 +1,18 @@
+name: Update Gradle Wrapper
+
+on:
+ schedule:
+ - cron: "0 5 * * 1"
+
+jobs:
+ update-gradle-wrapper:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Update Gradle Wrapper
+ uses: gradle-update/update-gradle-wrapper-action@v1
+ with:
+ labels: dependencies
+ repo-token: ${{ secrets.GH_TOKEN_UPDATE_GRADLE_WRAPPER }}
diff --git a/.gitignore b/.gitignore
index ba242f57346..fd187d3f735 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
# no generated files in version control
src/main/gen/
src/main/generated/
+src-gen/
# private data
/buildres/jabref-cert-2016.p12
diff --git a/.idea/runConfigurations/JabRef_Main.xml b/.idea/runConfigurations/JabRef_Main.xml
index f6e0ca898ae..4bb85cf63f1 100644
--- a/.idea/runConfigurations/JabRef_Main.xml
+++ b/.idea/runConfigurations/JabRef_Main.xml
@@ -1,16 +1,14 @@
-
-
+
-
+
-
-
+
\ No newline at end of file
diff --git a/.mailmap b/.mailmap
deleted file mode 100644
index 56af5eb0831..00000000000
--- a/.mailmap
+++ /dev/null
@@ -1,216 +0,0 @@
-
-# Generate AUTHORS: scripts/generate-authors.sh
-
-# Tip for finding duplicates (besides scanning the output of AUTHORS for name
-# duplicates that aren't also email duplicates): scan the output of:
-# git log --format='%aE - %aN' | sort --unique --ignore-case
-#
-# One can find out the real name by using the GitHub user page and API.
-# https://github.com/sauliusg
-# https://api.github.com/users/sauliusg/events/public
-#
-# For explanation on this file format: man git-shortlog
-Ruy Minoru Ito Takata
-Ruy Minoru Ito Takata <21537850814@serpro-1557637.(none)>
-Stefan Kolb
-
-Nicolas Pavillon
-
-Koji Yokota
-Koji Yokota
-Koji Yokota
-Koji Yokota
-Koji Yokota
-Dominik Waßenhoven
-
-Thomas Arildsen ThomasArildsen
-Thomas Arildsen ThomasA
-Thomas Arildsen
-Thomas Arildsen
-Tobias Diez
-
-
-
-
-
-
-
-Waluyo Adi Siswanto
-Michael Falkenthal
-Michael Falkenthal
-Ambrogio Oliva
-Ambrogio Oliva
-Eduardo Greco
-Daniel Bruehl
-Egon Willighagen
-Frédéric Darboux
-Frédéric Darboux
-Frédéric Darboux
-Frédéric Darboux
-Frédéric Darboux
-Florian Straßer
-Gregor Herrmann
-Hakan Duran hakova
-Hakan Duran hakova
-Hakan Duran Hakan E. Duran
-Jorge Tornero
-Mark Schenk
-Nathan Sheffield
-Oscar Gustafsson
-Renato Massao
-Lorenzo Genta
-Morten Alver
-Morten Alver
-Morten Alver
-Oliver Kopp
-Oliver Kopp
-Oliver Kopp
-Oliver Kopp
-Oliver Kopp
-Oliver Kopp Apple Inc
-Nizar N. Batada
-Christopher Oezbek
-Andreas Rudert
-Michael Spiegel
-Jörg Wegner
-Michael Wrighton
-Jörg Zieren
-Brian Van Essen
-Luciana de Melo e Abud
-Seb Wills
-Waluyo Adi Siswanto
-Dale Visser
-Erik Putrycz
-Gert Renckens
-Guillaume Gardey
-Kolja Brix
-Raik Nagel
-Carlos Silla
-S M Mahbub Murshed
-Robert Jäschke
-Ulrik Stervbo
-Stefano Gariazzo
-Lee Patton
-Jörg Lenhard
-Jörg Lenhard
-Jörg Lenhard
-Jörg Lenhard
-Matthias Geiger
-Christoph Braun
-Felix Wilke
-Dennis Tschechlov
-Dennis Tschechlov
-Christian Bartsch
-Joshua Ramon Enslin
-Vincent W. Yang
-Jorge Tornero
-Mélanie Tremblay
-Christoph Schwentker
-Christoph Schwentker
-Jens Döcke
-Jürgen Lange
-Sascha Zeller
-Ali Ayan
-Ali Zhagparov
-Ali Zhagparov
-Arno Blouin
-Jeff Miller
-Alain Vaucher
-Daniel Mair
-Sven Jäger
-Tim van Rossum
-Saulius Gražulis
-Rolf Starre
-Owen Huang
-Anita Armbruster
-Fabian Bauer <125m125@users.noreply.github.com>
-Jong-Ho Shinn
-Nadeem Mahmood
-Foivos Christoulakis
-Predrag Milanovic
-Karsten Hiekmann
-Karsten Hiekmann
-Andrew Levit
-Berk Gureken
-Abhishek Rai
-Abhishek Rai
-Stéphane Curet
-Erdem Derebasoglu
-Domenico Cufalo
-Tobias Bouschen
-József Pallagi
-Mattia Bunel
-Waida Fan <31742543+weidafan@users.noreply.github.com>
-Johannes Manner
-Dominik Traczyk
-Cerrianne Santos
-Stefan Scheffel
-Stefan Gerzmann
-Deepak Kumar
-Aman Jain
-Ayachi Nene <1710082010@qq.com>
-Jan Schäfer
-Stefan Scheffel
-Stefan Scheffel
-Yash Kothari
-Quentin Fritz <49909555+core-master@users.noreply.github.com>
-Daniel Rodrigues
-Malte Deiseroth
-Malik Atalla <6626492+HerrAachen@users.noreply.github.com>
-Kaique Komata
-S. Krause
-Leonhard Wolz
-Manuel Wtfjoke
-Valentin Pons
-Arthur Fröhlich <37243770+znuznu@users.noreply.github.com>
-Songyu Wang <36670132+Songyu-Wang@users.noreply.github.com>
-Alex Tarrix
-Samiya Caur
-Stanley Foerster
-Michael McCann
-Robin Lichtenthaeler
-Rodrigo Paula da Silva
-Robert Jäschke
-Nick S. Weatherley
-Nivedha Sunderraj
-Lavabit
-Rachel Wu <46014322+rachelwu21@users.noreply.github.com>
-Abraham Polk
-dima
-Fred Stevens
-Rui Kang <1539678784@qq.com>
-Yurick Honda
-Yurick Honda <32721326+yurickyh@users.noreply.github.com>
-Mihu <41503450+mmihuu@users.noreply.github.com>
-Michael Schwarmi
-Michal Rican
-Param Mittal
-Victor Michelan
-P4trice <34972281+P4trice@users.noreply.github.com>
-Julien Bénard <50318255+Julien29121998@users.noreply.github.com>
-Alexsandro Lauber
-Alexander Girgis <11259344+AlexanderGirgis@users.noreply.github.com>
-Christoph Treude
-Goutam Lavudiya
-Shikun Xiong <53288073+ShikunXiong@users.noreply.github.com>
-Fabiani Giovanni
-Dimitra Karadima <44123133+dimitra-karadima@users.noreply.github.com>
-Dimitra Karadima <44123133+dimitra-karadima@users.noreply.github.com>
-Cai Zhichun <54977532+braincident@users.noreply.github.com>
-Gennadiy Stakhovskiy
-Mootez Saad <34676841+MootezSaaD@users.noreply.github.com>
-Mootez Saad <34676841+MootezSaaD@users.noreply.github.com>
-Chen Yuheng
-Dominik Voigt <43381984+DominikVoigt@users.noreply.github.com>
-Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>
-Daniel Price <64694785+daniel-price@users.noreply.github.com>
-Cai Zhichun <54977532+braincident@users.noreply.github.com> <569120128@qq.com>
-Hollyqqqqq <55199983+Hollyqqqqq@users.noreply.github.com> <11712639@mail.sustech.edu.cn>
-Grzegorz Popiel
-Tianjian Lei <185049857@qq.com>
-Tianjian Lei <185049857@qq.com>
-Muhammad Arsalan Badar
-ZhouSky <11711923@mail.sustech.edu.cn>
-Vincent Gagnon
-Tom Warnke
-Eric Lau <919023+skeric@users.noreply.github.com>
diff --git a/.markdownlint.yml b/.markdownlint.yml
index 0ada157fae9..7d7269f0712 100644
--- a/.markdownlint.yml
+++ b/.markdownlint.yml
@@ -18,4 +18,4 @@ MD031: false
MD033:
# we have tags with ids and superscript
- allowed_elements: ['a', 'sup']
+ allowed_elements: ['a', 'kbd', 'sup']
diff --git a/.sonarcloud.properties b/.sonarcloud.properties
deleted file mode 100644
index 8b137891791..00000000000
--- a/.sonarcloud.properties
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/AUTHORS b/AUTHORS
deleted file mode 100644
index 0802288e203..00000000000
--- a/AUTHORS
+++ /dev/null
@@ -1,429 +0,0 @@
-# This file lists all individuals having contributed content to the repository.
-# For how it is generated, see `scripts/generate-authors.sh`.
-1160300608
-1160300614
-Aaron Chen
-Abhishek Rai
-Abraham Polk
-Adam Rehn
-Admir Obralija
-Adrian Daerr
-Akash Deep
-Alain Vaucher
-Aleksandrs Gusevs
-Alessio Pollero
-Alex Montgomery
-Alex Petrov
-Alex Tarrix
-Alexander Girgis
-Alexis Gallagher
-Alexsandro Lauber
-Ali Ayan
-Ali Zhagparov
-Alick Zhao
-Allison Sampaio
-Aman Jain
-Ambrogio Oliva
-Amish Shah
-Andreas Amann
-Andreas Buhr
-Andreas Rudert
-Andrew Collins
-Andrew Kuncevich
-Andrew Levit
-André Schlichting
-Andrés Sánchez
-Anh Nghia Tran
-Anita Armbruster
-Antonio Ribeiro
-Arno Blouin
-Arthur Fröhlich
-Atul Kaushik
-August Janse
-Ayachi Nene
-Bartosz J. Kaczkowski
-Bartłomiej Dach
-Baruch Oltman
-Behrouz Javanmardi
-Benedikt Tutzer
-Benjamin Köhler
-Benjamin Schroth
-Berk Gureken
-Bernd Kalbfuss
-Bernhard Tempel
-Bharat Raghunathan
-Bhargava Varadharajan
-Bherwani Ayush
-Bitor Tonixa Biriato Balença
-Brian Quistorff
-Brian Van Essen
-Cai Zhichun
-Caleb Tillman
-captain123
-Carl Christian Snethlage
-carlg0ransson
-Carlos Morales
-Carlos Silla
-Carlos Silva
-Catarina Gomes
-Cerrianne Santos
-Chamod Shehanka
-Chelsey Ong
-Chen Yuheng
-Chris Brown
-Christian Bartsch
-Christian Kopf
-Christoph Braun
-Christoph Hochreiner
-Christoph Schwentker
-Christoph Treude
-Christopher Oezbek
-Christopher S. Lester
-conorfos
-cs464osu
-Cyrille d'Haese
-Dale Visser
-Daniel Bruehl
-Daniel Mair
-Daniel Price
-Daniel Rodrigues
-Daniel Svärd
-David Gleich
-David Méndez
-David Stevens
-David Weitzman
-Dawid Motyka
-Dawid Owoc
-Deepak Kumar
-Dennis Tschechlov
-DevSiroukane
-Dilan Coss
-dima
-Dimitra Karadima
-Domenico Cufalo
-Dominik Schrempf
-Dominik Traczyk
-Dominik Voigt
-Dominik Waßenhoven
-Douglas Nassif Roma Junior
-Eduard Braun
-Eduardo Greco
-eetian
-Egon Willighagen
-Eiswindyeti
-Ellen Reitmayr
-Erdem Derebasoglu
-Erdem Derebaşoğlu
-Eric Lau
-Erik Putrycz
-Ervin Kolenovic
-Escoul
-Ethan Harris
-Fabian Bauer
-Fabian Bieker
-Fabiani Giovanni
-Fabio Marcos
-Fabrice Dessaint
-Fancy Zhang
-Fedor Bezrukov
-Felix Berger
-Felix Langner
-Felix Luthman
-Felix Wilke
-Fernando Santagata
-ffffatgoose
-Florian Beetz
-Florian Straßer
-Foivos Christoulakis
-fpguy
-Francois Charette
-Frank Steimle
-frasca80
-Fred Stevens
-Frédéric Darboux
-Galileo Sartor
-Gennadiy Stakhovskiy
-Geoffrey Taerim Kim
-Gert Renckens
-Giovanni Caldarola
-Giri
-Goutam Lavudiya
-Graeme Stewart
-Gregor Herrmann
-Grzegorz Popiel
-guenesaydin
-Guillaume Gardey
-Hakan Duran
-Hannes Restel
-Harinda Samarasekara
-hemantgs
-HifeFish
-Hollyqqqqq
-Houssem Nasri
-hrandrianasolo
-Hussain Arif
-Igor Chernyavsky
-Igor Steinmacher
-Illes Solt
-Ingvar Jackal
-Isaac Roles
-Jackson Ryan
-Jan Frederik Maas
-Jan Kubovy
-Jan Schäfer
-Janosch Kutscherauer
-Jason Pickering
-Jasper Vandemalle
-Javier Muñoz Ferrara
-jcampbell11245
-Jeff Kerr
-Jeff Miller
-Jeffrey Kuhn
-Jeffrey Sander
-Jens Döcke
-joeyzgraggen
-Johannes Hupe
-Johannes Manner
-Johannes Theiner
-John David
-John Relph
-John Zedlewski
-Jonas Lähnemann
-Jonas Moosmann
-Jonatan Asketorp
-Jonathan Powell
-Jong-Ho Shinn
-Jorge Tornero
-josephshin93
-Joshua Ramon Enslin
-José Jesús Sinohui Fernández
-Julian Pfeifer
-Julien Bénard
-Jure Slak
-József Pallagi
-Jörg Lenhard
-Jörg Wegner
-Jörg Zieren
-Jørgen Kvalsvik
-Jürgen Lange
-k3KAW8Pnf7mkmdSMPHz27
-Kai Mindermann
-Kai Takac
-Kaique Komata
-Karsten Hiekmann
-Kelly Click
-Koji Yokota
-KOLANICH
-Kolja Brix
-Kristoffer Gunnarsson
-Krunoslav Zubrinic
-Krzysztof A. Kościuszkiewicz
-Kyle Johnson
-Laura Hernández Gómez
-Lavabit
-Le-wi
-Lee Patton
-Leonardo Haddad
-Leonhard Wolz
-Li Yiming
-Li Zhilin
-Ling Wang
-Linus Dietz
-Lorenzo Genta
-Lucas Beretti
-Luciana de Melo e Abud
-Lugduni Desrosiers
-Luis Romero
-Mairieli Wessel
-Malik Atalla
-Malte Deiseroth
-Manas Singh
-Manuel Siebeneicher
-Manuel Wtfjoke
-Marcel Luethi
-Marco Aurélio Graciotto Silva
-Marco Konersmann
-Mariana Prudencio
-Marius Kleiner
-Mark Schenk
-Martin Kähmer
-Martin Stolle
-Martin W. Kirst
-Martina Catizone
-Mathias Walter
-Matthias Geiger
-Matthias Mayr
-Matthias Mueller
-Matthijs van der Burgh
-Mattia Bunel
-Mattias Ulbrich
-mcmoody
-Meltem Demirköprü
-MhhhxX
-Michael Beckmann
-Michael Falkenthal
-Michael Lass
-Michael Mauersberger
-Michael McCann
-Michael Schwarmi
-Michael Spiegel
-Michael Wrighton
-Michal Rican
-Michel Baylac
-Michel Krämer
-Mihu
-Mike Smoot
-mohamean
-Mootez Saad
-Morgan Lovato
-Moritz Ringler
-Morten Alver
-ms111ds
-muachilin
-Muhammad Arsalan Badar
-Mélanie Tremblay
-Nadeem Mahmood
-Nathan Dunn
-Nathan Sheffield
-Nick Mancuso
-Nick S. Weatherley
-Nico Schlömer
-Nicolas Pavillon
-Niffler
-Nikita Borovikov
-Niklas Schmitt
-nikmilpv
-NikodemKch
-Nikolaus Koopmann
-Nils Streijffert
-Niv Ierushalmi
-Nivedha Sunderraj
-Nizar N. Batada
-noravanq
-obsluk00
-Olaf Lenz
-Oliver Beckmann
-Oliver Kopp
-omer-rotem1
-Oscar Gustafsson
-Owen Huang
-P4trice
-Param Mittal
-Patrick Lin
-Patrick Scheibe
-Paul Krappatsch
-Paul Martin
-pavlapp
-Peter Ansell
-Philip Johnson
-Prasan Yapa
-Predrag Milanovic
-Qing
-Quentin Fritz
-Rachel Wu
-Raik Nagel
-razvan05
-Redevectored
-Renato Massao
-Richard Schneeman
-Robert Jäschke
-Robin Lichtenthaeler
-Rodrigo Paula da Silva
-Rolf Green
-Rolf Starre
-Ronak Lakhotia
-Roy Storey
-Rudolf Seemann
-Rui Kang
-Ruy Minoru Ito Takata
-Ryo Igarashi
-S M Mahbub Murshed
-S. Krause
-Saivert
-Sam Robertson
-Samin Muhammad Ridwanul Karim
-Samiya Caur
-Sandro Speth
-Sascha Hunold
-Sascha Zeller
-Saulius Gražulis
-Saverio Mori
-Schaggerlag
-Scott Pogatetz
-Scott Townsend
-Seb Wills
-Serban Iordache
-Shikun Xiong
-ShiqingLiu
-Shitikanth
-shubhamatlani
-Simon Harrer
-Simon Rutishauser
-Songyu Wang
-speed9
-Stanley Foerster
-Stefan Feyer
-Stefan Gerzmann
-Stefan Kolb
-Stefan Kufer
-Stefan Robert
-Stefan Scheffel
-Stefano Gariazzo
-Steffin Stanly
-Stephan Lau
-Stephan Rave
-Stephen Beitzel
-Stéphane Curet
-Super-Tang
-Sven Jäger
-systemoperator
-Thiago Toledo
-Thomas Arildsen
-Thomas F. Duellmann
-Thomas Hu
-Thomas Ilsche
-Thorsten Dahlheimer
-Tianjian Lei
-Tim Kilian
-Tim van Rossum
-Tim Würtele
-Timucin Merdin
-Tobias Boceck
-Tobias Bouschen
-Tobias Denkinger
-Tobias Diez
-Tom Warnke
-Tommy Samuelsson
-Tomás Morales de Luna
-Tony K
-Toralf Senger
-uid112001
-Ulrich Stärk
-Ulrik Stervbo
-UltimaBGD
-Uwe Kuehn
-Valentin Pons
-Venceslas Roullier
-Victor Figueira
-Victor Michelan
-Vincent Gagnon
-Vincent W. Yang
-Vlad Topala
-Waida Fan
-Waluyo Adi Siswanto
-WangAooa
-Ward Poelmans
-Wenbo Yang
-wuw
-Yang Zongze
-Yara Grassi Gouffon
-Yash Kothari
-Yichen Sun
-Yifan Peng
-Yunsheng Luo
-Yurick Honda
-zacmks
-Zeabin
-Zgarbul Andrey
-Zhang Liang
-ZhouSky
diff --git a/CHANGELOG.md b/CHANGELOG.md
index df9506fbcd3..15ff79e8072 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,3 @@
-
# Changelog
All notable changes to this project will be documented in this file.
@@ -12,13 +11,98 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve
### Added
+- We added a progress counter to the title bar in Possible Duplicates dialog window. [#7366](https://github.com/JabRef/jabref/issues/7366)
+- We added new "Customization" tab to the preferences which includes option to choose a custom address for DOI access. [#7337](https://github.com/JabRef/jabref/issues/7337)
+- We added zbmath to the public databases from which the bibliographic information of an existing entry can be updated. [#7437](https://github.com/JabRef/jabref/issues/7437)
+- We added the possibility to add a new entry via its zbMath ID (zbMATH can be chosen as ID type in the "Select entry type" window). [#7202](https://github.com/JabRef/jabref/issues/7202)
+- We added the extension support and the external application support (For Texshow, Texmaker and LyX) to the flatpak [#7248](https://github.com/JabRef/jabref/pull/7248)
+- We added some symbols and keybindings to the context menu in the entry editor. [#7268](https://github.com/JabRef/jabref/pull/7268)
+- We added keybindings for setting and clearing the read status. [#7264](https://github.com/JabRef/jabref/issues/7264)
+- We added two new fields to track the creation and most recent modification date and time for each entry. [koppor#130](https://github.com/koppor/jabref/issues/130)
+- We added a feature that allows the user to copy highlighted text in the preview window. [#6962](https://github.com/JabRef/jabref/issues/6962)
+- We added a feature that allows you to create new BibEntry via paste arxivId [#2292](https://github.com/JabRef/jabref/issues/2292)
+- We added a feature that allows the user to choose whether to trust the target site when unable to find a valid certification path from the file download site. [#7616](https://github.com/JabRef/jabref/issues/7616)
+
+### Changed
+
+- The keywords added via "Manage content selectors" are now displayed in alphabetical order. [#3791](https://github.com/JabRef/jabref/issues/3791)
+- We improved the "Find unlinked files" dialog to show import results for each file. [#7209](https://github.com/JabRef/jabref/pull/7209)
+- The content of the field `timestamp` is migrated to `creationdate`. In case one configured "udpate timestampe", it is migrated to `modificationdate`. [koppor#130](https://github.com/koppor/jabref/issues/130)
+- The JabRef specific meta-data content in the main field such as priorities (prio1, prio2, ...) are migrated to their respective fields. They are removed from the keywords. [#6840](https://github.com/jabref/jabref/issues/6840)
+- We fixed an issue where groups generated from authors' last names did not include all entries of the authors' [#5833](https://github.com/JabRef/jabref/issues/5833)
+- The export to MS Office XML now uses the month name for the field `MonthAcessed` instead of the two digit number [#7354](https://github.com/JabRef/jabref/issues/7354)
+- We included some standalone dialogs from the options menu in the main preference dialog and fixed some visual issues in the preferences dialog. [#7384](https://github.com/JabRef/jabref/pull/7384)
+- We improved the linking of the `python3` interpreter via the shebang to dynamically use the systems default Python. Related to [JabRef-Browser-Extension #177](https://github.com/JabRef/JabRef-Browser-Extension/issues/177)
+- Automatically found pdf files now have the linking button to the far left and uses a link icon with a plus instead of a briefcase. The file name also has lowered opacity(70%) until added. [#3607](https://github.com/JabRef/jabref/issues/3607)
+- We simplified the select entry type form by splitting it into two parts ("Recommended" and "Others") based on internal usage data. [#6730](https://github.com/JabRef/jabref/issues/6730)
+- The export to MS Office XML now uses the month name for the field `Month` instead of the two digit number [forum#2685](https://discourse.jabref.org/t/export-month-as-text-not-number/2685)
+
+### Fixed
+
+- We fixed an issue where getting bibliograhpic data from DOI or another identifer did not respect the library mode (BibTeX/biblatex)[#1018](https://github.com/JabRef/jabref/issues/6267)
+- We fixed an issue where importing entries would not respect the library mode (BibTeX/biblatex)[#1018](https://github.com/JabRef/jabref/issues/1018)
+- We fixed an issue where an exception occured when importing entries from a web search [#7606](https://github.com/JabRef/jabref/issues/7606)
+- We fixed an issue where the table column sort order was not properly stored and resulted in unsorted eports [#7524](https://github.com/JabRef/jabref/issues/7524)
+- We fixed an issue where the value of the field `school` or `institution` would be printed twice in the HTML Export [forum#2634](https://discourse.jabref.org/t/problem-with-exporting-techreport-phdthesis-mastersthesis-to-html/2634)
+- We fixed an issue preventing to connect to a shared database. [#7570](https://github.com/JabRef/jabref/pull/7570)
+- We fixed an issue preventing files from being dragged & dropped into an empty library. [#6851](https://github.com/JabRef/jabref/issues/6851)
+- We fixed an issue where double-click onto PDF in file list under the 'General' tab section should just open the file. [#7465](https://github.com/JabRef/jabref/issues/7465)
+- We fixed an issue where the dark theme did not extend to a group's custom color picker. [#7481](https://github.com/JabRef/jabref/issues/7481)
+- We fixed an issue where choosing the fields on which autocompletion should not work in "Entry editor" preferences had no effect. [#7320](https://github.com/JabRef/jabref/issues/7320)
+- We fixed an issue where the "Normalize page numbers" formatter did not replace en-dashes or em-dashes with a hyphen-minus sign. [#7239](https://github.com/JabRef/jabref/issues/7239)
+- We fixed an issue with the style of highlighted check boxes while searching in preferences. [#7226](https://github.com/JabRef/jabref/issues/7226)
+- We fixed an issue where the option "Move file to file directory" was disabled in the entry editor for all files [#7194](https://github.com/JabRef/jabref/issues/7194)
+- We fixed an issue where application dialogs were opening in the wrong display when using multiple screens [#7273](https://github.com/JabRef/jabref/pull/7273)
+- We fixed an issue where the "Find unlinked files" dialog would freeze JabRef on importing. [#7205](https://github.com/JabRef/jabref/issues/7205)
+- We fixed an issue where the "Find unlinked files" would stop importing when importing a single file failed. [#7206](https://github.com/JabRef/jabref/issues/7206)
+- We fixed an issue where JabRef froze for a few seconds in MacOS when DNS resolution timed out. [#7441](https://github.com/JabRef/jabref/issues/7441)
+- We fixed an issue where an exception would be displayed for previewing and preferences when a custom theme has been configured but is missing [#7177](https://github.com/JabRef/jabref/issues/7177)
+- We fixed an issue where URLs in `file` fields could not be handled on Windows. [#7359](https://github.com/JabRef/jabref/issues/7359)
+- We fixed an issue where the regex based file search miss-interpreted specific symbols. [#4342](https://github.com/JabRef/jabref/issues/4342)
+- We fixed an issue where the Harvard RTF exporter used the wrong default file extension. [4508](https://github.com/JabRef/jabref/issues/4508)
+- We fixed an issue where the Harvard RTF exporter did not use the new authors formatter and therefore did not export "organization" authors correctly. [4508](https://github.com/JabRef/jabref/issues/4508)
+- We fixed an issue where the field `urldate` was not exported to the corresponding fields `YearAccessed`, `MonthAccessed`, `DayAccessed` in MS Office XML [#7354](https://github.com/JabRef/jabref/issues/7354)
+- We fixed an issue where the password for a shared SQL database was only remembered if it was the same as the username [#6869](https://github.com/JabRef/jabref/issues/6869)
+- We fixed an issue where some custom exports did not use the new authors formatter and therefore did not export authors correctly [#7356](https://github.com/JabRef/jabref/issues/7356)
+- We fixed an issue where alt+keyboard shortcuts do not work [#6994](https://github.com/JabRef/jabref/issues/6994)
+- We fixed an issue about the file link editor did not allow to change the file name according to the default pattern after changing an entry. [#7525](https://github.com/JabRef/jabref/issues/7525)
+- We fixed an issue where the file path is invisible in dark theme. [#7382](https://github.com/JabRef/jabref/issues/7382)
+- We fixed an issue where the secondary sorting is not working for some special fields. [#7015](https://github.com/JabRef/jabref/issues/7015)
+- We fixed an issue where changing the font size makes the font size field too small. [#7085](https://github.com/JabRef/jabref/issues/7085)
+- We fixed an issue with TexGroups on Linux systems, where the modification of an aux-file did not trigger an auto-update for TexGroups. Furthermore, the detection of file modifications is now more reliable. [#7412](https://github.com/JabRef/jabref/pull/7412)
+- We fixed an issue where the Unicode to Latex formatter produced wrong results for characters with a codepoint higher than Character.MAX_VALUE. [#7387](https://github.com/JabRef/jabref/issues/7387)
+- We fixed an issue where a non valid value as font size results in an uncaught exception. [#7415](https://github.com/JabRef/jabref/issues/7415)
+- We fixed an issue where "Merge citations" in the Openoffice/Libreoffice integration panel did not have a corresponding opposite. [#7454](https://github.com/JabRef/jabref/issues/7454)
+- We fixed an issue where drag and drop of bib files for opening resulted in uncaught exceptions [#7464](https://github.com/JabRef/jabref/issues/7464)
+- We fixed an issue where columns shrink in width when we try to enlarge JabRef window. [#6818](https://github.com/JabRef/jabref/issues/6818)
+- We fixed an issue where Content selector does not seem to work for custom fields. [#6819](https://github.com/JabRef/jabref/issues/6819)
+- We fixed an issue where font size of the preferences dialog does not update with the rest of the GUI. [#7416](https://github.com/JabRef/jabref/issues/7416)
+- We fixed an issue in which a linked online file consisting of a web page was saved as an invalid pdf file upon being downloaded. The user is now notified when downloading a linked file results in an HTML file. [#7452](https://github.com/JabRef/jabref/issues/7452)
+- We fixed an issue where opening BibTex file (doubleclick) from Folder with spaces not working. [#6487](https://github.com/JabRef/jabref/issues/6487)
+- We fixed an issue with saving large `.bib` files [#7265](https://github.com/JabRef/jabref/issues/7265)
+- We fixed an issue with very large page numbers [#7590](https://github.com/JabRef/jabref/issues/7590)
+- We fixed an issue with opacity of disabled icon-buttons [#7195](https://github.com/JabRef/jabref/issues/7195)
+- We fixed an issue where journal abbreviations in UTF-8 were not recognized [#5850](https://github.com/JabRef/jabref/issues/5850)
+- We fixed an issue where the article title with curly brackets fails to download the arXiv link (pdf file). [#7633](https://github.com/JabRef/jabref/issues/7633)
+- We fixed an issue with toggle of special fields does not work for sorted entries [#7016](https://github.com/JabRef/jabref/issues/7016)
+- We fixed an issue with the default path of external application. [#7641](https://github.com/JabRef/jabref/issues/7641)
+- We fixed an issue where urls must be embedded in a style tag when importing EndNote style Xml files. Now it can parse url with or without a style tag. [#6199](https://github.com/JabRef/jabref/issues/6199)
+- We fixed an issue where the article title with colon fails to download the arXiv link (pdf file). [#7660](https://github.com/JabRef/issues/7660)
+- We fixed an issue where the keybinding for delete entry did not work on the main table [7580](https://github.com/JabRef/jabref/pull/7580)
+- We fixed an issue where the RFC fetcher is not compatible with the draft [7305](https://github.com/JabRef/jabref/issues/7305)
+
+### Removed
+
+## [5.2] – 2020-12-24
+
+### Added
+
+- We added a validation to check if the current database location is shared, preventing an exception when Pulling Changes From Shared Database. [#6959](https://github.com/JabRef/jabref/issues/6959)
- We added a query parser and mapping layer to enable conversion of queries formulated in simplified lucene syntax by the user into api queries. [#6799](https://github.com/JabRef/jabref/pull/6799)
- We added some basic functionality to customise the look of JabRef by importing a css theme file. [#5790](https://github.com/JabRef/jabref/issues/5790)
- We added connection check function in network preference setting [#6560](https://github.com/JabRef/jabref/issues/6560)
- We added support for exporting to YAML. [#6974](https://github.com/JabRef/jabref/issues/6974)
-- We added a DOI format and organization check to detect [American Physical Society](https://journals.aps.org/) journals to copy the article ID
-to the page field for cases where the page numbers are missing. [#7019](https://github.com/JabRef/jabref/issues/7019)
-- We added a new fetcher to enable users to search jstor.org [#6627](https://github.com/JabRef/jabref/issues/6627)
+- We added a DOI format and organization check to detect [American Physical Society](https://journals.aps.org/) journals to copy the article ID to the page field for cases where the page numbers are missing. [#7019](https://github.com/JabRef/jabref/issues/7019)
- We added an error message in the New Entry dialog that is shown in case the fetcher did not find anything . [#7000](https://github.com/JabRef/jabref/issues/7000)
- We added a new formatter to output shorthand month format. [#6579](https://github.com/JabRef/jabref/issues/6579)
- We added support for the new Microsoft Edge browser in all platforms. [#7056](https://github.com/JabRef/jabref/pull/7056)
@@ -27,8 +111,7 @@ to the page field for cases where the page numbers are missing. [#7019](https://
### Changed
-- We changed the default preferences for OpenOffice/LibreOffice integration to automatically sync the bibliography when
-inserting new citations in a OpenOffic/LibreOffice document. [#6957](https://github.com/JabRef/jabref/issues/6957)
+- We changed the default preferences for OpenOffice/LibreOffice integration to automatically sync the bibliography when inserting new citations in a OpenOffic/LibreOffice document. [#6957](https://github.com/JabRef/jabref/issues/6957)
- We restructured the 'File' tab and extracted some parts into the 'Linked files' tab [#6779](https://github.com/JabRef/jabref/pull/6779)
- JabRef now offers journal lists from . JabRef the lists which use a dot inside the abbreviations. [#5749](https://github.com/JabRef/jabref/pull/5749)
- We removed two useless preferences in the groups preferences dialog. [#6836](https://github.com/JabRef/jabref/pull/6836)
@@ -43,12 +126,14 @@ inserting new citations in a OpenOffic/LibreOffice document. [#6957](https://git
- We changed the title of the window "Manage field names and content": to have the same title as the corresponding menu item [#6895](https://github.com/JabRef/jabref/pull/6895)
- We improved the detection of "short" DOIs [6880](https://github.com/JabRef/jabref/issues/6880)
- We improved the duplicate detection when identifiers like DOI or arxiv are semantiaclly the same, but just syntactically differ (e.g. with or without http(s):// prefix). [#6707](https://github.com/JabRef/jabref/issues/6707)
+- We improved JabRef start up time [6057](https://github.com/JabRef/jabref/issues/6057)
- We changed in the group interface "Generate groups from keywords in a BibTeX field" by "Generate groups from keywords in the following field". [#6983](https://github.com/JabRef/jabref/issues/6983)
- We changed the name of a group type from "Searching for keywords" to "Searching for a keyword". [6995](https://github.com/JabRef/jabref/pull/6995)
- We changed the way JabRef displays the title of a tab and of the window. [4161](https://github.com/JabRef/jabref/issues/4161)
- We changed connect timeouts for server requests to 30 seconds in general and 5 seconds for GROBID server (special) and improved user notifications on connection issues. [7026](https://github.com/JabRef/jabref/pull/7026)
-- We changed the way linked files are opened on Linux to use the native openFile method, compatible with confined packages. [7037](https://github.com/JabRef/jabref/pull/7037)
-- We refined the entry preview to show the full names of authors and editors, to list the editor only if no author is present, have the year ealier. [#7083](https://github.com/JabRef/jabref/issues/7083)
+- We changed the order of the library tab context menu items. [#7171](https://github.com/JabRef/jabref/issues/7171)
+- We changed the way linked files are opened on Linux to use the native openFile method, compatible with confined packages. [7037](https://github.com/JabRef/jabref/pull/7037)
+- We refined the entry preview to show the full names of authors and editors, to list the editor only if no author is present, have the year earlier. [#7083](https://github.com/JabRef/jabref/issues/7083)
### Fixed
@@ -76,11 +161,19 @@ inserting new citations in a OpenOffic/LibreOffice document. [#6957](https://git
- We fixed an issue where the color of groups of type "free search expression" not persisting after restarting the application [#6999](https://github.com/JabRef/jabref/issues/6999)
- We fixed an issue where modifications in the source tab where not saved without switching to another field before saving the library [#6622](https://github.com/JabRef/jabref/issues/6622)
- We fixed an issue where the "Document Viewer" did not show the first page of the opened pdf document and did not show the correct total number of pages [#7108](https://github.com/JabRef/jabref/issues/7108)
+- We fixed an issue where the context menu was not updated after a file link was changed. [#5777](https://github.com/JabRef/jabref/issues/5777)
- We fixed an issue where the password for a shared SQL database was not remembered [#6869](https://github.com/JabRef/jabref/issues/6869)
+- We fixed an issue where newly added entires were not synced to a shared SQL database [#7176](https://github.com/JabRef/jabref/issues/7176)
+- We fixed an issue where the PDF-Content importer threw an exception when no DOI number is present at the first page of the PDF document [#7203](https://github.com/JabRef/jabref/issues/7203)
+- We fixed an issue where groups created from aux files did not update on file changes [#6394](https://github.com/JabRef/jabref/issues/6394)
+- We fixed an issue where authors that only have last names were incorrectly identified as institutes when generating citation keys [#7199](https://github.com/JabRef/jabref/issues/7199)
+- We fixed an issue where institutes were incorrectly identified as universities when generating citation keys [#6942](https://github.com/JabRef/jabref/issues/6942)
### Removed
+- We removed the Google Scholar fetcher and the ACM fetcher do not work due to traffic limitations [#6369](https://github.com/JabRef/jabref/issues/6369)
- We removed the menu entry "Manage external file types" because it's already in 'Preferences' dialog [#6991](https://github.com/JabRef/jabref/issues/6991)
+- We removed the integrity check "Abbreviation detected" for the field journal/journaltitle in the entry editor [#3925](https://github.com/JabRef/jabref/issues/3925)
## [5.1] – 2020-08-30
@@ -456,6 +549,7 @@ inserting new citations in a OpenOffic/LibreOffice document. [#6957](https://git
- We fixed an issue where the "Search for unlinked local files" would throw an exception when parsing the content of a PDF-file with missing "series" information [#5128](https://github.com/JabRef/jabref/issues/5128)
- We fixed an issue where the XMP Importer would incorrectly return an empty default entry when importing pdfs [#6577](https://github.com/JabRef/jabref/issues/6577)
- We fixed an issue where opening the menu 'Library properties' marked the library as modified [#6451](https://github.com/JabRef/jabref/issues/6451)
+- We fixed an issue when importing resulted in an exception [#7343](https://github.com/JabRef/jabref/issues/7343)
### Removed
@@ -479,7 +573,8 @@ The changelog of JabRef 4.x is available at the [v4.3.1 tag](https://github.com/
The changelog of JabRef 3.x is available at the [v3.8.2 tag](https://github.com/JabRef/jabref/blob/v3.8.2/CHANGELOG.md).
The changelog of JabRef 2.11 and all previous versions is available as [text file in the v2.11.1 tag](https://github.com/JabRef/jabref/blob/v2.11.1/CHANGELOG).
-[Unreleased]: https://github.com/JabRef/jabref/compare/v5.1...HEAD
+[Unreleased]: https://github.com/JabRef/jabref/compare/v5.2...HEAD
+[5.2]: https://github.com/JabRef/jabref/compare/v5.1...v5.2
[5.1]: https://github.com/JabRef/jabref/compare/v5.0...v5.1
[5.0]: https://github.com/JabRef/jabref/compare/v5.0-beta...v5.0
[5.0-beta]: https://github.com/JabRef/jabref/compare/v5.0-alpha...v5.0-beta
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 64af4aa3368..22db7bd7239 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,133 +1,16 @@
-# Contributing Guide
+# Contributing
-After reading through this guide, check out some good first issues to contribute to by clicking here: [Good First Issues](https://github.com/JabRef/jabref/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
+When contributing to this repository, please first discuss the change you wish to make via issue,
+email, or any other method with the owners of this repository before making a change.
-In case you are an instructor and want to use JabRef as software engineering example, please head to .
+Support on code contribution is available at .
+General overview on contributing is available at .
-## Understanding the basics
+## Pull Request Process
-We welcome contributions to JabRef and encourage you to follow the GitHub workflow specified below. If you are not familiar with this type of workflow, take a look at GitHub's excellent overview on the [GitHub flow](https://guides.github.com/introduction/flow/index.html) and the explanation of [Feature Branch Workflow](https://atlassian.com/git/tutorials/comparing-workflows#feature-branch-workflow) for the idea behind this kind of development.
-
-1. Get the JabRef code on your local machine. Detailed instructions about this step can be found in our [guidelines for setting up a local workspace](https://devdocs.jabref.org/getting-into-the-code/guidelines-for-setting-up-a-local-workspace).
- 1. Fork the JabRef into your GitHub account.
- 2. Clone your forked repository on your local machine.
-2. **Create a new branch** (such as `fix-for-issue-121`). Be sure to create a **separate branch** for each improvement you implement.
-3. Do your work on the **new branch - not the master branch.** Refer to our [code howtos](https://devdocs.jabref.org/getting-into-the-code/code-howtos) if you have questions about your implementation.
-4. Create a pull request. For an overview of pull requests, take a look at GitHub's [pull request help documentation](https://help.github.com/articles/about-pull-requests/).
-5. In case your pull request is not yet complete or not yet ready for review, consider creating a [draft pull request](https://github.blog/2019-02-14-introducing-draft-pull-requests/) instead.
-
-In case you have any questions, do not hesitate to write one of our [JabRef developers](https://github.com/orgs/JabRef/teams/developers) an email.
-We should also be online at [gitter](https://gitter.im/JabRef/jabref).
-
-## Formal requirements for a pull request
-
-The main goal of the formal requirements is to provide credit to you and to be able to understand the patch.
-
-### Add your change to `CHANGELOG.md`
-
-You should edit the [CHANGELOG.md](CHANGELOG.md) located in the root directory of the JabRef source.
-Add a line with your changes in the appropriate section.
-
-If you did internal refactorings or improvements not visible to the user (e.g., UI, .bib file), then you don't need to put an entry there.
-
-#### Format of keyboard shortcuts
-
-Example: `Ctrl + Enter`
-
-In case you add keys to the changelog, please follow these rules:
-
-- `` tag for each key
-- First letter of key capitalized
-- Combined keys separated by `+`
-- Spaces before and after separator `+`
-
-### Author credits
-
-You will be given credit in the [`AUTHORS`](AUTHORS) file in the root of the repository and the 'About' pages inside the main application.
-We will periodically update the contributors list inside [`AUTHORS`](AUTHORS).
-This is done by an automatic shell script `scripts/generate-authors.sh`.
-
-If you want to add yourself directly with your pull request please run this script.
-Please make sure there are no duplicates or alternate spellings of your name listed.
-If you need to merge different Git usernames or email addresses you can do so by editing `.mailmap`.
-More information on this can be found via `man git-shortlog`.
-
-Please, **do not add yourself at JavaDoc's `@authors`**.
-The contribution information is tracked via the version control system.
-
-Your contribution is considered being made under [MIT license](https://tldrlegal.com/license/mit-license).
-
-### Write a good commit message
-
-See [good commit message] or [commit guidelines section of Pro Git].
-The first line of your commit message is automatically taken as the title for the pull-request.
-All other lines make up the body of the pull request. Add the words `fixes #xxx` to your PR to auto-close the corresponding issue.
-
-### Test your code
-
-We know that writing test cases takes a lot of time.
-Nevertheless, we rely on our test cases to ensure that a bug fix or a feature implementation doesn't break anything.
-In case you do not have time to add a test case, we nevertheless ask you to at least run `gradlew check` to ensure that your change doesn't break anything else.
-
-### When adding a library
-
-Please try to use a version available at JCenter and add it to `build.gradle`.
-In any case, describe the library at [external-libraries.md](external-libraries.md).
-We need that information for our package maintainers (e.g., those of the [debian package](https://tracker.debian.org/pkg/jabref)).
-Also add a txt file stating the license in `libraries/`.
-It is used at `gradlew processResources` to generate the About.html files.
-You can see the result in `build\resources\main\help\en\About.html` or when clicking Help -> About.
-
-### When making an architectural decision
-
-In case you add a library or do major code rewrites, we ask you to document your decision.
-Recommended reading: .
-
-We simply ask to create a new markdown file in `docs/adr` following the template presented at .
-
-In case you want to directly add a comment to a class, simply use following template (based on [sustainable architectural decisions](https://www.infoq.com/articles/sustainable-architectural-design-decisions)):
-
-```text
-In the context of