Files
kfmtbox/CHANGELOG.md
2025-09-01 17:02:48 -05:00

3.1 KiB

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.

[Unreleased]

Added

  • Initial release of kfmtbox
  • Support for flower box comment formatting
  • File type detection from filename and explicit filetype
  • Text wrapping with balanced line lengths
  • Existing comment detection and reformatting
  • YAML configuration support for custom comment styles
  • Support for 25+ programming languages
  • CLI interface with comprehensive options
  • Unit tests for core functionality
  • GitHub Actions CI/CD pipeline
  • Comprehensive documentation

Features

  • Beautiful Unicode box drawing characters (╭╮╰╯│─)
  • Smart text wrapping with configurable max width
  • Automatic comment style detection
  • Configuration file support
  • Editor integration examples
  • Cross-platform support (Linux, macOS, Windows)

[0.1.0] - 2024-09-01

Added

  • Initial release
  • Core flower box rendering functionality
  • File type detection system
  • Text wrapping and balancing
  • YAML configuration support
  • CLI argument parsing with clap
  • Comprehensive test suite
  • Documentation and examples

Supported File Types

  • Rust (.rs) → //
  • Python (.py) → #
  • JavaScript (.js) → //
  • TypeScript (.ts) → //
  • Go (.go) → //
  • Java (.java) → //
  • C/C++ (.c, .cpp, .h, .hpp) → //
  • C# (.cs) → //
  • PHP (.php) → //
  • Ruby (.rb) → #
  • Shell (.sh, .bash, .zsh, .fish) → #
  • Vim (.vim) → "
  • Lua (.lua) → --
  • SQL (.sql) → --
  • YAML (.yaml, .yml) → #
  • TOML (.toml) → #
  • INI (.ini, .cfg) → ;
  • Dockerfile → #
  • Makefile → #
  • CMake (CMakeLists.txt) → #

CLI Options

  • -f, --filename - Input filename for file type detection
  • -t, --filetype - File type for comment style detection
  • -w, --max-width - Maximum line width (default: 120)
  • -h, --help - Print help information
  • -V, --version - Print version information

Configuration

  • YAML configuration file support
  • Custom comment style definitions
  • Platform-specific config locations
  • Default fallback comment styles

Testing

  • Unit tests for all core modules
  • Integration tests for CLI functionality
  • Text wrapping and balancing tests
  • Comment detection and extraction tests
  • Cross-platform compatibility testing

Documentation

  • Comprehensive README with examples
  • Contributing guidelines
  • Code of conduct
  • Security policy
  • API documentation
  • Editor integration examples

Version Numbering

This project uses Semantic Versioning:

  • MAJOR version when you make incompatible API changes
  • MINOR version when you add functionality in a backwards compatible manner
  • PATCH version when you make backwards compatible bug fixes

Types of Changes

  • Added for new features
  • Changed for changes in existing functionality
  • Deprecated for soon-to-be removed features
  • Removed for now removed features
  • Fixed for any bug fixes
  • Security for vulnerability fixes