All notable changes to Chainlink will be documented in this file.
The format is based on Keep a Changelog.
- Add comprehensive edge case testing (proptest, CLI fuzzing, Unicode E2E) (#50)
- Improve session management with auto-start and stronger rules (#48)
- Add sanitizing MCP server for safe web fetching (#47)
- Add macOS binary support to VSCode extension with cross-compilation (#32)
- Auto-create CHANGELOG.md if it doesn't exist when closing issues
- Automatic CHANGELOG.md updates when closing issues (based on labels)
--no-changelogflag to skip changelog entry for internal workchainlink exportnow outputs to stdout by default, use-ofor file output
- Add unit tests for session.rs command (#64)
- Add security-focused tests (#82)
- Add unit tests for show.rs command (#58)
- Add unit tests for delete.rs command (#57)
- Add unit tests for update.rs command (#56)
- Add unit tests for label.rs command (#61)
- Add unit tests for status.rs command (#60)
- Add unit tests for search.rs command (#59)
- Add unit tests for models.rs (#75)
- Add unit tests for comment.rs command (#62)
- Add unit tests for create.rs command (#55)
- Add Unicode E2E integration tests (#53)
- Add CLI-layer fuzz target for list/show output (#52)
- Add proptest for string handling functions (#51)
- Issue titles are now expected to be changelog-ready (verb + description)
- Project infographic for README
- Fix UTF-8 panic in list truncation (#49)
- Fix macOS cross-compilation linker configuration (#34)
- Import/export roundtrip issues with parent relationships
- Elixir and Phoenix language rules (community contribution from @Viscosity4373)
- Build system automatically rebuilds Rust binaries when packaging extension
- Improved global.md defaults for AI agents
- Extension binary update detection (now always overwrites)
- Packager issues
- VSCode extension for seamless integration
- Agent-agnostic context provider (works with any AI assistant)
- Fuzzing targets for security testing (fuzz_create_issue, fuzz_import, fuzz_search, fuzz_dependency_graph, fuzz_state_machine)
- Property-based testing with proptest
- Cross-platform CI (Windows, macOS, Linux)
- Database corruption recovery
- Daemon auto-start on session start
- ~88% code coverage
- Add web.md prompt injection defense rule for external content (#33)
- Bump qs dependency to fix vulnerability
- Path handling issues on Windows
- Various edge cases found through fuzzing
- Test reliability improvements
- Issue templates (bug, feature, refactor, research)
- Hook-based test reminder system
- Export/Import functionality (JSON format)
- Milestones for grouping issues
- Issue archiving for completed work
- Best practices rules for 15 programming languages:
- Rust, Python, JavaScript, TypeScript, Go, Java, C#, C++
- Ruby, PHP, Swift, Kotlin, Scala, Haskell
- Composable rules system for better maintainability
- Language detection now checks subdirectories
- Initial release
- Core issue management (create, show, update, close, reopen, delete)
- Issue hierarchy with subissues
- Labels and comments
- Dependencies (block/unblock)
- Issue relations (relate/unrelate)
- Session management with handoff notes
- Timer for time tracking
- Tree view for issue hierarchy
- Search functionality
- Priority levels (low, medium, high, critical)
- SQLite storage (
.chainlink/issues.db) - Claude Code hooks integration
- Smart navigation suggestions
chainlink nextcommand for work suggestions
Chainlink is designed to be:
- Simple: No complex setup, just
chainlink init - Lean: Single binary, SQLite storage, no external dependencies
- AI-First: Built for AI-assisted development workflows
- Context-Preserving: Session handoff notes survive context resets