Releases: brockers/mark
Releases · brockers/mark
Release v0.1.3
Release Notes
v0.1.3 - 2026-01-28
Refactoring
- Unified shell configuration (df84aad)
- Consolidate all shell configuration (aliases AND completions) into single RC files
- Bash:
~/.mark_bash_rc, Zsh:~/.mark_zsh_rc, Fish:~/.config/fish/conf.d/mark.fish - Single source line in shell config with existence check
- Feature tracking header in RC files (
# Features: aliases completions) - Automatic migration from legacy configuration format
Documentation
-
Simplified README (6cbbe40)
- Reduced from 269 to 79 lines (70% smaller)
- Quick Start workflow replaces verbose examples
- Compact usage table for command reference
- Consolidated developer docs into CLAUDE.md
-
Developer documentation improvements (63231ee, 88b8ae0, f955260)
- Added critical requirement to never run
git addwithout permission - Expanded test coverage breakdown table
- Manual shell completion troubleshooting guide
- Updated version references
- Added critical requirement to never run
Bug Fixes
- Release script (3ad9da0)
- Fix incorrect binary name (
./note→./mark) - Update test command (
make test-all→make test)
- Fix incorrect binary name (
Features
- New flags (df84aad)
- Add
--configureas alias for--config - Update completion scripts to include
--configure
- Add
v0.1.2 - 2026-01-13
Features
-
Completion enhancements
- Display bookmark paths in tab completion for easier navigation (f3a1156)
- Improved visibility of bookmark targets during completion
-
Bookmark improvements
- Add custom path support for creating bookmarks (6a48409)
- Enhanced broken bookmark visibility in listings
Bug Fixes
- Completion fixes
Refactoring
- Project structure
- Reorganize Claude command files into commands directory (e551daf)
- Better organization following Claude Code conventions
v0.0.1 - Initial Release (TBD)
Status: In Development
Features
-
Core bookmark management
- Create bookmarks with
mark(uses current directory name) - Create named bookmarks with
mark <name> - List all bookmarks with
mark -l - Delete bookmarks with
mark -d <name> - Jump to bookmarks with
mark -j <name>(prints path for shell function)
- Create bookmarks with
-
Symlink-based storage
- Bookmarks stored as symbolic links in
~/.marks/ - Broken symlink detection and indication in listing
- Simple, filesystem-native approach
- Bookmarks stored as symbolic links in
-
Shell integration
- Bash/Zsh/Fish completion support
- Shell aliases:
marks,unmark,jump - Jump function wraps
mark -jwith cd command
-
Configuration
- Simple setup asks only for marks directory location
- Config stored in
~/.markfile - Automatic directory creation
-
Unix-style CLI
- Standard flags:
-h,-v,-l,-d,-j - Long flags:
--help,--version,--config,--autocomplete,--alias - Version information in binary
- Standard flags:
Implementation Details
- Zero external dependencies (Go standard library only)
- Single binary design (mark binary only)
- GPL-3.0 licensed
- Cross-platform support (Linux, macOS, BSD)
Planned Improvements
- Unit tests and integration test suite
- Comprehensive completion tests
- Setup integration tests
- Enhanced error handling for edge cases
Release Process
Creating a New Release
-
Pre-release validation
make clean make vet make fmt git diff --exit-code # Ensure no changes from fmt make test-all # All tests must pass
-
Update version
# For patch release (0.0.1 -> 0.0.2) make bump # For minor release (0.0.1 -> 0.1.0) make bump-minor # For major release (0.0.1 -> 1.0.0) make bump-major
-
Build release binary
make release ./mark --version # Verify version info -
Update RELEASE.md
- Add release notes for the new version
- Document new features, bug fixes, changes
- Include breaking changes if any
-
Push tag
git push origin v0.0.2
Version Numbering
Following semantic versioning (semver):
- MAJOR version: Incompatible API changes
- MINOR version: Backwards-compatible new functionality
- PATCH version: Backwards-compatible bug fixes
Release Checklist
- All tests passing (
make test-all) - Code formatted (
make fmt) - No static analysis warnings (
make vet) - RELEASE.md updated with new version notes
- Version tag created (
make bump*) - Release binary built (
make release) - Binary version verified (
./mark --version) - Tag pushed to origin
Changelog Format
Each release should document:
Added
- New features
Changed
- Changes to existing functionality
Deprecated
- Soon-to-be removed features
Removed
- Removed features
Fixed
- Bug fixes
Security
- Security improvements or fixes
v0.1.2 Initial Binary Release
Release Notes
v0.1.2 - 2026-01-13
Features
-
Completion enhancements
- Display bookmark paths in tab completion for easier navigation (f3a1156)
- Improved visibility of bookmark targets during completion
-
Bookmark improvements
- Add custom path support for creating bookmarks (6a48409)
- Enhanced broken bookmark visibility in listings
Bug Fixes
- Completion fixes
Refactoring
- Project structure
- Reorganize Claude command files into commands directory (e551daf)
- Better organization following Claude Code conventions
v0.0.1 - Initial Release (TBD)
Status: In Development
Features
-
Core bookmark management
- Create bookmarks with
mark(uses current directory name) - Create named bookmarks with
mark <name> - List all bookmarks with
mark -l - Delete bookmarks with
mark -d <name> - Jump to bookmarks with
mark -j <name>(prints path for shell function)
- Create bookmarks with
-
Symlink-based storage
- Bookmarks stored as symbolic links in
~/.marks/ - Broken symlink detection and indication in listing
- Simple, filesystem-native approach
- Bookmarks stored as symbolic links in
-
Shell integration
- Bash/Zsh/Fish completion support
- Shell aliases:
marks,unmark,jump - Jump function wraps
mark -jwith cd command
-
Configuration
- Simple setup asks only for marks directory location
- Config stored in
~/.markfile - Automatic directory creation
-
Unix-style CLI
- Standard flags:
-h,-v,-l,-d,-j - Long flags:
--help,--version,--config,--autocomplete,--alias - Version information in binary
- Standard flags:
Implementation Details
- Zero external dependencies (Go standard library only)
- Single binary design (mark binary only)
- GPL-3.0 licensed
- Cross-platform support (Linux, macOS, BSD)
Planned Improvements
- Unit tests and integration test suite
- Comprehensive completion tests
- Setup integration tests
- Enhanced error handling for edge cases
Release Process
Creating a New Release
-
Pre-release validation
make clean make vet make fmt git diff --exit-code # Ensure no changes from fmt make test-all # All tests must pass
-
Update version
# For patch release (0.0.1 -> 0.0.2) make bump # For minor release (0.0.1 -> 0.1.0) make bump-minor # For major release (0.0.1 -> 1.0.0) make bump-major
-
Build release binary
make release ./mark --version # Verify version info -
Update RELEASE.md
- Add release notes for the new version
- Document new features, bug fixes, changes
- Include breaking changes if any
-
Push tag
git push origin v0.0.2
Version Numbering
Following semantic versioning (semver):
- MAJOR version: Incompatible API changes
- MINOR version: Backwards-compatible new functionality
- PATCH version: Backwards-compatible bug fixes
Release Checklist
- All tests passing (
make test-all) - Code formatted (
make fmt) - No static analysis warnings (
make vet) - RELEASE.md updated with new version notes
- Version tag created (
make bump*) - Release binary built (
make release) - Binary version verified (
./mark --version) - Tag pushed to origin
Changelog Format
Each release should document:
Added
- New features
Changed
- Changes to existing functionality
Deprecated
- Soon-to-be removed features
Removed
- Removed features
Fixed
- Bug fixes
Security
- Security improvements or fixes