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 - Fix side effects of setting too high values in php configuration.
17 New configuration items:
18 - `max_upload_chunk_size_bytes` option
23 - Admin pannel can output informations for bug opening
25 - Fix autocomplete field for passwords
27 - Disallow file preview for image/svg+xml files
28 - Expiry after a fortnight (2 weeks)
29 - Typo and spelling mistakes
30 - Upgrade from 4.3.0: in-place upgrade
32 New configuration items:
33 - `fortnight` value in `availabilities` array (default to `true`)
37 - Fix various docker errors
38 - Fix various upload errors
39 - Add composer (useful for CI)
41 - Add option 'store_uploader_ip' to avoid uploaders ip logging
42 - Upgrade from 4.2.0: in-place upgrade
44 New configuration items:
45 - `store_uploader_ip` (default to `true`)
49 - New file_hash option to eventually speed-up file identification process
50 - one_time_download is now optional
51 - Litespeed workaround for large files
52 - Admin interface can compute data folder size
53 - REUSE compliance test
54 - multiple docker features: mcrypt support, daily cleanup, unprivileged user
55 - Add upload password capability in script options
56 - Various bugfixes around retries and error management
57 - Automatically lower chunk size sent to server refusing large chunks
58 - Romanian lang support and other various lang support
59 - Upgrade from 4.1.1: in-place upgrade
63 - Fix lang sanity check
64 - Upgrade from 4.1.0: in-place upgrade
68 - Fix upload password and allowed ip (#201)
69 - Code refactorisation of IP checking
70 - Fix expiration dates
71 - Add better support for Accept-Language
73 - More languages supported and language fixes
74 - Upgrade from 4.0.0: in-place upgrade
78 - Removed plain-text password support for admin auth (breaking change).
79 - Default folder sub-division to 8 characters (breaking change).
80 - New option `upload_ip_nopassword` to allow a list of IP to access Jirafeau without password
82 - Other minor bug fixes
83 - More languages supported
85 ## Upgrade from 3.4.1 to 4.0.0
87 You may have to change your administrator password in your config file as admin password are only stored using sha256 (SHA2).
88 To do so, edit `lib/config.local.php` and update `admin_password` option using `echo -n MyNewPassw0rd | sha256sum` command.
90 Subfolder division changed in Jirafeau storage. You can either start from a fresh `var-` folder or you need to migrate your data.
92 In order to migrate your existing data:
93 1. Be sure to have a working backup of your Jirafeau instance and/or the rest of your hosting before any operation
94 2. Go to `var-` folder
95 3. Be sure you have read and write permissions on files and folders with your current user
96 4. Run the following commands:
98 # Migrate files folder
99 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 {} \;
100 # Migrate links folder
101 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 {} \;
106 - Security fixes, thanks [Bishopfox Team](https://www.bishopfox.com/)
109 - Advertise JavaScript license for LibreJS compatibility
111 - Upgrade from 3.4.0: in-place upgrade
115 - Add encryption support in bash script
116 - Refactoring of lang system for simpler management
117 - Removed installation step asking for language
118 - Merged weblate contributions
119 - Fixed some spelling issues
120 - Upgrade from 3.3.0 : in-place upgrade
124 - Added Docker Support
125 - Added a copy button next to links to copy URLs in clipboard
126 - Now use a delete page to confirm file deletion (#136)
127 - Fixed object ProgressEvent Error (#127)
128 - Added configuration tips for web servers
131 - Removed useless alias API support (some old toy)
132 - Upgrade from 3.2.1 : in-place upgrade
136 - fix download view after an upload
137 - Upgrade from 3.2.0 : in-place upgrade
141 - Update translations from Update translations from weblate
143 - Fix regression on admin password setting
144 - Upgrade from 3.1.0 : in-place upgrade
148 - Fix regression on user authentication (see #113)
149 - Some cosmetic change
150 - Upgrade from 3.0.0 : in-place upgrade
154 - Remove XHTML doctype, support HTML5 only → breaking change for older browsers
155 - Remove redundant code
156 - Remove baseurl usage and set absolute links instead, which for example fixes SSL issues
157 - Extend contribution guide
158 - Switch to PSR-2 code style (fix line endings, indentations, whitespaces, etc)
159 - Declare system requirements
160 - Catch API errors in upload form
161 - Allow clients to upload files depending on IP or password
162 - Set UTC as timezone to prevent date/time issues
163 - Show readable date & time information
164 - Fix UI glitches in admin panel and upload form
165 - Upgrade from 2.0.0 : in-place upgrade
169 - Various documentation improvements
170 - Simplify automatic generation of local configuration file
172 - Bash Script: Enhanced help, show version, return link to web view as well
173 - »Terms of Service« refactored - Enable admin to overwrite the ToS, without changing existing source code → breaking, see upgrade notes
175 ## Upgrade from version 1.2.0 to 2.0.0
177 The "Terms of Service" text file changed.
178 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.
182 - Link on API page to generate bash script
183 - More informative error codes for API
184 - Security Fix: Prevent authentication bypass for admin interface
185 - CLI script to remove expired files automatically with a cron job
186 - SHA-256 hash the admin password
187 - New theme "elegantish"
188 - Fix for JavaScript MIME-Type, prevents blocking the resource on some servers
189 - Show download link for a file in admin interface
190 - Default time for expiration (set to 'month' by default)
191 - New expiration time: 'quarter'
192 - A lot of translation contributions
194 - Upgrade from 1.1: in-place upgrade
199 - Add optional server side encryption
200 - Unlimited file size upload using HTML5 file API
201 - Show speed and estimated time during upload
203 - A lot of new languages
204 - Small API to upload files
205 - Limit access to Jirafeau using IP, mask, passwords
206 - Manage (some) proxy headers
207 - Configure your maximal upload size
208 - Configure file's lifetime durations
210 - Get Jirafeau's version in admin interface
212 ### From version 1.0 to 1.1
214 - 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-
215 - The default theme changed. Optionally change the theme in ```lib/config.local.php``` to "courgette"
219 The very first version of Jirafeau after the fork of Jyraphe.
223 - Delete link for each upload
224 - No more clear text password storage
225 - Simple language support
226 - Add an admin interface
229 - New path system to manage large number of files
230 - New option to show a page at download time
231 - Add option to activate or not preview mode