mirror of https://github.com/JohnHammond/CTFd.git
Mark new version and add rough changelog
parent
073c8c713d
commit
735faf0e23
49
CHANGELOG.md
49
CHANGELOG.md
|
@ -1,3 +1,52 @@
|
||||||
|
2.4.0 /
|
||||||
|
==================
|
||||||
|
|
||||||
|
**General**
|
||||||
|
* Cache user and team attributes and use those perform certain page operations intead of going to the database for data
|
||||||
|
* After modifying the user/team attributes you should call the appropriate cache clearing function (clear_user_session/clear_team_session)
|
||||||
|
* Cache user IPs for the last hour to avoid hitting the database on every authenticated page view
|
||||||
|
* Update the user IP's last seen value at least every hour or on every non-GET request
|
||||||
|
* Replace `flask_restplus` with `flask_restx`
|
||||||
|
* Remove `datafreeze`, `normality`, and `banal` dependencies in favor of in-repo solutions to exporting database
|
||||||
|
|
||||||
|
**Admin Panel**
|
||||||
|
* Make some Admin tables sortable by table headers
|
||||||
|
* Create a score distribution graph in the statistics page
|
||||||
|
* Make instance reset more granular to allow for choosing to reset Accounts, Submissions, Challenges, Pages, and/or Notificatoins
|
||||||
|
* Properly update challenge visibility after updating challenge
|
||||||
|
* Show total possible points in Statistics page
|
||||||
|
* Add bulk selection and deletion for Users, Teams, Scoreboard, Challenges, Submissions
|
||||||
|
* Add searching for Users, Teams, Challenges, Submissions
|
||||||
|
* Move User IP addresses into a modal
|
||||||
|
* Move Team IP addresses into a modal
|
||||||
|
* Show User website in a user page button
|
||||||
|
* Show Team website in a team page button
|
||||||
|
* Make the Pages editor use proper HTML syntax highlighting
|
||||||
|
* Theme header and footer editors now use CodeMirror
|
||||||
|
* Make default CodeMirror font-size 12px
|
||||||
|
|
||||||
|
**Themes**
|
||||||
|
* Make page selection a select and option instead of having a lot of page links
|
||||||
|
* Add the JSEnum class to create constants that can be accessed from webpack. Generate constants with `python manage.py build jsenums`
|
||||||
|
* Add the JinjaEnum class to inject constants into the Jinja environment to access from themes
|
||||||
|
* Update jQuery to 3.5.0 to resolve potential security issue
|
||||||
|
* Add some new CSS utilities (`.min-vh-*` and `.opacity-*`)
|
||||||
|
* Change some rows to have a minimum height so they don't render oddly without data
|
||||||
|
* Deprecate `.spinner-error` CSS class
|
||||||
|
* Deprecate accessing the type variable to check user role. Instead you should use `is_admin()`
|
||||||
|
|
||||||
|
**Miscellaneous**
|
||||||
|
* Enable foreign key enforcement for SQLite. Only really matters for the debug server.
|
||||||
|
* Remove the duplicated `get_config` from `CTFd.models`
|
||||||
|
* Fix possible email sending issues in Python 3 by using `EmailMessage`
|
||||||
|
* Dont set User type in the user side session. Instead it should be set in the new user attributes
|
||||||
|
* Fix flask-profiler and bump dependency to 1.8.1
|
||||||
|
* Switch to using the `Faker` library for `populate.py` instead of hardcoded data
|
||||||
|
* Add a `yarn lint` command to run eslint on JS files
|
||||||
|
* Always insert the current CTFd version at the end of the import process
|
||||||
|
* Fix issue where files could not be downloaded on Windows
|
||||||
|
|
||||||
|
|
||||||
2.3.3 / 2020-04-12
|
2.3.3 / 2020-04-12
|
||||||
==================
|
==================
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ if sys.version_info[0] < 3:
|
||||||
reload(sys) # noqa: F821
|
reload(sys) # noqa: F821
|
||||||
sys.setdefaultencoding("utf-8")
|
sys.setdefaultencoding("utf-8")
|
||||||
|
|
||||||
__version__ = "2.3.3"
|
__version__ = "2.4.0"
|
||||||
|
|
||||||
|
|
||||||
class CTFdRequest(Request):
|
class CTFdRequest(Request):
|
||||||
|
@ -182,6 +182,7 @@ def create_app(config="CTFd.config.Config"):
|
||||||
# Enable foreign keys for SQLite. This must be before the
|
# Enable foreign keys for SQLite. This must be before the
|
||||||
# db.create_all call because tests use the in-memory SQLite
|
# db.create_all call because tests use the in-memory SQLite
|
||||||
# database (each connection, including db creation, is a new db).
|
# database (each connection, including db creation, is a new db).
|
||||||
|
# https://docs.sqlalchemy.org/en/13/dialects/sqlite.html#foreign-key-support
|
||||||
from sqlalchemy.engine import Engine
|
from sqlalchemy.engine import Engine
|
||||||
from sqlalchemy import event
|
from sqlalchemy import event
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ author = u"Kevin Chung"
|
||||||
# The short X.Y version
|
# The short X.Y version
|
||||||
version = u""
|
version = u""
|
||||||
# The full version, including alpha/beta/rc tags
|
# The full version, including alpha/beta/rc tags
|
||||||
release = u"2.3.3"
|
release = u"2.4.0"
|
||||||
|
|
||||||
|
|
||||||
# -- General configuration ---------------------------------------------------
|
# -- General configuration ---------------------------------------------------
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "ctfd",
|
"name": "ctfd",
|
||||||
"version": "2.3.3",
|
"version": "2.4.0",
|
||||||
"description": "CTFd is a Capture The Flag framework focusing on ease of use and customizability. It comes with everything you need to run a CTF and it's easy to customize with plugins and themes.",
|
"description": "CTFd is a Capture The Flag framework focusing on ease of use and customizability. It comes with everything you need to run a CTF and it's easy to customize with plugins and themes.",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"directories": {
|
"directories": {
|
||||||
|
|
Loading…
Reference in New Issue