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

patrick-canterino.de