- Ripped out all old DB operations that interacted with the blob collection column. That column is now inert.
- Added support for the new collection db system to all systems that interact with it
- Added subscription support for definition refreshes
- Collections Manager overhauled to only record changes to collections on the items that need it (rather than overwriting the entire collection on every change)
- Associated all of the new sealed products with default booster and starter selection images
- Added id field to sealed league definitions which is now how all systems store and refer to unique sealed leagues
- Renamed various product choice products to use a more standardized naming convention
- Fixed the chat resizer being all wonky
- Fixed deckbuilder navigation buttons being wonky from the jquery upgrade
- Rearranged the card filter slightly to almost sorta do css
- Fixed deckbuilder not using the new gemp favicon
- Sealed events are now no longer hard-coded as 4 serie, but will instead be however many are defined in the definition
- Altered format serialization to include information on draft + sealed (optionally)
- Fixed various dialog boxes having an erroneous "closed" text in them
- reordered format canonical order due to an oversight
- Altered the league admin page to dynamically populate all drop downs with all available values (instead of hard-coding them)
- Got the new jquery to stop coloring buttons white
- fixed modal dialogs being under the overlay
- fixed modal dialogs having a mangled close button
- Removed excess unnecessary hard-coded button classes
- added favicon and updated the title of each page
- added resize handle to the chat; it's a bit wonky
- Rearranged server startup
- Added constructor overloads for as many classes as possible to ensure that the file path does not need provided by default for loaded data
- Format, draft, and sealed data now hot reloads
- Altered so much stuff relating to league data
- Sealed formats now 100% load from file
- altered sealed format DAO to save the name of a format instead of its sealed-code (included a backwards-compatible legacy map)
- Converted all existing pack definitions (including code-defined ones) to use new hjson definitions
- Created ProductLibrary to replace PacksStorage
- Created a hundred unit tests to confirm that the PL packs are the same as the PS packs
- Replaced all references to PacksStorage with ProductLibrary