This file lists major, incompatible or otherwise important changes, you should look at it after every update. 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