Releases: pekkah/tanka-docs-gen
1.2.2
🐛 Bug Fixes
Init Command Critical Fix
- Fixed init command configuration templates to generate valid YAML (#279)
- Corrected field names to match schema (name → title)
- Fixed configuration structure for branches and tags
- Added all required fields for proper initialization
- This fixes a critical issue where new users couldn't properly initialize projects
UI & Accessibility Improvements
- Added proper button type attribute to navigation toggle (#267)
- Fixed theme handling to prevent flash of unstyled content (#266)
- Consolidated duplicate theme management code
📦 Dependencies
- Updated Markdig to 0.41.3
- Updated gitversion.tool to 6.4.0
- Updated Microsoft.Extensions.DependencyInjection to 9.0.8
🙏 Thanks
Thanks to all contributors and users who reported issues!
1.2.1
1.2.0
1.1.0
What's Changed
- Claude PR Assistant workflow by @pekkah in #256
- Update claude.yml by @pekkah in #259
- feat: implement unified asset handling for xref:// image resolution (Issue #260) by @pekkah in #261
- fix: add mobile hamburger menu and auto-close functionality for left sidebar (fixes #262) by @pekkah in #263
Full Changelog: 1.0.4...1.1.0
1.0.4
What's Changed
Features
- Configurable Link Validation: Added --link-validation parameter to both build and dev commands
- Build command defaults to strict mode (fails on broken xref references)
- Dev command defaults to relaxed mode (shows warnings but continues)
- Broken xrefs in relaxed mode generate placeholder links for better developer experience
Bug Fixes
- Exit Code Propagation: Fixed build failures returning exit code 0 instead of proper error codes (Issue #251)
- Security Enhancement: Improved file filtering for Files sections to prevent unauthorized access (Issue #238)
- XREF Resolution: Enhanced cross-reference link handling for long filenames (Issue #248)
Improvements
- Added consistent error/warning styling throughout the application
- Enhanced development workflow with better error handling in watch mode
- Improved CI/CD compatibility with proper exit codes
Full Changelog: https://github.com/pekka/tanka-docs-gen/compare/1.0.3...1.0.4
🤖 Generated with Claude Code
Co-Authored-By: Claude [email protected]
v1.0.3
What's New in v1.0.3
🚀 Critical Fixes
- Fixed build exit codes (#251, #252) - Build failures now properly return non-zero exit codes, allowing CI/CD systems to detect and handle documentation build failures correctly
- Enhanced security filtering (#238, #249) - Implemented comprehensive file filtering to prevent sensitive files (.env, .key, .pem, secrets, etc.) from being exposed in Files sections
🔧 Improvements
- XREF long filename handling (#248, #249) - Verified and added tests to confirm XREF parsing works correctly with long filenames
- CI/CD pipeline enhancements - Improved NuGet publishing and deployment processes
🛡️ Security
- Configurable file security filtering with default patterns for sensitive files
- Priority handling where security filtering overrides hidden file settings
- 45+ comprehensive test cases covering security scenarios
📋 Full Changelog
- Fix build failures returning exit code 0 (#252)
- Fix XREF long filename issue and implement Files section security filtering (#249)
- Restore master branch NuGet publishing for beta versions
- Restrict NuGet publishing to tags only for security
🔄 Migration Notes
- Breaking: None - this is a patch release with backward compatibility
- CI/CD Impact: Build failures will now properly fail CI/CD pipelines (this was the intended behavior)
- Security: Files sections will now automatically exclude sensitive files by default
🏷️ Installation
dotnet tool install --global Tanka.DocsGen --version 1.0.3Or update existing installation:
dotnet tool update --global Tanka.DocsGen🤖 Generated with Claude Code
1.0.2
Bug Fixes
Critical Fix: Resolved v1.0.1 regression causing "Cannot access a closed Stream" errors during HTML composition.
What Was Fixed
- Fixed stream disposal issue in
DocsMarkdownServicewhereStreamWriterwas prematurely closing underlying streams - Added
leaveOpen: trueparameter to allStreamReader/StreamWriterconstructors - Preserved UTF-8 encoding support for emoji characters from v1.0.1
Root Cause
The v1.0.1 UTF-8 encoding changes inadvertently altered stream disposal behavior. The StreamWriter(Stream, Encoding) constructor disposes the underlying stream by default, but external components still needed access to those streams.
Testing
- Added comprehensive unit tests reproducing the regression
- Verified fix works with manual documentation builds
- All existing functionality preserved
Impact
This release resolves the critical regression affecting all users who upgraded to v1.0.1. Users experiencing "Cannot access a closed Stream" errors should upgrade immediately.
Fixes: #246
🤖 Generated with Claude Code
1.0.1
Bug Fixes
- Fixed HTML composition failures caused by emoji characters in Markdown files
- Fixed Spectre.Console markup parsing interference with user content
- Added explicit UTF-8 encoding to all file operations
- Enhanced error messages with content preview for debugging
Technical Changes
- Updated GitVersion from 5.8.1 to 6.3.0 with v6 configuration syntax
- Improved error handling in PageComposer and DocsMarkdownService
- Added Markup.Escape() for all user content in console output
🤖 Generated with Claude Code
0.10.0
Full Changelog: 0.9.5...0.10.0