All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Release names follow the historic football clubs naming convention (A–Z):
| Tag | Club | Country | Founded |
|---|---|---|---|
arsenal |
Arsenal | England | 1886 |
barcelona |
Barcelona | Spain | 1899 |
chelsea |
Chelsea | England | 1905 |
dortmund |
Borussia Dortmund | Germany | 1909 |
everton |
Everton | England | 1878 |
flamengo |
Flamengo | Brazil | 1895 |
galatasaray |
Galatasaray | Turkey | 1905 |
hamburg |
Hamburg SV | Germany | 1887 |
inter |
Internazionale | Italy | 1908 |
juventus |
Juventus | Italy | 1897 |
kaiserslautern |
Kaiserslautern | Germany | 1900 |
liverpool |
Liverpool | England | 1892 |
manchesterutd |
Manchester United | England | 1878 |
napoli |
Napoli | Italy | 1926 |
olympique |
Olympique Marseille | France | 1899 |
psg |
Paris Saint-Germain | France | 1970 |
qpr |
Queens Park Rangers | England | 1882 |
realmadrid |
Real Madrid | Spain | 1902 |
sevilla |
Sevilla | Spain | 1890 |
tottenham |
Tottenham Hotspur | England | 1882 |
union |
Union Berlin | Germany | 1966 |
valencia |
Valencia | Spain | 1919 |
werder |
Werder Bremen | Germany | 1899 |
xerez |
Xerez CD | Spain | 1947 |
youngboys |
Young Boys | Switzerland | 1898 |
zenit |
Zenit | Russia | 1925 |
-
Normalize data-state vocabulary in BDD-style test names: rename 12
given*methods acrossPlayersServiceTests,PlayersControllerTests, andPlayersRepositoryTeststo use canonical terms (existing,nonexistent,unknown); add class-level Javadoc toPlayerFakesdocumenting the three-term convention (#303) -
Normalize player dataset: seed Leandro Paredes (squad 5) permanently; correct Enzo Fernández (squad 24) to SL Benfica / Liga Portugal, Alexis Mac Allister (squad 20) to Brighton & Hove Albion, and Lionel Messi (squad 10) to Paris Saint-Germain / Ligue 1 — all reflecting November 2022 World Cup squads (#288)
-
Align CRUD test fixtures: Giovani Lo Celso (squad 27) for Create and Delete, Lionel Messi (squad 10) for Retrieve, Damián Martínez (squad 23) for Update; canonical UUID v5 strings applied across
dml.sql,PlayerFakes,PlayerDTOFakes, andstorage/players-sqlite3.db(#288) -
Playerentity:id(UUID) is the database primary key —@IdwithGenerationType.UUID;squadNumber(Integer) carries@Column(unique=true)and serves as the natural-key route identifier forPUTandDELETE(#268) -
PlayerDTO:idtype changed fromLongtoUUID(#268) -
PlayersRepository: keyed onUUID;findBySquadNumber(Integer)derived query resolves the UUID PK before update/delete operations (#268) -
PlayersService:retrieveByIdacceptsUUID;updateanddeleteBySquadNumberusefindBySquadNumberto look up the UUID PK (#268) -
PUT /players/{squadNumber}andDELETE /players/{squadNumber}: path variable changed fromLong idtoInteger squadNumber(#268) -
GET /players/{id}: path variable changed fromLongtoUUID(#268)BREAKING CHANGE:
PUT /players/{id}andDELETE /players/{id}routes replaced byPUT /players/{squadNumber}andDELETE /players/{squadNumber};GET /players/{id}path variable type changed fromLongtoUUID(#268) -
storage/players-sqlite3.db: schema migrated toid VARCHAR(36) PRIMARY KEY,squadNumber INTEGER NOT NULL UNIQUE; 25 players preserved (#268) -
ddl.sqlanddml.sql: test schema and seed data updated for new structure (#268)
- Repository delete test:
givenPlayerExists_whenDelete_thenPlayerIsRemovedcovers Lo Celso inline save + delete pattern (#288) - JaCoCo
checkgoal added to Maven build enforcing 80% instruction and branch coverage — replaces manual HTML report step in/pre-commit(#268) .sonarcloud.properties: SonarCloud Automatic Analysis configuration — sources, tests, coverage exclusions aligned withcodecov.yml(#293).dockerignore: added.claude/,CLAUDE.md,.coderabbit.yaml,.sonarcloud.properties,CHANGELOG.md,README.md(#293)
Initial release. See README.md for complete feature list and documentation.