balloon v2.4.x comes with the stable version v3.0.0 of \TaskScheduler which requires the sysvmsg dependency built into php. Note: This only affects you if you built php from scratch. The balloon docker image comes already with this dependency and if you are using the balloon deb package, most linux flavors already ship php with this dependency.
A one-time flush of the process queue is required:
ballooncli jobs -f -vvvv
ballon v2.4.x comes with micro PSR-11 container v.2.1.0 in which any selects statements are required to be replaced with calls statements. (selects statements just get ignored, upgrade to calls for required settings.)
For example, the MongoDB database name may be changed from:
selects:
- method: selectDatabase
arguments:
databaseName: 'balloon2'
to:
calls:
- method: selectDatabase
select: true
arguments:
databaseName: 'balloon2'
Run upgrade is required to upgrade all nodes to 2.3.x:
ballooncli upgrade -vvvv
Run upgrade is required to upgrade all nodes to 2.1.x:
ballooncli upgrade -vvvv
balloon 2.0.0 can be easily deployed using debian packages or docker images. Consider to rethink they way you deploy new balloon versions.
There is a completely new and rewritten configuration implemented in balloon 2.0.0! The best you can do to migrate is to actually reconfigure all your previous settings from v1.0.x. There is now way to automatically migrate your configuration.
balloon 2.0.0 features an in-built upgrade mechanism. All you need to do after migrating the configuration is run the upgrade:
ballooncli upgrade -vvvv start
balloon 2.0.0 also brings the REST API v2. v1 is still fully supported but only receives bug fixes and no new features! It is recommended that you upgrade your client to the new API v2.
- If available, rename src/task.xml to src/cli.xml
- Remove any underscore from plugin class names in src/config.xml, src/local.xml and src/cli.xml
- log format was changed, @see dist/config.xml to get the new format
- Add api, dav, share as modules to your src/config.xml, @see dist/config.xml
- PHP7.1 is now required, upgrade your server to php7.1
- run ./build.sh --dep afterwards to check if all necessary libraries are installed
- First entry file changed to index.php, please verify your webserver configuration, @see dist/nginx.conf
- (Optional: your should run ./build.sh --test to verify the new setup)
db.storage.update({'deleted': true},{$set: {'deleted': new Date()}}, {multi: true})
db.storage.update({'size': 0},{$set: {'file': null}}, {multi: true})
db.user.update({},{$unset: {'share_attr_sync': ""}}, {multi: true})
db.fs.files.remove({length: 0})
db.storage.ensureIndex({"reference": 1})
db.storage.ensureIndex({"shared": 1})
db.fs.files.dropIndex({"filename": 1})
db.fs.files.dropIndex({"filename": 1,"uploadDate":1})
db.delta.createIndex({"owner": 1})
db.delta.createIndex({"timestamp": 1})
db.delta.createIndex({"node": 1})
db.storage.updateMany({'deleted': true},{$set: {'deleted': new Date()}})
db.storage.updateMany({'size': 0},{$set: {'file': null}})
db.user.updateMany({},{$unset: {'share_attr_sync': ""}})
db.fs.files.remove({length: 0})
db.storage.ensureIndex({"reference": 1})
db.storage.ensureIndex({"shared": 1})
db.fs.files.dropIndex({"filename": 1})
db.fs.files.dropIndex({"filename": 1,"uploadDate":1})
db.delta.createIndex({"owner": 1})
db.delta.createIndex({"timestamp": 1})
db.delta.createIndex({"node": 1})