package-drone-0.5.0
New features
Add an aspect upgrade process, #52
Channel aspects now have a version. And the system can detect when this version changes (compared to the last applied aspect version on the channel). If the channel is older than the most recent channel aspect, the system will ask you to upgrade and provide a way to do so.
The UI (the number of tasks) is still a bit rough, but allows for manual processing on each update, or a complete update of the full system in the background.
Support for PostgreSQL, #53 #59
Thanks to support from @CptMauli there is now support for PostgreSQL. So when setting up a database you will now have the choice between MySQL/MariaDB and PostgreSQL.
Also see "Known limitations" below
Backup and restore of channel data
It is possible to backup the channel data. Including aspects, provided metadata and the artifacts with their BLOBs. Either on a "per-channel" basis or a full system backup.
Please note: the user database and deployment keys cannot be backed up this way.
Changes
- The open tasks view now shows panels instead of a table
- There is a default job visualization now
- upgrade to EclipseLink 2.6.0
- blobs are now processed by default using stream accessors instead of blob instances with streaming
- the
create.sql
now contains pre-processor statements for different databases
Improvements and bug fixes
- #55 set package drone specific user header for aether
- #57 feature does not show same bundle with different versions
- #51 Add support for sending e-mail over TLS
- #58 validate OSGi versions in feature generator
Known bugs and issues
Both MySQL and PostgreSQL suffer from a problem with streaming BLOBs. Although the JDBC API allows to stream large data BLOBs, instead of processing these in one block, both MySQL and PostgreSQL ignore this API and process BLOBs as a single memory block. Even when the streaming API is used.
PostgreSQL is a bit better when it comes to streaming since if handling insertions correct. But when reading a BLOB the server side will automatically push the BLOB on the socket which the client has to read into memory.
This problem will be addressed in the next Package Drone version by adding a file system storage layer for BLOBs.