Skip to content

Commit b7a19f7

Browse files
authored
Mark 2.1.1 (CTFd#982)
2.1.1 / 2019-05-04 ================== **General** * Allow admins to hit `/api/v1/challenges` and `/api/v1/challenges/[id]` without having a team to fix challenge previews * Fix rate-limiting of flag submission when using team mode * Fixes some modal close buttons not working in the admin panel * Fixes `populate.py` to assign captains to teams. **Models** * Added `Challenges.flags` relationship and moved the `Flags.challenge` relationship to a backref on Challenges * Added `ondelete='CASCADE'` to most ForeignKeys in models allowing for deletions to remove associated data * `Hints` should be deleted when their Challenge is deleted * `Tags` should be deleted when their Challenge is deleted * `Flags` should be deleted when their Challenge is deleted * `ChallengeFiles` should be deleted when their Challenge is deleted * Deletion of the file itself is not handled by the model/database * `Awards` should be deleted when their user or team is deleted * `Unlocks` should be deleted when their user or team is deleted * `Tracking` should be deleted when their user or team is deleted * `Teams.captain_id` should be set to NULL when the captain user is deleted **Exports** * Force `db.create_all()` to happen for imports on `sqlite` or on failure to create missing tables * Force `ctf_theme` to be set to `core` in imports in case a theme is missing from the import or the instance * Fix imports/exports to emit and accept JSON properly under MariaDB * MariaDB does not properly understand JSON so it must accept strings instead of dicts * MariaDB outputs strings instead of JSON for its JSON type so the export serializer will attempt to cast output JSON strings to JSON objects **Deployment** * Run as root when using docker-compose * This is necessary to be able to write to the volumes mounted from the host
1 parent b37684d commit b7a19f7

File tree

2 files changed

+37
-3
lines changed

2 files changed

+37
-3
lines changed

CHANGELOG.md

+36-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,37 @@
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+
135
2.1.0 / 2019-04-24
236
==================
337

@@ -283,13 +317,13 @@ If you are upgrading from a prior version be sure to make backups and have a rev
283317
1. Make all necessary backups. Backup the database, uploads folder, and source code directory.
284318
2. Upgrade the source code directory (i.e. `git pull`) but do not run any updated code yet.
285319
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`.
287321
* This migration script will attempt to migrate data inside the database to 2.0.0 but it cannot account for every situation.
288322
* Examples of situations where you may need to manually migrate data:
289323
* Tables/columns created by plugins
290324
* Tables/columns created by forks
291325
* 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.
293327
* If upgrading from a version before 1.2.0, please upgrade to 1.2.0 and then continue with the steps above.
294328

295329
**General**

CTFd/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
reload(sys) # noqa: F821
2929
sys.setdefaultencoding("utf-8")
3030

31-
__version__ = '2.1.0'
31+
__version__ = '2.1.1'
3232

3333

3434
class CTFdRequest(Request):

0 commit comments

Comments
 (0)