Skip to content

v0.3.4

Choose a tag to compare

@snonux snonux released this 07 Feb 19:48
· 508 commits to main since this release

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.

  • Consistent Import Paths

    • All internal imports now use the canonical codeberg.org/snonux/hexai module 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.

  • Removed Outdated Review Artifacts

    • The REVIEWRESULT.md file, 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.

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.