Repository navigation
Releases: ziqq/Codetree
Release list
Codetree 0.4.1
Explore GitHub and GitLab with a code tree, file search, PR/MR review, full-file diffs and unlimited local bookmarks.
Install
- Download codetree-0.4.1.zip and extract it into a folder.
- Open
chrome://extensionsand enable Developer mode. - Click Load unpacked and choose the extracted folder containing
manifest.json. - Refresh open GitHub or GitLab repository tabs.
To update, replace the folder contents, click Reload on the extension card and refresh repository tabs.
The same package is submitted to the Chrome Web Store and appears there after review.
What's new
- ADDED: Generate token button in Settings opens token creation for the selected GitHub, GitLab or custom server in a new tab
- FIXED: native View full buttons recognize GitHub's current diff header classes and appear in the header actions
Changes since v0.4.0
- fix: restore GitHub View full and add token generation links (7823330)
Details
| Version | 0.4.1 |
| Minimum Chrome | 116 |
| Manifest | V3 |
| Archive size | 854.4 KiB |
Checksum
Verify with sha256sum -c codetree-0.4.1.sha256 next to the download.
52be326576a146f2b202b5e94dcfd8e7fd34861d7d53c2cf0ee6f5924369ae31 codetree-0.4.1.zip
Codetree 0.4.0
Explore GitHub and GitLab with a code tree, file search, PR/MR review, full-file diffs and unlimited local bookmarks.
Install
- Download codetree-0.4.0.zip and extract it into a folder.
- Open
chrome://extensionsand enable Developer mode. - Click Load unpacked and choose the extracted folder containing
manifest.json. - Refresh open GitHub or GitLab repository tabs.
To update, replace the folder contents, click Reload on the extension card and refresh repository tabs.
The same package is submitted to the Chrome Web Store and appears there after review.
What's new
- CHANGED: sidebar and Settings use dependency-free signals, lazy memos and owned effects; search is debounced, counts respect search in every tab and tree rows remain virtualized
- CHANGED: every source file's license header contains its module description, and abbreviations in Codetree's own names are upper case (
clientID,treeSHA,headSHA,redirectURI) - FIXED: sidebar filters retain keyboard focus, background tree loads preserve other tabs, folder groups rebuild the tree once, and navigation/Refresh update the repository header consistently
- FIXED: native full-file loads update diff rows and Viewed marks together, failed account selection restores the current account, and folder clicks keep the correct keyboard tab stop
- FIXED: Settings follows stored preference changes and displays normalized saved navigation values, preventing stale appearance fields from overwriting sidebar or Sync changes
- FIXED: full-file syntax colors follow GitHub's current tokens and GitLab's selected native code styles; Dart types, annotations,
thisand operators use their proper categories - FIXED: release workflow tests require the Chrome Web Store item ID from
secrets.CWS_EXTENSION_IDfor release notes and submission - FIXED: sidebar loading and error states are centered with Retry and Open settings in one row below the text, the toast stays within the docked sidebar, and a failed Refresh or Retry is reported in the view instead of being repeated in a toast
- FIXED: unpinning in Settings is kept after reloading Settings and applies to windows without their own pin after a refresh; only the sidebar's pin button sets a per-window pin
- FIXED: a preference saved in the sidebar, by Sync or in the other Settings form no longer discards unsaved edits of other Settings fields
- FIXED: the full-file viewer keeps its GitHub and GitLab syntax colors when the page does not define theme variables, and comments are italic unless GitLab's theme says otherwise
- FIXED: dragging the sidebar edge on GitLab no longer reads the native code colors on every step; they are read on page, theme and stylesheet changes and when the viewer opens
- FIXED: Settings restored from the back/forward cache keeps updating, a bookmark change is confirmed even if another page opened meanwhile, and a late dialog
closeevent no longer closes a newly opened viewer
Changes since v0.3.1
- chore: prepare release 0.4.0 (1156ac8)
- docs: record the review follow-ups (867cb5e)
- fix: small reactive follow-ups from the review (1e28990)
- perf(layout): read GitLab code colors only on theme and page changes (6529b6e)
- fix(viewer): restore fallback syntax colors and italic comments (0ddf971)
- test: cover the default pin and unsaved Settings edits (3918091)
- refactor: upper-case abbreviations in Codetree's own names (f13e6b8)
- fix(settings): keep the default pin and unsaved edits (f6b95d2)
- chore: put each module description inside the license header (e745f88)
- refactor: migrate sidebar and settings to owned reactivity (d13a1e2)
- fix(sidebar): report refresh failures in the view instead of a duplicate toast (9992440)
- fix(sidebar): center error state actions and keep the toast inside the panel (232f322)
- test: align store item ID assertions with secret configuration (7108754)
- ci: read the Chrome Web Store item ID from a secret (7f9af3f)
- ci: add read-only Chrome Web Store access check (e7c2f8a)
- docs: add paste-ready Chrome Web Store privacy texts (6008c86)
Details
| Version | 0.4.0 |
| Minimum Chrome | 116 |
| Manifest | V3 |
| Archive size | 852.8 KiB |
Checksum
Verify with sha256sum -c codetree-0.4.0.sha256 next to the download.
d7a9256752a838b1a02b3be212c2a529a4c6aa437996b069f8784dd79f602297 codetree-0.4.0.zip
Codetree 0.3.1
Explore GitHub and GitLab with a code tree, file search, PR/MR review, full-file diffs and unlimited local bookmarks.
Install
- Download codetree-0.3.1.zip and extract it into a folder.
- Open
chrome://extensionsand enable Developer mode. - Click Load unpacked and choose the extracted folder containing
manifest.json. - Refresh open GitHub or GitLab repository tabs.
To update, replace the folder contents, click Reload on the extension card and refresh repository tabs.
What's new
- ADDED: Chrome Web Store listing fields, privacy answers, screenshots and promo images in
docs/STORE_LISTING.mdanddocs/store/ - CHANGED: new Codetree extension icon matching the store icon
- CHANGED: README previews replaced with light/dark captures of the installed extension on public GitHub and GitLab pages
- CHANGED: removed the unused
activeTabpermission; the toolbar button only messages the page - CHANGED: Chrome Web Store secrets are passed only to the configuration check and upload steps, and release jobs install dependencies without lifecycle scripts
- FIXED: pages receive only the accounts and account selection of their own host and can bookmark only their own host
- FIXED: bookmark URLs longer than 2,048 characters are rejected so they cannot exhaust local storage or the Sync snapshot
- FIXED: branch and path tails with empty,
.or..segments (for example from an encoded%2F) are rejected before API requests - FIXED: a not-found reply without an account now explains that private repositories need a connected account with read access; with an account it names the account and the token/SSO checks
- FIXED: viewer loading and error states are centered, and the Open Settings and Retry buttons sit under the explanation with visible button styles
Changes since v0.3.0
- docs: use light/dark live captures in README (aaa0ecc)
- docs: add split light/dark store screenshots and promo tiles (5ab2729)
- test: cover page contexts without a branch hint (bec01ae)
- docs: capture store screenshots in light and dark themes (24b7d3b)
- fix: accept pages without a branch hint (57da61a)
- fix: explain private-repository errors and center viewer states (05d2c08)
- test: cover step-scoped Chrome Web Store secrets (1b3e62f)
- docs: choose four light and dark store screenshots (03d3790)
- docs: add GitHub store screenshots (55a364b)
- fix: harden page messages, bookmarks and store release secrets (cfb5d81)
- chore: prepare release 0.3.1 (db3e9ab)
- feat: use the new Codetree icon for the extension (2ca12dc)
- docs: add Chrome Web Store listing graphics and fields (5540778)
Details
| Version | 0.3.1 |
| Minimum Chrome | 116 |
| Manifest | V3 |
| Archive size | 811.2 KiB |
Checksum
Verify with sha256sum -c codetree-0.3.1.sha256 next to the download.
4529a24b9cad74b9a97273cca1a426a1f97f2c8df2cb9afedd8fa199a4fbe4e3 codetree-0.3.1.zip
Codetree 0.3.0
Explore GitHub and GitLab with a code tree, file search, PR/MR review, full-file diffs and unlimited local bookmarks.
Install
- Download codetree-0.3.0.zip and extract it into a folder.
- Open
chrome://extensionsand enable Developer mode. - Click Load unpacked and choose the extracted folder containing
manifest.json. - Refresh open GitHub or GitLab repository tabs.
To update, replace the folder contents, click Reload on the extension card and refresh repository tabs.
What's new
-
ADDED: GitLab and self-managed GitLab support, including nested namespaces, branches, folder loading, MR/commit changes, discussions, local Viewed marks and review filters
-
ADDED:
View fullin native GitHub/GitLab file headers, including collapsed files and unchanged renames; known binary files have a disabled text-preview button -
ADDED: provider selection and GitLab token guidance in settings
-
ADDED: contribution rules, agent instructions, privacy and feature/verification documentation
-
ADDED: push/PR CI with JavaScript/CSS/workflow checks, manifest/CSP/assets/docs validation, locked dependency audit and verified runtime packaging
-
ADDED: stable-tag GitHub Releases with version/license gates, reproducible ZIP, SHA-256 and verification of downloaded CI artifacts
-
ADDED: manual release runs that tag the verified commit, detailed release notes with installation steps, commits and checksum, and Chrome Web Store API v2 submission when the store is configured
-
ADDED: Chrome Web Store listing text and privacy-practice justifications
-
ADDED: file and folder icons from file-icons/atom (file-icons, Font Awesome 4.7, MFixx and DevOpicons fonts plus Octicons SVGs) with the original path/name matching rules and theme-specific colours; licenses are packaged in
THIRD_PARTY_NOTICES.md -
ADDED: VS Code workspace settings, recommended extensions, tasks and debug configurations, plus a Makefile for checks, builds and tags
-
ADDED: Codetree Source-Available License 1.0 allowing workplace use and free forks while prohibiting monetization of covered derivatives, including fork-related donations and paid services
-
ADDED: configurable toggle/search shortcuts, page scopes, URL exclusions, folder click settings and pinning per browser window
-
ADDED: account/host/revision-scoped persistent tree cache with expiration, size limits and refresh/account invalidation
-
ADDED: original bounded lexical syntax highlighting for full-file review, with independent old/new revision state
-
ADDED: prepared GitHub device-flow and GitLab PKCE sign-in with automatic refresh; activation awaits registered public client IDs
-
ADDED: opt-in browser Sync for preferences and bookmark metadata, with trusted storage, an explicit allowlist, bounded snapshots and visible quota errors
-
CHANGED: sidebar, native controls and Settings styles use SCSS compiled by Sass in the existing build/CI pipeline; GitHub/GitLab light and dark palettes remain live, and CSS validation checks the compiled output
-
CHANGED: collapsed Codetree tab uses a bottom-to-top wordmark, accented initial, rounded corners and a horizontal two-line grip
-
CHANGED: README screenshots refreshed for Codetree 0.3.0 with the current product name and file-icons theme
-
CHANGED: source moved to
src/as ES modules (shared, service worker, content script, Settings) and bundled with esbuild intobuild/; the release ZIP is packaged from the reproducible bundle -
CHANGED: product name from
GitHub Code TreetoCodetree -
CHANGED: full-file previous/next navigation includes every changed file independently of sidebar search
-
CHANGED: collapsed edge tab includes the product name, opening chevron and grip
-
CHANGED: icon styles are Color and Monochrome file-icons plus Minimal original icons; a saved Outline style becomes Monochrome
-
CHANGED: original file icons distinguish JSON, Markdown, licenses, ignore files and source documents; folders show their expanded state, and branch/PR controls use circular nodes
-
CHANGED: minimum Chrome version to 116 for OAuth authorization-window lifecycle support
-
CHANGED: web-accessible styles and fonts use per-session dynamic URLs (Chrome 130+), so websites cannot detect the extension by its ID
-
CHANGED: repository pages receive only bookmarks for enabled hosts; synced bookmarks for other hosts stay stored and appear once the host is connected
-
FIXED: full-file code colors use provider-specific syntax and diff palettes, GitHub diff tokens and GitLab selected code-theme backgrounds instead of shared red/green overlays
-
FIXED: GitLab discussions requiring authentication no longer block a public MR/commit diff; unavailable comments are reported separately
-
FIXED: unauthenticated API operations report that an account is required instead of saying a token was rejected
-
FIXED: invalid repository/source identifiers with dot segments are rejected before requesting an API endpoint
-
FIXED: error messages redact every GitLab token prefix and the stored credentials of each account, including custom-server tokens
-
FIXED: a non-string signed-in username in a repository context is rejected instead of failing during account selection
-
FIXED: sidebar and full-file viewer follow the current GitHub/GitLab color tokens instead of a fixed GitHub palette; native preview controls inherit provider border/focus colors
-
FIXED: Viewed marks validate the displayed head revision against fresh PR/MR metadata before writing
-
FIXED: stale lazy-folder replies and overlapping tree loads cannot mutate a refreshed tree or a different file mode
-
FIXED: full-file patch validation normalizes CRLF consistently with source files
-
FIXED: releases complete issues through the labeler's
release-completedoperation and notify every outcome directly instead of relying on suppressedGITHUB_TOKENrelease events -
FIXED: delayed refresh and branch responses cannot overwrite the active repository after navigation; errors from an old PR/MR filter cannot hide current results
-
FIXED: native View full controls remain visible when API authentication fails and provide account connection/retry guidance
-
FIXED: GitHub commit diff headers without a diff ID receive native View full controls
-
FIXED: settings dropdown chevrons have consistent spacing and theme colors while retaining native keyboard controls
-
FIXED: initial page events wait for saved preferences and the sidebar stylesheet before revealing the panel or applying page padding, preventing a collapsed sidebar from flashing open
-
FIXED: the collapsed handle accounts for GitHub Issues sidebar width, including native collapse/expand and page navigation
-
FIXED: the search shortcut hint keeps its width instead of being squeezed by the search input
-
FIXED: upgraded the development selector parser to 7.1.6 to remove quadratic flat-selector parsing (GHSA-rj75-hqrm-r3gf) without weakening CSS validation
-
FIXED: removed the vulnerable Stylelint glob dependency chain while retaining CSS syntax checks, seven stylesheet rule categories and the strict development dependency audit
-
FIXED: closed sidebar Shadow DOM prevents connected pages from reading or deleting bookmarks across repository hosts; synthetic global shortcuts cannot change preferences
-
FIXED: patch coordinates and row creation are bounded to the exact source revisions before context expansion
-
FIXED: API and OAuth bodies are bounded while streaming, including responses without Content-Length and aggregate REST/GraphQL pagination limits; full-file decoding preserves UTF-8 BOMs
-
FIXED: request-list and bookmark replies cannot replace another sidebar tab; Refresh invalidates pending branch menus
-
FIXED: selected and remembered lazy folder chains load their children; encoded GitLab refs preserve slash-containing names
First release
- build: compile themed extension styles with Sass (5804c0a)
- fix: match provider code colors and refresh previews (38b4708)
- style: refine collapsed Codetree wordmark (f2a6e51)
- docs: refresh Codetree preview screenshots (2b3d1f4)
- ci: notify only about issues and PRs from other people (d211157)
- fix: harden extension against fingerprinting and credential leaks (fd2fe5b)
- ci: exempt vendored file-icons from the whitespace check (b2aebcc)
- style: format the code with Prettier (cee5f4d)
- chore: add Prettier and simplify VS Code file nesting (8d38817)
- docs: document every module and function (872b8cd)
- chore: align VS Code workspace with the other ziqq projects (4685349)
- chore: describe the development package like the other ziqq packages (54bd142)
- docs: fix the former product name and OAuth configuration path (a5404ea)
- chore: rename the browser Sync snapshot key to codetreeSyncSnapshot (f6070ec)
- chore: rename everything to Codetree (0f050a5)
- chore: nest third-party notices under README in VS Code (f0ce7ed)
- feat: use file-icons/atom icons and rename the product to Codetree (721b627)
- chore: set the release version to 0.3.0 (d29db46)
- chore: add VS Code workspace settings and Makefile (38c2c42)
- test: load regressions from src modules and the bundled worker (2015f91)
- refactor: move extension source into src/ modules bundled with esbuild (206197d)
- chore: prepare release 1.0.0 (1aefb6e)
- test: cover manual releases and Chrome Web Store submission (2202d7b)
- ci: add manual releases and Chrome Web Store submission (67fcf8c)
- fix: stabilize sidebar startup and refresh file icons (c91ba22)
- docs: record current native GitLab viewer smoke (65fee51)
- docs: record installed extension settings smoke (dd0f217)
- docs: record verified security follow-up CI artifact (ca14d54)
- fix: harden repository responses and add opt-in browser sync (bfb74b4)
- fix: prevent sidebar flash during repository loading ...