Skip to content

Commit 0c093dc

Browse files
committed
v2.0.0
1 parent b4ce4d7 commit 0c093dc

4 files changed

Lines changed: 126 additions & 19 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,24 @@ Release notes and changelogs are published on the **[project blog](https://fulll
44

55
Each release entry covers the motivation, new features, breaking changes (if any), and upgrade notes.
66

7-
| Version | Blog post |
8-
| -------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
9-
| v2.0.0 _(pending)_ | _Hierarchical team-prefix grouping (nested `/` chains, auto-nesting, `--pick-team` at every level) — breaking change to `--group-by-team-prefix` / JSON `section` shape. Blog post pending, see [EPIC #125](https://github.com/fulll/github-code-search/issues/125)._ |
10-
| [v1.12.0](https://fulll.github.io/github-code-search/blog/release-v1-12-0) | Mouse-driven TUI, team re-pick/undo, query-title heading and matched token in output, regex quoting fixes |
11-
| [v1.11.0](https://fulll.github.io/github-code-search/blog/release-v1-11-0) | Team pick mode, `--exclude-template-repositories`, security hardening and Windows installer fixes |
12-
| [v1.10.0](https://fulll.github.io/github-code-search/blog/release-v1-10-0) | Native regex syntax `/pattern/flags` — automatic term extraction, top-level alternation and `--regex-hint` |
13-
| [v1.9.0](https://fulll.github.io/github-code-search/blog/release-v1-9-0) | Windows support — native x64, x64-modern, x64-baseline and ARM64 binaries with one-line PowerShell installer |
14-
| [v1.8.3](https://fulll.github.io/github-code-search/blog/release-v1-8-3) | Fix TUI layout: header/footer anchoring, viewport packing, narrow-terminal clipping, active-row contrast |
15-
| [v1.8.2](https://fulll.github.io/github-code-search/blog/release-v1-8-2) | Fix rate-limit errors aborting multi-page searches; auto-wait and retry with live progress |
16-
| [v1.8.1](https://fulll.github.io/github-code-search/blog/release-v1-8-1) | Fix silent hang after pagination bar — concurrency cap + progress bar for line-number resolution |
17-
| [v1.8.0](https://fulll.github.io/github-code-search/blog/release-v1-8-0) | Purple TUI theme, fetch progress bar, position indicator, line-anchored file links, Esc to close help |
18-
| [v1.7.0](https://fulll.github.io/github-code-search/blog/release-v1-7-0) | Shell completions (bash/zsh/fish) + extended syntax highlighting (PHP, C/C++, Swift, Terraform/HCL, Dockerfile) |
19-
| [v1.6.1](https://fulll.github.io/github-code-search/blog/release-v1-6-1) | Fix TUI only displaying first text fragment when a file has multiple matches |
20-
| [v1.6.0](https://fulll.github.io/github-code-search/blog/release-v1-6-0) | Power navigation: global fold/unfold, gg/G top/bottom, paged scroll, open-in-browser |
21-
| [v1.5.0](https://fulll.github.io/github-code-search/blog/release-v1-5-0) | Advanced filter targets, regex mode, word-jump, scroll fix |
22-
| [v1.4.0](https://fulll.github.io/github-code-search/blog/release-v1-4-0) | TUI visual overhaul, community files, demo animation |
23-
| [v1.3.0](https://fulll.github.io/github-code-search/blog/release-v1-3-0) | Team-prefix grouping, replay command, JSON output |
24-
| [v1.0.0](https://fulll.github.io/github-code-search/blog/release-v1-0-0) | Initial release |
7+
| Version | Blog post |
8+
| -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
9+
| [v2.0.0](https://fulll.github.io/github-code-search/blog/release-v2-0-0) | Hierarchical team-prefix grouping (nested `/` chains, auto-nesting, `--pick-team` at every level, `--pick-team-auto`, `--exclude-team-prefixes`), `GCS_DEFAULT_ORG`, `gh auth token` fallback — breaking change to `--group-by-team-prefix` / JSON `section` shape |
10+
| [v1.12.0](https://fulll.github.io/github-code-search/blog/release-v1-12-0) | Mouse-driven TUI, team re-pick/undo, query-title heading and matched token in output, regex quoting fixes |
11+
| [v1.11.0](https://fulll.github.io/github-code-search/blog/release-v1-11-0) | Team pick mode, `--exclude-template-repositories`, security hardening and Windows installer fixes |
12+
| [v1.10.0](https://fulll.github.io/github-code-search/blog/release-v1-10-0) | Native regex syntax `/pattern/flags` — automatic term extraction, top-level alternation and `--regex-hint` |
13+
| [v1.9.0](https://fulll.github.io/github-code-search/blog/release-v1-9-0) | Windows support — native x64, x64-modern, x64-baseline and ARM64 binaries with one-line PowerShell installer |
14+
| [v1.8.3](https://fulll.github.io/github-code-search/blog/release-v1-8-3) | Fix TUI layout: header/footer anchoring, viewport packing, narrow-terminal clipping, active-row contrast |
15+
| [v1.8.2](https://fulll.github.io/github-code-search/blog/release-v1-8-2) | Fix rate-limit errors aborting multi-page searches; auto-wait and retry with live progress |
16+
| [v1.8.1](https://fulll.github.io/github-code-search/blog/release-v1-8-1) | Fix silent hang after pagination bar — concurrency cap + progress bar for line-number resolution |
17+
| [v1.8.0](https://fulll.github.io/github-code-search/blog/release-v1-8-0) | Purple TUI theme, fetch progress bar, position indicator, line-anchored file links, Esc to close help |
18+
| [v1.7.0](https://fulll.github.io/github-code-search/blog/release-v1-7-0) | Shell completions (bash/zsh/fish) + extended syntax highlighting (PHP, C/C++, Swift, Terraform/HCL, Dockerfile) |
19+
| [v1.6.1](https://fulll.github.io/github-code-search/blog/release-v1-6-1) | Fix TUI only displaying first text fragment when a file has multiple matches |
20+
| [v1.6.0](https://fulll.github.io/github-code-search/blog/release-v1-6-0) | Power navigation: global fold/unfold, gg/G top/bottom, paged scroll, open-in-browser |
21+
| [v1.5.0](https://fulll.github.io/github-code-search/blog/release-v1-5-0) | Advanced filter targets, regex mode, word-jump, scroll fix |
22+
| [v1.4.0](https://fulll.github.io/github-code-search/blog/release-v1-4-0) | TUI visual overhaul, community files, demo animation |
23+
| [v1.3.0](https://fulll.github.io/github-code-search/blog/release-v1-3-0) | Team-prefix grouping, replay command, JSON output |
24+
| [v1.0.0](https://fulll.github.io/github-code-search/blog/release-v1-0-0) | Initial release |
2525

2626
> For the full list of commits between releases, see the
2727
> [GitHub Releases page](https://github.com/fulll/github-code-search/releases).

‎docs/blog/index.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ Full release notes and changelogs are always available on
77

88
---
99

10+
## v2 series
11+
12+
| Release | Highlights |
13+
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
14+
| [v2.0.0](./release-v2-0-0) | Hierarchical `--group-by-team-prefix` grouping (nested headings, auto-pick, exclusions), `GCS_DEFAULT_ORG`, gh CLI token fallback — breaking change |
15+
1016
## v1 series
1117

1218
| Release | Highlights |

‎docs/blog/release-v2-0-0.md‎

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
---
2+
title: "What's new in v2.0.0"
3+
description: "Hierarchical team-prefix grouping with nested headings, auto-pick, and exclusions — plus GCS_DEFAULT_ORG and gh CLI token fallback. Breaking change to --group-by-team-prefix and JSON output."
4+
date: 2026-09-19
5+
---
6+
7+
# What's new in github-code-search v2.0.0
8+
9+
> Full release notes: <https://github.com/fulll/github-code-search/releases/tag/v2.0.0>
10+
11+
This is a **major** release: `--group-by-team-prefix` now supports a full hierarchy instead of a single flat level, which changes the markdown heading structure and the JSON output shape for anyone already using it. See [Breaking changes](#breaking-changes) below before upgrading.
12+
13+
## Highlights
14+
15+
### Hierarchical team-prefix grouping
16+
17+
`--group-by-team-prefix` now accepts a small chain grammar instead of a flat, comma-separated prefix list:
18+
19+
- `/` nests levels **within one chain** — group by the first prefix, then sub-group each section by the next prefix.
20+
- `,` separates **independent chains** — each grouped on its own, against whatever repos earlier chains haven't already claimed.
21+
22+
```bash
23+
# Group by tribe- first, then by squad- within each tribe
24+
github-code-search "useFeatureFlag" --org fulll \
25+
--group-by-team-prefix tribe-/squad-
26+
```
27+
28+
Markdown output renders one heading level per depth (`##`, `###`, `####`, … capped at H6), and JSON output now carries the full hierarchy per result as a `section` array:
29+
30+
```json
31+
{
32+
"repo": "myorg/mobile-app",
33+
"section": ["tribe-b", "squad-core + squad-mobile"],
34+
"matches": [{ "path": "src/index.ts", "url": "...", "line": 1, "col": 1 }]
35+
}
36+
```
37+
38+
Team names that overlap within one level (e.g. `squad-a` and `squad-a-legacy`) are now **combined automatically** into one section instead of appearing as unrelated siblings.
39+
40+
### `--pick-team` at every hierarchy level
41+
42+
`--pick-team` and interactive pick mode (`p`) now resolve combined sections at **any depth** of the hierarchy, not just the top level — the same workflow from v1.11.0, extended to nested chains.
43+
44+
### `--pick-team-auto` — resolve ambiguous sections automatically
45+
46+
New flag: auto-resolves combined sections whose team names share a common prefix (e.g. `tribe-a + tribe-a-p1` → `tribe-a`), without an explicit `--pick-team`. It also clusters combos that share a recurring team across siblings even without a literal common prefix, and always defers to an explicit `--pick-team` for the same section.
47+
48+
```bash
49+
github-code-search "useFeatureFlag" --org fulll \
50+
--group-by-team-prefix tribe-/squad- \
51+
--pick-team-auto
52+
```
53+
54+
### `--exclude-team-prefixes` — strip noisy team names before grouping
55+
56+
Some orgs have many closely related, deeply-overlapping team names under one prefix. `--exclude-team-prefixes` removes matching teams from consideration **before** grouping runs, reducing ambiguous combos at the source:
57+
58+
```bash
59+
github-code-search "useFeatureFlag" --org fulll \
60+
--group-by-team-prefix tribe-/squad- \
61+
--exclude-team-prefixes squad-validators-
62+
```
63+
64+
### `GCS_DEFAULT_ORG` — skip `--org` on every call
65+
66+
If you mostly search a single organization, set it once and omit `--org` entirely:
67+
68+
```bash
69+
export GCS_DEFAULT_ORG=my-org
70+
github-code-search "useFeatureFlag"
71+
```
72+
73+
An explicit `--org` flag always takes precedence.
74+
75+
### `GITHUB_TOKEN` fallback via the GitHub CLI
76+
77+
If `GITHUB_TOKEN` isn't set and the [GitHub CLI](https://cli.github.com/) is installed and authenticated, `github-code-search` now retrieves a token automatically via `gh auth token` — no extra setup needed. Applies to the search commands and the `upgrade` subcommand.
78+
79+
### Also in this release
80+
81+
- Fixed a systematic ~2 s exit delay after printing results, in both interactive and non-interactive (`--no-interactive` / CI) mode.
82+
- Removed the `picocolors` dependency in favor of a native `util.styleText` facade — no behavior change, one less external dependency.
83+
- Bumped the minimum required Bun version to **1.4** (native `Bun.stringWidth` / `stripANSI` / `sliceAnsi` and `util.styleText` are used at runtime).
84+
- Routine dependency upgrades.
85+
86+
## Breaking changes
87+
88+
- **Removed** `--group-by-team-prefix-consolidate` and the underlying consolidated-rendering mode. In practice, `--pick-team-auto` covers the real need (resolving ambiguous combined sections) more reliably — if you used the consolidate flag, switch to `--pick-team-auto` and/or `--exclude-team-prefixes`.
89+
- Markdown output can now render **more than one heading level** (`##`/`###`/`####`…) when a multi-level chain (`tribe-/squad-`) is used, instead of always a single flat `##` level.
90+
- JSON output gains a **`section` array** per result when `--group-by-team-prefix` is used (previously JSON carried no section/team information at all).
91+
92+
Plain, single-level `--group-by-team-prefix squad-` usage (no `/`) is unaffected — you'll only notice a difference if you adopt the new chain syntax or previously relied on `--group-by-team-prefix-consolidate`.
93+
94+
## Upgrade
95+
96+
```sh
97+
github-code-search upgrade
98+
```
99+
100+
Or download the latest binary from
101+
[GitHub Releases](https://github.com/fulll/github-code-search/releases/tag/v2.0.0).

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "github-code-search",
3-
"version": "1.12.0",
3+
"version": "2.0.0",
44
"description": "Interactive GitHub code search with per-repo aggregation",
55
"keywords": [
66
"bun",

0 commit comments

Comments
 (0)