1 # Jirafeau's change log
3 ## Note about upgrading
5 "in-place upgrade" refers to this general procedure:
7 1. Backup your Jirafeau installation!
8 2. Block access to Jirafeau
9 3. Checkout the new version with Git using the [tagged release](https://gitlab.com/jirafeau/Jirafeau/tags)
10 * If you have installed Jirafeau just by uploading files on your server, you can download the desired version, overwrite/remove all files and chown/chmod files if needed. Keep a backup of your local configuration file tough.
11 4. With you browser, go to your Jirafeau root page
12 5. Follow the installation wizard, it should propose you the same data folder or even update automatically
13 6. Check your `/lib/config.local.php` and compare it with the `/lib/config.original.php` to see if new configuration items are available. If a new item is missing in your `config.local.php`, this may trigger some errors as Jirafeau may expect to have them.
15 ## Version 4.6.1 (not yet released)
17 - Removed the download button and the corresponding link for encrypted files from the admin interface
18 - Fixed an issue with sending the wrong filesize after decrypting an encrypted file
19 - We now provide Docker images for AMD64 and ARM64 systems
20 - Lots of code refactoring and cleanup
21 - Few more little fixes
22 - Typo and spelling mistakes
24 New configuration items:
25 - `one_time_download_preselected` for preselecting the checkbox for deleting the file after the first download
29 - New configuration options for allowing to require, check or generate file download passwords
30 - Re-implemented server side encryption using PHP's `Sodium` extension (the formerly used `mcrypt` extension is deprecated)
31 - Keep and show basic download stats
32 - Removed Lighttpd's `mod_usertrack` from Docker config
33 - Added `<meta name="viewport"…` to template header to support responsive themes
34 - Removed usage of deprecated `strftime()` function
35 - Few more little fixes
36 - Typo and spelling mistakes
38 New configuration items:
39 - `download_password_requirement`, `download_password_gen_len`, `download_password_gen_chars`, `download_password_policy` and `download_password_policy_regex` for configuring file download passwords
40 - `admin_ip` for limiting access to the admin interface to certain IP addresses
41 - `admin_http_auth_user` is now an array (the possibility to use a string is preserved for backward compatibility)
45 - Even more new translation, thanks a lot to all contributors!
46 - Support for automatic dark theme
47 - Fixed wobling admin buttons (light and dark default themes)
48 - Disable file deduplication by default
49 - Fix side effects of setting too high values in php configuration for async upload
50 - Add support for X-Sendfile
51 - Retry on more type of possible errors
52 - Move docker image to PHP 8.1
53 - Print more error details in case of issue
54 - Few more little fixes
55 - IRC channel to discuss :)
57 New configuration items:
58 - `max_upload_chunk_size_bytes` option
60 - Defaulting `file_hash` option from `md5` to `random`
65 - Admin pannel can output informations for bug opening
67 - Fix autocomplete field for passwords
69 - Disallow file preview for image/svg+xml files
70 - Expiry after a fortnight (2 weeks)
71 - Typo and spelling mistakes
72 - Upgrade from 4.3.0: in-place upgrade
74 New configuration items:
75 - `fortnight` value in `availabilities` array (default to `true`)
79 - Fix various docker errors
80 - Fix various upload errors
81 - Add composer (useful for CI)
83 - Add option 'store_uploader_ip' to avoid uploaders ip logging
84 - Upgrade from 4.2.0: in-place upgrade
86 New configuration items:
87 - `store_uploader_ip` (default to `true`)
91 - New file_hash option to eventually speed-up file identification process
92 - one_time_download is now optional
93 - Litespeed workaround for large files
94 - Admin interface can compute data folder size
95 - REUSE compliance test
96 - multiple docker features: mcrypt support, daily cleanup, unprivileged user
97 - Add upload password capability in script options
98 - Various bugfixes around retries and error management
99 - Automatically lower chunk size sent to server refusing large chunks
100 - Romanian lang support and other various lang support
101 - Upgrade from 4.1.1: in-place upgrade
105 - Fix lang sanity check
106 - Upgrade from 4.1.0: in-place upgrade
110 - Fix upload password and allowed ip (#201)
111 - Code refactorisation of IP checking
112 - Fix expiration dates
113 - Add better support for Accept-Language
115 - More languages supported and language fixes
116 - Upgrade from 4.0.0: in-place upgrade
120 - Removed plain-text password support for admin auth (breaking change).
121 - Default folder sub-division to 8 characters (breaking change).
122 - New option `upload_ip_nopassword` to allow a list of IP to access Jirafeau without password
123 - Bugfix with LibreJS
124 - Other minor bug fixes
125 - More languages supported
127 ### Upgrade from 3.4.1 to 4.0.0
129 You may have to change your administrator password in your config file as admin password are only stored using sha256 (SHA2).
130 To do so, edit `lib/config.local.php` and update `admin_password` option using `echo -n MyNewPassw0rd | sha256sum` command.
132 Subfolder division changed in Jirafeau storage. You can either start from a fresh `var-` folder or you need to migrate your data.
134 In order to migrate your existing data:
135 1. Be sure to have a working backup of your Jirafeau instance and/or the rest of your hosting before any operation
136 2. Go to `var-` folder
137 3. Be sure you have read and write permissions on files and folders with your current user
138 4. Run the following commands:
140 # Migrate files folder
141 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 {} \;
142 # Migrate links folder
143 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 {} \;
148 - Security fixes, thanks [Bishopfox Team](https://www.bishopfox.com/)
151 - Advertise JavaScript license for LibreJS compatibility
153 - Upgrade from 3.4.0: in-place upgrade
157 - Add encryption support in bash script
158 - Refactoring of lang system for simpler management
159 - Removed installation step asking for language
160 - Merged weblate contributions
161 - Fixed some spelling issues
162 - Upgrade from 3.3.0 : in-place upgrade
166 - Added Docker Support
167 - Added a copy button next to links to copy URLs in clipboard
168 - Now use a delete page to confirm file deletion (#136)
169 - Fixed object ProgressEvent Error (#127)
170 - Added configuration tips for web servers
173 - Removed useless alias API support (some old toy)
174 - Upgrade from 3.2.1 : in-place upgrade
178 - fix download view after an upload
179 - Upgrade from 3.2.0 : in-place upgrade
183 - Update translations from Update translations from weblate
185 - Fix regression on admin password setting
186 - Upgrade from 3.1.0 : in-place upgrade
190 - Fix regression on user authentication (see #113)
191 - Some cosmetic change
192 - Upgrade from 3.0.0 : in-place upgrade
196 - Remove XHTML doctype, support HTML5 only → breaking change for older browsers
197 - Remove redundant code
198 - Remove baseurl usage and set absolute links instead, which for example fixes SSL issues
199 - Extend contribution guide
200 - Switch to PSR-2 code style (fix line endings, indentations, whitespaces, etc)
201 - Declare system requirements
202 - Catch API errors in upload form
203 - Allow clients to upload files depending on IP or password
204 - Set UTC as timezone to prevent date/time issues
205 - Show readable date & time information
206 - Fix UI glitches in admin panel and upload form
207 - Upgrade from 2.0.0 : in-place upgrade
211 - Various documentation improvements
212 - Simplify automatic generation of local configuration file
214 - Bash Script: Enhanced help, show version, return link to web view as well
215 - »Terms of Service« refactored - Enable admin to overwrite the ToS, without changing existing source code → breaking, see upgrade notes
217 ### Upgrade from version 1.2.0 to 2.0.0
219 The "Terms of Service" text file changed.
220 To reuse a custom version of your ToS, move your ```/tos_text.php``` file to ```/lib/tos.local.txt``` and remove all HTML und PHP Tags, leaving a regular text file.
224 - Link on API page to generate bash script
225 - More informative error codes for API
226 - Security Fix: Prevent authentication bypass for admin interface
227 - CLI script to remove expired files automatically with a cron job
228 - SHA-256 hash the admin password
229 - New theme "elegantish"
230 - Fix for JavaScript MIME-Type, prevents blocking the resource on some servers
231 - Show download link for a file in admin interface
232 - Default time for expiration (set to 'month' by default)
233 - New expiration time: 'quarter'
234 - A lot of translation contributions
236 - Upgrade from 1.1: in-place upgrade
241 - Add optional server side encryption
242 - Unlimited file size upload using HTML5 file API
243 - Show speed and estimated time during upload
245 - A lot of new languages
246 - Small API to upload files
247 - Limit access to Jirafeau using IP, mask, passwords
248 - Manage (some) proxy headers
249 - Configure your maximal upload size
250 - Configure file's lifetime durations
252 - Get Jirafeau's version in admin interface
254 ### Upgrade from version 1.0 to 1.1
256 - Download URL changed. Add a rewrite rule in your web server configuration to rename ```file.php``` to ```f.php``` to make older, still existing links work again-
257 - The default theme changed. Optionally change the theme in ```lib/config.local.php``` to "courgette"
261 The very first version of Jirafeau after the fork of Jyraphe.
265 - Delete link for each upload
266 - No more clear text password storage
267 - Simple language support
268 - Add an admin interface
271 - New path system to manage large number of files
272 - New option to show a page at download time
273 - Add option to activate or not preview mode