mkdlint 0.11.9

A style checker and lint tool for Markdown/CommonMark files, written in Rust.
Documentation
# ✅ v0.2.0 Release Ready

**Date**: 2026-02-15
**Version**: 0.2.0
**Status**: ✅ **READY FOR RELEASE**

## Pre-Release Checklist

- [x] All tests pass locally (384 total: 316 unit + 19 E2E + 36 integration + 12 snapshot + 1 doc)
- [x] Clippy passes with no warnings (`-D warnings`)
- [x] Documentation builds successfully
- [x] Version bumped to 0.2.0 in Cargo.toml
- [x] CHANGELOG.md updated with v0.2.0 release notes
- [x] All changes committed
- [x] Package verification successful (`cargo publish --dry-run`)

## Release Highlights

### 🔧 Auto-Fix Improvements

Added auto-fix support for 14 additional rules:
- MD011: Reversed link syntax
- MD023: Indented headings
- MD026: Trailing punctuation in headings
- MD034: Bare URLs
- MD035: Horizontal rule style
- MD037: Spaces inside emphasis markers
- MD038: Spaces inside code spans
- MD039: Spaces inside link text
- MD040: Fenced code language (configurable default)
- MD044: Proper names capitalization
- MD048: Code fence style
- MD049: Emphasis style consistency
- MD050: Strong style consistency
- MD058: Tables blank lines

**Total**: 24+ auto-fixable rules

### 🎨 Enhanced Error Display

- Rich error display with source context
- Colored caret underlines (^^^) pointing to exact error locations
- Line number gutter for context
- Respects `--no-color` flag for CI environments

### 🚀 CI/CD Infrastructure

- **Multi-platform testing**: Ubuntu, macOS, Windows
- **Automated linting**: rustfmt + clippy on every PR
- **Benchmark comparison**: Performance regression detection
- **Code coverage**: cargo-tarpaulin + Codecov integration
- **Security auditing**: cargo-audit + cargo-deny (daily)
- **Binary releases**: Automated builds for 5 platforms
- **crates.io publishing**: Automated on version tags

### ⚡ Performance

- 22% faster on small files (130µs → 102µs)
- 19% faster on multi-file workloads (667µs → 540µs)

### 📦 Package Info

- **Name**: mkdlint
- **Version**: 0.2.0
- **License**: Apache-2.0
- **Repository**: https://github.com/192d-Wing/mkdlint
- **Documentation**: https://docs.rs/mkdlint
- **Package size**: 602.0 KiB (99.5 KiB compressed)
- **Files**: 110

## Next Steps

### To Create Release:

```bash
# 1. Create annotated tag
git tag -a v0.2.0 -m "Release v0.2.0"

# 2. Push commits and tag
git push origin main
git push origin v0.2.0
```

### Automated Actions (via GitHub Actions):

1. **GitHub Release Creation**
   - Extract changelog for v0.2.0
   - Create release with changelog as description
   - Upload binary artifacts for:
     - Linux x86_64
     - Linux aarch64
     - macOS x86_64
     - macOS aarch64
     - Windows x86_64

2. **crates.io Publishing**
   - Verify version matches tag
   - Run full test suite
   - Run clippy checks
   - Publish to crates.io

### Post-Release Verification:

- [ ] GitHub release created: https://github.com/192d-Wing/mkdlint/releases/tag/v0.2.0
- [ ] Binary artifacts uploaded (5 platforms)
- [ ] crates.io updated: https://crates.io/crates/mkdlint/0.2.0
- [ ] Documentation updated: https://docs.rs/mkdlint/0.2.0
- [ ] CI badges showing passing status

## Manual Testing Commands

```bash
# Test installation from local source
cargo install --path .

# Test the CLI
mkdlint README.md
mkdlint --fix tests/fixtures/*.md
mkdlint --output-format json .

# Test as library
cargo build --no-default-features
cargo build --features async
```

## Known Issues

None currently identified.

## Breaking Changes

None - this is a minor version bump with backwards-compatible additions.

## Migration Guide

No migration needed - v0.2.0 is fully backwards compatible with v0.1.0.

## Contributors

See git commit history for full contributor list.

---

**Ready to release!** Follow the steps in [RELEASE.md](RELEASE.md) to proceed.