Releases: FanaticPythoner/better-todo-tree
Latest Nightly Build (dbc623800c88)
Better Todo Tree latest
- branch:
master - target commit:
dbc623800c88169a5c6d01fef3e105b3a4591a76 - base stable release:
v1.1.20
Included commits since v1.1.20
541c9c7build(deps-dev): bump @vscode/vsce from 3.9.1 to 3.9.2Bumps @vscode/vsce from 3.9.1 to 3.9.2.
updated-dependencies:
- dependency-name: "@vscode/vsce"
dependency-version: 3.9.2
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] support@github.com
- dependency-name: "@vscode/vsce"
8779b5fMerge pull request #67 from FanaticPythoner/dependabot/npm_and_yarn/master/vscode/vsce-3.9.2build(deps-dev): bump @vscode/vsce from 3.9.1 to 3.9.2
5ccb644build(deps-dev): bump qunit from 2.25.0 to 2.26.0Bumps qunit from 2.25.0 to 2.26.0.
updated-dependencies:
- dependency-name: qunit
dependency-version: 2.26.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] support@github.com
- dependency-name: qunit
cb2b651build(deps): bump github/codeql-action from 4.36.0 to 4.36.2Bumps github/codeql-action from 4.36.0 to 4.36.2.
updated-dependencies:
- dependency-name: github/codeql-action
dependency-version: 4.36.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] support@github.com
- dependency-name: github/codeql-action
e3fe762Merge pull request #65 from FanaticPythoner/dependabot/github_actions/master/github/codeql-action-4.36.2build(deps): bump github/codeql-action from 4.36.0 to 4.36.2
4c4fec2Merge pull request #66 from FanaticPythoner/dependabot/npm_and_yarn/master/qunit-2.26.0build(deps-dev): bump qunit from 2.25.0 to 2.26.0
fd8cbdfbuild(deps): bump actions/checkout from 6.0.2 to 6.0.3Bumps actions/checkout from 6.0.2 to 6.0.3.
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 6.0.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] support@github.com
- dependency-name: actions/checkout
ddc8778build(deps): bump @primer/octicons from 19.27.0 to 19.28.1Bumps @primer/octicons from 19.27.0 to 19.28.1.
updated-dependencies:
- dependency-name: "@primer/octicons"
dependency-version: 19.28.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] support@github.com
- dependency-name: "@primer/octicons"
a0c1a5eMerge pull request #64 from FanaticPythoner/dependabot/github_actions/master/actions/checkout-6.0.3build(deps): bump actions/checkout from 6.0.2 to 6.0.3
dbc6238Merge pull request #68 from FanaticPythoner/dependabot/npm_and_yarn/master/primer/octicons-19.28.1build(deps): bump @primer/octicons from 19.27.0 to 19.28.1
Better Todo Tree 1.1.20
Better Todo Tree 1.1.20
- release tag:
v1.1.20 - target commit:
925479fa0202a40f08ca0aaa64547417674661ff - previous release:
v1.1.19
Included commits
559eedafix: centralize regex sources and harden scan flowsRegex construction routes runtime, tests, workflow checks, release
checks, perf harnesses, and evidence tooling through a typed registry
while preserving scan parity.Regex registry:
- add shared fragments, named patterns, tag placeholders, default regex
constants, builder helpers, and typed registry errors - replace duplicated literals in detection, utils, attributes,
highlights, icons, tree, stream scanning, config, webpack, perf,
release, workflow, parity, and test code - add an equivalence harness that covers 81/81 baseline sources,
73/73 behavior cases, and zero non-registry regex literals
Scan and command flow:
- extend candidate workspace scans to JavaScript-compatible custom
$TAGS regexes with balanced structure and zero-width tails - keep PCRE2-only backreference regexes on raw ripgrep normalization
- wrap registered commands in a shared async boundary and return
persistence, reveal, export, and migration work - roll back workspace-state writes before refresh work when
multi-entry writes fail
Ripgrep and evidence:
- return RipgrepError for option, executable, spawn, JSON, cleanup,
and cancellation failures - prevent stale search cleanup from clearing newer active searches
- add registry, scan parity, ripgrep, workflow, release, and perf
coverage plus accuracy and candidate-scan artifacts - ignore generated accuracy JSON and local settings exports
Fixes #51
- add shared fragments, named patterns, tag placeholders, default regex
fcd27fdfix: repair regex evidence and branch staging CI failuresBranch staging applies staged and unstaged source patches separately, retains
source-base snapshots, and merges fallback snapshot content against updated
target files.Regex evidence resolves a CI-safe baseline, registers CodeQL workflow assertion
patterns, and keeps busy-command icon assertions aligned with static product
icons.b624123Merge pull request #52 from FanaticPythoner/fix/issue-51-centralize-regex-sources-and-harden-scan-ripgrep-and-command-error-flowsfix: centralize regex sources and harden scan flows
711118ffix: align reload tag offsets and incremental file orderRipgrep byte offsets are converted to JavaScript string offsets before
custom-regex normalization so reload scans match editor scans for COBOL and SQL
prefix patterns.Detection:
- resolve ripgrep submatch byte positions against physical line text
- use UTF-8 byte-to-string offset conversion for absolute and local offsets
- cover issue #53 COBOL, SQL, bracket, and Unicode prefix cases
Tree:
- limit tag-order sorting to grouped root tag nodes
- keep sibling file nodes sorted by path after incremental document replacement
Packaging:
- add npm publish ignores for source, tests, workflow tooling, and artifacts
- preserve bundled dist runtime while excluding source maps
Coverage:
- add issue #53 regex matrix coverage for raw ripgrep payloads
- add tree behavior coverage for sorted sibling files after updates
- add issue #53 microbenchmark summary for scan-large-custom-regex
Fixes #53
dfcb666fix: search regex audit history for usable baselinesWalk first-parent ancestry from candidate refs so the equivalence harness selects
the nearest commit that still exposes baseline regex entries after registry
centralization.Report audit child-process exits and malformed stdout before JSON parsing, with
QUnit coverage for both failure paths.e0861e7Merge pull request #54 from FanaticPythoner/fix/issue-53-errors-in-tag-processing-during-a-full-scanfix: align reload tag offsets and incremental file order
925479frelease: v1.1.20
Better Todo Tree 1.1.19
Better Todo Tree 1.1.19
- release tag:
v1.1.19 - target commit:
24ba607dc93a9046a06dd93209a896021c837ba6 - previous release:
v1.1.18
Included commits
7720820fix: render refresh busy spinners without square backgroundsRefresh busy placeholders use light/dark SVG refresh glyphs with animation
scoped inside the glyph group. Scan status text uses the shared spinning
sync codicon label.UI:
- replace tree-state and scan busy command icons with theme-specific SVG assets
- centralize the status-bar busy codicon label in extension identity
Coverage:
- assert busy SVG animation stays inside the glyph group and leaves the root static
- cover the scan status-bar spinner prefix during progress and cancellation flows
- add issue #38 refresh-spinner benchmark evidence
Fixes #38
33daf1fMerge pull request #50 from FanaticPythoner/fix/issue-38-investigate-and-fix-odd-spinner-behavior-during-refreshfix: render refresh busy spinners without square backgrounds
24ba607release: v1.1.19
Better Todo Tree 1.1.18
Better Todo Tree 1.1.18
- release tag:
v1.1.18 - target commit:
1d244160b8ec702de841f242a991ea011e680f23 - previous release:
v1.1.17
Included commits
f921dcffix: separate status-bar and activity-bar count domainsRoute status-bar totals through status-bar counts while activity badges and
non-current-file tree title counts retain the activity-bar count domain.Runtime behavior:
- add a shared tag-count reducer for status, activity, badge, and title totals
- keep hideFromStatusBar isolated from hideFromActivityBar in total and tag modes
- update command-context cache entries after every setContext promise resolves
- use declarative notification text for regex migration and view placement prompts
Coverage and evidence:
- cover total status counts, tag status counts, and activity badge counts with split domains
- cover setContext retry behavior after a rejected command context update
- add issue #41 user-flow benchmark markdown snapshot with latency/RSS comparisons
- update .gitignore for stronger JSON matching in the artifacts directory
Fixes #41
dde246eMerge pull request #44 from FanaticPythoner/fix/issue-41-hidefromstatusbar-hidefromactivitybarfix: separate status-bar and activity-bar count domains
05af94ftest: cover issue #40 codicon validationAdd behavioral coverage for the reported codicon aliases and the codicon
icon-colour contract that rejects named colours while accepting theme colours.2f53107Merge pull request #46 from FanaticPythoner/fix/issue-40-the-codicon-icons-are-not-colored-and-an-error-message-is-displayedtest: cover issue #40 codicon validation
7c43cc8fix: allow Dependabot action bumps through workflow testsReplace stale security-action SHA literals with a shared workflow contract
that preserves full-SHA pinning and CodeQL revision pairing.Add regression vectors for the dependency-review and CodeQL action bumps
that failed the CI test harness.Fixes #47
4022546Merge pull request #48 from FanaticPythoner/fix/issue-47-fix-dependabot-blockersfix: allow Dependabot action bumps through workflow tests
4ed8f75fix: decouple Dependabot action fixtures from old SHAsReplace exact old action SHA fixture rewrites with action-name based
revision mutation so Dependabot PR heads and the base workflow share
the same security workflow contract.Centralize full-SHA validation and add fixture error coverage for
invalid revisions and missing action references.Fixes #47
5c286e6Merge pull request #49 from FanaticPythoner/fix/issue-47-fix-dependabot-blockersfix: decouple Dependabot action fixtures from old SHAs
ecd0972build(deps): bump github/codeql-action from 4.35.1 to 4.36.0Bumps github/codeql-action from 4.35.1 to 4.36.0.
updated-dependencies:
- dependency-name: github/codeql-action
dependency-version: 4.36.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] support@github.com
- dependency-name: github/codeql-action
f2191e6Merge pull request #31 from FanaticPythoner/dependabot/github_actions/master/github/codeql-action-4.36.0build(deps): bump github/codeql-action from 4.35.1 to 4.36.0
4648c21build(deps): bump actions/dependency-review-action from 4.9.0 to 5.0.0Bumps actions/dependency-review-action from 4.9.0 to 5.0.0.
updated-dependencies:
- dependency-name: actions/dependency-review-action
dependency-version: 5.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] support@github.com
- dependency-name: actions/dependency-review-action
d480b7eMerge pull request #20 from FanaticPythoner/dependabot/github_actions/master/actions/dependency-review-action-5.0.0build(deps): bump actions/dependency-review-action from 4.9.0 to 5.0.0
1d24416release: v1.1.18
Better Todo Tree 1.1.17
Better Todo Tree 1.1.17
- release tag:
v1.1.17 - target commit:
41db22c946c4825348071a6e1972d3f56502a433 - previous release:
v1.1.16
Included commits
7aad8a2fix: preserve edited default regex scans that require PCRE2Custom regexes derived from the default pattern keep candidate-based workspace
scans while raw ripgrep searches add PCRE2 only when required.Regex engine:
- detect lookaround and backreference syntax outside escaped and character-class spans
- respect explicit ripgrep engine arguments before adding --pcre2
- keep $TAGS PCRE2 regexes on candidate scans with local normalization
User surface:
- document automatic PCRE2 selection and explicit engine overrides in nls strings
- add deterministic issue #42 benchmark coverage for raw, PCRE2, and candidate routes
Coverage:
- cover regex classification, ripgrep args, workspace scan routing, and markdown task rendering
Fixes #42
19049eefix: avoid JS regex compilation for PCRE2-only tag scansPCRE2-only $TAGS regexes that use non-JavaScript backreference syntax stay
on raw ripgrep normalization instead of entering candidate scans.Regex engine:
- classify brace, subroutine, and Python-style named backreferences as PCRE2
- exclude JavaScript-incompatible tag regexes from candidate scans
- keep Rust-compatible and explicit-engine ripgrep paths unchanged
Workspace normalization:
- skip exact JavaScript RegExp construction for incompatible PCRE2 backrefs
- normalize raw ripgrep payloads from the returned match text
Docs and perf:
- document automatic PCRE2 selection and explicit engine overrides
- refresh issue #42 user-flow benchmark evidence
Fixes #42
a2caf9eMerge pull request #43 from FanaticPythoner/fix/issue-42-modifying-the-regex-setting-in-any-way-triggers-a-ripgrep-errorfix: preserve edited default regex scans that require PCRE2
41db22crelease: v1.1.17
Better Todo Tree 1.1.16
Better Todo Tree 1.1.16
- release tag:
v1.1.16 - target commit:
d53a514adb3677342fbd10ce3c8da8299335a978 - previous release:
v1.1.15
Included commits
1ce7978fix: restore labels, codicon aliases, and issue branch flowPrefix-only regex matches that contain ($TAGS) keep the physical-line
suffix available to displayText and ${after} across editor and workspace scans.Detection:
- extend non-multiline ($TAGS) regex matches to the physical line end before tag extraction
- preserve whole-match tags for explicit regexes without ($TAGS)
- cover legacy prefix regex, default labels, and workspace normalization
Icons:
- generate codicon alias names instead of codepoints
- parse "$(icon)" syntax through a shared helper for tree, gutter, and configuration checks
- keep malformed codicon syntax invalid before alias lookup
Workflow:
- add issue-derived branch recipes for full flow and standalone branch steps
- derive default branch names from GitHub issue numbers and titles
- create local and remote branches from upstream master without pushing master
- move source-branch changes onto the issue branch, stage them, wait for commit, then push the issue branch
- prompt for PR creation after branch push with yes as the default answer
Docs and artifacts:
- document prefix-only regex suffix rendering and octicon/codicon icon syntax
- replace checked-in perf JSON with markdown benchmark summaries
- ignore generated perf JSON artifacts
ae5b57afix: constrain issue branch staging and pull request targetsIssue branch staging now transfers only the source branch index while
rejecting unstaged tracked edits and untracked files before branch switch.Branch workflow:
- create issue branches without temporary origin/master tracking
- keep issue branch upstreams pointed at origin/
- reject non-project issue URLs and non-master base branches
- force pull requests to FanaticPythoner/better-todo-tree master
- pass explicit gh repo, base, and head arguments to skip fork prompts
c119f83Correctly trims trailing block comment delimitersResolves an issue where extracted text from block comments (e.g., multi-line, HTML) incorrectly included the trailing comment delimiters (
*/,-->).This change introduces new utility functions to accurately identify and remove these trailing end tokens from the detected match text. The new
trimTrailingEndTokenandtrimTrailingMultiLineCommentEndfunctions are integrated into the match normalization process, ensuring that thedisplayTextandafterproperties only contain the relevant comment content.To support this, a
resolveBlockCommentPatternutility centralizes the logic for determining the correct block comment pattern for a given file type, including language aliases (e.g., Markdown to HTML, Haskell to C++).Fixes #28
de9aec4Merge pull request #39 from FanaticPythoner/fix/issues-28-36-not-quite-a-drop-in-replacement-label-format-after-displays-beforefix: restore labels, codicon aliases, and issue branch flow
d53a514release: v1.1.16
Better Todo Tree 1.1.15
Better Todo Tree 1.1.15
- release tag:
v1.1.15 - target commit:
9840e2f0b071c69f32f8e6df0f44ab324e0b342d - previous release:
v1.1.14
Included commits
0f2bf67fix: preserve file theme icons on tree path nodes (#37)Restrict icon resource URI assignment to non-tag path nodes so tag rows keep dedicated tag icons and file containers continue using file theme resources.
Tree icon flow:
- add resource and grouping metadata on workspace, path, and flat nodes
- route
resourceUrithrough helper methods that honorshowBadges - select folder/file icons from node metadata instead of shared fallback logic
Configuration and manifest updates:
- update
showBadgestext to include file icon theme resource behavior - replace animated busy placeholder icons with static product icons
Validation artifacts:
9840e2frelease: v1.1.15
Better Todo Tree 1.1.14
Better Todo Tree 1.1.14
- release tag:
v1.1.14 - target commit:
f88bb2872f9d636b714b66f305215d299451bd99 - previous release:
v1.1.13
Included commits
d7ca55cfix: retry Open VSX publication on transient failuresTreat Open VSX read-only, network, and retryable HTTP responses as
recoverable publish failures under generic retry configuration.Release workflow:
- rename the Open VSX retry interval variable for retryable publish errors
Publish script:
- detect retryable HTTP statuses and common network failures
- preserve non-retryable publish exit codes
- keep bounded retry waits behind OPEN_VSX_MAX_WAIT_SECONDS
Tests:
- cover mixed read-only and 503 retry output for the same VSIX
- assert workflow and script checks use the generic retry variables
f88bb28release: v1.1.14
Better Todo Tree 1.1.13
Better Todo Tree 1.1.13
- release tag:
v1.1.13 - target commit:
1c27d5ff44a9ce9c1f533f07ef1f3ad3263835d2 - previous release:
v1.1.12
Included commits
7c55c34fix: retry Open VSX publication during read-only windowsTreat Open VSX read-only responses as recoverable release failures instead
of masking the publish step with workflow-level continuation.Release workflow:
- remove continue-on-error from Open VSX publication
- set a 72-hour publish timeout and 300-second retry interval
Publish script:
- require OVSX_PAT before invoking ovsx
- retry the same VSIX while read-only responses persist
- preserve non-read-only failure exit codes
- support OPEN_VSX_REGISTRY_URL and bounded wait configuration
Tests:
- cover read-only retries, same-package ordering, and hard failures
- assert the workflow no longer masks Open VSX publication failure
1c27d5frelease: v1.1.13
Better Todo Tree 1.1.12
Better Todo Tree 1.1.12
- release tag:
v1.1.12 - target commit:
07752422616ae773e6b9da8d305494e9f6444845 - previous release:
v1.1.11
Included commits
38d34f1runtime-benchamrks.json gitignoredf9d2eaedel runtime-benchmarks.jsonc2170a6fix: package ripgrep with native VSIX buildsShip one @vscode/ripgrep-universal executable per native VSIX target and
resolve it before VS Code internals when no custom binary is configured.Ripgrep packaging:
- add @vscode/ripgrep-universal as a build dependency
- stage the target-specific binary, license, readme, and manifest under dist/ripgrep
- package VSIX targets through the vsce package API with dependencies disabled
- clear staged ripgrep files after each build and leave the web target native-free
Runtime resolution:
- prefer extension-packaged ripgrep before VS Code internal layouts
- reject missing custom executable paths instead of switching binaries
- retain VS Code internal and commit-nested app-root compatibility
Docs, workflows, and measurements:
- document empty ripgrep path behavior in README and localized package strings
- refresh user-flow benchmark output and README benchmark summary
- update pinned artifact upload and download actions
Coverage:
- add config behavior cases for packaged, custom-missing, and nested layouts
- add manifest assertions for the ripgrep dependency and setting text
- add workflow assertions for VSIX staging and pinned artifact actions
0775242release: v1.1.12