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.
[0.9.6] – 2026-01-26
- Fix homepage and docs archive to display projects without project_type meta
[0.9.5] – 2026-01-26
Added
- Add –all flag to CLI sync command for batch sync of all projects
Fixed
- Fix SyncAbilities depth check (was still using depth-1)
[0.9.4] – 2026-01-26
- Change sync to target depth-0 project terms
[0.9.3] – 2026-01-26
- Fix delete_child_terms() to filter by parent in PHP (parent__not_in not valid)
[0.9.2] – 2026-01-26
- Enhanced reset-documentation ability to delete all child terms and reset sync metadata
- Complete codebase to project nomenclature cleanup
[0.9.1] – 2026-01-24
- Add DocsAbilities class with targeted documentation reset functionality
- Register chubes/reset-documentation ability endpoint
- Deletes all documentation posts while preserving active projects
- Removes orphaned project terms (those without GitHub URLs)
- Enables clean documentation rebuild via existing sync mechanisms
- Provides extensible foundation for future documentation management abilities
[0.9.0] – 2026-01-24
- Redesigned chubes/get-projects ability to always return hierarchical structure with bi-directional project type associations
- Created chubes/get-project-types ability to provide dedicated endpoint for project types with associated projects
- Enhanced project and project type responses to always include full metadata (GitHub URL, WordPress URL, installs, last sync)
- Removed confusing API flags (tree_format, include_project_types) for simplified, always-complete responses
[0.8.5] – 2026-01-24
-
Fixed
- Fixed project types not appearing in wp-admin sidebar by associating project_type taxonomy with documentation CPT
- Fixed missing get_project_type_term method causing REST field errors
Added
- Added comprehensive tags support for documentation posts (CPT supports, taxonomies, REST API integration)
- Added consolidated chubes/get-projects WP Abilities API ability replacing chubes/get-project-tree
- Added chubes/get-projects ability with flexible filtering: project types, post IDs, tree format, flat lists by count
- Added reverse lookup functionality: filter projects by project type(s)
- Added full REST API support for both project types and tags
Changed
- Consolidated project-related queries into single, more primitive WP Abilities API capability
- Enhanced project type taxonomy visibility: show_in_menu, show_admin_column
- Updated REST fields to use Abilities API with fallback compatibility
[0.8.4] – 2026-01-24
Fixed
- Documentation archive description now displays on /docs/ page
- Homepage doc counts now show correct project totals instead of inflated sums
[0.8.3] – 2026-01-24
- Fix fatal error: replace get_project_type_from_meta with get_project_type in Project.php
[0.8.2] – 2026-01-24
Fixed
- Fix fatal error by adding missing filter_show_description method in Archive class
[0.8.1] – 2026-01-24
Changed
- Correct taxonomy hierarchy understanding
- Update docblocks to reflect codebase → project rename
[0.8.0] – 2026-01-24
Changed
- Switched project type storage from taxonomy to term meta on depth-1 category terms
- Renamed project taxonomy to project throughout the system
- Updated archive template to group projects by term meta instead of taxonomy
- Added new sync/doc and sync/batch REST API endpoints
- Removed TaxonomyMigrateCommand and related migration logic
[0.7.0] – 2026-01-24
Fixed
- Complete taxonomy migration: Migrated all references from ‘codebase’ to ‘project’ taxonomy across templates, API routes, breadcrumbs, and meta keys
- Docblock fixes: Closed unclosed docblocks in Project.php that were causing fatal errors
- Meta key consistency: Updated all meta key references from
codebase_*toproject_*prefix throughout the codebase
Changed
- Simplified archive structure: Docs archive and homepage now use project_type taxonomy directly
- Homepage nesting: Simplified homepage documentation nesting to use top level project term directly after refactor
Added
- Documentation updates: Various documentation improvements and updates
[0.6.0] – 2026-01-24
Added
- Add project_type taxonomy for explicit project categorization (wordpress-plugins, wordpress-themes, cli)
Changed
- Rename project taxonomy to project, update all references and API endpoints
[0.5.6] – 2026-01-23
Changed
- Related posts section uses semantic article.related-post-item structure instead of doc-card classes
- Project link text changed from ‘Home’ to ‘All … Docs’ for clarity
[0.5.5] – 2026-01-23
- Added WP-CLI ‘chubes codebase tree’ command to display taxonomy hierarchy
- Improved logging in ‘chubes codebase ensure’ command
[0.5.4] – 2026-01-23
Added
- Add documentation search bar for archive pages (WIP)
Fixed
-
Fix resolve_path to search by name instead of slug to prevent duplicate taxonomy terms
-
Add filter to suppress duplicate archive description on codebase project pages
-
Convert EM units to REM/CSS variables in archives and related-posts CSS
[0.5.3] – 2026-01-23
- Update documentation CPT description to mention GitHub sync
[0.5.2] – 2026-01-23
Added
- Sync GitHub repository description to codebase term description during sync
[0.5.1] – 2026-01-23
Fixed
- Always process markdown for synced GitHub content, fixing formatting issues where content displayed as raw text
[0.5.0] – 2026-01-23
Added
- Project info card component for codebase term archives
Changed
- Migrated markdown library from erusev/parsedown to league/commonmark ^2.5 for improved formatting support
- Archive styling: centered card stats and updated label from Guide/Guides to Doc/Docs
[0.4.1] – 2026-01-20
- Changed: replaced hardcoded colors with CSS design system variables
[0.4.0] – 2026-01-20
- Relocated Abilities API to inc/Abilities/ directory with new chubes/get-codebase-tree ability for hierarchy inspection
[0.3.3] – 2026-01-20
- Fixed term section styling – card wrapper for nested sections, properly centered view all button
[0.3.2] – 2026-01-20
- Improved term section visual hierarchy with header borders and centered View all links
[0.3.1] – 2026-01-20
Fixed
- Redundant "View all" links: Conditionally render "View all →" link in archive term sections only when the term has direct posts assigned, preventing redundant navigation for terms that only contain children with posts
[0.2.8] – 2026-01-03
Added
- REST API Sync Endpoints: New authenticated endpoints for all sync operations (
sync/all,sync/term,test-token,test-repo). - Unified Permission Callbacks: Centralized REST API capability checks for admin operations.
Changed
- AJAX to REST Migration: Completely replaced legacy WordPress AJAX handlers with modern REST API endpoints for manual sync operations.
- Architectural Refactor: Consolidated sync logic into
SyncController, reducing codebase complexity. - Improved Asset Management: Centralized admin JavaScript enqueuing in
inc/Core/Assets.phpwith proper screen targeting. - Settings UI Cleanup: Streamlined the GitHub connection diagnostic interface.
Removed
- Legacy AJAX Handler: Deleted
inc/Admin/SyncAjax.phpand its associated hooks.
[0.2.7] – 2026-01-02
Changed
- Robust Error Handling in Admin UI: Improved
admin-sync.jsto gracefully handle empty or malformed API responses during repository connectivity tests. - GitHub Repository Parsing: Enhanced
GitHubClientto properly handle and strip.gitextensions from repository URLs, ensuring consistent API endpoint construction.
[0.2.6] – 2026-01-02
Added
- GitHub Connection Diagnostics: New tools on the settings page to test the GitHub Personal Access Token and verify API permissions
- Individual Repository Testing: Ability to test connectivity and permissions for specific repository URLs directly from the settings page
- On-demand Term Sync: Added "Sync Now" and "Test Connection" buttons directly to the codebase term edit screen for immediate manual synchronization and troubleshooting
Changed
- Enhanced AJAX Sync Interface: Improved admin-sync.js with modular event listeners and detailed diagnostic reporting
- Improved GitHub API Diagnostics:
GitHubClientnow returns detailed diagnostic info including OAuth scopes, organization visibility, SAML SSO enforcement, and rate limit status - Stricter GitHub API Error Handling: Enhanced detection of SAML SSO requirements and missing commit SHAs with descriptive error messages
- Dynamic Asset Versioning: Switched
admin-sync.jsto usefilemtimefor versioning to ensure immediate cache busting on updates
Fixed
- Improved Error Reporting in RepoSync: Now correctly captures and displays specific GitHub API error messages when sync fails
- Admin Script Loading: Restricted
admin-sync.jsto only load on documentation settings and codebase edit screens - DOMContentLoaded logic: Updated admin-sync.js to use standard DOMContentLoaded listener for better reliability
[0.2.5] – 2026-01-02
Fixed
- Meta key consistency in
Codebase::get_github_url()andCodebase::get_wp_url()to usecodebase_prefix, aligning with the rest of the plugin’s metadata handling
[0.2.4] – 2025-12-23
Fixed
- Centered project and card statistics in archive templates using
justify-content: center; - Removed redundant margin-bottom from
.project-statsand.card-statsfor cleaner layout
Technical Details
- Updated
.project-statsand.card-statsflexbox styling inassets/css/archives.css
[0.2.1] – 2025-12-01
Added
- New
/sync/setupAPI endpoint for automated project and category creation with proper hierarchy - Enhanced sync system with improved term handling using
project_term_idandsubpathparameters - Complete rewrite of URL routing for hierarchical
/docs/URLs with better path resolution - Enhanced path resolution in
Codebase::resolve_path()with term creation capabilities and better error handling - New documentation files:
docs/troubleshooting.md,docs/migration-guide.md,docs/development.mdwith comprehensive guides - CLAUDE.md file with AI agent collaboration instructions
Changed
- Refactored SyncController to use new term structure instead of
codebase_patharrays - Updated API routes to support new sync parameters and project setup functionality
- Improved RewriteRules system for better hierarchical documentation URL handling
- Enhanced SyncManager with better term resolution and subpath handling
- Updated all documentation to reflect v0.2.1 API changes and new parameter formats
Technical Details
- Added
setup_project()method to SyncController for automated taxonomy setup - Refactored
sync_post()method to useproject_term_idandsubpathparameters - Complete rewrite of
RewriteRules::resolve_docs_path()for better URL parsing - Enhanced
Codebase::resolve_path()with creation capabilities and improved error handling - Added
resolve_subpath()private method to SyncManager for nested term creation - Updated API parameter validation for new required fields (
filesize,timestamp)
Fixed
- Improved error handling in sync operations with better validation
- Enhanced term creation logic to prevent duplicate terms and maintain proper hierarchy
- Better URL routing for nested documentation structures
- Updated API examples throughout documentation to use current parameter formats
[0.2.3] – 2025-12-05
Added
- Complete GitHub integration system with automated repository synchronization
- Admin settings page (
/wp-admin/edit.php?post_type=documentation&page=chubes-docs-settings) for GitHub PAT configuration and sync management - Enhanced project taxonomy columns showing GitHub URLs, install counts, and sync status
- AJAX-powered sync operations with real-time status updates in admin interface
- Cron-based automated sync with configurable intervals (hourly/twice daily/daily)
- Sync notification system with email alerts for sync completion and failures
- Admin JavaScript enhancements (
admin-sync.js) for improved user experience
Changed
- Enhanced RepositoryFields with sync status display and improved form handling
- Updated Archive template with better project statistics rendering
- Refined core classes (Codebase, Documentation, RewriteRules) for GitHub integration
- Removed unreleased 0.3.0 section from changelog to align with current versioning
Technical Details
- Added
inc/Admin/namespace withSettingsPage,CodebaseColumns, andSyncAjaxclasses - Added
inc/Sync/namespace withCronSync,GitHubClient,RepoSync, andSyncNotifierclasses - Implemented GitHub API client for repository data fetching and file tree operations
- Added automated taxonomy term creation for hierarchical documentation organization
- Enhanced error handling and status tracking throughout sync operations
Fixed
- Improved admin interface responsiveness and user feedback
- Better error handling in GitHub API communications
- Enhanced validation for repository URLs and sync parameters
[0.2.2] – 2025-12-01
Added
- Enhanced sync validation with
filesizeandtimestampparameters for improved change detection - New API reference documentation (
docs/api-reference.md) with comprehensive endpoint documentation - Development guide (
docs/development.md) with setup and contribution guidelines - Migration guide (
docs/migration-guide.md) for upgrading from previous versions - Sync guide (
docs/sync-guide.md) with detailed synchronization workflows - Taxonomy management guide (
docs/taxonomy-management.md) for codebase organization - Template integration guide (
docs/template-integration.md) for theme customization - Troubleshooting guide (
docs/troubleshooting.md) for common issues and solutions - Quick start section in README.md with practical setup examples
Changed
- Replaced hash-based sync detection with filesize and timestamp validation for better performance
- Updated sync endpoints to require
filesizeandtimestampparameters - Enhanced API parameter validation with stricter requirements for sync operations
- Improved documentation structure with modular guides and comprehensive references
Technical Details
- Modified
SyncManager::sync_post()to acceptfilesizeandtimestampparameters - Updated
SyncControllerto validate and pass new sync parameters - Refactored change detection logic from content hashing to metadata comparison
- Added new API route parameters for enhanced sync validation
[0.2.0] – 2025-11-30
Added
- Complete plugin architecture refactoring with new Core classes for modular functionality
- Documentation custom post type with full Gutenberg support and public archives
- Codebase taxonomy management system with hierarchical term resolution
- Homepage documentation column integration for theme homepage grid
- Archive and CodebaseCard template enhancements for improved frontend display
- New REST API endpoints: codebase tree, path resolution, sync status, and batch operations
- Global helper functions for theme integration (
chubes_get_repository_info,chubes_generate_content_type_url) - New CSS assets (
archives.css) for styling enhancements - Comprehensive development documentation (CLAUDE.md, updated README.md)
Changed
- Refactored API controllers to use new Core architecture instead of global functions
- Updated initialization system with proper class-based loading and dependency management
- Enhanced plugin structure following PSR-4 standards and single responsibility principle
- Improved API documentation in README with complete endpoint reference
Technical Details
- Added 5 new Core classes:
Assets,Breadcrumbs,Codebase,Documentation,RewriteRules - Added 3 new Template classes:
Archive,CodebaseCard,Homepage - Refactored existing controllers to use dependency injection pattern
- Added proper WordPress hooks integration for theme compatibility
- Implemented hierarchical taxonomy resolution for codebase organization
Fixed
- Improved error handling in API controllers
- Enhanced input validation for taxonomy operations
[0.1.0] – 2025-11-XX
Added
- Initial release of Chubes Docs plugin
- Basic REST API sync system for documentation
- Admin enhancements for chubes.net documentation management
- WordPress.org API integration for install tracking
- GitHub repository metadata fetching
- Markdown processing capabilities
ities