Repository navigation
1.0.5
- Challenge Type Plugins now have a static interface which should be implemented by all challenge types.
- Challenge Type Plugins are now self-contained in the plugin system meaning you no longer need to manipulate themes in order to register Challenge Type Plugins.
- Challenge Type plugins should implement the create, read, update, delete, attempt, solve, and fail static methods.
- Challenge Type plugins now use strings for both their IDs and names.
- Challenge Type plugins now contain references to their related modal template files.
- Plugins can now register directories and files to be served by CTFd
CTFd.plugins.register_plugin_assets_directoryregisters a directory to be servedCTFd.plugins.register_plugin_assetregisters a file to be served
- Plugins can now add to the admin and user menu/nav bars
- Plugins can now add to the admin menu bar with
CTFd.plugins. register_admin_plugin_menu_bar - Plugins can now add to the user menu bar with
CTFd.plugins. register_user_page_menu_bar
- Plugins can now add to the admin menu bar with
- Plugins should now use
config.jsonto define plugin attributes in lieu of config.html. Backwards compatibility has been maintained. Withconfig.json, plugins can now control where the user is linked to instead of being directed to config.html. - The challenge type and key type columns are now strings.
- Some utils functions now have
CTFd.pluginswrappers. - There is now a
/teamendpoint which takes the user to their own public profile. - Mail server username and passwords are no longer rendered in the Admin Config panel.
- Users can now see their own user graphs when scores are hidden.
prepare.shis now marked executable.- Spinners are now properly removed if there is no data to display.
Always backup your database before upgrading!