Releases: tradicije/librett
Release list
1.1.0
OpenTT 1.1.0
This release marks the first stable version after the OpenTT architecture refactor and naming transition from STKB to OpenTT.
The release focuses on a cleaner internal architecture, improved shortcode modularity, and new match browsing capabilities.
Highlights
- Completed migration from
stkbtoopenttacross public APIs, shortcodes, database tables, and internal identifiers. - Refactored the shortcode system into dedicated PSR-4 classes, replacing the previous monolithic shortcode trait.
- Added a calendar-based match filter to
opentt_matches_grid. - Upcoming matches now display scheduled match time instead of placeholder scores (0:0).
- Continued reduction of the core monolith through service extraction and modularization.
New Features
Match Calendar Filter
opentt_matches_grid now supports an optional popup calendar filter (opentt_match_date) that allows users to filter matches by date.
Match days are visually highlighted:
- Green → played matches
- Blue → upcoming matches
Improved Upcoming Match Display
Upcoming matches no longer display placeholder scores (0:0).
Instead, the scheduled match time (for example 19h) is shown until the match is played.
Architecture Improvements
- Shortcode implementations extracted into
src/WordPress/Shortcodes/*PSR-4 classes. OpenTT_Unified_Corerefactored into a delegating layer rather than a monolithic logic container.- Admin services, import/export operations, and migration orchestration moved into dedicated service classes.
- Continued internal modularization to improve maintainability and contributor readability.
Tooling
Added a CLI utility:
This tool converts legacy stkb_* JSON export packages into OpenTT-compatible import files.
Fixes
- Fixed league-season filtering in
opentt_matches_gridso league archives respect the activesezonacontext. - Corrected upcoming match center display to show scheduled time instead of placeholder scores.
Notes
Version 1.1.0 finalizes the transition from the earlier STKB-based architecture to the OpenTT modular plugin structure and serves as the new stable baseline for future development.
1.1.0-beta.3
OpenTT 1.1.0-beta.3
This release focuses on stabilizing the internal architecture after the recent refactor and finalizing the shortcode extraction into dedicated PSR-4 classes. It also introduces a new calendar-based match filtering experience and improves how upcoming matches are displayed.
Highlights
- Completed the shortcode architecture migration — the former unified shortcode trait now acts only as a delegating layer while implementations live in dedicated PSR-4 classes.
- Added a popup calendar filter to
opentt_matches_grid, allowing users to filter matches by date with visual match-day indicators. - Improved upcoming match display by showing scheduled match time instead of
0:0for not-yet-played matches.
New Features
Match Calendar Filter
opentt_matches_grid now includes an optional popup calendar filter (opentt_match_date) that allows users to quickly filter matches by date.
The calendar highlights match days by status:
- Green tint → played matches
- Blue tint → upcoming matches
This filter integrates directly with the existing matches grid filtering system.
Improved Upcoming Match Display
Upcoming matches no longer display a placeholder score (0:0).
Instead, the scheduled match time (for example 19h) is shown until the match is played.
Engineering
Significant internal refactoring continued in this release:
- Completed remaining
stkb→openttidentifier normalization across shortcode filters, query keys, and internal UI identifiers. - Continued core service extraction by moving admin settings, onboarding actions, import/export actions, schema migration orchestration, and import payload inspection into dedicated PSR-4 service classes (
src/WordPress/*,src/Infrastructure/*). OpenTT_Unified_Corenow acts primarily as a delegating layer.- Removed redundant core wrappers for notice URLs and ID/date parsing.
- Completed shortcode migration from
includes/modules/trait-opentt-unified-shortcodes.phpinto dedicated classes undersrc/WordPress/Shortcodes/*.
Shortcodes extracted in this phase include:
-
Match views
matches_grid,matches_list,match_games,match_report,match_video,show_match_teams -
Club and player content
clubs,show_players,club_news,player_news,related_posts,club_info,player_info,club_form,player_transfers -
Rankings and statistics
standings_table,top_players_list,mvp,player_stats,team_stats -
Competition views
competition_info,competitions_grid,h2h
Assets & UI
- Renamed frontend CSS override namespace from
stkb-unified-*toopentt-unified-*. - Updated admin JS dataset flags from
stkb*toopentt*. - Switched admin branding logo source to
assets/img/admin-ui-logo.png. - Improved matches-grid calendar UI and aligned its styling with existing filter controls.
- Added documentation for the calendar behavior in the admin shortcode catalog.
- Simplified the calendar trigger to an icon-only button.
- Standardized calendar month/day labels to English.
Tooling
- Added a standalone CLI utility:
This tool converts legacy stkb_* JSON export packages into OpenTT-compatible import files.
Import / Export Improvements
Improved error messaging when imports exceed PHP upload limits:
UPLOAD_ERR_INI_SIZEUPLOAD_ERR_FORM_SIZE
The importer now displays:
- actual file size
- current
upload_max_filesize - current
post_max_size
Localization
Updated admin translation dictionaries in languages/ to reflect the new opentt-* / opentt_* identifiers used across the UI and query actions.
Fixes
- Fixed
opentt_matches_gridcontextual league-season filtering so league archives now respect the activesezonacontext instead of aggregating matches from all seasons. - Corrected match center display logic so upcoming matches show scheduled time instead of a placeholder score.
1.1.0-beta.1
This is a major transitional beta release focused on full internal and public renaming from stkb to opentt, along with further modularization of the core architecture.
Highlights
- Standardized naming to
openttacross all public and internal layers. - Shortcodes now use only English
opentt_*tags. - Canonical DB tables renamed to
opentt_*with built-in legacy fallback. - Continued modularization to reduce core monolith size.
⚠ Breaking Changes
This release includes breaking changes affecting:
- Shortcode tags
- Internal PHP class names
- Hooks and internal keys
- DB table naming
Migration SQL scripts are provided in the /migrations directory.
Status
This is a beta pre-release intended for testing and migration validation before the next stable release.
1.1.0-beta.2
1.1.0-beta.2
This pre-release continues the architectural refactor of OpenTT, focusing on PSR-4 standardization, service extraction, and internal modularization.
Highlights
- Continued migration toward a fully namespaced PSR-4 structure.
- Further decomposition of the monolithic core into focused services and managers.
- Improved separation of concerns across:
- Settings handling
- Admin UI language flow
- Default page provisioning
- Visual settings infrastructure
- Frontend asset enqueue pipeline
- Shortcode registration layer
- Strengthened internal service boundaries without changing the public API contract.
Stability
- No changes to public shortcode tags.
- No changes to stable option/meta keys.
- No changes to canonical DB table names.
- Fully backward compatible with existing content and data.
Purpose of this Beta
This version is part of the refactor freeze cycle and is intended for validation and regression testing before the upcoming stable 1.1.0 release.
Feedback and testing are welcome.
OpenTT v1.0.0
OpenTT v1.0.0
First public release of the OpenTT WordPress plugin.
Highlights
- Table tennis league management
- Automatic standings and rankings
- Context-aware league tables
- Admin control panel
Notes
- Licensed under AGPL-3.0
- Actively developed and open to contributions