v4.0.0
What's Changed
- Refactor Match Structure by @Benezivas in #48
- Use pyproject.toml to specify package info by @ImogenBits in #53
- small changes to CI by @ImogenBits in #54
- Cleanup battle by @ImogenBits in #55
- Minor cleanup to solve typing issues by @ImogenBits in #56
- Isolate docker interactions into module and simplify test docker containers by @ImogenBits in #52
- Cross platform support by @ImogenBits in #57
- Cleanup folder structure by @ImogenBits in #58
- Fix typing by @ImogenBits in #59
- fix resource leaks by @ImogenBits in #60
- Result types by @ImogenBits in #61
- Isolate docker by @ImogenBits in #67
- Split battle script and match setup by @ImogenBits in #68
- Fix tests by @ImogenBits in #62
- Config rework by @ImogenBits in #71
- use entrypoints to include custom wrappers by @ImogenBits in #72
- rework problem and battle wrapper classes by @ImogenBits in #73
- Cleanup by @ImogenBits in #76
- Points calculation by @ImogenBits in #77
- change cli hook to correct module by @ImogenBits in #78
- Use pydantic to parse configs by @ImogenBits in #79
- Problem class features by @ImogenBits in #80
- Match structure by @ImogenBits in #81
- Fine tune docker interaction by @ImogenBits in #82
- UI rework by @ImogenBits in #83
- Move fight code into its own class by @ImogenBits in #84
- Replace logging messages with match object serialization by @ImogenBits in #85
- Various cleanup changes by @ImogenBits in #86
- Simplify cli config by @ImogenBits in #87
- Improve in-python documentation by @ImogenBits in #88
- Simplify folder structure by @ImogenBits in #89
- Add option to execute battles on specific cores by @ImogenBits in #90
- pin pydantic version by @ImogenBits in #91
- Nicer error message for min_size violations by @ImogenBits in #92
- Improve build step UI by @ImogenBits in #93
- Redo the safe build option by @ImogenBits in #94
- Option for strict or lax timeouts by @ImogenBits in #95
- Add docker image size limit by @ImogenBits in #96
- Let users install problems by @ImogenBits in #97
- Switch to official docker build by @ImogenBits in #98
- Cleanup cli display by @ImogenBits in #100
- Fix Match.excluded_teams by @ImogenBits in #101
- Better error message if trying to decode nonexistent file by @ImogenBits in #102
- Cleanup config files by @ImogenBits in #99
- Clarify problem size by @ImogenBits in #103
- Safer error messages by @ImogenBits in #104
- Clarify Problem.score by @ImogenBits in #105
- turn Role into an enum by @ImogenBits in #106
- Add int helper types for common ranges by @ImogenBits in #107
- Simple docs by @ImogenBits in #108
- Update CI by @ImogenBits in #109
- Bugfixes by @ImogenBits in #111
- Teaching concept by @ImogenBits in #114
- Add support to let Algobattle run inside a docker container by @ImogenBits in #112
- Change problem definiton by @ImogenBits in #113
- update Pydantic by @ImogenBits in #115
- remove setup.py by @ImogenBits in #116
- Clean up teaching concept (credit to Birgit Willms) by @Benezivas in #117
- Improve publish CI by @ImogenBits in #118
- Better config structure by @ImogenBits in #120
- Internal rework by @ImogenBits in #121
- Modernize command line interaction by @ImogenBits in #122
- use shutil.move instead of Path.rename by @ImogenBits in #123
- Update Iterated battle by @ImogenBits in #124
- Simplify match json structure by @ImogenBits in #125
- add english teaching concept by @ImogenBits in #126
- PEP 561 support by @ImogenBits in #127
- Simple, safe float comparisons by @ImogenBits in #128
- Rewrite README by @Benezivas in #119
- Cleanup by @ImogenBits in #129
- Add Ellipsis type annotation by @ImogenBits in #131
- Docs default values by @ImogenBits in #132
- Add problem packaging by @ImogenBits in #133
- Improve iterated battles by @ImogenBits in #134
- Update ci by @ImogenBits in #136
- Release version 4.0.0 by @ImogenBits in #130
Full Changelog: v3.1.0...v4.0.0