1
0
Fork 0
tetris-go/CHANGELOG.md

13 KiB

Changelog

All notable changes to this project will be documented in this file. See conventional commits for commit guidelines.


1.1.0 - 2025-10-28

Features

  • (audio) add SetVolume() and Volume() (678670f)
  • (engine) add number clamping functions (7d5d5b9)
  • (input) add KeyPressedWithRepeat() (3d3e8d7)
  • (render) adding DrawRectOutlineBorder() (d407eaa)
  • (ui) menu should not call audio module directly, make it more modular with and onSelect event callback (a175654)
  • (ui) call onSelect in Select() function and make Next()/Previous() use that function (0bc5863)
  • (ui) implement new ui system (6cf0e4a)
  • (ui) add options menu (30b1946)
  • add line clear animation (db9ec53)
  • dont close application when user presses Esc key (d1ed556)
  • implement persistant configuration (8a02249)

Miscellaneous Chores

  • rename Rows to Lines in Grid as Lines are more common in tetris. (190c6ad)
  • add trimpath and ldflags to build command (e5c86a1)
  • setup git-cliff (fd15ed0)

Refactoring

  • move ui code from game/state/handlers/menu.go to its own package in game/ui (bcd6025)

1.0.0 - 2025-10-28

Bug Fixes

  • (audio) implement IsPlaying() correctly (1b187d7)

Features

  • (assets) add icon (5b54466)
  • (assets) adding logo data (dc83316)
  • (engine) add LoadImageFromMemory() (93736e0)
  • (gameover) only allow the user to switch state after the gameover sound has been played. (53ac384)
  • (gameover) make gameover state abit more interesting. (4319ec5)
  • (menu) draw logo (9b11f3b)
  • (menu) put entries rendering into its own function (ca481ad)
  • set window icon (57e57f3)

Miscellaneous Chores

  • (makefile) add .PHONY target again (634fd7c)
  • fix build for windows (213b9a0)
  • add editorconfig (cb6e66b)
  • update readme and add license (02a915b)

0.13.0 - 2025-09-24

Bug Fixes

Features

  • (assets) add menu sound effects (7c02075)
  • (assets) add gameover sound (9f055c6)
  • (fsm) make the special state "quit" exit the fsm. (35e73f2)
  • (gameover) play gameover sound (dcad4ad)
  • (gameover) center text (8f8be3d)
  • (menu) play sound effects. (68b67e4)
  • (render) add DrawTextCenter() (346cf35)
  • add basic state machine implementation (75b4981)
  • refactor gameplay logic from main.go to a state machine handler. (29225b7)
  • add basic menu state (53a31ea)
  • add basic game over state (6d15a80)
  • register menu and gameover states. (b8397ae)
  • start the machine in the menu state (cae34a5)
  • detect game over condition and switch state. (54a7821)
  • improve menu (288e710)

0.12.0 - 2025-09-21

Features

  • (assets) add sound files (1799422)
  • (assets) add sound library (1c31fd4)
  • engine audio code (5860aa6)
  • initialize and use audio subsystem. (173adad)
  • add sound on shape locked and row clear (a5c9e68)

0.11.0 - 2025-09-17

Features

  • add game/shape_queue.go (5c45032)
  • use ShapeQueue to implement shape RNG (d6c9389)

0.10.0 - 2025-09-17

Features


0.9.0 - 2025-09-15

Features

  • add score type (14520e0)
  • show score and increment when lines are cleared (b6a33d0)

0.8.0 - 2025-09-15

Features

  • (grid) add IsRowFull() (eb31bdf)
  • (grid) add ClearRow() (8903319)
  • (grid) add MoveRowDown() (1d7423d)
  • (grid) add ClearFullRows() (2a7f394)
  • clear full lines after locking shape (ac4d911)

0.7.0 - 2025-09-15

Features


0.6.0 - 2025-09-15

Features

  • (shape) add RotateCW() and RotateCCW() (6131b75)
  • rotate shape when UP is pressed. (4ce5b82)

0.5.0 - 2025-09-15

Features

  • (collision) check grid bounds in x axis. (aeaf6cb)
  • add shape movement (ac14dfe)

Miscellaneous Chores


0.4.0 - 2025-09-14

Bug Fixes

  • check bound before placing a block in LockShape() (ca6497d)

Features

  • (collision) check for collision against blocks in the grid. (dab2570)

0.3.0 - 2025-09-14

Features

Refactoring

  • cleanup main loop code by moving related code into update/render functions respectively. (3c84709)

0.2.0 - 2025-09-14

Features

  • (draw) add grid.DrawBlock() (4dd6d93)
  • (draw) add DrawShape() (02157a1)
  • add engine/core/vec2.go (9387402)
  • add shape struct (6564879)
  • draw shape on grid. (63a3662)
  • add engine/core/interval_timer.go (ffbf133)
  • implement shape drop (ab69d50)
  • add CheckShapeCollision() (27c10af)
  • add collision check on shape drop. (50a7666)

0.1.0 - 2025-09-14

Features

  • (assets) add constant with the size of blocks in the sprite texture. (93a660e)
  • add game/block.go (6e21b1f)
  • add game/grid.go (2a84c7b)
  • make rendering work with the grid struct. (1b9ba08)