Releases: TabbycatDebate/tabbycat
Releases · TabbycatDebate/tabbycat
2.11.1
Release date: 2 March 2026
- Avoid merging ballots based on trainee submissions
- Avoid sending password reset email on user invitation
- Remove extraneous HTML when copying into Summernote
- Fix error on motion/info-slide release
- Avoid sending push notifications if not configured and fail silently
- Add validation against setting graph-only pullup option; add error when using draw strength in Australs PP
- Fix adjudicators disappearing from allocation screen in public speaking tournaments
- Only show 'Release info-slide' button if round has info-slide
- Skip teams that are not in standings when calculating draw strength
- Set sides for bye debates when prefetching; skip adding results for bye debates in commands
- Avoid crashing when creating tournaments due to blank required FKs
- Fix duplicate header keys in registration institution table
- Fix JQuery not being loaded in time; fix checkbox table checks not registering; use form-based submission where possible
- Fix typo in preferences. Thank you to Polyxeni Damigou for their PR! (#2822)
Tonkinese (2.11.0)
Release date: 9 November 2025
- Improved publication control
- Created mechanism to release team draw before full draw with adjudicators, and info-slides before motions
- Motions and info-slides can be released from presentation interface
- Improvements to allocation screens
- Allocations for concurrent rounds can be made on a single page, ensuring no double-booking
- The maximum number of times an adjudicator has met a team or other adjudicator is shown
- Room constraints are shown during room allocation
- Participants can opt-in to receive personalised browser push notifications on draw and motion release
- On draw deletion, panels can be transferred to preformed
- Added feedback weight modal in Feedback Overview
- Added default "access officer" permission group, and increased the scope of CA permissions
- Show adjudicators' own ballot even when unconfirmed in private URL
- Improve handling of
{{ URL }}variable in private URL email template - Set draw table bracket highlights from frontend to be responsive with sorting.
- Prevented conflicts when many people simultaneously generate a draw
- API improvements:
- Most (except passwords) tournament preferences are now exposed publicly
- Used serializers to validate query parameters
- Added registration fields to tournament-institution endpoint
- Don't require registration question answers when authenticated
- Add user permissions when creating user
- Removed ability to disable the API. Thank you to Teymour Aldridge for their PR!
- Implemented initial tests for tournament and round APIs. Thank you to Séb for their work!
- + bug fixes and optimizations!
Sphynx (2.10.0)
Release date: 6 July 2025
- Created section for participant self-registration
- Participants may either register themselves for open tournaments, or have to register through an institution
- Team slots for institutions can be easily modified
- A new group for the registration team has been added
- Custom questions can be added in registration forms, viewable in registration tables and admin participant record pages
- Added page for specifying a tournament schedule
- Created page for creating adjudicator feedback questions
- Adapted the minimum cost matching draw algorithm for WSDC tournaments
- Added a draw generator where all teams are in a single graph, rather than by bracket
- Implemented pullup priorities by draw strength then times pulled up
- Restricted pairings based on the number of times in a position
- Let tournaments specify a number of teams as a reserve break
- Updated default permission sets for Equity and CAs
- Email sending has been refactored to avoid failing totally on individual messages, and logging the failures
- Added a new "forfeit" selector for 2-team ballots creating a win-loss without speaks
- Implemented a new option to avoid search engine indexing. Thank you to Teymour Aldridge!
- New API features:
- Participant identification through private URL keys
- User identification through API tokens
- Generating draws with custom rules
- + bug fixes and optimizations!
2.9.3
- API: Fixed accessing ballots, preformed panels, and saving nested objects
- Updated the SendGrid webhook handling
- Made the Heroku deployment script more resilient. Thanks to Oleksii Stroganov for their work!
- Prevented redacted participant names from being publicly revealed. Thank you to Varun Lodaya for your help!
- Added extra steps and permissions to avoid accidentally deleting draws + results
- Corrected colours used in motion statistics. Thanks to Teymour Aldridge for their PR!
- Restarted automatic documentation generation
- Fixed merging BP elimination ballots
- Allowed users to be re-invited, with a success message. Thank you to Teymour and Tim Beyer for the contributions!
- Used POST requests to log out
- Added option to disable the Assistant area entirely
- Added CSRF protection to overlooked page forms. Thanks for Teymour for their coverage!
- Covered missing pages and actions with permissions
- Fixed adjudicator feedback questions not allowing "0"
2.9.2
2.9.1
- Fixed crash when creating draws for BP elimination rounds.
- Fixed crash on draw page when there is no draw.
- Fixed result popovers not including CO.
- Improved the display of ballots with criteria on mobile.
- Fixed crash when printing private URL link pages.
- Added permission checks for real-time actions (checkins and adjudicator allocation).
- Fixed group membership field in Edit DB.
- Added permissions for preformed panels and speaker eligibility views.
- Ensured score criteria fields are shown in correct order.
- Corrected error message when motion in ballot is not assigned to the correct round.
- Used site timezone for displaying round start time.
- API: Consensus ballots no longer require an adjudicator, and gets the confirming user saved.
- Fixed draw details table for public speaking rounds.
Ragdoll (2.9.0)
Release date: 1 July 2024
- Added a setting to expect no feedback from teams or adjudicators. Thanks Daan Koning!
- Allowed scores to be given in any increments.
- Actions taken through the API are now logged.
- Participants' private URLs now show their barcode for checkin. Thank you to Miha Frangež!
- Private URLs include the info-slide for the current round if available and public.
- The API includes participants' barcode numbers on participant endpoints.
- Debates can be configured to have an arbitrary number of teams, for public speaking tournaments.
- Per-adjudicator ballots for more than 2-team formats can be enabled, disabling team win and ranking metrics if the "Margins includes dissenters" setting is activated.
- Speakers in single-speaker teams are pre-selected in ballots.
- A preset has been added with default settings for public speaking.
- API: Side attributes for pairings and ballots should now be implied by sequence.
- Implemented basic user permissions:
- Users can be invited to create an account with access to specific tournaments.
- Users can be assigned to specific groups and permissions with accesses within tournaments. Thanks to Valerie Pang for cataloging the permissions!
- Default groups are created for "Tabulation," "Adjudication Core," and "Equity" in each tournament.
- API: New endpoints for groups and users are added.
- Custom scoring criteria can be added through "Edit Database" to be shown on ballots. The assigned speaker score becomes the weighted sum of the given scores on the criteria. Thanks to Trần Trang Linh for this new feature!
- Criteria can be added through the Edit Database.
- Ballot merging is made more stable and revamped, with the help of Trần Trang Linh:
- The specific fields are now marked as failing, rather than all related ones.
- Ballots can be automatically merged when all eligible ballots received, on enabling a setting.
- Debate start times can now include the date, and can be set automatically on motion release. Thanks Trudeau Okech for the automation!
- Installation methods are improved:
- Docker installations are more rapid and responsive to code changes.
- The "deploy to Heroku" script is updated for the new URL scheme and plans.
- Plenty of new team emojis, thanks to Peta Hillier!
- Bug fixes!
- Fixed access to the "Edit Database" views for Speaker scores and by adjudicator.
- Upgraded to Python 3.11 and Django 5.
2.8.1
- Fixed failing draw generation with byes (BACKEND-BWA)
- Avoided showing points in private URL table for uncredited rounds (BACKEND-BVY)
- Corrected ordering of ballots in private URL tables (#2369)
- Fixed draw strength metrics counting unconfirmed ballots
- API: Re-added
seqfor motions in Round endpoint - Hid real names from ballot forms if code names used
- Fixed break category form showing general error
Quokka (2.8.0)
- The term "iron person" is now used throughout the platform for consistency and inclusivity. Thanks to @dcorks for the pull request!
- The number of times a team has had an iron-speaker is now tracked as a team metric.
- Added new emoji from Unicode 12 and 13. Thank you to Daan Koning for the pull request! (#2143)
- Info Slides can now use rich-text formatting (e.g. bold, links, etc). Thanks to Trần Trang Linh for adding this feature!
- Speaker and break category forms have better validation and fewer fields.
- Tournaments can be created specifying private URL use directly. Thanks to Sébastien Dunne Fulmer!
- Implemented support for APDA-style tournaments with:
- Avoidance for a team to repeatedly meet pulled-up teams,
- A new two-team draw generator to minimize penalties globally within brackets,
- Team seeding for the first round,
- The ability to give ranks to speeches in addition to speaker scores, and
- A preset to enable these options.
- API Updates:
- Documentation is now automatically generated and available under the
/api/schema/redoc/path on all sites. - Preformed panels are now accessible using the API.
- Team and speaker scores by round has a new endpoint. Thanks to Ido Wolf for the feature!
- The site's timezone is shown in the root endpoint. Thanks to Daan Koning!
- Documentation is now automatically generated and available under the
- + so many more little improvements and fixes!
2.7.8
- Fixed some issues with Docker-based deployments.