|
| 1 | +2.1.1 / 2019-05-04 |
| 2 | +================== |
| 3 | + |
| 4 | +**General** |
| 5 | +* Allow admins to hit `/api/v1/challenges` and `/api/v1/challenges/[id]` without having a team to fix challenge previews |
| 6 | +* Fix rate-limiting of flag submission when using team mode |
| 7 | +* Fixes some modal close buttons not working in the admin panel |
| 8 | +* Fixes `populate.py` to assign captains to teams. |
| 9 | + |
| 10 | +**Models** |
| 11 | +* Added `Challenges.flags` relationship and moved the `Flags.challenge` relationship to a backref on Challenges |
| 12 | +* Added `ondelete='CASCADE'` to most ForeignKeys in models allowing for deletions to remove associated data |
| 13 | + * `Hints` should be deleted when their Challenge is deleted |
| 14 | + * `Tags` should be deleted when their Challenge is deleted |
| 15 | + * `Flags` should be deleted when their Challenge is deleted |
| 16 | + * `ChallengeFiles` should be deleted when their Challenge is deleted |
| 17 | + * Deletion of the file itself is not handled by the model/database |
| 18 | + * `Awards` should be deleted when their user or team is deleted |
| 19 | + * `Unlocks` should be deleted when their user or team is deleted |
| 20 | + * `Tracking` should be deleted when their user or team is deleted |
| 21 | + * `Teams.captain_id` should be set to NULL when the captain user is deleted |
| 22 | + |
| 23 | +**Exports** |
| 24 | +* Force `db.create_all()` to happen for imports on `sqlite` or on failure to create missing tables |
| 25 | +* Force `ctf_theme` to be set to `core` in imports in case a theme is missing from the import or the instance |
| 26 | +* Fix imports/exports to emit and accept JSON properly under MariaDB |
| 27 | + * MariaDB does not properly understand JSON so it must accept strings instead of dicts |
| 28 | + * MariaDB outputs strings instead of JSON for its JSON type so the export serializer will attempt to cast output JSON strings to JSON objects |
| 29 | + |
| 30 | +**Deployment** |
| 31 | +* Run as root when using docker-compose |
| 32 | + * This is necessary to be able to write to the volumes mounted from the host |
| 33 | + |
| 34 | + |
1 | 35 | 2.1.0 / 2019-04-24
|
2 | 36 | ==================
|
3 | 37 |
|
@@ -283,13 +317,13 @@ If you are upgrading from a prior version be sure to make backups and have a rev
|
283 | 317 | 1. Make all necessary backups. Backup the database, uploads folder, and source code directory.
|
284 | 318 | 2. Upgrade the source code directory (i.e. `git pull`) but do not run any updated code yet.
|
285 | 319 | 3. Set the `DATABASE_URL` in `CTFd/config.py` to point to your existing CTFd database.
|
286 |
| - 3. Run the upgrade script from the CTFd root folder i.e. `python migrations/1_2_0_upgrade_2_0_0.py`. |
| 320 | + 4. Run the upgrade script from the CTFd root folder i.e. `python migrations/1_2_0_upgrade_2_0_0.py`. |
287 | 321 | * This migration script will attempt to migrate data inside the database to 2.0.0 but it cannot account for every situation.
|
288 | 322 | * Examples of situations where you may need to manually migrate data:
|
289 | 323 | * Tables/columns created by plugins
|
290 | 324 | * Tables/columns created by forks
|
291 | 325 | * Using databases which are not officially supported (e.g. sqlite, postgres)
|
292 |
| - 4. Setup the rest of CTFd (i.e. config.py), migrate/update any plugins, and run normally. |
| 326 | + 5. Setup the rest of CTFd (i.e. config.py), migrate/update any plugins, and run normally. |
293 | 327 | * If upgrading from a version before 1.2.0, please upgrade to 1.2.0 and then continue with the steps above.
|
294 | 328 |
|
295 | 329 | **General**
|
|
0 commit comments