Run prettier

This commit is contained in:
Kevin Chung
2020-06-30 00:56:36 -04:00
parent 7370cead17
commit c9442037a8

View File

@@ -1,63 +1,69 @@
# 3.0.0a1 / # 3.0.0a1 /
**General** **General**
* CTFd is now Python 3 only
* Render markdown with the CommonMark spec provided by `cmarkgfm` - CTFd is now Python 3 only
* Render markdown stripped of any malicious JavaScript or HTML. - Render markdown with the CommonMark spec provided by `cmarkgfm`
* This is a significant change from previous versions of CTFd where any HTML content from an admin was considered safe. - Render markdown stripped of any malicious JavaScript or HTML.
* Inject `Config`, `User`, `Team`, `Session`, and `Plugin` globals into Jinja - This is a significant change from previous versions of CTFd where any HTML content from an admin was considered safe.
* User sessions no longer store any user-specific attributes. - Inject `Config`, `User`, `Team`, `Session`, and `Plugin` globals into Jinja
* Sessions only store the user's ID, CSRF nonce, and an hmac of the user's password - User sessions no longer store any user-specific attributes.
* The user facing side of CTFd now has user and team searching - Sessions only store the user's ID, CSRF nonce, and an hmac of the user's password
* GeoIP support now available for converting IP addresses to guessed countries - The user facing side of CTFd now has user and team searching
- GeoIP support now available for converting IP addresses to guessed countries
**Admin Panel** **Admin Panel**
* Use EasyMDE as an improved description/text editor for Markdown enabled fields.
* Media Library button now integrated into EasyMDE enabled fields - Use EasyMDE as an improved description/text editor for Markdown enabled fields.
* VueJS now used as the underlying implementation for the Media Library - Media Library button now integrated into EasyMDE enabled fields
* Fix setting theme color in Admin Panel - VueJS now used as the underlying implementation for the Media Library
* Green outline border has been removed from the Admin Panel - Fix setting theme color in Admin Panel
- Green outline border has been removed from the Admin Panel
**API** **API**
* Significant overhauls in API documentation provided by Swagger UI and Swagger json
* Make almost all API endpoints provide filtering and searching capabilities - Significant overhauls in API documentation provided by Swagger UI and Swagger json
* Change `GET /api/v1/config/<config_key>` to return structured data according to ConfigSchema - Make almost all API endpoints provide filtering and searching capabilities
- Change `GET /api/v1/config/<config_key>` to return structured data according to ConfigSchema
**Themes** **Themes**
* Themes now have access to the `Configs` global which provides wrapped access to `get_config`.
* For example, `{{ Configs.ctf_name }}` instead of `get_ctf_name()` or `get_config('ctf_name')` - Themes now have access to the `Configs` global which provides wrapped access to `get_config`.
* Themes must now specify a `challenge.html` which control how a challenge should look. - For example, `{{ Configs.ctf_name }}` instead of `get_ctf_name()` or `get_config('ctf_name')`
* The main library for charts has been changed from Plotly to Apache ECharts. - Themes must now specify a `challenge.html` which control how a challenge should look.
* Forms have been moved into wtforms for easier form rendering inside of Jinja. - The main library for charts has been changed from Plotly to Apache ECharts.
* From Jinja you can access forms via the Forms global i.e. `{{ Forms }}` - Forms have been moved into wtforms for easier form rendering inside of Jinja.
* This allows theme developers to more easily re-use a form without having to copy-paste HTML. - From Jinja you can access forms via the Forms global i.e. `{{ Forms }}`
* Themes can now provide a theme settings JSON blob which can be injected into the theme with `{{ Configs.theme_settings }}` - This allows theme developers to more easily re-use a form without having to copy-paste HTML.
- Themes can now provide a theme settings JSON blob which can be injected into the theme with `{{ Configs.theme_settings }}`
**Plugins** **Plugins**
* Challenge plugins have changed in structure to better allow integration with themes and prevent obtrusive Javascript/XSS.
* TODO: Document challenge plugin changes - Challenge plugins have changed in structure to better allow integration with themes and prevent obtrusive Javascript/XSS.
* Display current attempt count in challenge view when max attempts is enabled - TODO: Document challenge plugin changes
* `get_standings()`, `get_team_stanadings()`, `get_user_standings()` now has a fields keyword argument that allows for specificying additional fields that SQLAlchemy should return when building the response set. - Display current attempt count in challenge view when max attempts is enabled
* Useful for gathering additional data when building scoreboard pages - `get_standings()`, `get_team_stanadings()`, `get_user_standings()` now has a fields keyword argument that allows for specificying additional fields that SQLAlchemy should return when building the response set.
* Flags can now control the message that is shown to the user by raising `FlagException` - Useful for gathering additional data when building scoreboard pages
* Fix `override_template()` functionality - Flags can now control the message that is shown to the user by raising `FlagException`
- Fix `override_template()` functionality
**Deployment** **Deployment**
* Enable SQLAlchemy's `pool_pre_ping` by default to reduce the likelihood of database connection issues
* Mailgun email settings are now deprecated. Admins should move to SMTP email settings instead. - Enable SQLAlchemy's `pool_pre_ping` by default to reduce the likelihood of database connection issues
* Postgres is now considered a second class citizen in CTFd. It is tested against but not a main database backend. If you use Postgres, you are entirely on your own with regards to supporting CTFd. - Mailgun email settings are now deprecated. Admins should move to SMTP email settings instead.
* Docker image now uses Debian instead of Alpine. See https://github.com/CTFd/CTFd/issues/1215 for rationale. - Postgres is now considered a second class citizen in CTFd. It is tested against but not a main database backend. If you use Postgres, you are entirely on your own with regards to supporting CTFd.
* `docker-compose.yml` now uses a non-root user to connect to MySQL/MariaDB - Docker image now uses Debian instead of Alpine. See https://github.com/CTFd/CTFd/issues/1215 for rationale.
* `config.py` should no longer be editting for configuration, instead edit `config.ini` or the environment variables in `docker-compose.yml` - `docker-compose.yml` now uses a non-root user to connect to MySQL/MariaDB
- `config.py` should no longer be editting for configuration, instead edit `config.ini` or the environment variables in `docker-compose.yml`
**Miscellaneous** **Miscellaneous**
* Lint Markdown files with Prettier
* Lint Dockerfile and docker-compose.yml in Github Actions
* Lint JavaScript files with eslint
* Certain static strings have been converted into Enums for better re-useability throughout the code base
* Main testing now done by Github Actions. Travis testing is deprecated but still used until full parity exists
* Travis testing has been upgraded to use Ubuntu Bionic (18.04)
- Lint Markdown files with Prettier
- Lint Dockerfile and docker-compose.yml in Github Actions
- Lint JavaScript files with eslint
- Certain static strings have been converted into Enums for better re-useability throughout the code base
- Main testing now done by Github Actions. Travis testing is deprecated but still used until full parity exists
- Travis testing has been upgraded to use Ubuntu Bionic (18.04)
# 2.5.0 / 2020-06-04 # 2.5.0 / 2020-06-04