Releases: Cockatrice/Cockatrice
2025-05-05-Development-2.11.0-beta.5
7 commits have been included over the previous beta release
show changes
- Add "copy to clipboard" button to Debug Log window (#5913)
- Delete CardDragItem when referenced CardItem is destroyed (#5911)
- Pass log messages by const ref (#5914)
- Strip color escape codes in Debug Log window (#5915)
- Add setting to auto focus search bar when opening card view window (#5906)
- ci: temporarily remove run-vcpkg step (#5902)
- Properly manage hover-zoom child widget in CardInfoPictureWidget destructor. (#5900)
2025-05-02-Development-2.11.0-beta.4
17 commits have been included over the previous beta release
show changes
- feat: build and release docker images using github actions and container registry (#5807)
- Don't require .svg for mana symbols. (#5897)
- Add setting for which deck editor tab to open deck in (#5895)
- fix: Prevent dragged cards getting stuck (#5896)
- Remove Fedora 40 build and Add Fedora 42 build (#5893)
- Fix install Qt step (#5883)
- Support creating face-down tokens (#5800)
- Allow cards to transform directly on stack (#5888)
- Allow tokens on the stack (#5886)
- Remove
isView
flag from CardZone (#5728) - Bump serialize-javascript from 6.0.0 to 6.0.2 in /webclient (#5878)
- Updates for project Cockatrice and language it (#5876)
- Refactor files in common to new Qt Slot/Signal syntax (#5872)
- Refactor: clean up OracleImporter (#5871)
- Refactor: clean up MessageLogWidget (#5870)
- Refactor files in oracle to new Qt Slot/Signal syntax (#5869)
- Make OracleImporter not extend CardDatabase (#5868)
2025-04-20-Development-2.11.0-beta.3
14 commits have been included over the previous beta release
show changes
- Make a setting for filtering to the most recent sets. (#5865)
- Move card_item and related to src/game/board (#5867)
- fix indenting in test cards.xml (#5866)
- [VDD] Defer filter tree assignment (#5864)
- [VDD] Saner and more performant color filtering, allow deleting specific filter from filterTree (#5863)
- Don't force size unnecessarily, correctly parent scrollArea. (#5862)
- Make sample hand flow widget a scrollbar one until we figure out why non-scrollbar ones don't resize correctly. (#5861)
- Propagate display updates to found widgets. (#5860)
- Add filter connection after toggling buttons and emit on end. (#5858)
- Add the option to hide banner card and tags in deck editor. (#5857)
- VDS: Optimize refreshTags in VisualDeckStorageTagFilterWidget (#5856)
- [GDE] Disable add tag button until text is entered. (#5855)
- update handling of keywords: AND, OR, NOT in card search (#5788)
- Refactor function structs into lambdas (#5675)
2025-04-18-Development-2.11.0-beta.2
29 commits have been included over the previous beta release
show changes
- Don't add duplicate CardInfos to set. (#5852)
- Allow empty collectorNumber. (#5853)
- Display cards as set variants if only a single set is selected. (#5854)
- [EDHRec] Display name above card, add bars for inclusion and synergy instead of coloring the whole label, card size slider (#5851)
- VDS performance fixes (#5848)
- Overhaul README (#5806)
- Update issue templates (#5824)
- Only emit cardClicked if it wasn't a right click. (#5838)
- Delete later where possible. (#5842)
- Implement a little "raise on enter" animation for deck preview widgets. (#5844)
- Refactor files in src/dialogs to new Qt Slot/Signal syntax (#5846)
- Refactor Tab EDHRec into folders, add navigation for budget and GC, add card prices (#5845)
- Improved EDHrec tab (#5840)
- Fix intermittent segfault in VDS sort (#5843)
- Include card_info.h over card_database.h if able (#5841)
- Implement deck analytics widgets. (#5837)
- Add a button to quickly clear all filters, correctly emit signals in filter tree when clearing. (#5835)
- Visual Deck Editor Base (#5834)
- Pull the subfilters out. (#5836)
- Refactor DeckViewContainer (#5830)
- Use the common search syntax window method in visual database display (#5829)
- Update translation files (#5828)
- Refactor files in src/server to new Qt Slot/Signal syntax (#5831)
- Refactor files in src/client/ui to new Qt Slot/Signal syntax (#5832)
- Refactor files in src/client/tabs to new Qt Slot/Signal syntax (#5833)
- Visual Database Display Tab. (#5822)
- Add logging to LocalClient (#5827)
- Translate oracle/oracle_en@source.ts in it (#5826)
- Translate oracle/oracle_en@source.ts in de (#5825)
2025-04-11-Development-2.11.0-beta
23 commits have been included over the previous full release
show changes
- change settings entry of the cod conversion prompt to a combobox (#5801)
- put multiple printings of the same dual face/split cards in the xml (#5823)
- fix: Disable HTTP compression when downloading pictures (#5793)
- fix client crash when server goes down during registration (#5787)
- Add search filter to card view window (#5791)
- Fix game phases not being translated in game log (#5798)
- Set fixed width instead of maximum width for symbols. (#5821)
- Add main and sub type as filter options, add helper functions to remove or get specific and all filters. (#5820)
- Add modelDirty signal, add helper functions to gather all main and sub card types. (#5819)
- Sort cockatrice sources alphabetically (#5818)
- Properly calculate a lot of things related to these layouts. (#5817)
- Fix some display issues with settings button widget. (#5816)
- Emit more signals when data is changed and add utility functions to interact with a decklist in the context of cardinfoptrs. (#5815)
- Refactor: move last token info into struct (#5808)
- Try to find the card again without providerId when searching fails during swap card. (#5814)
- Remove unnecessary parent argument from deck_editor_menu (#5813)
- Correctly size hint card_info_picture_widget, adjust scaleFactor default and correctly parent hover-to-zoom scaled picture. (#5812)
- Use QMessageBox::question for force start confirmation (#5811)
- Revert source file globbing (#5799)
- Add confirmation dialog for force start (#5797)
- Bump to 2.11.0 for beta releases (#5796)
- Translate webclient/src/i18n-default.json in it (#5790)
- Fix QImage::mirrored deprecation warning (#5792)
Cockatrice 2.10.2: Omenpath Revision 2
Available pre-compiled binaries for installation: Windows • Windows 10+ • Windows 7+ macOS • macOS 15+ Sequoia Apple M • macOS 14+ Sonoma Apple M • macOS 13+ Ventura Intel Linux • Ubuntu 24.04 LTS Noble Numbat • Ubuntu 22.04 LTS Jammy Jellyfish • Ubuntu 20.04 LTS Focal Fossa • Debian 12 Bookworm • Debian 11 Bullseye • Fedora 41 • Fedora 40 We are also packaged in Arch Linux's official extra repository, courtesy of @FFY00. General Linux support is available via a flatpak package at Flathub!
General Notes
We're pleased to announce the newest official release: Cockatrice 2.10.2: Omenpath Revision 2
We hope you enjoy the changes made! All improvements with their corresponding tickets since the last version of Cockatrice are listed in the changelog below.
If you ever encounter a bug, have a suggestion or idea, or feel a need for a developer to look into something, please feel free to open a ticket. (How to create a Ticket for Cockatrice)
For basic information related to the app and getting started, please take a look at our official site: https://cockatrice.github.io
If you'd like to help and contribute to Cockatrice in any way, check out our README.
We're always available to answer questions you may have on how the program works and how you can provide a meaningful contribution.
Upgrading Cockatrice
Run the internal software updater: Help → Check for Client Updates
Don't forget to update your card database right after! (Help → Check for Card Updates...)
Changelog
🔖 Highlights:
✨ New Features:
🐛 Fixed Bugs / Resolved Issues:
Show all changes (8 commits)
User Interface
Under the Hood
Oracle
Servatrice
Webatrice
Translations
- Thanks for over 300 people contributing to 20+ different languages up to now!
- Without the help of the community we couldn't offer that great language support... keep up the good work!
- It's actually very easy to join and help for yourself - find out more here:
Special Thanks
It's amazing that so many people contribute their time, knowledge, code, testing and more to the project.
We'd like to thank the entire Cockatrice community for their efforts! 🙏
2025-04-03-Development-2.10.2-beta
7 commits have been included over the previous full release
show changes
- Bump to 2.10.2 for hotfix release (#5785)
- Modified setup_addfirstadmin script to bring it up to date to current cockatrice_users table (#5784)
- Improve list of release binaries (#5783)
- Update translation source strings (#5781)
- Change default log level to info (#5779)
- fix: Use isRebalanced to detect Arena cards (#5778)
- Bump to 2.11.0 for beta releases
Cockatrice 2.10.1: Omenpath Revision 1
Pre-compiled binaries we serve: - Windows 10+ - Windows 7+ - macOS 14+ ("Sonoma") / Apple M - macOS 13+ ("Ventura") / Intel - Ubuntu 24.04 LTS ("Noble Numbat") - Ubuntu 22.04 LTS ("Jammy Jellyfish") - Ubuntu 20.04 LTS ("Focal Fossa") - Debian 12 ("Bookworm") - Debian 11 ("Bullseye") - Fedora 41 - Fedora 40 We are also packaged in Arch Linux's official "extra" repository, courtesy of @FFY00 General Linux support is available via a flatpak package (Flathub)
General Notes
We're pleased to announce the newest official release: Cockatrice 2.10.1: Omenpath Revision 1
We hope you enjoy the changes made! All improvements with their corresponding tickets since the last version of Cockatrice are listed in the changelog below.
If you ever encounter a bug, have a suggestion or idea, or feel a need for a developer to look into something, please feel free to open a ticket. (How to create a Ticket for Cockatrice)
For basic information related to the app and getting started, please take a look at our official site: https://cockatrice.github.io
If you'd like to help and contribute to Cockatrice in any way, check out our README.
We're always available to answer questions you may have on how the program works and how you can provide a meaningful contribution.
Upgrading Cockatrice
Run the internal software updater: Help → Check for Client Updates
Don't forget to update your card database right after! (Help → Check for Card Updates...)
Changelog
Features
- Added right-click menu to VDS
- Added ability to directly edit tags and banner card in both deck editor and VDS
- Custom images for the mana symbols (#5687)
- Double clicking the top of the card view window expands/unexpands it
- Allow VDS to include folder name in search (#5637) (#5659)
- Added actions for shuffle top/bottom X cards (#5695)
- Added "Edit deck in clipboard" action to Deck Editor tab (#5681)
- Added rename button to Deck Storage Tab (#5656)
- Added option to hide only-online cards (#5759)
- Added option to disable rounded card corners (#5760)
Changes
- Automatically switch current tab when opening a new tab (#5651)
- Sort tags in the tag filter widget (#5660)
- Added folder dropdown icons to VDS (#5632)
- Changed user pawn ordering (#5626)
- Made AttachTo tokens work from non-table zones (#5629)
- Updated Oracle to parse the new cipt wording (#5712)
- Enable shortcuts for new save to clipboard actions (#5700)
- Made internal updater failure message more user-friendly (#5718)
- Added support for exporting to decklist.xyz (#5756)
- Cleaned up interaction between printing selector and custom arts, and added warning (#5762)
Bug Fixes and Optimizations
- Fixed the low image quality bug that was present since 2.9 (#5684)
- Optimized deck loading in VDS (#5664) (#5707)
- Editing tags/banner in deck editor tab now marks deck as modified (#5641)
- Cache correct providerId cards on deck load #5668
- Fixed "load remote deck" window being empty (#5613)
- Always make internal updater download macOS 13 version on intel macs (#5630)
- Fixed move to top of library shuffling an extra card (#5672)
- Fixed VDS filters not applying after refresh (#5662)
- Fixed memory leak in VDS (#5647)
- Bugs related to banner or tags in Deck Editor tab not loading or resetting when opening new deck
- Show correct printing for top card of library (#5703)
- Fixed AttachTo tokens not loading art (#5747)
- Fixed shortcuts not working in multiplayer local games (#5768)
Show all changes (119 commits)
User Interface
- Update translation files (#5775)
- Fix crash when right click floating card info window (#5773)
- Hardcode default log level for FlowWidget/FlowLayout (#5769)
- fix: Always prefer local cards if available (#5762)
- Translate oracle/oracle_en@source.ts in it (#5770)
- Revert "Disable CardMenu iff no items selected (#5376)" (#5768)
- Fix delete action in filters not working (#5765)
- Add option to disable card rounding (#5760)
- Hide arena only cards (#5759)
- Enable shortcuts for the remaining export deck actions (#5761)
- Fix typo in comment about accepted decklist file formats (#5754)
- vds: Allow editing tags more than once (#5752)
- Fix StackZone crash when divideCardSpaceInZone overflows (#5751)
- Remember past entries in "reveal card until X" window (#5755)
- Support exporting to decklist.xyz website (#5756)
- Revert "Use native hover events (#5722)" (#5757)
- Update translations (#5758)
- Revert "Display visual feedback of where cards will go (#5737)" (#5750)
- Consolidate accepted decklist file extensions (#5749)
- Filter out non-deck files when building VDS (#5748)
- Fix AttachTo tokens not having card info (#5747)
- Remove redundant "show unused color identities" settings (#5745)
- hotfix: Remove menus when closing game (#5744)
- DeckEditor: Initialize the
modified
flag (#5743) - Add CONFIGURE_DEPENDS to the cmake (#5739)
- Fix edit deck in clipboard clearing values (#5732)
- Rename save to clipboard actions in DeckPreviewWidget (#5738)
- Display visual feedback of where cards will go (#5737)
- Reintroduce unused color identity opacity (#5733)
- Close the
TabGame
s when closing theTabSupervisor
(#5735) - Add declaration for setAttrRecur (#5734)
- Reduce tag display widget spacing (#5731)
- Use enum for ThemeManager brushes (#5730)
- game: Automatic update of arrow position (#5729)
- Optimize cipt parsing by early returning (#5727)
- Re-add old names for mana value property to oracle (#5711)
- Reintroduce ability to display unused mana symbol widgets. (#5726)
- Remove revealedCard flag from CardItem (#5723)
- Use native hover events (#5722)
- nix: Add development utilities to shell.nix (#5725)
- Fix banner and tags not resetting on blank new deck (#5721)
- Fix extra .cod in "save deck as" default name (#5720)
- Make internal updater failure message more user-friendly (#5718)
- Update cipt parsing (#5712)
- Update CONTRIBUTING file (#5701)
- websocket is our default port/connection (#5679)
- Automatically find all files for cockatrice_SOURCES (#5716)
- Refactor: split card_database into two files (#5715)
- Compute deck hashes lazily (#5707)
- Merge pull request #5710 from lilyhuang-github/i18n
- Change prebuild.js to allow i18n-default.json indentation to exist
- Merge pull request #5703 from RickyRister/5699-fix-printing
- Merge pull request #5702 from RickyRister/rename-export-actions
- Show correct printing for top card of library
- Rename some save to clipboard actions
- Enable shortcuts for new save to clipboard actions (#5700)
- Fix incorrect deck modified state (#5698)
- Add actions for shuffle top/bottom X cards (#5695)
- Fix view bottom cards using the wrong default (#5696)
- add "Set Banner Card" action to VDS right-click menu (#5692)
- Update recently opened decks regardless of where the deck is opened from (#5691)
- Parent bannerCardLabel to avoid popups
- Fix VDS filters not applying after refresh (#5662)
- Reduce redundant recursion in VDS (#5664)
- Add action to Edit Deck via Clipboard (#5681)
- Use the new mana symbols. (#5687)
- Generic mana symbols. (#5685)
- Fix image quality when fractional scaling is applied. (#5684)
- Fix banner widget buddy being uninitialized. (#5686)
- add rename and delete actions to VDS right-click menu (#5683)
- Fix memory leaks from DeckLoader usage (#5665)
- Switch current tab when opening a single-instance tab (#5651)
- Focus tab for quit game dialog (#5670)
- Set modification state correctly. (#5678)
- Silence picture loader warnings for null pixmaps by introducing checks. (#5677)
- Make BannerWidget's dropdown icon more robust (#5676)
- Fallback to regular card name search in case the providerId one fails for the database display widget. (#5673)
- refactor saveDeckToClipboard in AbstractTabDeckEditor (#5671)
- Fix move to top of library shuffling an extra card (#5672)
- Add tip of the day for Expand Card View Window (#5666)
- Clamp all DeckPreviewWidget children to the card size on resize. (#5669)
- Cache c...
Cockatrice 2.10.0: Omenpath
Pre-compiled binaries we serve: - Windows 10/11 - Windows 7 - macOS 15 ("Sequoia") / Apple M - macOS 14 ("Sonoma") / Apple M - macOS 13 ("Ventura") / Intel - Ubuntu 24.04 LTS ("Noble Numbat") - Ubuntu 22.04 LTS ("Jammy Jellyfish") - Ubuntu 20.04 LTS ("Focal Fossa") - Debian 12 ("Bookworm") - Debian 11 ("Bullseye") - Fedora 41 - Fedora 40 We are also packaged in Arch Linux's official "extra" repository, courtesy of @FFY00 General Linux support is available via a flatpak package (Flathub)
General Notes
We're pleased to announce the newest official release: Cockatrice 2.10.0: Omenpath
We hope you enjoy the changes made! All improvements with their corresponding tickets since the last version of Cockatrice are listed in the changelog below.
If you ever encounter a bug, have a suggestion or idea, or feel a need for a developer to look into something, please feel free to open a ticket. (How to create a Ticket for Cockatrice)
For basic information related to the app and getting started, please take a look at our official site: https://cockatrice.github.io
If you'd like to help and contribute to Cockatrice in any way, check out our README.
We're always available to answer questions you may have on how the program works and how you can provide a meaningful contribution.
Upgrading Cockatrice
Run the internal software updater: Help → Check for Client Updates
Don't forget to update your card database right after! (Help → Check for Card Updates...)
Changelog
The Big One: Changes to how cards determine which art to use
We've made some huge changes to how Cockatrice determines the art/printing/version of a card. Going forward, you will be able to select multiple and specific versions of printings of a card for your deck and other users will be able to see which specific version you have chosen.
If you don't care about the nitty-gritty of how the old and new system work under the hood and just want to know how to use the new system, skip to the Printing Selector section, otherwise, read on.
Previously, whenever you or someone else played a card, Cockatrice would only store the card's name and then use the user defined set order to fetch the "correct" set (i.e. their preferred). This local-only client driven approach has several problem:
- You can not include multiple different versions of a card in the same deck. All versions will use the highest priority set defined by the user.
- It is hard to mix and match sets. If a user would like a certain version of a card, they have to accept that other cards which match this set will also override lesser priority sets.
- It is hard to keep multiple decks synchronized with your preferences. Because all set priority changes apply to all decks (your own as well as your opponents), it is very hard to consistently prefer a certain set due to the mix and match approach described above.
- There is no way to communicate to other clients that you have chosen a different set as a priority. In essence, everyone simply sees their own favorite printings.
Before we go any further explaining the new system, it is worth mentioning that you may simply return to this old behavior via toggling a setting (This is helpful if, for example, someone attempts to troll you by changing their preferred versions to be non-legigible.)
Now, what have we done and how does this affect you?
In essence, we've moved away from the set-priority-definition system and made each card keep track of which version it is. To do this, we have given each card a 'providerId' attribute, which is generated by your cards.xml's source. Maintainers of cards.xml's have different ways of assigning cards unique id's based on their properties (e.g. Card Name, Collector Number, Physical treatment [Foiling or similar]). This providerId is stored along with the set entry for a card, which allows us to differentiate the same card in different sets and even different versions within the same set. Cockatrice will attempt to resolve the providerId automatically if it has enough information to satisfy the provider's generation scheme: If the providerId is determined by the card name, set name and the collector number and Cockatrice has all these things AND Cockatrice has an entry for a card with the given card name, set name, and collector number in its card database with a providerId, it will assign the providerId from the database to the card.
What this means is that you, as a User, simply need information like the card name, set name, and collector number (easily obtained from common deck exporting options) to import a specific version of a card into your deck.
We have changed how the "Load from Clipboard" dialog works to reflect these changes. There is a new Checkbox to "Parse Set Name and Number (if available)". If enabled, Cockatrice will attempt resolve the Set Name and Number to a providerId and give you a definitive version of the card, which will display as that specific version to other users. When disabled, the set name, number, and providerId will not be set and the card will function according to the old system (i.e. every client locally looks up their preferred set).
Similarly, if you add a card to your deck from the database in the deck editor, Cockatrice will add a definitive providerId version of the card to your deck based on the highest priority set in your defined set priority order. If you would now like to easily change this to a different version or edit your existing decks, read on.
Printing Selector
We've added a new widget to the deck editor to easily display the different versions of a card. This widget is hidden by default and must be enabled by either selecting "View -> Printing -> Visible" or by right-clicking a card in your deck and selecting "Select Printing". This will open a new docked widget in your deck editor (it may be re-arranged, popped out, or closed). When you now click a card, either in your deck or the database, this Widget will display all versions of the card that Cockatrice knows about and will allow you to add/remove the card to your deck by hovering over it and pressing the respective buttons. Versions of the card already included in your deck will not hide their buttons, to help you quickly locate the currently selected version.
You may also sort the versions based on your set priority order, alphabetically or by release date. Additionally, you may search by set long or short name to quickly help you find your favorite printings. For each card, you may pin up to one printing as a favorite by right-clicking and selecting "Preference -> Pin Printing" which will make it always appear at the top of the list. The size of the displayed cards may be adjusted with a slider at the bottom and a collapsible navigation bar at the top allows you to hide UI elements, in case you need more space to display the versions.
If you select a card which does not have a providerId and then add a version of it to your deck through the printing selector, Cockatrice will replace all non-providerId instances of the card in your decklist with the new definitive providerId version.
Visual Deck Storage
We've jazzed up the way you'll select your decks in the lobby screen and in a big way too! Replacing the previously black screen (until you actually loaded a deck) is a new screen which will display all files and folders located under your "Decks directory" (You may check where this is in the "General" tab of your settings, in the "Paths" sections) in a visual manner. Let's go through the UI elements and what they mean to you.
First and foremost, each folder is represented by a folder widget. This folder widget contains a banner with the folder name which may be clicked to collapse/expand the folder, followed by DeckPreview widgets for all files located in that folder, and then folder widgets for all sub-folders.
DeckPreview widgets are arguably the most exciting UI element. They will display a deck's name (if set in the deck editor, otherwise they will display the filename), the deck's banner card (once again, if set in the deck editor, otherwise the default cardback), the deck's color identities and finally, all tags that the deck is tagged with.
It is important to note that for full compatibility with the new visual deck storage features, your decks must be in .cod format. Decks which are in .txt or any other format may not have tags applied to them or banner cards set.
The Visual Deck Storage provides a variety of ways to filter and search for your decks. There is a versatile color filter, which may be changed to filter based on if the deck includes the selected colors or to filter on a strict match for the selected colors (Decks which include unselected colors will not match). You may also simply search by filename or sort by a variety of options (Alphabetically (Deck Name), Alphabetically (Filename), Last Modified, Last Loaded).
Finally, we have the tagging system. If you have been previously using folders to organize your deck collection, you may want to strongly consider switching to the new tagging system. While folders are still supported, they are redundant when utilizing the new tagging system properly. The reason for this is simp...
Cockatrice 2.9.0: Rings of the Wild
Pre-compiled binaries we serve: - Windows 7+ (32-bit) - Windows 7+ - Windows 10+ - macOS 10.15+ ("Catalina") - macOS 11+ ("Big Sur") - Ubuntu 18.04 ("Bionic Beaver") - Ubuntu 20.04 ("Focal Fossa") - Ubuntu 22.04 ("Jammy Jellyfish") - Ubuntu 23.04 ("Lunar Lobster") - Debian 11 ("Bullseye") - Debian 12 ("Bookworm") - Fedora 37 - Fedora 38 We are also packaged in Arch Linux's official community repository, courtesy of @FFY00 General linux support is available via a flatpak package (Flathub)
General Notes
We're pleased to announce the newest official release: Cockatrice 2.9.0 - Rings of the Wild
We hope you enjoy the changes made and we have listed all changes, with their corresponding tickets, since the last version of Cockatrice was released for your convenience.
If you ever encounter a bug, have a suggestion or idea, or feel a need for a developer to look into something, please feel free to open a ticket. (How to create a GitHub Ticket for Cockatrice)
For any information relating to Cockatrice, please take a look at our official site: https://cockatrice.github.io
If you'd like to help contribute to Cockatrice in any way, check out our README. We're always available to answer questions you may have on how the program works and how you can provide a meaningful contribution.
Upgrading Cockatrice
- Run the internal software updater: Help → Check for Client Updates
Don't forget to update your card database right after! (Help → Check for Card Updates...)
Changelog
⚠️ Important:
- Improved support for double faced cards (#4753)
- Improved how card images are downloaded and cached (#4756 and #4762)
- Cards (and card shaped UI-elements) are now pleasantly rounded (#4765)
✨ New Features:
- You can now create a game as a spectator (#4281, #4315 and #4359)
- You can now import decks from MTG:Arena (#4285)
- Moderators can now delete chat messages when warning or banning a user (#4362)
- You can now add line breaks in annotations (#4517)
- You can now copy from the deck editor (#4625)
- Added support for permanent tokens (e.g. conjured tokens) in the XML (#4646, #4742, and #4771)
- You can now cascade cards from the top of the library automatically (#4648)
🐛 Fixed Bugs / Resolved issues:
- Fixed tokens moving one slot to the left when moved (#4236)
- Fixed seeking during replays (#4518 and #4519)
- Fixed sound not working when using Qt6 (#4642)
- Attach and unattach now apply to the entire selection, rather than just the front card (#4651)
- Fixed several problems that could cause the client or the server to crash (#4300, #4345, #4346, #4460, #4492, #4617, #4682, #4681)
📘 Show all changes (87 commits)
User Interface
- Add window icons in Wayland (#4232)
- Add option to always look at top card without revealing it (#4238)
- Add button to open themes location to settings (#4289)
- Improve Restore Password dialogue (#4302 and #4310)
- Add more info to dialogs (#4293 and #4310)
- Add menus for top and bottom of library actions (#4314)
- Fix the lock sideboard shortcut (#4348)
- Properly enable notification checkboxes (#4356)
- Change CMC to MV (#4388)
- Add reset paths button to settings (#4384)
- Fixed layout on Deck Editor not using last layout sizes (#4420 and #4513)
- Respect device pixel ratio when scaling card images (#4467)
- Improve alignment in user info (#4524, #4530 and #4533)
- Make settings dialog prettier (#4357)
- Display welcome message as most recent message in chat (#4720)
- Add URL to explain message macros (#4712)
- Correct edition search syntax (#4752)
- Save sets dialog size (#4791)
- Update CPack DMG Installer with Background Image (#4787)
- Update macOS Monterey app icon (#4805)
- Replace trayicon activation with menu actions (#4632)
- Add more default shortcuts (#4349)
Under the Hood
- Fix related cards not being shown for creatures with meld (#4266)
- Disallow rich text in deck comments (#4273)
- Correct settings group for command interval settings (#4257)
- Fix inconsistencies in the undo draw command (#4280)
- Allow multiple zone view windows (#4263)
- Improve performance when viewing large decks (#4262 and #4347)
- Send hidden info to judge instead of player when a judge forces an action (#4297)
- Add fill_with template notation to picture loader (#4287)
- Fix periods in the name breaking custom cards (#4308)
- Set reasonable defaults and retain last entered value in player dialogs (#4318)
- Fix deprecation of QMutex::Recursive in favor of QRecursiveMutex (#4328)
- Don't log in users while giving them an error for missing the clientid (#4335)
- Fix macOS update logic (#4337)
- Remove the stop dump zone command from the protocol (#4326 and #4491)
- Close all library views when shuffled (#4324)
- Apply chat flood prevention in games next to rooms (#4387)
- Prevent users from being able to upload super large files via Sockets (#4398)
- Don't reset pt if there is nothing to reset (#4438)
- Change the order in which the password challenge is performed (#4439)
- Changed error message for replay folder download (#4455)
- Allow login using hashed passwords (#4464 and #4490)
- Deprecate the gender property from the protocol entirely (#4496, #4512, #4514 and #4572)
- Eliminate white space in search string (#4516)
- Fix size issue with client window (#4515)
- Address macOS issue where right-clicking a username in the main chat (#4523)
- Implement max lengths for input dialogs that are sent to the server (#4522)
- Use hashed passwords in all commands (#4493)
- Hide revealed cards when they are shuffled (#4570)
- Implement custom protobuf debug string creation (#4532)
- Fix image downscaling (#4567)
- Use utf8 instead of the system encoding (#4582)
- Update configuration path to be backwards compatible (#4620)
- Stop sounds from interrupting each other (#4640)
- Fix keepalive being multiplied in server timeout (#4663)
- Fix cards being revealed when they shouldn't be after drawing a card (#4671)
- Update card menu immediately on card counter event (#4686)
- Add hint when drawing 0 cards (#4697)
- Make selecting game already open in a tab bring user to that tab. (#4653)
- Don't replace ampersands when loading from plain text (#4734)
- Address missing sound on Qt5 Builds (#4733)
- Fix being able to join full games (#4737)
- Allow revealing specific cards from hand and library (#4743)
- Show deck hash even when its invalid (#4595)
- Add a way to replace the user facing list of disallowed words (#4807)
- Use a regex to remove all reserved characters from file names (#4804)
Oracle
- Fix sorting of split cards (#4244)
- Fix cards having an unnecessary separator when missing toughness (#4728 and #4747)
Servatrice
- Display correct number of users (#4292)
- Server Config Whitelist Email Providers (#4416)
- Allow servatrice to exit early based on commandline options (#4504)
- Set rx and txBytes to zero on initialization (#4569)
- Add database migration from blob to mediumblob (#4568)
Webatrice
- Want to help us advance this project? Join us on the Discord in the #webatrice-dev channel!
Translations
- Thanks for over 300 people contributing to 20+ different languages up to now!
- Without the help of the community we couldn't offer that great language support... keep up the good work!
- It's actually very easy to join and help for yourself - find out more here:
Special Thanks
We continue to find it amazing that so many people contribute their time, knowledge, code, testing and more to the project. We'd like to thank the entire Cockatrice community for their efforts. Thanks to @ZeldaZach and @ebbit1q for leading the project to its success, @tooomm for their continued efforts on managing repo assets, and a handful of new folks who have made relevant contributions to the project: @SlightlyCircuitous @Elarnon @CajunAvenger