From 39aad32a8aea842bf268abbdf295deae3d2063df Mon Sep 17 00:00:00 2001 From: koppor Date: Tue, 1 Sep 2026 22:37:40 +0200 Subject: [PATCH 1/4] Describe library synchronization replacing autosave Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01GWmXyN3GUNhfF9fSo1UNrt --- en/.gitbook/assets/preferences-autosave.png | Bin 38286 -> 4108 bytes en/SUMMARY.md | 2 +- en/advanced/autosave.md | 17 ++++++++++++----- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/en/.gitbook/assets/preferences-autosave.png b/en/.gitbook/assets/preferences-autosave.png index 17966b9a41b96f9d4dc5bc26a9db2c524965bfc1..d06ca05b5114f8373e807640abec196eee0359f1 100644 GIT binary patch literal 4108 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 literal 38286 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%0AZ6hT1ymd>dW9O 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≦?a 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

`lDbMB0n%qw!SH_IT5pST8;{aZq-K=`+WR^Q*P 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 F`(H*^CVc<^ diff --git a/en/SUMMARY.md b/en/SUMMARY.md index c4b68b83c..ea5ae4d18 100644 --- a/en/SUMMARY.md +++ b/en/SUMMARY.md @@ -74,7 +74,7 @@ * [URL and DOI links in JabRef](advanced/externalfiles.md) * [OCR](advanced/OCR.md) * [Command line use and options](advanced/commandline.md) - * [Automatic Backup (.sav and .bak) and Autosave](advanced/autosave.md) + * [Automatic backup (.sav and .bak) and synchronization](advanced/autosave.md) * [XMP metadata support in JabRef](advanced/xmp.md) * [Remote operation](advanced/remote.md) * [Custom themes](advanced/custom-themes.md) diff --git a/en/advanced/autosave.md b/en/advanced/autosave.md index 7676e8e28..24af1e220 100644 --- a/en/advanced/autosave.md +++ b/en/advanced/autosave.md @@ -1,4 +1,4 @@ -# Automatic Backup (.sav and .bak) and Autosave +# Automatic backup (.sav and .bak) and synchronization {% hint style="info" %} Changelog:\ @@ -13,6 +13,9 @@ Major rework and a change in what .bak and .sav denote. Henceforth,\ JabRef 5.1\ To reduce the amount of configuration options, the possibility to disable the creation of `.bak` files was removed.\ \ +JabRef 6.0\ +Autosave became "Synchronize local libraries with their files": external changes to the file are merged in automatically.\ +\ JabRef 3.7\ First introduction of the autosave and backup features.\ `.sav` is the automatic backup feature.\ @@ -63,14 +66,18 @@ For shared remote libraries and more advanced history, we recommend to use [git * **Mac OS X:** \ `/Users/username/Library/Application Support/org.jabref/jabref` -## Automatic saving of the current library +## Automatic saving and synchronization of the current library + +JabRef can keep a local library and its `.bib` file the same in both directions. Enable **Synchronize local libraries with their files** in Preferences → General → Saving: -JabRef offers **automatic saving of the library.** No need to click on File --> Save or pressing Ctrl+S anymore: The opened database are saved automatically without manual intervention. +* Changes you make in JabRef are saved to the `.bib` file automatically. No need to click on File → Save or to press Ctrl+S anymore. +* Changes another program makes to the `.bib` file (a text editor, a `git pull`, a cloud synchronization client) are merged into the open library automatically. A short notification reports how many changes were merged. If the same entry was also edited in JabRef, the fields changed on disk are still taken over. +* JabRef only asks you to review external changes when they collide with your own unsaved edits: the same field changed differently in JabRef and in the file, or an entry deleted on one side and changed on the other. The "External changes detected" notification then offers a review of only those items. -In case the `.bib` file should automatically be saved on each change, you can direct JabRef to do so. This feature needs to be activated in the preferences: +When the option is off, JabRef reports every external change with the "External changes detected" notification and leaves it to you to review or dismiss them.

From d50c18b19818e67a974bb479bc79d7e832ccd65e Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Thu, 3 Sep 2026 04:09:38 +0200 Subject: [PATCH 2/4] Describe merging of conflicted copies Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01GWmXyN3GUNhfF9fSo1UNrt --- en/advanced/autosave.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/en/advanced/autosave.md b/en/advanced/autosave.md index 24af1e220..62057fe9a 100644 --- a/en/advanced/autosave.md +++ b/en/advanced/autosave.md @@ -76,6 +76,10 @@ JabRef can keep a local library and its `.bib` file the same in both directions. When the option is off, JabRef reports every external change with the "External changes detected" notification and leaves it to you to review or dismiss them. +### Conflicted copies of sync clients + +When the library lives in a folder synchronized by Dropbox, Nextcloud, ownCloud, OneDrive, or Syncthing and two machines change it between two syncs, the sync client keeps one version as a "conflicted copy" next to the library (for example `library (conflicted copy 2026-09-03).bib`). With synchronization enabled, JabRef merges such a copy into the open library with the same rules: silently, unless the same item was changed differently in both. A "Conflicted copy merged" notification then offers to delete the copy; JabRef never deletes it on its own. Copies OneDrive names after another computer are not recognized, since any file with a `-Name` suffix could be an unrelated library. +

Screenshot of the synchronization preference

From ba661580a3369821c54be68434bf50d5a186693d Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Sun, 13 Sep 2026 02:20:40 +0200 Subject: [PATCH 3/4] Describe the per-library synchronization options Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01GWmXyN3GUNhfF9fSo1UNrt --- en/advanced/autosave.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/en/advanced/autosave.md b/en/advanced/autosave.md index 62057fe9a..a8bdf2386 100644 --- a/en/advanced/autosave.md +++ b/en/advanced/autosave.md @@ -14,7 +14,7 @@ JabRef 5.1\ To reduce the amount of configuration options, the possibility to disable the creation of `.bak` files was removed.\ \ JabRef 6.0\ -Autosave became "Synchronize local libraries with their files": external changes to the file are merged in automatically.\ +Synchronization with the library file: external changes are merged in automatically, per library or as a global default.\ \ JabRef 3.7\ First introduction of the autosave and backup features.\ @@ -68,17 +68,18 @@ For shared remote libraries and more advanced history, we recommend to use [git ## Automatic saving and synchronization of the current library -JabRef can keep a local library and its `.bib` file the same in both directions. Enable **Synchronize local libraries with their files** in Preferences → General → Saving: +JabRef can keep a local library and its `.bib` file the same in both directions. Two options control this, both off unless you enable them: -* Changes you make in JabRef are saved to the `.bib` file automatically. No need to click on File → Save or to press Ctrl+S anymore. -* Changes another program makes to the `.bib` file (a text editor, a `git pull`, a cloud synchronization client) are merged into the open library automatically. A short notification reports how many changes were merged. If the same entry was also edited in JabRef, the fields changed on disk are still taken over. -* JabRef only asks you to review external changes when they collide with your own unsaved edits: the same field changed differently in JabRef and in the file, or an entry deleted on one side and changed on the other. The "External changes detected" notification then offers a review of only those items. +* **Autosave local libraries** (Preferences → General → Saving): changes you make in JabRef are saved to the `.bib` file automatically. No need to click on File → Save or to press Ctrl+S anymore. +* **Synchronize with the library file**: changes another program makes to the `.bib` file (a text editor, a `git pull`, a cloud synchronization client) are merged into the open library automatically. A short notification reports how many changes were merged. If the same entry was also edited in JabRef, the fields changed on disk are still taken over. JabRef only asks you to review external changes when they collide with your own unsaved edits: the same field changed differently in JabRef and in the file, or an entry deleted on one side and changed on the other. The "External changes detected" notification then offers a review of only those items. -When the option is off, JabRef reports every external change with the "External changes detected" notification and leaves it to you to review or dismiss them. +Synchronization is decided per library: open Library → Library properties → Saving and choose **On** or **Off** under "Synchronization with the library file". A library set to **Use global setting** follows the preference **Synchronize local libraries with their files** in Preferences → General → Saving, which is off by default. The per-library choice is stored in the `.bib` file, so it travels with the library. + +When synchronization is off, JabRef reports every external change with the "External changes detected" notification and leaves it to you to review or dismiss them. ### Conflicted copies of sync clients -When the library lives in a folder synchronized by Dropbox, Nextcloud, ownCloud, OneDrive, or Syncthing and two machines change it between two syncs, the sync client keeps one version as a "conflicted copy" next to the library (for example `library (conflicted copy 2026-09-03).bib`). With synchronization enabled, JabRef merges such a copy into the open library with the same rules: silently, unless the same item was changed differently in both. A "Conflicted copy merged" notification then offers to delete the copy; JabRef never deletes it on its own. Copies OneDrive names after another computer are not recognized, since any file with a `-Name` suffix could be an unrelated library. +When the library lives in a folder synchronized by Dropbox, Nextcloud, ownCloud, OneDrive, or Syncthing and two machines change it between two syncs, the sync client keeps one version as a "conflicted copy" next to the library (for example `library (conflicted copy 2026-09-03).bib`). With synchronization enabled and **Merge conflicted copies left by sync clients** switched on (per library in Library properties → Saving, or as the global default in Preferences → General → Saving; off by default), JabRef merges such a copy into the open library with the same rules: silently, unless the same item was changed differently in both. A "Conflicted copy merged" notification then offers to delete the copy; JabRef never deletes it on its own. Copies OneDrive names after another computer are not recognized, since any file with a `-Name` suffix could be an unrelated library.
From 2dfc61064e58df1af320f9b61bed5c52f9ab1133 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Mon, 28 Sep 2026 17:50:45 +0200 Subject: [PATCH 4/4] Rename the synchronization option to "Automatically merge external changes" Co-Authored-By: Claude Fable 5.1 --- en/.gitbook/assets/preferences-autosave.png | Bin 4108 -> 7993 bytes en/advanced/autosave.md | 14 +++++++------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/en/.gitbook/assets/preferences-autosave.png b/en/.gitbook/assets/preferences-autosave.png index d06ca05b5114f8373e807640abec196eee0359f1..791d1063bf37d6ba5e5bd457871b7c2c83c083b3 100644 GIT binary patch literal 7993 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 literal 4108 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 diff --git a/en/advanced/autosave.md b/en/advanced/autosave.md index a8bdf2386..55aae34a0 100644 --- a/en/advanced/autosave.md +++ b/en/advanced/autosave.md @@ -14,7 +14,7 @@ JabRef 5.1\ To reduce the amount of configuration options, the possibility to disable the creation of `.bak` files was removed.\ \ JabRef 6.0\ -Synchronization with the library file: external changes are merged in automatically, per library or as a global default.\ +Automatic merging of external changes: changes made to the library file outside JabRef are merged into the open library, per library or as a global default.\ \ JabRef 3.7\ First introduction of the autosave and backup features.\ @@ -66,23 +66,23 @@ For shared remote libraries and more advanced history, we recommend to use [git * **Mac OS X:** \ `/Users/username/Library/Application Support/org.jabref/jabref` -## Automatic saving and synchronization of the current library +## Automatic saving and merging of external changes JabRef can keep a local library and its `.bib` file the same in both directions. Two options control this, both off unless you enable them: * **Autosave local libraries** (Preferences → General → Saving): changes you make in JabRef are saved to the `.bib` file automatically. No need to click on File → Save or to press Ctrl+S anymore. -* **Synchronize with the library file**: changes another program makes to the `.bib` file (a text editor, a `git pull`, a cloud synchronization client) are merged into the open library automatically. A short notification reports how many changes were merged. If the same entry was also edited in JabRef, the fields changed on disk are still taken over. JabRef only asks you to review external changes when they collide with your own unsaved edits: the same field changed differently in JabRef and in the file, or an entry deleted on one side and changed on the other. The "External changes detected" notification then offers a review of only those items. +* **Automatically merge external changes**: changes another program makes to the `.bib` file (a text editor, a `git pull`, a cloud synchronization client) are merged into the open library automatically. A short notification reports how many changes were merged. If the same entry was also edited in JabRef, the fields changed on disk are still taken over. JabRef only asks you to review external changes when they collide with your own unsaved edits: the same field changed differently in JabRef and in the file, or an entry deleted on one side and changed on the other. The "External changes detected" notification then offers a review of only those items. -Synchronization is decided per library: open Library → Library properties → Saving and choose **On** or **Off** under "Synchronization with the library file". A library set to **Use global setting** follows the preference **Synchronize local libraries with their files** in Preferences → General → Saving, which is off by default. The per-library choice is stored in the `.bib` file, so it travels with the library. +Automatic merging is decided per library: open Library → Library properties → Saving and choose **On** or **Off** for **Automatically merge external changes**. A library set to **Use global setting** follows the preference of the same name in Preferences → General → Saving, which is off by default. The per-library choice is stored in the `.bib` file, so it travels with the library. -When synchronization is off, JabRef reports every external change with the "External changes detected" notification and leaves it to you to review or dismiss them. +When automatic merging is off, JabRef reports every external change with the "External changes detected" notification and leaves it to you to review or dismiss them. ### Conflicted copies of sync clients -When the library lives in a folder synchronized by Dropbox, Nextcloud, ownCloud, OneDrive, or Syncthing and two machines change it between two syncs, the sync client keeps one version as a "conflicted copy" next to the library (for example `library (conflicted copy 2026-09-03).bib`). With synchronization enabled and **Merge conflicted copies left by sync clients** switched on (per library in Library properties → Saving, or as the global default in Preferences → General → Saving; off by default), JabRef merges such a copy into the open library with the same rules: silently, unless the same item was changed differently in both. A "Conflicted copy merged" notification then offers to delete the copy; JabRef never deletes it on its own. Copies OneDrive names after another computer are not recognized, since any file with a `-Name` suffix could be an unrelated library. +When the library lives in a folder synchronized by Dropbox, Nextcloud, ownCloud, OneDrive, or Syncthing and two machines change it between two syncs, the sync client keeps one version as a "conflicted copy" next to the library (for example `library (conflicted copy 2026-09-03).bib`). With automatic merging enabled and **Merge conflicted copies left by sync clients** switched on (per library in Library properties → Saving, or as the global default in Preferences → General → Saving; off by default), JabRef merges such a copy into the open library with the same rules: silently, unless the same item was changed differently in both. A "Conflicted copy merged" notification then offers to delete the copy; JabRef never deletes it on its own. Copies OneDrive names after another computer are not recognized, since any file with a `-Name` suffix could be an unrelated library.
-

Screenshot of the synchronization preference

+

Screenshot of the saving preferences