Skip to content

Changelog

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.

Unreleased

1.3.0 - 2023-08-30

Added

  • active_games() method to OGSClient to see your currently active games @benjaminpjones
  • Added page and page_size args to user_games() to be able to effectively use the method @benjaminpjones
  • py.typed file to package directory to allow for downstream type-checking (#5) @benjaminpjones
  • Added type hints to all method arguments and method return types.

Fixed

  • Fixed loguru not disabling the correct logger, causing the OGSClient to still log to console even when logger.enable("ogsapi") was never called.

1.2.0 - 2023-08-28

Changed

  • Dont instantiate socket connection unless we need to
  • Disable loguru logging by default, require user to enable and configure it (#4)

Removed

  • log_level argument from OGSClient

Added

  • Added documentation on how to configure loguru (#4)

Fixed

  • Fixed POST requests to the REST API not working correctly due to using data instead of json

1.1.3 - 2023-08-24

Added

  • Added additional tests for the REST API
  • Added support for using dotenv for loading credentials for testing
  • Added CI workflow for creating releases both in Gitlab and Github
  • Added Changelog to mkdocs

Changed

  • Added social href to README
  • Added github sponsor link README

1.1.2 - 2023-08-16

Changed

  • Added License shield to README
  • Added GPL-3.0 License headers to all files

1.1.1 - 2023-08-15

Changed

  • Updated pyproject file with relevant information

1.1.0 - 2023-08-15

Added

  • Added argument to log to file
  • Added docstring for InterceptHandler

1.0.0 - 2023-08-15

Added

  • Added get_player_games to OGSClient. Gets list of games from a player
  • Added loguru as a logging backend
  • Added plenty of debug, info, success, and error logs to make troubleshooting hopefully easier

Changed

  • Updated documentation to reflect logging changes

0.9.1 - 2023-08-15

Changed

  • Refactored the OGSGame class to put the game and clock data into their own dataclasses respectively.

0.9.0 - 2023-08-02

Changed

  • All realtime socket events are now being sent to two different event handlers, instead of one for each event. One for the realtime API in general, and one for each game you are connected to. See the Usage documentation for more details

Added

  • Added methods to OGSClient to manually connect and disconnect to the realtime API

0.8.0 - 2023-08-01

Changed

  • The client no longer connects to the Realtime API by default, you must now manually call the socket_connect method to connect. This will make working with just the REST API easier, not having to deal with the Websocket
  • Updated documentation to reflect that when using the Websocket, you are responsible for disconnecting from the server via socket_disconnect, otherwise a Keyboard Inturrupt will be required to close out

Removed

  • Removed the redundant destructor on OGSClient that disconnected from the websocket, it wasnt working correctly, and now it will be the users responsibility anyway

0.7.3 - 2023-07-14

Added

  • Added methods for getting games as a PNG or SGF
  • Added methods for getting list of game reviews for a game

Changed

  • Create OGSRestAPI class for handling direct calls to API
  • Create OGSCredentials class for handling the user credentials
  • Move Socket token grabbing to OGSRestAPI

0.7.2 - 2023-07-06

Fixed

  • OGSSClient now properly disconnects the OGSSocket from the realtime API to be able to close out without a KeyboardInturrupt

0.7.0 - 2023-07-06

Fixed

  • Fixed issues causing errors during import
  • Removed circular dependency
  • Moved class imports to local imports vs absolute

0.6.1 - 2023-06-29

Added

  • New socket functions for the following events
  • pause/resume
  • cancel game
  • cancel / accept undo
  • sending chat

Changed

  • Refactored code to make the library more readable, with the large classes being broken into seperate files.
  • Renamed primary file to client.py from api.py, chaning the import string to ogsapi.client

0.5.0 - 2023-05-02

Added

  • Added socket level callbacks for error and notification events
  • Added Game Phase change handler and callback
  • Implemented proper challenge creation, You can now define the challenge settings, and send it out as an open challenge, or to a specific player.

Changed

  • Fixed undo cancelled to be the British canceled. Thank you, @aureop!

0.4.1 - 2023-04-26

Changed

  • Documentation improvements

0.4.0 - 2023-04-26

Added

  • Added relevant game data to the OGSGame class
  • Implemented clock handling
  • Implemented handling of undo actions
  • Added asdict() method to OGSGame to get game data as a dict
  • Added mkdocs documentation

Removed

  • Remove printing of bearer token on connecting to API

0.3.0 - 2023-04-18

Added

  • Implemented ability to update user settings
  • Added on move handling via callback functions
  • Connecting to a game now returns the object, allowing for direct assignment

Changed

  • Privated functions used only internally
  • Updated docs

0.2.1 - 2023-04-04

Changed

  • Set socketio to not log by default

0.2.0 - 2023-04-04

Added

  • Initial release