3 "in-place upgrade" refers to this general procedure:
5 1. Backup your Jirafeau installation!
6 2. Block access to Jirafeau
7 3. Checkout the new version with Git using the [tagged release](https://gitlab.com/mojo42/Jirafeau/tags)
8 * 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.
9 4. With you browser, go to your Jirafeau root page
10 5. Follow the installation wizard, it should propose you the same data folder or even update automatically
11 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 - Support for automatic dark theme
16 - Fixed wobling admin buttons
17 - Disable file deduplication by default
18 - Fix side effects of setting too high values in php configuration for async upload
19 - Add support for X-Sendfile
20 - Retry on more type of possible errors
21 - Move docker image to PHP 8.1
22 - Print more error details in case of issue
23 - IRC channel to discuss :)
25 New configuration items:
26 - `max_upload_chunk_size_bytes` option
28 - Defaulting `file_hash` option from `md5` to `random`
33 - Admin pannel can output informations for bug opening
35 - Fix autocomplete field for passwords
37 - Disallow file preview for image/svg+xml files
38 - Expiry after a fortnight (2 weeks)
39 - Typo and spelling mistakes
40 - Upgrade from 4.3.0: in-place upgrade
42 New configuration items:
43 - `fortnight` value in `availabilities` array (default to `true`)
47 - Fix various docker errors
48 - Fix various upload errors
49 - Add composer (useful for CI)
51 - Add option 'store_uploader_ip' to avoid uploaders ip logging
52 - Upgrade from 4.2.0: in-place upgrade
54 New configuration items:
55 - `store_uploader_ip` (default to `true`)
59 - New file_hash option to eventually speed-up file identification process
60 - one_time_download is now optional
61 - Litespeed workaround for large files
62 - Admin interface can compute data folder size
63 - REUSE compliance test
64 - multiple docker features: mcrypt support, daily cleanup, unprivileged user
65 - Add upload password capability in script options
66 - Various bugfixes around retries and error management
67 - Automatically lower chunk size sent to server refusing large chunks
68 - Romanian lang support and other various lang support
69 - Upgrade from 4.1.1: in-place upgrade
73 - Fix lang sanity check
74 - Upgrade from 4.1.0: in-place upgrade
78 - Fix upload password and allowed ip (#201)
79 - Code refactorisation of IP checking
80 - Fix expiration dates
81 - Add better support for Accept-Language
83 - More languages supported and language fixes
84 - Upgrade from 4.0.0: in-place upgrade
88 - Removed plain-text password support for admin auth (breaking change).
89 - Default folder sub-division to 8 characters (breaking change).
90 - New option `upload_ip_nopassword` to allow a list of IP to access Jirafeau without password
92 - Other minor bug fixes
93 - More languages supported
95 ## Upgrade from 3.4.1 to 4.0.0
97 You may have to change your administrator password in your config file as admin password are only stored using sha256 (SHA2).
98 To do so, edit `lib/config.local.php` and update `admin_password` option using `echo -n MyNewPassw0rd | sha256sum` command.
100 Subfolder division changed in Jirafeau storage. You can either start from a fresh `var-` folder or you need to migrate your data.
102 In order to migrate your existing data:
103 1. Be sure to have a working backup of your Jirafeau instance and/or the rest of your hosting before any operation
104 2. Go to `var-` folder
105 3. Be sure you have read and write permissions on files and folders with your current user
106 4. Run the following commands:
108 # Migrate files folder
109 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 {} \;
110 # Migrate links folder
111 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 {} \;
116 - Security fixes, thanks [Bishopfox Team](https://www.bishopfox.com/)
119 - Advertise JavaScript license for LibreJS compatibility
121 - Upgrade from 3.4.0: in-place upgrade
125 - Add encryption support in bash script
126 - Refactoring of lang system for simpler management
127 - Removed installation step asking for language
128 - Merged weblate contributions
129 - Fixed some spelling issues
130 - Upgrade from 3.3.0 : in-place upgrade
134 - Added Docker Support
135 - Added a copy button next to links to copy URLs in clipboard
136 - Now use a delete page to confirm file deletion (#136)
137 - Fixed object ProgressEvent Error (#127)
138 - Added configuration tips for web servers
141 - Removed useless alias API support (some old toy)
142 - Upgrade from 3.2.1 : in-place upgrade
146 - fix download view after an upload
147 - Upgrade from 3.2.0 : in-place upgrade
151 - Update translations from Update translations from weblate
153 - Fix regression on admin password setting
154 - Upgrade from 3.1.0 : in-place upgrade
158 - Fix regression on user authentication (see #113)
159 - Some cosmetic change
160 - Upgrade from 3.0.0 : in-place upgrade
164 - Remove XHTML doctype, support HTML5 only → breaking change for older browsers
165 - Remove redundant code
166 - Remove baseurl usage and set absolute links instead, which for example fixes SSL issues
167 - Extend contribution guide
168 - Switch to PSR-2 code style (fix line endings, indentations, whitespaces, etc)
169 - Declare system requirements
170 - Catch API errors in upload form
171 - Allow clients to upload files depending on IP or password
172 - Set UTC as timezone to prevent date/time issues
173 - Show readable date & time information
174 - Fix UI glitches in admin panel and upload form
175 - Upgrade from 2.0.0 : in-place upgrade
179 - Various documentation improvements
180 - Simplify automatic generation of local configuration file
182 - Bash Script: Enhanced help, show version, return link to web view as well
183 - »Terms of Service« refactored - Enable admin to overwrite the ToS, without changing existing source code → breaking, see upgrade notes
185 ## Upgrade from version 1.2.0 to 2.0.0
187 The "Terms of Service" text file changed.
188 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.
192 - Link on API page to generate bash script
193 - More informative error codes for API
194 - Security Fix: Prevent authentication bypass for admin interface
195 - CLI script to remove expired files automatically with a cron job
196 - SHA-256 hash the admin password
197 - New theme "elegantish"
198 - Fix for JavaScript MIME-Type, prevents blocking the resource on some servers
199 - Show download link for a file in admin interface
200 - Default time for expiration (set to 'month' by default)
201 - New expiration time: 'quarter'
202 - A lot of translation contributions
204 - Upgrade from 1.1: in-place upgrade
209 - Add optional server side encryption
210 - Unlimited file size upload using HTML5 file API
211 - Show speed and estimated time during upload
213 - A lot of new languages
214 - Small API to upload files
215 - Limit access to Jirafeau using IP, mask, passwords
216 - Manage (some) proxy headers
217 - Configure your maximal upload size
218 - Configure file's lifetime durations
220 - Get Jirafeau's version in admin interface
222 ### From version 1.0 to 1.1
224 - 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-
225 - The default theme changed. Optionally change the theme in ```lib/config.local.php``` to "courgette"
229 The very first version of Jirafeau after the fork of Jyraphe.
233 - Delete link for each upload
234 - No more clear text password storage
235 - Simple language support
236 - Add an admin interface
239 - New path system to manage large number of files
240 - New option to show a page at download time
241 - Add option to activate or not preview mode