Releases: jdabtieu/CTFOJ
v2.1.0
v2.0.0
Warning
You will need to modify your webserver configuration. We now use the src/ folder as the root folder. Please see the update instructions.
Changes in this version
- Move source code to src/
- Improve page load times
- Update Bootstrap to 5.0.0
- Update requests to 2.25.1
- Update pytest to 6.2.2
- Update pyjwt to 2.0.1
- Update cs50 to 6.0.2
- Add tests
- Code cleanup
- Begin to phase out jQuery
Troubleshooting
If the page display is messed up, hit Ctrl+F5 to reload the CSS, which has been changed since v1.5.0
Update instructions
First, you should stop CTFOJ altogether.
Then, enter the repository root folder's parent directory, and the run the following:
# Create backup of private configuration and logs
mkdir backup
cp CTFOJ/database.db backup
cp CTFOJ/database.db.bak backup
cp -r CTFOJ/logs backup
cp -r CTFOJ/dl backup
cp -r CTFOJ/metadata backup
cp CTFOJ/settings.py backup
cp CTFOJ/secret_key.txt backup
# Destroy and recreate CTFOJ
# Warning: if you have any other files in the CTFOJ folder that are not part of CTFOJ, move them into the backup folder
mv CTFOJ CTFOJ_old
git clone https://github.com/jdabtieu/CTFOJ.git
cd CTFOJ/src
# Restore private configuration and logs
cp -r ../../backup/* .
If you had all packages installed in a venv, recreate it.
python3 -m venv .
source bin/activate
pip install -r requirements.txt
deactivate
Then, change any configuration files to point to this now. If you are running CTFOJ as a service, you'll have to edit your CTFOJ.service file. With nginx/Apache/any other web server, you will need to update the configuration files for your WSGI program. Make sure you restart your WSGI service and your web server. Also, if you are running daily_tasks.py (you should be), make sure you update the cron task/whatever task scheduler you use to use the new path.
If everything is working now, you may delete the CTFOJ_old directory.
v1.5.0
Changes in this version
- Allow editing problem flags
- Automatically check for updates
- Significantly improve page load time
- Fix issue where daily_tasks.py would prevent the application from writing logs
- Fix bugs
Troubleshooting
No reported issues at the moment.
v1.4.1
v1.4.0
v1.3.1
v1.3.0
Database Warning
In this release, the database format was changed. If you are on v1.1.0, please run $ python3 migrate.py
to migrate to the latest database format. If you are on a version older than v1.1.0, please update to v1.1.0 first, and then migrate to this version.
Database update: migrate.py
Changes in this version
- Better alerts
- Two-factor authentication
- User settings page
- Admin console page
- Better maintenance mode
- Fix file download issue
- Misc bug fixes
- Add tests
Troubleshooting
Internal Server Error when logging in: Are you sure you ran migrate.py?
v1.2.0
Changes in this version
- Implement Captchas
- Fix Markdown rendering issues
- Fix (admin authenticated) XSS bug
- Prevent admins from banning other admins
- Only the super-admin, the account created in INSTALL.md (aka user-id=1), can ban other admins
- Update tests
- Fix bugs
Troubleshooting
You will need to add the following lines to settings.py
.
USE_CAPTCHA = True # replace this with False if you do not wish to use hCaptcha
HCAPTCHA_SECRET = 0xdeadbeef # replace this with your hCaptcha secret
HCAPTCHA_SITE = 'site_key' # replace this with your hCaptcha site key
v1.1.0
Database Warning
In this release, the database format was changed very heavily. If you are on v1.0.0, please run $ python3 migrate.py
to migrate to the latest database format. If you are on a version older than v1.0.0, please update to v1.0.0 first by downloading that version, running migrate.py, and then migrate to this version.
Changes in this version
- Rewrite database format
- Full Markdown support, with live preview
- Add full ability to deleting announcements, contests, and problems
- Code cleanup
- Add automated tests
- Create security policy
- Fix bug with maintenance mode template
- Fix bugs with markdown
- Fix security bugs
Troubleshooting
No reported issues at the moment.
v1.1.0-pre1
Database Warning
In this release, the database format was changed very heavily. A migration script will be out soon. There will be no further database changes between this release and v1.1.0.
Changes in this version
- rewrite database format
- BETA: some markdown live preview
- fix bug with maintenance mode template
- fix security bugs
- code cleanup
- add automated tests
- create security policy
Troubleshooting
As this is not a full release, we will not be providing technical support. Running pre-releases and beta builds is at your own risk.