Releases: xscriptor/gitnapse
Releases · xscriptor/gitnapse
v0.1.0
What's Changed
- init GitNapse by @xscriptor
Changelog
All notable changes to this project are documented in this file.
[0.1.0] - 2026-04-26
Added
- Rust-first terminal application structure with modular architecture for app state, rendering, auth, API, cache, syntax, and OAuth session management.
- TUI experience powered by
ratatui+crossterm, including responsive panes and contextual navigation hints. - Repository discovery with pagination, default query behavior, and adaptive list viewport rendering.
- Repository exploration with branch switching, lazy tree loading, tree mode, and file search within tree.
- Preview pane with syntax-aware rendering, keyboard scroll, and mouse wheel scroll support.
- Mouse interactions for pane focus, row selection, and double-click open actions.
- In-app clone workflow with editable destination path.
- In-app single-file download modal and CLI file download command.
- Authentication command set for token set/status/clear and OAuth login/status flows.
- OAuth Device Flow support through
octocrabwith client id resolution precedence (CLI/env/default). - OAuth session persistence with expiry metadata and optional refresh support when client secret variables are available.
- Secure secret storage abstraction with OS-aware keyring backend and file fallback for environments without keyring support (for example WSL).
- Remote installation/uninstallation scripts:
scripts/install.shfor Linux/macOS.scripts/install.ps1for Windows.
- Release automation workflow to build artifacts for Ubuntu/Fedora/Arch/Windows/macOS and publish GitHub Releases.
- Security and quality workflow for fmt, clippy, tests, and dependency audit.
- Integration and security-focused tests in
tests/for auth precedence, search behavior (@me), and secure storage fallback.
Changed
- OAuth behavior in TUI was simplified to avoid unreliable in-interface flow and to guide users toward the stable CLI login path.
- Search semantics were extended to support authenticated own-repository queries (
@me,me:) with optional filtering. - Release workflow was hardened with:
- Node 24 migration readiness.
- modern action versions.
- explicit release repository targeting for
gh. - robust publish token fallback from GitHub App token to workflow
GITHUB_TOKENwhen App integration permissions are insufficient.
Fixed
- Fixed rustls runtime panic by ensuring crypto provider installation before OAuth flow.
- Fixed missing
.envloading behavior at startup for auth-related configuration. - Fixed repository list scroll rendering mismatch (selection moved but viewport content did not).
- Fixed tree and preview focus/scroll edge cases and escape/back navigation behavior.
- Fixed multiple mouse interaction inconsistencies for selection/opening/scrolling.
- Fixed YAML packaging block for Arch metadata generation in release workflow.
- Fixed lockfile consistency issues affecting
--lockedbuilds in CI.
Security
- Improved secret handling by preferring keyring storage and limiting plaintext fallback to controlled file mode where needed.
- Added security policy and dependency audit process documentation.
- Added automated vulnerability audit execution in CI.
Documentation
- Added and expanded documentation set:
docs/USAGE.mddocs/ARCHITECTURE.mddocs/OAUTH_AUTHENTICATION.mddocs/INSTALLATION.mddocs/REMOTE_INSTALLATION.mddocs/RELEASE_WORKFLOW.mddocs/COLLABORATIVE_SECTION.mddocs/tests/README.mddocs/tests/SECURITY_AUDIT.mddocs/tests/TEST_COVERAGE.md
- Added community and governance files:
SECURITY.mdCODE_OF_CONDUCT.mdCONTRIBUTING.md
Full Changelog: https://github.com/xscriptor/gitnapse/commits/v0.1.0