1. The "Terms of Service" text file changed
* To reuse previous changes to the ToS, move the old ```/tos_text.php``` file to ```/lib/tos.local.txt``` and remove all HTML und PHP Tags, leaving a regular text file
-### from version 2.0.0 to 3.4.1
+### From version 2.0.0 to 3.4.1
There is nothing special to do to update from/to the following versions:
- 2.0.0 -> 3.0.0
- 3.3.0 -> 3.4.0
- 3.4.0 -> 3.4.1
+### From 3.4.1 to 4.0.0
+
+You may have to change your administrator password in your config file as admin password are only stored using sha256 (SHA2).
+To do so, edit `lib/config.local.php` and update `admin_password` option using `echo -n MyNewPassw0rd | sha256sum` command.
+
+Subfolder division changed in Jirafeau storage. You can either start from a fresh `var-` folder or you need to migrate your data.
+
+In order to migrate your existing data:
+1. Be sure to have a working backup of your Jirafeau instance and/or the rest of your hosting before any operation
+2. Go to `var-` folder
+3. Be sure you have read and write permissions on files and folders with your current user
+4. Run the following commands:
+```bash
+# Migrate files folder
+find files -type f ! -name "*_count" | while read f; do bn="$(basename "$f")"; dst="files/${bn:0:8}/${bn:8:8}/${bn:16:8}/${bn:24:8}/"; mkdir -p "$dst"; mv "$f" "$dst" ; mv "${f}_count" "$dst"; done; find files -maxdepth 1 -type d -iname "?" -exec rm -rf {} \;
+# Migrate links folder
+find links -type f | while read link; do bn="$(basename "$link")"; mkdir "links/$bn"; mv "$link" "links/$bn/"; done; find links -maxdepth 1 -type d -iname "?" -exec rm -rf {} \;
+```
+
+### From 4.0.0 to 4.1.1
+
+There is nothing special to do to update from/to the following versions:
+- 4.0.0 -> 4.1.0
+- 4.1.0 -> 4.1.1
+
### Troubleshooting
If you have some troubles, consider the following cases
## Version 4.0.0
-- Removed plain-text password support for admin auth (breaking change). Update `admin_password` option using `echo -n MyNewPassw0rd | sha256sum` command.
+- Removed plain-text password support for admin auth (breaking change).
- Default folder sub-division to 8 characters (breaking change).
- New option `upload_ip_nopassword` to allow a list of IP to access Jirafeau without password
- Bugfix with LibreJS
- Other minor bug fixes
- More languages supported
+
+## Version 4.1.0
+
+- Fix upload password and allowed ip (#201)
+- Code refactorisation of IP checking
+- Fix expiration dates
+- Add better support for Accept-Language
+- Cosmetic fixes
+- More languages supported and language fixes
+
+## Version 4.1.1
+
+- Fix lang sanity check
+