Skip to content

Latest commit

 

History

History
118 lines (95 loc) · 6.49 KB

CHANGELOG.md

File metadata and controls

118 lines (95 loc) · 6.49 KB

Changelog

All notable changes to this project are documented in this file. The format is based on Keep a Changelog,

The x.y.z version is tracked in gradle.properties to enable programmatic updating via the Gradle release task. The version should always be in sync with the GUI and have a tag in both repositories.

  • The major version x corresponds to the year of the contest and thus only changes once a year
  • y is bumped for any major updates or backwards-incompatible changes.
    A y version of 0 marks the beta of the current year and likely contains breaking changes between patches.

23.0.2 New Board generation - 2022-08-21

  • Update Board generation: The Board is now mirrored with holes, with more holes in the middle and more fish at the edge.
  • Improve automated checks

23.0.1 Proper Penguins - 2022-08-06

  • Proper rule implementation for Penguins with some helpers
  • Improve XML

23.0.0 Rough Penguins - 2022-07-28

  • Generify some plugin functionality to the SDK (RectangularBoard, Team.color)
  • Initial version of game "Hey, Danke für den Fisch" (Codename Penguins) with simplified game rules (can only move to adjacent fields)
  • Switch from unavailable maven repo for jargs

2023 Game Hey, Danke für den Fisch (Penguins) - 2022-07

22.1.0 Polish - 2021-11-15

  • Ensure compatibility beyond Java 16
  • Fix game ending a turn too late on round limit (7b096f105)
  • Fix irritating error messages at game end
  • Release TestClient

22.0.3 - 2021-07-26

  • Fix simpleclient setup
  • Only end game after full rounds

22.0.2 Protocol Revamp - 2021-07-16

  • Update documentation links
  • Various improvements around testing

Protocol

  • Reworked GameResult XML (add player information, include winner as team)
  • Simpler Player XML (team as attribute)
  • Join without specifying a gameType
  • Removed test mode - add up the GameResults instead (#385)
  • Do not send repeated MoveRequests when pausing/unpausing
  • Stop terminating client connections upon protocol issues (6c6d6fa51)

22.0.1 Adjust Ostseeschach plugin - 2021-06-25

  • Implemented proper winner calculation
  • Added some utility methods
  • Adjusted XML

22.0.0 - 2021-06-11

  • Restructured folders to follow JVM standards
  • Simplified interface for player development

2022 Game Ostseeschach - 2021-06

21.4.0 - 2021-05-28

  • Enable preparing games without reservations
  • Implement generic replay saving & loading
  • Create an AdminClient to interface more conveniently with the server
  • Distinguish RoomMessages from ProtocolPackets
  • Send GamePaused message after a Game has been paused

21.3.3 - 2021-03-01

  • Game: Refactor turn advancing logic (#391)
  • Networking: Improve Exception handling within games and rooms (#383)

21.3.2 - 2021-02-12

Fixed

  • GameState: Alignment of round number with turn number (49676b64c)
  • TestClient: Prevent a race-condition that could occur when getting the results of the first game (4f33fc01f)

21.3.1 - 2021-02-11

Fixed

  • Fix GameState clone, hashCode and equals to include undeployedPieceShapes and validColors
  • Remove superfluous class attributes from GameState XML
  • Synchronize XML packet sending to prevent messages from interleaving (219466c0a)

Infrastructure

  • Extend GameState XML (#381) and Network tests (#363)
  • Setup GitHub Actions (#384)

21.3.0 - 2021-01-29

Fixed

  • Send final Gamestate to listeners when a game ends (#364)
  • Remove extra field from Move/Piece XML (23589a153)
  • Player dependency declarations (#373)
  • TestClient: Make it work (#372) & load current Game id from classpath (#367)

Added

  • Implement cloning for GameState & Board (#356)
  • Add README for player (#373)
  • Create CONTRIBUTING & GUIDELINES (#360)
  • Modularize XStream initialization using ServiceLoader (#352)

Changed

  • Improve logback config (#371)
  • Improve Gradle configuration & TestClient build (#368)

21.2.1 - 2020-12-18

  • Improve internal build logic (#343)
  • Improve & translate toString messages
  • Use MoveMistakes to construct InvalidMoveExceptions (#321)

21.2.0 - 2020-12-14

  • converted lots of classes to Kotlin
  • internal Protocol updates & game flow adjustments
  • updated many tests

2021 Game Blokus

2020 Game Hive