You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 0c093dc
Browse filesBrowse the repository at this point in the historyBrowse files
| 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 |
|[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 |
|[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 |
|[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 |
|[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 |
|[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 |
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:
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.
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`.
0 commit comments