]> git.p6c8.net - jirafeau_project.git/blob - CHANGELOG.md
Added pipeline for PHP 8.2
[jirafeau_project.git] / CHANGELOG.md
1 # Jirafeau's change log
2
3 ## Note about upgrading
4
5 "in-place upgrade" refers to this general procedure:
6
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.
14
15 ## Current snapshots
16
17 - Removed the download button and the corresponding link for encrypted files from the admin interface
18 - Lots of code refactoring and cleanup
19 - Few more little fixes
20 - Typo and spelling mistakes
21
22 New configuration items:
23 - `one_time_download_preselected` for preselecting the checkbox for deleting the file after the first download
24
25 ## Version 4.6.0
26
27 - New configuration options for allowing to require, check or generate file download passwords
28 - Re-implemented server side encryption using PHP's `Sodium` extension (the formerly used `mcrypt` extension is deprecated)
29 - Keep and show basic download stats
30 - Removed Lighttpd's `mod_usertrack` from Docker config
31 - Added `<meta name="viewport"…` to template header to support responsive themes
32 - Removed usage of deprecated `strftime()` function
33 - Few more little fixes
34 - Typo and spelling mistakes
35
36 New configuration items:
37 - `download_password_requirement`, `download_password_gen_len`, `download_password_gen_chars`, `download_password_policy` and `download_password_policy_regex` for configuring file download passwords
38 - `admin_ip` for limiting access to the admin interface to certain IP addresses
39 - `admin_http_auth_user` is now an array (the possibility to use a string is preserved for backward compatibility)
40
41 ## Version 4.5.0
42
43 - Even more new translation, thanks a lot to all contributors!
44 - Support for automatic dark theme
45 - Fixed wobling admin buttons (light and dark default themes)
46 - Disable file deduplication by default
47 - Fix side effects of setting too high values in php configuration for async upload
48 - Add support for X-Sendfile
49 - Retry on more type of possible errors
50 - Move docker image to PHP 8.1
51 - Print more error details in case of issue
52 - Few more little fixes
53 - IRC channel to discuss :)
54
55 New configuration items:
56 - `max_upload_chunk_size_bytes` option
57 - `dark_style` option
58 - Defaulting `file_hash` option from `md5` to `random`
59
60 ## Version 4.4.0
61
62 - Add docker options
63 - Admin pannel can output informations for bug opening
64 - Fixes for PHP 8
65 - Fix autocomplete field for passwords
66 - Fix file previewing
67 - Disallow file preview for image/svg+xml files
68 - Expiry after a fortnight (2 weeks)
69 - Typo and spelling mistakes
70 - Upgrade from 4.3.0: in-place upgrade
71
72 New configuration items:
73 - `fortnight` value in `availabilities` array (default to `true`)
74
75 ## Version 4.3.0
76
77 - Fix various docker errors
78 - Fix various upload errors
79 - Add composer (useful for CI)
80 - Code cleaning
81 - Add option 'store_uploader_ip' to avoid uploaders ip logging
82 - Upgrade from 4.2.0: in-place upgrade
83
84 New configuration items:
85 - `store_uploader_ip` (default to `true`)
86
87 ## Version 4.2.0
88
89 - New file_hash option to eventually speed-up file identification process
90 - one_time_download is now optional
91 - Litespeed workaround for large files
92 - Admin interface can compute data folder size
93 - REUSE compliance test
94 - multiple docker features: mcrypt support, daily cleanup, unprivileged user
95 - Add upload password capability in script options
96 - Various bugfixes around retries and error management
97 - Automatically lower chunk size sent to server refusing large chunks
98 - Romanian lang support and other various lang support
99 - Upgrade from 4.1.1: in-place upgrade
100
101 ## Version 4.1.1
102
103 - Fix lang sanity check
104 - Upgrade from 4.1.0: in-place upgrade
105
106 ## Version 4.1.0
107
108 - Fix upload password and allowed ip (#201)
109 - Code refactorisation of IP checking
110 - Fix expiration dates
111 - Add better support for Accept-Language
112 - Cosmetic fixes
113 - More languages supported and language fixes
114 - Upgrade from 4.0.0: in-place upgrade
115
116 ## Version 4.0.0
117
118 - Removed plain-text password support for admin auth (breaking change).
119 - Default folder sub-division to 8 characters (breaking change).
120 - New option `upload_ip_nopassword` to allow a list of IP to access Jirafeau without password
121 - Bugfix with LibreJS
122 - Other minor bug fixes
123 - More languages supported
124
125 ### Upgrade from 3.4.1 to 4.0.0
126
127 You may have to change your administrator password in your config file as admin password are only stored using sha256 (SHA2).
128 To do so, edit `lib/config.local.php` and update `admin_password` option using `echo -n MyNewPassw0rd | sha256sum` command.
129
130 Subfolder division changed in Jirafeau storage. You can either start from a fresh `var-` folder or you need to migrate your data.
131
132 In order to migrate your existing data:
133 1. Be sure to have a working backup of your Jirafeau instance and/or the rest of your hosting before any operation
134 2. Go to `var-` folder
135 3. Be sure you have read and write permissions on files and folders with your current user
136 4. Run the following commands:
137 ```bash
138 # Migrate files folder
139 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 {} \;
140 # Migrate links folder
141 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 {} \;
142 ```
143
144 ## Version 3.4.1
145
146 - Security fixes, thanks [Bishopfox Team](https://www.bishopfox.com/)
147 - Translation fixes
148 - Docker fix
149 - Advertise JavaScript license for LibreJS compatibility
150 - other minor fixes
151 - Upgrade from 3.4.0: in-place upgrade
152
153 ## Version 3.4.0
154
155 - Add encryption support in bash script
156 - Refactoring of lang system for simpler management
157 - Removed installation step asking for language
158 - Merged weblate contributions
159 - Fixed some spelling issues
160 - Upgrade from 3.3.0 : in-place upgrade
161
162 ## Version 3.3.0
163
164 - Added Docker Support
165 - Added a copy button next to links to copy URLs in clipboard
166 - Now use a delete page to confirm file deletion (#136)
167 - Fixed object ProgressEvent Error (#127)
168 - Added configuration tips for web servers
169 - More translations
170 - Style fixes
171 - Removed useless alias API support (some old toy)
172 - Upgrade from 3.2.1 : in-place upgrade
173
174 ## Version 3.2.1
175
176 - fix download view after an upload
177 - Upgrade from 3.2.0 : in-place upgrade
178
179 ## Version 3.2.0
180
181 - Update translations from Update translations from weblate
182 - Better style
183 - Fix regression on admin password setting
184 - Upgrade from 3.1.0 : in-place upgrade
185
186 ## Version 3.1.0
187
188 - Fix regression on user authentication (see #113)
189 - Some cosmetic change
190 - Upgrade from 3.0.0 : in-place upgrade
191
192 ## Version 3.0.0
193
194 - Remove XHTML doctype, support HTML5 only → breaking change for older browsers
195 - Remove redundant code
196 - Remove baseurl usage and set absolute links instead, which for example fixes SSL issues
197 - Extend contribution guide
198 - Switch to PSR-2 code style (fix line endings, indentations, whitespaces, etc)
199 - Declare system requirements
200 - Catch API errors in upload form
201 - Allow clients to upload files depending on IP or password
202 - Set UTC as timezone to prevent date/time issues
203 - Show readable date & time information
204 - Fix UI glitches in admin panel and upload form
205 - Upgrade from 2.0.0 : in-place upgrade
206
207 ## Version 2.0.0
208
209 - Various documentation improvements
210 - Simplify automatic generation of local configuration file
211 - Set a custom title
212 - Bash Script: Enhanced help, show version, return link to web view as well
213 - »Terms of Service« refactored - Enable admin to overwrite the ToS, without changing existing source code → breaking, see upgrade notes
214
215 ### Upgrade from version 1.2.0 to 2.0.0
216
217 The "Terms of Service" text file changed.
218 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.
219
220 ## Version 1.2.0
221
222 - Link on API page to generate bash script
223 - More informative error codes for API
224 - Security Fix: Prevent authentication bypass for admin interface
225 - CLI script to remove expired files automatically with a cron job
226 - SHA-256 hash the admin password
227 - New theme "elegantish"
228 - Fix for JavaScript MIME-Type, prevents blocking the resource on some servers
229 - Show download link for a file in admin interface
230 - Default time for expiration (set to 'month' by default)
231 - New expiration time: 'quarter'
232 - A lot of translation contributions
233 - Code cleanups
234 - Upgrade from 1.1: in-place upgrade
235
236 ## Version 1.1
237
238 - New skins
239 - Add optional server side encryption
240 - Unlimited file size upload using HTML5 file API
241 - Show speed and estimated time during upload
242 - A lot of fixes
243 - A lot of new languages
244 - Small API to upload files
245 - Limit access to Jirafeau using IP, mask, passwords
246 - Manage (some) proxy headers
247 - Configure your maximal upload size
248 - Configure file's lifetime durations
249 - Preview URL
250 - Get Jirafeau's version in admin interface
251
252 ### Upgrade from version 1.0 to 1.1
253
254 - 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-
255 - The default theme changed. Optionally change the theme in ```lib/config.local.php``` to "courgette"
256
257 ## Version 1.0
258
259 The very first version of Jirafeau after the fork of Jyraphe.
260
261 - Security fix
262 - Keep uploader's ip
263 - Delete link for each upload
264 - No more clear text password storage
265 - Simple language support
266 - Add an admin interface
267 - New Design
268 - Add term of use
269 - New path system to manage large number of files
270 - New option to show a page at download time
271 - Add option to activate or not preview mode

patrick-canterino.de