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¶
0.0.3-alpha - 2026-04-30¶
Added¶
CONTRIBUTING.md— branch model (main+dev+ short-lived feature branches), Conventional Commits guidance, merge strategy table, branch protection rules, branch-naming prefixes, dev-command quick reference (linting, type-check, tests, docs).SECURITY.md— vulnerability reporting policy (private email and GitHub Security Advisories), SLA (72 h acknowledgement, 7 d status update), coordinated-disclosure stance..github/pull_request_template.mdand.github/ISSUE_TEMPLATE/{issue_report,feature_request}.yml— structured PR and issue forms aligned with theliquipydiaplaybook.README “Documentation” section with link to upcoming Sphinx site at
https://dyl-m.github.io/liquipedia-editing-toolkit/.README “Data License” section covering start.gg developer terms and Liquipedia CC-BY-SA 3.0 attribution requirements.
Changed¶
README restructured to mirror
liquipydia’s top-level section list (About → Project Structure → API Access → Installation → Quick Start → Documentation → Development → License → Data License → Contributing → Security).lptk/README.mdversion banner bumped to0.0.3-alpha; project standards-alignment milestone called out explicitly.
Fixed¶
Documented credential path corrected to
.tokens/(plural) acrossREADME.md,lptk/README.md,CHANGELOG.mdand_docs/ROADMAP.mdto match the actual default inlptk/config.pyand the.gitignoreentry.
0.0.2-alpha - 2026-04-26¶
Added¶
lptk.api.StartGGClient— start.gg GraphQL client with bearer-token auth, rate limiting, retries with exponential backoff, and context-manager supportlptk.models.team— Pydantic modelsPlayerandTeamlptk.models.tournament— Pydantic modelsPhase,PhaseGroup,SetSlot,SetDetailslptk.api._retry— retry decorator for transient HTTP failures (429/5xx)liquipydia==0.1.0runtime dependency for Liquipedia DB API v3 accesslptk.get_lpdb_token()— reads thelpdbfield of the local keys file for use withliquipydia.LiquipediaClientlptk.config.LocalKeys— Pydantic schema for the JSON keys fileUnit tests for
StartGGClient, retry logic, Pydantic models, and the new JSON credential flow (128 tests, 100% coverage)
Changed¶
Liquipedia DB access delegated to the external
liquipydialibrary instead of an in-repo client — the toolkit only owns the start.gg client and shared modelsConfig, README, and ROADMAP updated to reflect the start.gg-only scope of
lptk.apiCredentials moved from flat text files under
_token/to JSON files under.tokens/:.tokens/local_keys.json(runtime keys —startgg,lpdb) and.tokens/repo_keys.json(local tooling keys —pat; not loaded bylptk)Settings.token_pathrenamed toSettings.local_keys_path; env varLPTK_TOKEN_PATHrenamed toLPTK_LOCAL_KEYS_PATH(breaking)get_token()now reads thestartggfield of.tokens/local_keys.jsoninstead of a plain text file
Removed¶
lptk.api.liquipedia.LiquipediaClientand its tests (replaced byliquipydia)LiquipediaAPIErrorexception classLiquipedia-specific settings:
liquipedia_token_path,liquipedia_api_url,liquipedia_wiki,liquipedia_rate_limit_delay,get_liquipedia_token,clear_liquipedia_token_cache
0.0.1-alpha - 2026-01-24¶
Added¶
New
lptkpackage with foundation modulesconfig.py: Environment-based settings with pydantic-settingsexceptions.py: Custom exception hierarchy (LPTKError, APIError, ConfigurationError, etc.)py.typed: PEP 561 marker for typed package distribution
Test suite in
_tests/with 100% coverageShared fixtures in
conftest.pyTests for config and exceptions modules
Comprehensive restructuring plan in
_docs/ROADMAP.mdGitHub Actions workflows for CI/CD
DeepSource and Dependabot configuration
Changed¶
Restructure project with modern tooling (
pyproject.toml,uv.lock)Archive legacy code from
src/to_archive/src/Use
@lru_cachefor token caching instead of global variableRevise versioning scheme and replace formatters with wikitext module plan
Fixed¶
Use
uvinstead ofpipin CI and correct coverage module path
0.0.0-alpha - 2025-12-13¶
Added¶
Initial project structure with three main modules:
Tournament Page Filler: Generate TeamCards/TeamParticipants from start.gg data
Stream Filler: Insert Twitch/YouTube stream links into Liquipedia brackets
Prize Pool Filler: Automated prize pool filling with bracket-aware sorting
start.gg GraphQL API integration
Event and phase data fetching
Smart placement lock-in for ongoing tournaments
Phase group fallback mechanism
Liquipedia wikitext generation
TeamCard and TeamParticipants format support
Box/Tabs formatting utilities
Player information retrieval from Liquipedia API
Fixed¶
Prevent AttributeError in
_normalize_flag()when country is None