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