JabRef / jabref

Graphical Java application for managing BibTeX and biblatex (.bib) databases
https://devdocs.jabref.org
MIT License
3.59k stars 2.52k forks source link

Make preferences backwards compatible #10940

Open ColinScarato opened 7 months ago

ColinScarato commented 7 months ago

Could it be possible to make preferences backwards compatible, from a release to the other?

E.g. <entry key="fetcherCustomKeyUses" value="false;false;false;false;false"/> changed to a different number of values between 5.6 and 5.12. Importing old settings from one version to the other seemed to break the preferences manager: it resulted in no preferences being imported at all.

Changing how preferences are stored/formatted might relate to #8701.

Siedlerchr commented 7 months ago

Hi, this should already be the case. There is automatic preferences migration at startup from older versions to newer versions. e.g. 5.11-> 5.12 -> 5.13 However, it's not possible to import newer preferences (e.g. 5.12 in older JabRef e.g. 5.7) Do you have an example preferences file? Do you get an exception? You can also send us your prefs privately if you don't want to post them here

koppor commented 4 months ago

Related: https://github.com/JabRef/jabref/issues/11294#issuecomment-2115996727 (keyboard shortcuts stopped working and user needed to reset the preferences)

koppor commented 4 months ago

@HoussemNasri We need to create a proper test setup. The best with running JabRef versions and UI Tests (e.g., using https://www.qfs.de/produkt/qf-test/windows-testen.html). I mean real "system tests". Tobias argued against them, but we see unknown breaking changes at various places and with system tests we would have noticed that.

We should start with one of us starting a Windows Sandbox. Install JabRef 5.6 there, save preferences. Install current JabRef and check for the issue. Try out multiple settings and see where we have difficulties. It could really be the keyboard shortcuts.

koppor commented 4 months ago

Especially issuehttps://github.com/JabRef/jabref/issues/10370 is the most important when talking about preferences