OF-DL
OF-DL copied to clipboard
Feature Request: Support auto-updating to newest release
It would be helpful for users if OFDL could not just detect that there is a newer version, but also update to it.
DoD (Definition of Done):
- New config option to disable automatic updates to preserve user autonomy.
- Automatic updates should only be applied under Windows. Unix clients should not attempt to autoupdate-- this makes no sense with regards to Docker, and it's not like we build ZIP release files for macOS or Linux anyways.
- All files in the Windows release ZIP should be extracted except for config.json and auth.json -- we don't want to overwrite the user's existing configs or auth info when updating to a new release (but we do want the .exe, any .dlls, and rules.json to be updated).
- If possible, once the new files are in place, swap to the new version without the user needing to re-invoke the application. If not, log a message and wait for a keypress unless in non-interactive mode.
Questions:
- Should we preserve the original files in a backup folder before the new ones are put in place for safety's sake?
- Should we apply autoupdates to noninteractive users? I suspect that most of the people using noninteractive are likely doing so via Docker or the native Linux builds, but I'm challenging my own assumption here.
- I'm leaning towards once this option is available, the config setting will be disabled by default in the initial release, and then after a release or two later, we change the default to enabled. That would give more time for people to test it out on an opt-in basis before opening the floodgates.