This file lists major, incompatible or otherwise important changes, you should look at it after every update. NEXT - Fix PHP 8.2 deprecation warnings - Fix PHP 8.3 deprecation warnings - Update CodeIgniter to development branch 4.0.0 2022-04-10 - BREAKING CHANGE: Minimum required PHP version is now >= 7 - More PHP 8.1 compatibility fixes - Fix exception in multipaste queue when queued item has been deleted 3.6.2 2022-01-09 - Use python3 instead of python for Ubuntu 20.04 and Debian 11 compatibility. If you do not have python 3, you will have to change shebang in `scripts/get_lexer_list.py`. The script is still compatible with python 2. - Update CodeIgniter to latest master for some additional PHP 8.0 and 8.1 fixes 3.6.1 2021-04-11 - Copy filename when repasting file - Add link to new android client 3.6.0 2021-02-21 - PHP 8.0 comptibility fixes - Add json and crystal filename extensions for highlighting 3.5.0 2020-10-07 - API 2.2.0: Add `minimum-id-length` post parameter to `file/create_multipaste` and `file/upload` endpoints 3.4.5 2020-06-12 - Fix image orientation/rotation when viewing images with the colorbox/lightbox in Firefox 76/Chromium 83. 3.4.4 2020-04-19 - Log PublicApiException to error log - Reclassify various user input/insufficient permission exceptions 3.4.3 2019-12-07 - PHP 7.4 compatibility fixes 3.4.2 2019-12-06 - PHP 7.4 compatibility fixes 3.4.1 2019-09-27 - Update CodeIgniter to 3.1.11, https://codeigniter.com/userguide3/changelog.html#version-3-1-11 - Remove (broken) thumbnails for PDF files from upload_history_thumbnails page - Update composer files 3.4.0 2019-05-21 - Allow data: URLs in Content-Security-Policy header for images and fonts 3.3.2 2019-05-15 - Fix compatability with Pygments 2.4.0 3.3.1 2019-01-28 - Fix CSRF issue breaking multipaste creation page - Update codeigniter to 3.1.10 - Remove imagemagick PDF thumbnail support due to Arch Linux disabling it in imagemagick due to repeated security concerns. 3.3.0 2018-09-19 - LDAP: Allow optional binding/authentication - LDAP: Allow optional filtering of allowed users - Various Dockerfile fixes to make it work again - Document finfo dependency 3.2.0 2018-07-04 - Add `php index.php user delete_user` command for admin user deletion - Document add_user admin command - Update codeigniter to 3.1.9 - Document mbstring dependency 3.1.1 2018-06-01 - Fix call to undefined method clean_multipaste_tarballs in cronjob 3.1.0 2018-06-01 - Update asciinema player to support new cast format - Allow users to delete invitation keys - Add support to remove database entries without files to `php index.php file clean_stale_files` 3.0.3 2018-03-23 - Update codeiginiter to 3.1.8 3.0.2 2018-02-06 - Ensure newly uploaded files do not exist before adding them to the DB - Update file modification time instead of overwriting it with it's own data when a file is uploaded multiple times - Minor changes: + Support values that are not multiples of one day for upload_max_age + Add config settings for testsuite to example configs + Include most php extension dependencies in composer.json + Use dedicated, temporary upload directory for testsuite 3.0.1 2017-12-02 - Document different database settings for postgres in example config 3.0.0 2017-12-02 - This version ensures PHP 7.2 support by updating the underlying framework - INCOMPATIBLE: You need to perform the following actions for this update: - Changes in application/config/database.php + Change "$active_record = TRUE" to "$query_builder = TRUE" + Change the pconnect setting to FALSE + Change the stricton setting to TRUE + If you use mysql: (NOT for postgres installations) MYSQL Change the char_set setting to "utf8mb4" MYSQL Change the dbcollat setting to "utf8mb4_bin" - Changes in application/config/config-local.php + Set base_url to your domain and, if used, installation directory. Example: $config['base_url'] = "https://paste.xinu.at/" 2.1.3 2017-07-04 - API 2.1.1: Fix incorrect types of empty objects returned by file/history and file/delete 2.1.2 2017-06-17 - Fix broken lineendings when rendering ascii colors 2.1.1 2017-05-22 - Bugfixes 2.1.0 2017-05-14 - Autoformat single-line JSON file when rendering - Improved error checking 2.0.0 2017-03-03 - INCOMPATIBLE: Remove API v1 support - INCOMPATIBLE: Remove plain text API - Misc bug fixes and code improvements 1.1.1 2016-11-05 - Fix bug in install-git-hooks.sh 1.1.0 2016-11-05 - Add support for creating multipastes via the web interface - Misc bug fixes 1.0.0 2016-09-19 - Code refactoring and various small bugfixes 2016-08-23 DEPRECATION: The old plain text API used by fb-client <2.0 is now deprecated. A warning will be shown for every file uploaded via the old API. 2016-08-23 IMPORTANT: Fix an issue with git hooks not working when the installation is moved. install-git-hooks.sh now creates relative symlinks. If you have moved your installation and `git pull` does not display the content of the NEWS file, you have to run `scripts/install-git-hooks.sh` manually once. Working installations are upgraded automatically. 2016-08-23 NEW DEPENDENCY: composer. Currently only used for the test suite, but it will likely be used more widely in the future. 2016-08-23 Allow users to delete their own account via a link on the profile page. 2016-08-23 Add code coverage output to test suite and lots of new tests. 2016-07-21 Add asciinema support for files called *.asciinema.json 2016-07-13 Fix incorrect content in clipboard when copying paste content from the HTML render with firefox 2016-07-13 Add asciinema support for files called asciinema.json 2016-07-10 API: Fix error when trying to use v2.1 saying that that version is not supported even though it is 2016-07-10 Add docker-compose file to easily spin up a demo instance 2016-07-10 Update to current Bootstrap CSS framework version 2016-06-16 Automatically update submodules in post-merge hook 2016-06-16 Replace qrencode and markdown with PHP libraries (managed via git submodules) 2016-06-16 Include all documentation from the wiki in ./doc 2016-06-05 PHP COMPATIBILITY NOTE: This software now requires PHP >= 5.5 2016-06-05 Switch to PHP's password_hash function. Allow changing password hashing settings (see config.php) 2016-05-05 Add Dockerfile 2015-10-06 Postgres support has been updated and everything should work now. 2015-10-06 API 2.1: Add thumbnail link to file/history 2015-09-18 API v2.0: Add and remove some information in from file/history API v1 is hereby deprecated and will be removed in a future update 2015-09-18 API v1.4: Add more information to file/get_config 2015-09-18 Add robots.txt to './public_html'. It got lost during the move to the subdir. 2015-07-18 Public files moved to public_html. Old setups will continue to work though it is encouraged to change the document root of the web server to ./public_html. 2015-07-18 Users can now change their account's email address if the `db` user backend is used. 2015-05-21 Restructure file storage to prevent issues with different files that have the same md5 hash. This also needs a new munin plugin if used which can be found in ./extras/munin/. 2015-05-21 Testsuite now supports running in parallel to normal operation although doing that is not suggested on production systems. This requires changes to ./application/config/database.php, look at the example file if you use the testsuite. Also note that the arguments accepted by ./run-tests.sh are now passed to prove and testing against a local web server is no longer supported. 2015-05-05 JS code has been refactored a lot and can now also be minified 2015-05-05 IMPORTANT: Run `./scripts/install-git-hooks.sh` to set up automatic updates after merges (git pull). Currently the hook updates the database and minified js file if necessary. Also run `./git-hooks/post-merge` manually once for the initial update. Future updates will rely on you having done this and may not work correctly if the hook is not executed. The hook will also output change to this NEWS file for convenience. 2015-04-09 Improve performance by caching more. If you have not yet set cache_backend in config-local.php now is the time. Look in config.php for details. 2015-04-09 Get supported mimetypes from pygments itself 2015-03-25 API v1.2: add user/delete_apikey endpoint 2015-03-08 API v1.1: return full URL in api/file/create_multipaste 2015-03-08 Rework file/cron and mfile->valid_id This pulls in mockery for testing, make sure you clone submodules. 2015-03-02 Add imagemagick support (needs convert executable in PATH) 2015-03-02 Clarify comment for upload_max_age (you should set this to 0 if you want to keep files forever and you should run the cronjob!) 2015-02-14 JSON API + rather extensive refactoring 2014-11-02 Multipastes can now be downloaded as tarballs. The tarballs are cached and you have to run `php index.php file cron` to clean them up. Calling it more often than once a day is recommended (the example changed to every ten minutes). Also note that the default maximum tarball size is rather low (50MiB), you might want to increase it. Also make sure the phar.so extension is loaded.. 2014-10-29 The sender for emails now has to be configured (config key is "email_from") 2014-10-19 Postgresl support 2014-09-20 All PHP errors are now converted to exceptions and execution terminates if they are not caught. This also works properly with display_errors Off/stderr. 2014-08-29 Multipaste support 2014-08-29 Database migrations are no longer done automatically. You now have to run `php index.php tools update_database` 2013-09-25 New download driver allowing to switch between php echoing chunks (old behaviour and default) and X-Sendfile (635b0717931df907ee8015a42ad0ed1fcdf967c4) 2013-09-25 Switch to bootstrap 3 (9538bea0908c8a3758b41967d977455af731c344) 2013-08-15 Use CI's caching class. The default disables caching, adjust the config (cache_backend) if you want it back. 2013-08-14 Use python-ansi2html instead of HTML::FromANSI