> Major version change denotes a larger leap forward and marks a milestone in development. However, we are not strictly bound with semantic versioning here. Furthermore, the development does not stop here, we still have long road ahead... ## Administrator's Guide To Migration - Do not forget to perform database migration after `recodex-core` update. ``` /opt/recodex-core/bin/console migrations:migrate ``` - Core module has now service that handles async operations. The service just needs to be started (no special configuration is necessary): ``` $> systemctl enable recodex-core.service $> systemctl start recodex-core.service ``` - Add async jobs upkeep maintenance to cron. The upkeep deletes old jobs from the database and makes sure no jobs linger too long (in case the async worker crushes or gets overwhelmed with jobs). If the async worker gets stuck, an email is sent to ReCodEx admin. Recommended upkeep period is 30 minutes, so you need to add the following line into `/etc/crontab` (adjust the paths/user if need be): ``` */30 * * * * recodex /opt/recodex-core/bin/console asyncJobs:upkeep ``` - In the web app configuration file `env.json`, the `"SKIN"` value needs to be updated according to [readme](https://github.com/ReCodEx/web-app/blob/master/README.md). The `skin-` prefix should be removed (e.g., `skin-green` needs to be replaced with `green`). ## New Features WiP! Release in progress! from API - Implementing async operations (jobs) executed in background worker (as a service). - Resubmit all operation re-implemented as an async job. - Per-partes file upload so that large files may be handled (despite the limitations of PHP upload handler). - Optimizing archiving flags for groups. - Refactoring group memberships and introducing new "observer" membership type (corresponding endpoints refactored in backwards incompatible way). - Implementing linear interpolation for assignment max. points between the first and the second deadline. - Optimizing storage for submissions containing single ZIP archive (will be necessary for Maven). - Endpoints for retrieving files were modified to allow direct retrieval compressed files from ZIP archives (backwards incompatible changes). - Solution files are now marked with entry-point flags (actual main file of the solution for interpreted languages). - New endpoint for retrieving all solutions of a single user from all assignments of a group. - Extensive refactoring and dependency updates.