CHANGES
=======

* Travis: Added nightly pipeline
* Travis: Fixed Bahub functional build
* Travis: Debug
* Travis: Clean up
* Travis: Removed Python 3.8 tests as Python 3.8 cannot be launched on travis at now
* Travis: debug
* Travis: Include
* Travis: Split into multiple jobs
* Travis: debug
* Travis: debug
* Fixed "kill\_test\_containers" task
* Travis: debug
* Travis: debug
* Travis: debug
* Covered Checksum valueobject with tests
* Travis: test
* Travis: test
* Travis: test
* Travis: test
* Set /bin/bash as default shell for all executed commands (because /bin/sh does not support same options as bash eg. pipefail)
* Travis: test
* Travis: test
* Travis: test
* Travis: debug
* Added snapshot functionality
* Added coverage badge
* Added coverage for Python part
* Added codecov.io integration
* Added coverage logging
* Bahub: Added DNS configuration
* Trying to repair travis build
* Added openssl to the travis build
* Added support for Sentry tool - see sentry.io, it's a tool to catch exceptions on production
* Covered additional case - when encryption configuration is returning bad exit code
* Covered generally backup handlers. The tests are detecting if the failures are properly detected eg. when command pipeline fails
* Cleaned up unit tests warnings by closing the stream with f.close() even when in YAML parser there is an exception
* General improvements for error detection on the pipelining process
* [https://github.com/riotkit-org/file-repository/issues/60] Partially resolved the issue by added upload validation (in \_validate\_running\_command())
* [https://github.com/riotkit-org/file-repository/issues/59] Token is now also hidden in logs
* [https://github.com/riotkit-org/file-repository/issues/59] Added PasswordsProtectedFilter that is cutting of sensitive data from logs
* [https://github.com/riotkit-org/file-repository/issues/56] Fixed error handling in docker adapters
* Fixed logs path
* Updated PHP and JS dependencies
* Updated docs
* Travis: Debug
* Travis: Attempt to speed up the build
* Travis debug
* Travis debug
* Travis debug
* Travis debug
* Travis debug
* Update .travis.yml
* Update .travis.yml
* Update .travis.yml
* Update Makefile
* Update .travis.yml
* Update .travis.yml
* Update .travis.yml
* Update .travis.yml
* Added a feature to disable cronjobs on development environment - to not override production backups
* Switched to SafeLoader for the YAML parsing
* Added explicite usage of CLoader, so it will no longer show deprecation warning
* Added explicite usage of CLoader, so it will no longer show deprecation warning
* Travis debug
* Update .travis.yml
* Update .travis.yml
* Fixes to run the travis build
* Adjustments to travis build
* Added info about the testing
* Fixing travis build for Python unit tests
* Travis-ci compatibility fix - "whereis" is not accessible, but "which" should be
* Fixed an accidential typo that was causing infinite loop (until max execution time reached) and corrected api tests, so they test what was expected to test (there was a configuration change in the .env.dist that needed to be included in the test)
* Covered definition factory
* Added badges
* Probably fixed the travis build
* Covered additional entity by unit tests
* Added first unit tests
* Implemented additional integration tests for "recovery from disaster" feature
* Initial support for "recovery from disaster" feature
* Fixed not launching crontab
* For security reasons limited Accept-Range requests to take only 1 range at a time
* Disabled request buffering for upload endpoints, in most cases an external gateway has also the output buffering which doubles the work and slows down application alot
* Fixed problem with max\_execution\_time being not returned as int
* Selectively increased max execution time for upload endpoints
* Updated docs, dev mode is no longer recommended
* Added SQLite3 example
* Updated documentation by adding a lot of examples and references, simplified introduction steps
* Added bahub deploy to PyPI
* Increased limit on nginx, so the bigger backups will be uploaded
* Improved error handling in case the user does not provide any valid source of upload (uploads 0 bytes)
* Corrected error handling
* OpenSSL - removed "-pbkdf2" parameter from default command, as this switch is not always supported, updated docs about openssl
* Resolved a problem with too small column size that cannot handle size in gigabytes - second resolution, because Doctrine didn't execute second query to change second column from migration
* Resolved a problem with too small column size that cannot handle size in gigabytes
* Travis will build now the image from scratch to have a recent version
* Deleted aliases tests - its notp possible to make them working because of the hash generation difference in time
* Travis debug
* Travis debug
* Travis debug
* Travis debug
* Travis debug
* Added prod.log displaying at the end of PHP travis build
* Attempting to set up travis build
* Made first tests for the Bahub CLI client
* Started adding tests
* Added a command to create a collection, updated docs
* - Added restore working in all types of backup source - Configuration now accepts also environment variable
* Added initial support for setuptools
* Clean up
* Fixed issue when the guest session was more important than admin technical session
* Initially added bahub to docs
* Bahub restore and list commands
* WIP: Bahub - a shell API client specialized in backups of local files, command outputs and docker containers
* Fixed default environment variables values. The quotes are not good, because they are actually passed..
* Fixed caching after adding range bytes
* Added support for bytes range
* Added initially support for catching upload errors that are coming from PHP upload mechanism
* Improved implementation of access rights
* Increased upload\_max\_filesize
* Unified permissions implementation on dev and prod environments
* Now the 'security.administrator' role is granting all permissions automatically
* Fix: Application is now not forking into background
* Fixed container names
* - Added a prod entrypoint that will now deploy the update of the application before starting it. The deploy includes eg. migrations, cache clearing etc
* - Support for Minio through S3 interface (awss3v3) - Refactored filesystem adapters configuration (ConfigParser), is now more elastic and gives possibility to configure more deep options (arrays in arrays of n depth are supported) - More clear S3 interface configuration with a ready-to-go example in .env.dist
* Added a command to generate admin tokens from shell
* Added MySQL example in .env.dist
* Fixed travis build
* Added required libzip
* Added phpunit shortcut
* Added required "zip" extension to the docker container
* Added unit tests support and first unit test
* Hotlink support: Fixed configuration reading problem, environment variable values were normalized to lower case which destroyed the ANTI\_HOTLINK\_SECRET\_METHOD value
* Removed debug from API Tests
* Travis debugging: SQLite3 will be the default database
* Added link to the documentation, and improved the description about why the project was created
* Changed file descriptions and set the license
* Readthedocs: Fixing 'ascii' codec can't decode byte 0xc5 in position 11: ordinal not in range(128)
* Readthedocs: Added sphinx-glpi-theme to the requirements.txt
* Fixed the order of loading doctrine mappings
* @debug
* Travis: Composer debugging
* Added travis integration
* ANTI\_HOTLINK\_SECRET\_METHOD now has a better default that should be realistic to setup for most of the users
* Added more documentation about aliasing and hotlink protection
* Fixed invalid boolean casting
* - Anti hotlink mechanism - Filename mapping mechanism
* - MinimumUI: Added video player endpoint /minimum.ui/watch/video/{fileId} - Storage domain: Added partial support for BYTES RANGE - Storage domain: Deduplication is now not possible to turn off, it can be prefixed with "contentIdent" which is added to the checksum (only works internally when using DomainBus between domains eg. from Backup domain) - Migrations: Fixed incorrectly created constraints - Better recognition of invalid multipart uploads (will return a 500 if the POST MAX SIZE of PHP settings is reached and the file is submitted as body stream) - Partial CI environment based on Docker
* Clean up + minimum ui documentation
* - MinimumUI - first working version with files and images uploading - Switched Bower to NPM - API now does not return 301 HTTP codes when file already exists, now it returns 202 - Upgraded MinimumUI code to ES6 standard - Upload endpoint now returns also requested filename
* WIP: MinimumUI - improvements to the images cropper
* WIP: MinimumUI - uploading images and files, support for base64 encoded uploads (easier for implementation of frontends in web browser), roles - enforcing no password and tags from token
* Better error handling in authentication domain, added a few postman tests, updated documentation
* Improvements to documentation, token deletion, expiration date for tokens
* Added documentation and improved permissions (added missing roles)
* Deleted first version
* Added endpoint for easier fetching of collection version eg. /repository/collection/some-collection/backup/latest     /repository/collection/some-collection/backup/first     /repository/collection/some-collection/backup/v1     /repository/collection/some-collection/backup/SOME-UUID-HERE
* Cancelled Webhooks support for now. Need to focus on finalization of basic functionality
* Added endpoints for listing and deleting versions
* Added endpoint for uploading files to the collection
* Added endpoint for revoking access to collections
* Added endpoint for attaching tokens to collections
* Added listing endpoint
* Updated documentation
* Added delete and fetch endpoints
* Added collection creation endpoint
* Domain logic validation for the creation endpoint
* Collections creation endpoint
* Updated dependencies versions
* Domain models for Backup Domain
* Access rights for listing
* Listing endpoint
* Roles list and response standarization
* HTTP cache support
* Deletion endpoint
* - Improvements to the authentication and 403 error handling - Added additional roles in authentication domain - Added some postman api tests coverage
* Tags support, test http provider in test and dev mode (supports file:// protocol for testing), several fixes
* Initial commit
* Sync dev front-controller with prod (allow images to be fetched...)
* Fixed tests to fit current path of images
* Added Heroku deploy button
* Updated configuration documentation and added environmental variables to Heroku configuration file
* Clean up of images
* Fixed JSON support
* Fixed bower install execution when its not installed globally
* Updated documentation, naming
* Added more detail licensing information
* Added integration with Heroku
* Updated logo
* Loop config keys
* Add comment for phinx configuration
* Update gitignore
* Remove .idea folder (PhpStorm/IntelliJ from JetBrains)
* Configure automatically Phinx with \*.custom.php files
* Enhance mime-type detection
* [#10] Added support for database tables prefixing
* Fix things about test env
* Strict type
* Remove dependency to val/doctrine-table-prefix-service-provider and use last version of doctrine receipt
* Updated travis badge
* Remove use statement and use full package name
* Allow table to be prefixed (using val/doctrine-table-prefix-service-provider)
* Make dev configuration customizable
* Make database configurable
* Fix: don't force weburl parameter in config/dev.php
* Fixed support for SSL
* Added tests and fixes existing tests
* Implemented HTTP cache (ETag, Last modified), refactored the code a little bit - extracted code into service
* Added search query paramater to the find action
* Added order by to the search action
* Improved callbacks, token handling, updated dependencies
* Support for uploading regular files using temporary tokens, configurable aspect ratio for image upload
* Added support for png files, upgraded version of cropperjs to 1.0
* Exposing also the url of files
* Fixed: Case when there were no results if offset and limit was higher
* Added pagination information to the FindAction
* Switched response to be snake case, upgraded libraries, updated README.md
* Now handling also escaped variable |url|
* Now handling also escaped variable |url|
* Clean up
* Added .idea to the .gitignore

v1.1
----

* [https://github.com/Wolnosciowiec/image-repository/issues/1][https://github.com/Wolnosciowiec/image-repository/issues/3] Implemented tags support
* Security fix: Escaping upload/download paths
* Added bower to the package.json for Heroku
* Added missing directory, updated dependencies
* Connected travis-ci
* Added automatic tests
* - Generating temporary access tokens - Uploading images from HTML form with possibility to crop the image
* Formatting fix
* Fixed db problem
* Added instructions how to install on a remote FTP server
* Added instructions how to install on a remote FTP server
* Added vendor to phploy deployment
* Moved databases to the "data" directory, moved Phinx config to PHP format, added web deployment using "wolnosciowiec/wolnosciowiec-web-deploy"
* Updated dependencies
* Changed deployment method to phploy, which seems to be working very well
* Whitelisted docker host address
* Now the database is per environment - Phinx is now also building both environment databases
* Now the database is per environment
* Fixed last commit
* Now the application should return only full links, not only relative paths
* Added versioning
* Fixed deployment script
* Update README.md
* Added API key to the URL for Heroku test app
* Added Heroku badge
* Added Heroku badge
* Fixed heroku integration
* Fixed heroku integration
* Updated composer lock
* Added heroku integration
* Added heroku integration
* Added heroku integration
* Fixed
* Exists and delete methods
* Added travis-ci badge to the README.md
* Added initial travis file to just test the deployment, phpunit tests will be implemented soon
* Added Registry feature. From technical side: Added database and migrations support
* Updated deployment script, now it has a possibility to remember passwords
* Added examples
* Added uploading with HTTP protocol support
* Updated deployment scripts
* Update README.md
* Deployment script
* Deployment script
* Deployment script
* Deployment script
* htaccess for Apache, a few new controllers :)
* First commit
* initial commit
