Firefox 25 and later sometimes erases old profiles

Update of 2014-03-23:
The most important part of every automatic function is the switch to turn it off.
It took some time and several complaints until Mozilla decided to add an option in Firefox 29 to disable this. THANK YOU!
lockPref("browser.disableResetPrompt", true);
By the way: This feature is just a new way to trigger the reset, but the reset function itself was added in version 13, and can be triggered in other cases as well, see my List of important Firefox Changes.

Mozilla has added a new feature to Firefox 25, that could cause problems in corporate use when it comes to ESR-version 31 in July 2014.

"It looks like you haven't started Firefox in a while.
Do you want to clean it up for a fresh, like-new
experience? And by the way, welcome back!"

The change is that Firefox now always checks if the last use is more than 60 days ago. In this case it suggests to erase the user profile. If the user confirms, it erases the whole profile directory and creates a new one from scratch, trying to preserve these:

  • Windows and Tabs
  • Browsing History and Bookmarks
  • Saved Passwords
  • Saved Form History
  • Cookies

The justification for the change is anecdotical evidence that users try to cure problems of their Firefox setup by updating to a new version, or try to switch back to Firefox from another browser, only to suffer the same problems again, because the problems were caused by broken addons or errors in their profile. These problems do not go away by reinstalling Firefox.

I envision that this change could cause problems in two situations:

  • your profile is read-only or restored each time (e.g. kiosk-use).
  • you added things to profiles with a script, or by adding them to default user profile of Windows.

This feature cannot be disabled.
It could probably be hidden by an addon, but I am not aware of an addon that does this.

If you want to prevent Firefox from asking your users this question, use a script to update the timestamp of the file 'parent.lock' before Firefox is started.

If you use a static profile, i.e. one that is restored to a predefined state before or after each use, then erase the file 'parent.lock' from it.
Update: This remains true even if you disable the 60-day reset, because this lockfile can cause issues in other situations as well.

Reminder: Do not deploy Firefox profiles by putting them into default user profile, and do not use add-user scripts to modify them. Mozilla recommends to use the directory 'browser/defaults', or the autoconfig feature. Settings made there will survive the reset.

More info can be found here:
https://bugzilla.mozilla.org/show_bug.cgi?id=498181
https://bugzilla.mozilla.org/show_bug.cgi?id=945232
https://bugzilla.mozilla.org/show_bug.cgi?id=955950