Skip to content

Releases: antgroup/hugescm

v0.23.0

22 Apr 09:00

Choose a tag to compare

[0.23.0] - 2026-04-22

Added

  • Hot Diff/Show Commands: Add hot diff and hot show commands for viewing differences in git repositories
  • Interactive Diff Navigation: Add --nav flag to zeta diff and zeta show commands for built-in interactive diff viewer with syntax highlighting
  • Advanced Viewport Module: Import feature-rich viewport component with text wrapping, selection, and filtering capabilities
  • MultiBar Progress: Rewrite progress bar component using bubbles/progress with concurrent multi-bar rendering and EWMA speed tracking
  • LOONG64 Support: Enable builds for LoongArch64 architecture

Changed

  • Patch View Improvements:
    • Refactor patchview module with improved navigation mode
    • Add LRU cache for syntax highlighting (up to 1000 entries)
    • Remove standalone word-diff in favor of integrated nav mode
    • Enhance diff theme and rendering
  • TUI Enhancements:
    • Switch to custom viewport implementation for better control
    • Optimize pager rendering performance
    • Improve word diff performance
  • Code Cleanup:
    • Remove legacy diffformat.go module (287 lines removed)
    • Code tidy and refactoring across multiple modules

Fixed

  • Fix double close issue in writeCredentials for keyring file storage
  • Harden keyring file storage with atomic writes and lock handling
  • Fix truncatePath in hot commands
  • Fix pager status bar space display
  • Fix multi -m flag handling in commit command
  • Fix small bug in diferenco module

Dependencies

  • Updated:
    • charm.land/bubbletea/v2 from v2.0.2 to v2.0.6
    • charm.land/lipgloss/v2 from v2.0.2 to v2.0.3
    • golang.org/x/crypto from v0.49.0 to v0.50.0
    • golang.org/x/net from v0.52.0 to v0.53.0
    • golang.org/x/sys from v0.42.0 to v0.43.0
    • golang.org/x/term from v0.41.0 to v0.42.0
    • golang.org/x/text from v0.35.0 to v0.36.0
  • Added: github.com/zeebo/xxh3 v1.1.0 for fast hashing
  • Removed: github.com/vbauerster/mpb/v8 (replaced by custom MultiBar implementation)

What's Changed

  • build: bump the golang-org group with 4 updates by @dependabot[bot] in #159
  • build: bump charm.land/bubbletea/v2 from 2.0.5 to 2.0.6 by @dependabot[bot] in #160

Full Changelog: v0.22.0...v0.23.0

v0.22.0

27 Mar 02:55

Choose a tag to compare

What's Changed

Added

  • FastCDC Chunking: Implement FastCDC (Content-Defined Chunking) algorithm for AI model storage optimization, supporting Safetensors format (#7)
  • Word Diff: Support simple word-level diff in zeta diff and zeta show commands
  • Secure Keyring Storage: Add keyring support for secure credential storage
    • macOS: Keychain integration
    • Windows: Windows Credential Manager integration
    • Linux: File-based storage backend
  • Network Filesystem Warning: Automatically detect and warn about network filesystems (NFS, Ceph, SMB) with highlighted filesystem names

Changed

  • TUI Framework Migration: Switch from custom survey module to charmbracelet/huh for better terminal UI experience (removed 10,000+ lines of legacy code)
  • Improved Table Rendering: Replace go-pretty with bubbletea table for better TUI rendering in zeta hot commands
  • Enhanced Pager: Add space key support for page navigation in TUI pager
  • Diferenco Improvements:
    • Add name field to FileStat
    • Add Format() method to Patch
    • Optimize MergeParallel implementation
    • Improve SplitWords algorithm
    • Enhance Myers diff algorithm
  • Performance Optimizations:
    • Optimize worktree operations
    • Improve commit decoding efficiency
    • Enhance system proxy detection accuracy

Fixed

  • Fix multiple keyring issues on Windows and Unix platforms
  • Fix panic in wildmatch pattern matching
  • Fix tree cache corruption issues
  • Fix missing context in commit walker
  • Fix zlib handling edge cases
  • Fix split words boundary issues
  • Fix trace color display
  • build: bump github.com/BurntSushi/toml from 1.5.0 to 1.6.0 by @dependabot[bot] in #133
  • build: bump github.com/godbus/dbus/v5 from 5.2.1 to 5.2.2 by @dependabot[bot] in #136
  • build: bump golang.org/x/sys from 0.39.0 to 0.40.0 in the golang-org group by @dependabot[bot] in #137
  • build: bump the golang-org group with 2 updates by @dependabot[bot] in #138
  • build: bump github.com/klauspost/compress from 1.18.2 to 1.18.3 by @dependabot[bot] in #140
  • build: bump github.com/dgraph-io/ristretto/v2 from 2.3.0 to 2.4.0 by @dependabot[bot] in #141
  • build: bump github.com/golang-jwt/jwt/v5 from 5.3.0 to 5.3.1 by @dependabot[bot] in #142
  • build: bump github.com/charmbracelet/bubbles from 0.21.0 to 0.21.1 by @dependabot[bot] in #143
  • build: bump golang.org/x/sys from 0.40.0 to 0.41.0 in the golang-org group by @dependabot[bot] in #144
  • build: bump the golang-org group with 4 updates by @dependabot[bot] in #145
  • build: bump github.com/klauspost/compress from 1.18.3 to 1.18.4 by @dependabot[bot] in #146
  • build: bump github.com/charmbracelet/bubbles from 0.21.1 to 1.0.0 by @dependabot[bot] in #147
  • build: bump golang.org/x/net from 0.50.0 to 0.51.0 in the golang-org group by @dependabot[bot] in #149
  • build: bump github.com/ProtonMail/go-crypto from 1.3.0 to 1.4.0 by @dependabot[bot] in #150
  • build: bump github.com/ProtonMail/go-crypto from 1.4.0 to 1.4.1 by @dependabot[bot] in #157

Full Changelog: v0.21.0...v0.22.0

v0.21.0 small bugfix

16 Dec 06:44

Choose a tag to compare

What's Changed

  • build: bump github.com/jedib0t/go-pretty/v6 from 6.7.2 to 6.7.3 by @dependabot[bot] in #125
  • build: bump golang.org/x/crypto from 0.44.0 to 0.45.0 in the golang-org group by @dependabot[bot] in #126
  • build: bump github.com/jedib0t/go-pretty/v6 from 6.7.3 to 6.7.5 by @dependabot[bot] in #127
  • build: bump actions/checkout from 5 to 6 by @dependabot[bot] in #128
  • build: bump the golang-org group with 6 updates by @dependabot[bot] in #130
  • build: bump github.com/jedib0t/go-pretty/v6 from 6.7.5 to 6.7.7 by @dependabot[bot] in #132

Full Changelog: v0.20.1...v0.21.0

v0.20.1 small change and bugfix

05 Nov 02:53

Choose a tag to compare

Release v0.20.0 hot co support -X

30 Oct 03:43

Choose a tag to compare

What's Changed

  • build: bump golang.org/x/net from 0.43.0 to 0.44.0 in the golang-org group by @dependabot[bot] in #110
  • build: bump github.com/charmbracelet/bubbletea from 1.3.9 to 1.3.10 by @dependabot[bot] in #111
  • build: bump golang.org/x/net from 0.44.0 to 0.45.0 in the golang-org group by @dependabot[bot] in #113
  • build: bump github.com/danieljoos/wincred from 1.2.2 to 1.2.3 by @dependabot[bot] in #112
  • build: bump github.com/jedib0t/go-pretty/v6 from 6.6.8 to 6.6.9 by @dependabot[bot] in #116

Full Changelog: v0.19.1...v0.20.0

Release v0.19.1 Introducing the hot command

09 Sep 09:44

Choose a tag to compare

About the introduced hot command

hot command is a Git repository governance tool that we integrated into HugeSCM, supporting many scenarios:

  • Find large files with hot size (raw size) / hot az (compressed size).
  • Use hot remove to quickly delete committed secrets and rewrite history.
  • Interactively remove large files with hot smart, which combines the size and remove commands (e.g., hot smart -L20m).
  • Migrate the repository's object format between SHA1 and SHA256 with hot mc.
  • Clean up stale refs with hot prune-refs (by prefix) or hot expire-refs (by age & merged status). Use hot scan-refs to review their status.
  • Linearize repository history (i.e., remove all merge commits) with hot unbranch.
  • Create an orphan branch from a specific commit using hot unbranch -K1 master -Tnew-branch. It keeps recent history, ideal for open-sourcing or history resets.
  • Use hot cat to inspect Git objects (commit/tree/tag/blob). It outputs commit/tree/tag as JSON (--json) and intelligently hexdumps binary blobs.

Here's some more help information:

Usage: hot <command> [flags]

hot - Git repositories maintenance tool

Flags:
  -h, --help       Show context-sensitive help
  -V, --verbose    Make the operation more talkative
  -v, --version    Show version number and quit
      --debug      Enable debug mode; analyze timing

Commands:
  cat            Provide contents or details of repository objects
  stat           View repository status
  size           Show repositories size and large files
  remove         Remove files in repository and rewrite history
  smart          Interactive mode to clean repository large files
  graft          Interactive mode to clean repository large files (Grafting mode)
  mc             Migrate a repository to the specified object format
  unbranch       Linearize repository history
  prune-refs     Prune refs by prefix
  scan-refs      Scan references in a local repository
  expire-refs    Clean up expired references
  snapshot       Create a snapshot commit for the worktree
  az             Analyze repository large files
  co             EXPERIMENTAL: Clones a repository into a newly created directory

Run "hot <command> --help" for more information on a command.

eg:

hot cat HEAD:docs/images/blob.png
image
hot stat
image

Migrate Git repository object format from SHA1 to SHA256:

hot mc https://github.com/antgroup/hugescm.git
image

About zeta update

  • Add EXPERIMENTAL command cherry-pick, revert
  • zeta cat use pager when found less (or other PAGER)

What's Changed

  • build: bump actions/setup-go from 5 to 6 by @dependabot[bot] in #107
  • build: bump the golang-org group with 4 updates by @dependabot[bot] in #106
  • build: bump golang.org/x/crypto from 0.41.0 to 0.42.0 in the golang-org group by @dependabot[bot] in #108

Full Changelog: v0.18.3...v0.19.1

Release v0.19.0 Introducing the hot command

05 Sep 08:59

Choose a tag to compare

About the introduced hot command

hot command is a Git repository governance tool that we integrated into HugeSCM, supporting many scenarios:

  • Find large files with hot size (raw size) / hot az (compressed size).
  • Use hot remove to quickly delete committed secrets and rewrite history.
  • Interactively remove large files with hot smart, which combines the size and remove commands (e.g., hot smart -L20m).
  • Migrate the repository's object format between SHA1 and SHA256 with hot mc.
  • Clean up stale refs with hot prune-refs (by prefix) or hot expire-refs (by age & merged status). Use hot scan-refs to review their status.
  • Linearize repository history (i.e., remove all merge commits) with hot unbranch.
  • Create an orphan branch from a specific commit using hot unbranch -K1 master -Tnew-branch. It keeps recent history, ideal for open-sourcing or history resets.
  • Use hot cat to inspect Git objects (commit/tree/tag/blob). It outputs commit/tree/tag as JSON (--json) and intelligently hexdumps binary blobs.

Here's some more help information:

Usage: hot <command> [flags]

hot - Git repositories maintenance tool

Flags:
  -h, --help       Show context-sensitive help
  -V, --verbose    Make the operation more talkative
  -v, --version    Show version number and quit
      --debug      Enable debug mode; analyze timing

Commands:
  cat            Provide contents or details of repository objects
  stat           View repository status
  size           Show repositories size and large files
  remove         Remove files in repository and rewrite history
  smart          Interactive mode to clean repository large files
  graft          Interactive mode to clean repository large files (Grafting mode)
  mc             Migrate a repository to the specified object format
  unbranch       Linearize repository history
  prune-refs     Prune refs by prefix
  scan-refs      Scan references in a local repository
  expire-refs    Clean up expired references
  snapshot       Create a snapshot commit for the worktree
  az             Analyze repository large files
  co             EXPERIMENTAL: Clones a repository into a newly created directory

Run "hot <command> --help" for more information on a command.

eg:

hot cat HEAD:docs/images/blob.png
image
hot stat
image

Migrate Git repository object format from SHA1 to SHA256:

hot mc https://github.com/antgroup/hugescm.git
image

About zeta update

  • Add EXPERIMENTAL command cherry-pick, revert
  • zeta cat use pager when found less (or other PAGER)

What's Changed

  • build: bump the golang-org group with 5 updates by @dependabot[bot] in #102
  • build: bump github.com/dgraph-io/ristretto/v2 from 2.2.0 to 2.3.0 by @dependabot[bot] in #103
  • build: bump github.com/stretchr/testify from 1.10.0 to 1.11.0 by @dependabot[bot] in #104

Full Changelog: v0.18.3...v0.19.0

Release v0.18.3

16 Jul 08:53

Choose a tag to compare

What's Changed

  • build: bump the golang-org group with 4 updates by @dependabot[bot] in #98
  • build: bump the golang-org group with 2 updates by @dependabot[bot] in #99
  • build: bump github.com/klauspost/cpuid/v2 from 2.2.11 to 2.3.0 by @dependabot[bot] in #100

Full Changelog: v0.18.2...v0.18.3

Release v0.18.2

27 Jun 05:11

Choose a tag to compare

What's Changed

  • build: bump github.com/klauspost/cpuid/v2 from 2.2.10 to 2.2.11 by @dependabot in #97

Bugfix

  • Fix log --order-top

Full Changelog: v0.18.1...v0.18.2

Release v0.18.1

24 Jun 09:23

Choose a tag to compare

What's Changed

  • build: bump github.com/go-sql-driver/mysql from 1.9.2 to 1.9.3 by @dependabot in #96
  • Fix mimetype BUG

Full Changelog: v0.18.0...v0.18.1