diff --git a/CHANGELOG.md b/CHANGELOG.md index c1c77bd..a25035f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,58 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.3.0-rc.1] - 2025-12-10 + +### Added + +- **Tag/Category System** - Complete tag support with hierarchical organization + - Tag creation and management via web UI and Micropub + - Support for Micropub `category` property in JSON and form-encoded requests + - Tag archive pages at `/tags/{tag}` with all tagged notes + - Tag cloud display on homepage showing all used tags + - Tag filtering in database queries (list_notes_by_tag) + - Reserved tag validation (prevents tags like 'api', 'admin', etc.) + - Comprehensive tag management in admin dashboard + - Database schema: tags table with slug and name fields + - Many-to-many relationship between notes and tags + - Automatic tag cleanup (removes orphaned tags) + +- **Strict Microformats2 Compliance** - Enhanced h-entry markup for parsers + - p-category property for each tag in note markup + - dt-updated property displays when note is modified + - dt-published always shown for temporal context + - u-uid property matches u-url for permalink stability + - Proper h-feed structure on homepage and tag archives + - p-name property only when note has explicit title (# heading) + - e-content wraps full note content + - Nested h-card for author within each h-entry + - Homepage displays as complete h-feed with feed properties + +- **h-feed Properties** - Proper feed markup on collection pages + - Homepage marked as h-feed with p-name "Recent Notes" + - Tag archive pages marked as h-feed with descriptive p-name + - Each feed contains multiple h-entry items + - Feed structure validates with Microformats2 parsers + - Supports feed readers and IndieWeb aggregators + +### Changed + +- **Template Structure** - Reorganized for better Microformats2 compliance + - Homepage template now wraps entries in proper h-feed + - Note display templates use semantic h-entry markup + - Tag display integrated throughout note views + - Consistent Microformats2 patterns across all pages + +### Technical Details + +- Migration 006: Add tags table and note_tags junction table +- New module: `starpunk/tags.py` with tag CRUD operations +- Enhanced: `starpunk/notes.py` with tag relationship handling +- Enhanced: `starpunk/micropub.py` with category property support +- Enhanced: Templates with p-category and h-feed markup +- All tests passing (580+ tests) +- 100% backward compatible with existing notes + ## [1.2.0] - 2025-12-09 ### Added diff --git a/starpunk/__init__.py b/starpunk/__init__.py index 2ea04b8..6d411d6 100644 --- a/starpunk/__init__.py +++ b/starpunk/__init__.py @@ -325,5 +325,5 @@ def create_app(config=None): # Package version (Semantic Versioning 2.0.0) # See docs/standards/versioning-strategy.md for details -__version__ = "1.2.0" -__version_info__ = (1, 2, 0) +__version__ = "1.3.0rc1" +__version_info__ = (1, 3, 0, "rc", 1)