Repository navigation
v0.3.4
Release v0.3.4
Release Notes
Overview
This release focuses on improving codebase maintainability, modularity, and long-term health. It addresses technical debt by reorganizing large files and functions, aligning with project guidelines for readability and maintainability. There are no breaking changes or required migration steps for users.
Improvements
Codebase Organization and Maintainability
-
Refactored Large Files and Functions
- The previously monolithic LSP handler file (
handlers.go) has been split into feature-specific modules (e.g.,handlers_codeaction.go,handlers_completion.go). - Large functions, especially those handling LSP requests, have been decomposed into smaller, focused helpers.
- The main LSP server dispatch logic now uses a handler map instead of a large switch statement, making it easier to extend and maintain.
- Test files mirror this new structure, improving test clarity and maintainability.
Why this matters:
These changes make the codebase easier to read, understand, and contribute to. Smaller files and functions reduce cognitive load and help new contributors onboard faster. - The previously monolithic LSP handler file (
-
Consistent Import Paths
- All internal imports now use the canonical
codeberg.org/snonux/hexaimodule path, ensuring consistency and avoiding confusion for downstream users and contributors.
Why this matters:
Consistent import paths prevent build issues and make it clear where each package originates, especially important for open-source projects. - All internal imports now use the canonical
-
Removed Outdated Review Artifacts
- The
REVIEWRESULT.mdfile, which documented past code review findings and recommendations, has been removed as its recommendations have now been implemented.
Why this matters:
Keeping only up-to-date documentation reduces confusion and ensures users and contributors are not misled by outdated information. - The
Documentation
-
Expanded README
- Added a section on source structure and updated installation instructions to reflect the new module path and binary names.
Why this matters:
Clear documentation helps users quickly install and understand the project layout, lowering the barrier to entry.
Bug Fixes
-
Test and Import Path Corrections
- All test and source files now use the correct module import path, preventing issues when building or testing the project from different environments.
Why this matters:
Ensures reliability and consistency across development setups.
Migration Notes
- No Breaking Changes
- There are no breaking changes in this release. All public APIs and configuration formats remain compatible with previous versions.
How to Update
- Update your local repository and rebuild using the new module path:
go install codeberg.org/snonux/hexai/cmd/hexai@latest go install codeberg.org/snonux/hexai/cmd/hexai-lsp@latest
Thank you for using Hexai! These improvements lay the groundwork for easier future enhancements and a more sustainable codebase.