Stable release notes published to GitHub are mirrored here for Marketplace version history.
- release tag:
v0.0.228 - target commit:
e62866370de980fc3ab71d65fa13ae4a725a5fd9 - previous release:
v0.0.227
000f49bfeat: reposition Better Todo Tree as an active successorAccurately describe / differentiate Better Todo Tree from the abandoned upstream listing
README and marketplace copy:
- accurately describe Better Todo Tree as a drop-in successor to Todo Tree rather than a passive mirror of the original project
- add clearer website, marketplace, and GitHub links
- align the package description with the new README description
6088b69release: v0.0.228
- release tag:
v0.0.227 - target commit:
dbd040d14e1fc418c3a20bb64c268449fadee0ce - previous release:
v0.0.226
5d741dffeat: clarify Better Todo Tree fork identity across metadataMake the Marketplace card, Marketplace details page, and GitHub landing page read as an independent maintained fork instead of inheriting the abandoned Todo Tree copy.
Metadata and docs:
- rewrite the package description around Better Todo Tree as the maintained Todo Tree fork
- point the extension homepage at bettertodotree.com
- add a fork-status section under the Better Todo Tree heading in README.md
- link the website, Marketplace listing, source, issues, and upstream project base from the README header
2c1a4cbrelease: v0.0.227
- release tag:
v0.0.226 - target commit:
598746a576d7d3e8ec4a4ee55f6e017093e4af26 - previous release:
v0.0.225
6b1d97ffeat: automate stable and latest GitHub releases with ordered notesAdd a complete release-automation layer for both stable semver tags and the moving latest/nightly prerelease.
Stable release automation:
- add scripts/release/release-versioning.sh for semver tag discovery, previous-release lookup, and patch/minor/major version increments
- add scripts/release/write-release-notes.sh to generate deterministic release notes from git history with commits listed in chronological order
- add scripts/release/create-next-release.sh to:
- read the latest stable tag
- increment the version
- update package.json and package-lock.json
- create the release commit and annotated tag
- write the release notes artifact
- optionally push master and the new tag
- update scripts/release/create-github-release.sh so GitHub releases are recreated or updated from generated notes instead of relying on whatever body happened to exist before, including the case where the release was manually deleted
- pass the resolved target SHA into the GitHub release step so the release notes and attached assets are anchored to the correct ref
Moving latest/nightly release automation:
- add .github/workflows/latest.yml to publish a moving prerelease on every push to master, on a nightly schedule, and by manual dispatch
- add scripts/release/create-or-update-moving-github-release.sh to:
- regenerate ordered release notes for the moving latest channel
- force-update the latest tag to the target commit
- delete and recreate the prerelease with the current VSIX artifacts
- keep latest/nightly GitHub prereleases separate from the official stable tag-driven release workflow
Local tooling and verification:
- add just next-release as the local entrypoint for creating the next stable release
- add just test-actions-latest-build and fold the latest-release verification into just test-actions
- extend release-script and workflow tests to cover:
- ordered release note generation
- next-release version bump, commit, tag, and notes creation
- moving latest prerelease creation and recreation
- release workflow wiring for regenerated GitHub release bodies
57e62f4fix: bound release notes to fork historyUse the upstream merge-base as the lower bound for generated release notes when no prior stable Better Todo Tree release exists so nightly/latest notes do not replay the full upstream Todo Tree commit history.
Release note boundaries:
- add upstream ref resolution and fork-point detection to scripts/release/release-versioning.sh
- use the fork point as the history base in scripts/release/write-release-notes.sh whenever no previous stable fork tag exists
- include the fork point in generated notes for no-stable-tag cases so the release body shows the actual history boundary being used
Regression coverage:
- add a fork-history fixture to test/release.workflow-scripts.test.js
- assert that upstream commits are excluded when no stable fork release exists
- keep fork-local commits ordered chronologically in generated notes
74ef1e7fix: render linked multiline commit notes in release bodiesUse repository-aware commit URLs and NUL-delimited git log records so generated release notes keep full commit bodies intact and link every commit boundary to the corresponding GitHub page.
Release note rendering:
- derive the repository web URL from the origin remote with an explicit override for release automation and local fixture repos
- switch commit collection in scripts/release/write-release-notes.sh to NUL-delimited records so multiline bodies do not split into synthetic entries
- render target commits, fork points, and included commit SHAs as markdown links to their GitHub commit pages
- emit commit body lines beneath each included commit instead of truncating notes to the subject line
Regression coverage:
- seed the release-note fixtures with multiline commit bodies
- cover repository URL overrides in fixture environments
- assert linked SHAs, preserved body lines, and the absence of synthetic empty commit entries in generated release notes
1297e91fix: accept just release args and report dirty worktreesTreat the \ separator from just as a no-op in create-next-release.sh so just next-release -- --bump patch --push reaches the release logic instead of failing argument parsing.
Release creation safety:
- require a clean worktree before version bumps and tag creation
- print the pending changes when the tree is dirty
- keep the successful path clean by moving bare remote fixtures outside the test repo root
Regression coverage:
- cover the exact just separator invocation in test/release.workflow-scripts.test.js
- cover the explicit dirty-worktree failure mode
b002637release: v0.0.226
- release tag:
v0.0.225 - target commit:
bc3a538c9430d8079b2882e3969acde5ebe81225 - previous release: none
- fork point:
a6f60e0ce830c4649ac34fc05e5a1799ec91d151
4e35370fix: eliminate overlapping scans and incremental refresh regressionsRework the Linux performance hot path to stop overlapping workspace scans, duplicate post-processing, and repeated whole-tree recount/filter/sort work.
- split tree refresh scheduling from rescan scheduling
- add generation-gated single-flight scan state and coalesced pending rescans
- debounce open-file refreshes per document/version instead of using one global timer
- stop reparsing workspace-covered open files after workspace scans
- remove startup open-file refresh amplification
- switch automatic git refresh to single-flight execFile polling per workspace
- replace flat search result storage with URI-indexed results and dirty-entry draining
- replace whole-corpus tree rebuilds with incremental per-document replacement
- cache status bar and activity bar tag counts in the tree provider
- keep branch-local filter/sort work for incremental edits instead of rewalking the full tree
- switch ripgrep execution from shell exec to streamed spawn-based parsing
- make stop-scan cancel the real active ripgrep process
- bound ripgrep debug output instead of retaining full stdout copies
- suppress stale highlight passes when the editor document version changes
- update legacy searchResults tests for URI-backed entries
- add regression tests for indexed search result draining and ripgrep streaming/cancellation
- add a performance remediation audit and scope-completion map
Refs: Gruntfuggly#887 Refs: Gruntfuggly#733 Refs: Gruntfuggly#689 Refs: Gruntfuggly#643 Refs: Gruntfuggly#621
efcf972fix: unify detection, harden scan behavior, and lock coverage with exhaustive matricesIntroduce a canonical detection pipeline and route editor/workspace ingestion, highlighting, and tree rendering through the same normalized match model.
Core remediation:
- add src/detection.js as the authoritative scanner/normalizer for:
- built-in comment-aware scanning
- custom-regex normalization
- resource-aware URI/file-specific regex and subtag handling
- canonical offsets for tags, subtags, comments, and full matches
- make src/config.js URI-aware for regex/subtag resolution so per-resource overrides are honored consistently
- tighten the manifest default regex in package.json so default matching is token-bounded and no longer treats arbitrary identifiers as todos
- fix the package.json showTreeView menu clause so it is scoped correctly to Todo Tree views only
Extension scan and interaction fixes:
- integrate the canonical detector into src/extension.js for open-file, current-file, and workspace ingestion
- split workspace scanning into:
- candidate-file scanning for default built-in detection
- normalized ripgrep match ingestion for custom regex mode
- keep workspace/open/current scan behavior aligned through one result model
- preserve passive active-editor tracking without force-selecting tree nodes while keeping explicit reveal commands selecting nodes
- keep the staged scan-path changes aligned with the performance remediation audit already included in this patch set
Highlight and icon fixes:
- rework src/highlights.js to decorate from canonical offsets instead of line-end heuristics
- clip text/text-and-comment/tag-and-comment/line highlight ranges correctly
- expose highlight() for direct subsystem tests
- split src/icons.js into tree vs gutter icon APIs
- force gutter icons through file-backed assets so codicon/product-icon based settings render reliably in editor gutters
Tree and rendering fixes:
- make src/tree.js use deterministic workspace/path/todo ids
- render multiline todos as one logical node instead of synthetic child todo chains
- preserve full multiline text in tooltips/exports
- sort tag-bearing siblings by configured tag order instead of incidental path order
- tighten todo identity matching to fsPath + line + column + actualTag
- remove build-counter/node-counter id churn from the tree model
Comment-pattern and utility fixes:
- make src/utils.js resolve comment-pattern languages from basenames when extensions are insufficient, including Makefile/Cakefile-style inputs
- keep explicit alias normalization for .jsonc -> .js and .vue -> .html
- centralize the shipped default regex source
- expose resource-aware config/regex helpers used by the detector matrix
- fix overlapping single-line comment token handling exposed by the matrix suite, including Jade // vs //- precedence
Verification and regression coverage:
- add behavioral tests for canonical detection, markdown headings/task items, Python triple-quoted blocks, multiline comment continuations, highlight clipping, gutter icons, tree multiline rendering, stable ids, and tag order
- add exhaustive language and regex matrix suites covering the vendored comment-pattern corpus, manifest default tags, custom-regex axes, and highlight modes
- add extension scan parity coverage for open/current/workspace ingestion and workspace-plus-external-open-document merge behavior
- add manifest verification for the scoped showTreeView when-clause
- add ripgrep regression coverage for paths containing spaces and parentheses
- expand test stubs/helpers to support URI-scoped config overrides and deterministic module loading
- add audit artifacts documenting behavioral remediation, performance remediation, and the exhaustive test matrix
Refs: Gruntfuggly#887 Refs: Gruntfuggly#875 Refs: Gruntfuggly#840 Refs: Gruntfuggly#839 Refs: Gruntfuggly#820 Refs: Gruntfuggly#812 Refs: Gruntfuggly#710 Refs: Gruntfuggly#899 Refs: Gruntfuggly#898 Refs: Gruntfuggly#879 Refs: Gruntfuggly#734 Refs: Gruntfuggly#733 Refs: Gruntfuggly#697 Refs: Gruntfuggly#689 Refs: Gruntfuggly#675 Refs: Gruntfuggly#663 Refs: Gruntfuggly#654 Refs: Gruntfuggly#644 Refs: Gruntfuggly#643 Refs: Gruntfuggly#621 Refs: Gruntfuggly#918
- add src/detection.js as the authoritative scanner/normalizer for:
62d0a8eAdd TODOS_LISTS/ to .gitignorede77c0fUpdate vscodeignore to exclude TODOS_LISTS/5b9e671feat: ship Better Todo Tree with compatibility-first rebrand and automated releasesRebrand the forked extension as FanaticPythoner.better-todo-tree v0.0.225 and carry existing Todo Tree users forward instead of forcing a hard break.
Compatibility-first fork surface:
- rename the published extension identity, display strings, localized metadata, docs, links, changelog, and packaged assets to Better Todo Tree / FanaticPythoner
- keep todo-tree-container and todo-tree-view stable so existing activity-bar placement and persisted view layout survive the fork
- add src/extensionIdentity.js as the single source of truth for:
- current and legacy namespaces
- command ids and legacy aliases
- context keys
- export schemes
- settings lookup and update targets
- stable hidden internal ids
- ship both better-todo-tree.* and deprecated todo-tree.* settings in the manifest and localized metadata
- resolve configuration in current -> legacy -> current-default order so old settings keep working immediately after the rebrand
- add same-scope legacy settings import plus the Better Todo Tree: Import Legacy Settings command
- keep legacy todo-tree.* commands registered as hidden aliases and accept both better-todo-tree-export: and todotree-export:
- route config, colours, icons, highlights, tree behavior, export handling, and command wiring through the compatibility layer
Release and distribution automation:
- replace the abandoned Travis path with pinned GitHub Actions workflows for CI, security scanning, reusable VSIX builds, and tag-driven releases
- build the full 10-target VSIX matrix, publish to VS Code Marketplace, publish to Open VSX when reachable, attest build provenance, and create GitHub Releases from annotated tags
- isolate Open VSX publication so a registry outage no longer blocks VS Code Marketplace publication or GitHub Release creation
- add checked-in release scripts for:
- release metadata validation
- artifact discovery
- VS Code Marketplace publishing
- Open VSX publishing
- GitHub Release creation
- one-time GitHub release-environment bootstrap
- add justfile entrypoints for setup, release-environment bootstrap, workflow linting, CI simulation, release-build verification, and VSIX builds
- add Dependabot, CODEOWNERS, release-note categories, and .nvmrc
Repository, licensing, and packaging hardening:
- standardize on LICENSE and remove the old License.txt path
- distribute the fork as GPL-3.0-only while preserving the upstream Todo Tree Expat/MIT notice in UPSTREAM-NOTICE.md
- align package metadata and docs with the GPL-3.0-only fork license
- document migration behavior, compatibility boundaries, release setup, and licensing in MIGRATION.md
- exclude workflow-only files, release tooling, and migration docs from packaged VSIX artifacts
- add and pin maintained release/build dependencies including @vscode/vsce, ovsx, webpack 5, webpack-cli 7, qunit 2.25, micromatch 4.0.8, @primer/octicons 17.12, and the lodash override
Verification and regression coverage:
- extend manifest tests to verify:
- stable hidden view/container ids
- rebranded commands and menu contributions
- dual current/legacy settings surfaces
- deprecated legacy settings metadata
- add compatibility tests for current-vs-legacy settings resolution and manifest parity
- add workflow and release-script tests covering:
- pinned action SHAs
- release permissions
- split Marketplace/Open VSX publication
- continue-on-error Open VSX behavior
- release artifact filtering
- release-environment bootstrap
- update scan-parity coverage to exercise the dual-namespace configuration path used by the forked runtime
Refs: Gruntfuggly#423 Refs: Gruntfuggly#841 Refs: Gruntfuggly#842 Refs: Gruntfuggly#890
e9b9088fix: escape tag literals in one pass for regex constructionReplace the two-step tag escaping logic in src/utils.js with a single regex-literal escaping helper so backslashes and regex metacharacters are sanitized consistently when building the tag regex source.
This removes the incomplete escaping pattern flagged by CodeQL without changing the intended matching behavior, and updates the exact-output tests to assert the corrected escaped form.
Verification:
- npm test -- --filter "utils.getRegexSource"
- just test
- just test-actions
The entries below are preserved from the upstream Todo Tree changelog.
- Remove filewatcher functionality
- Add a simple mechanism to watch for git repo changes instead of using the file watcher
- Add a simple periodic refresh
- Flash the line containing the TODO when clicking on items in the tree view
- Fix go to next/previous TODO commands when regex matches the starts of the line
- Deprecate file watcher settings and remove from the README.md
- Add commands to move to next and previous TODO in a file
- Add default octicons for custom highlights (thanks to Andrew Hlynskyi)
- Always show total in the activity bar regardless of other settings
- Add support for hiding counts from the activity bar badge
- Fix auto refresh when closing file (thanks to yw662)
- Fix scopes documentation (thanks to kjo-sdds)
- Update node_modules exclude to match VSCode (thanks to Benas Svipas)
- Fix missing 'new' keywords (thanks to Elias)
- Fix duplicate entries when refreshing and files have unsaved changes (thanks to Chris Bain)
- Fix issue with duplicate items (thanks to Matt Toigo)
- Update octicons and fix todo tree icons (thanks to Morgan)
- Add activity bar badge support, but default to off and only for versions 172+ of vscode
- Back out activity bar badge option for older versions of VSCode
- Update minimum VSCode version to 1.172
- Add support for activity bar badge
- Update default regex in README.md
- Add "none" as a valid value for highlight type
- Add default icons for default tags
- Add markdown tags to default tag list
- Update screenshot in README.md
- Look for new location of VSCode's packaged ripgrep when the default setting is used
- Build codicon list automatically
- Support highlighting from capture groups in the regex
- Fix default regex to not greedily match newlines
- Update default regex
- Fix group by tag
- When grouping by tag, don't add group node for single item
- Ensure markdown update popup is hidden for current session too
- Use entire URI for editor ID when highlighting
- Only show reveal button when not in tags only view
- use subtag match correctly
- Only show total count in title if tree counts are enabled
- Remove some old migration code (before version 168)
- Fix colour validation
- Improve status bar layout
- Fix missing URI in multi line TODOs
- Add icon validation
- Use the window icon for workspaces in the tree
- Move 'schemes' setting from highlights to general (and include "ssh" by default)
- Use URIs instead of file paths to improve support for remote file systems
- Fix group by tag in flat mode
- Show icons on status bar for each tag count
- Use tag order in status bar, unless showing top three
- Use tag order when grouping by tag
- Fix file opening on Windows
- Indicate current scope selection when changing
- Make reveal behaviour more consistent with VSCode
- Add support for scopes, allowing predefined sets of globs to be selected, (thanks to kkckkc)
- Add support for manually enabling multiline TODO support
- Improve multi-line todo handling
- Fix broken file icons in tree
- Fix missing filename when using compact folders
- Revert commit which removed trailing text from multiline TODOs
- Improve colour validation for icons
- Fix theme colours for ruler colour
- Remove trailing block comments when adding multiline todo to tree
- Support multi-line haskell comments
- Don't include trailing text to the end of multiline TODOs
- Sort tags only view on tags order by default
- Ignore case when validating HTML colour names
- Allow highlights to be enabled/disabled by clicking the status bar
- Add ruler opacity setting
- Improve view title
- Add support for VSCode issue reporter
- Fix highlights in split editors
- Add improved markdown support dialog and settings update
- Fix expanded node storage after resetting cache
- Fix highlighting of markdown TODOs
- Fix reversed sort order
- Improve tag extraction when regex doesn't contain $TAGS
- Fix sorting (again)
- Fix 'afterOfBefore' substitution
- Add VS Code theme color reference link (thanks to tksh164)
- Add support for label (and tooltip) transformations (thanks to TomFreudenberg)
- Sort tags only view be label, not tag
- Use storageUri instead of deprecated storagePath (v2)
- Add
**/node_modulesto default exclude globs - Add support for removing trailing comment marker from .vue files (treated as HTML)
- Add context menu details to README.md
- revert commit which replaced deprecated storage path
- Add filter icon to filters active info node
- Fix missing context flag for show export button
- Implement a sub tag regex (based on work bycalw20)
- Support opening a URL by clicking on the sub tag in the tree
- Wait for startup to finish before starting extension
- Re-enable hideTreeWhenEmpty option
- Add delay before hiding tree when empty to prevent view disappearing on refresh
- Allow use of alternative "iconColor" in highlights configuration
- Add support for grouping by sub tag
- Add more commands to tree view context menu
- Add support for highlighting sub tags
- Use storageUri instead of deprecated storagePath
- Don't override rgba alpha value if opacity is unset
- Fix compact folders when grouping by tag
- Fix description of 'hide tree when empty' option
- Add support for total todo count in view title
- Temporarily disable hideTreeWhenEmpty (Will be re-enabled after January release of VSCode)
- Fix icon colour check
- Fix coloured octicons
- Make storage folder creation (if required) more robust
- Improve icon colouring under error conditions
- Add localization support for zh-cn (thanks to loniceras)
- Add context menu option to toggle compact folders
- Add support for a simple colour scheme to apply to the highlights
- Default to 'TODO' if all tags are removed
- Add some icons to the scan mode and nothing found messages
- Extend information about
($TAGS) - Fix icons in README.md
- Use unique filenames for pattern files
- Fix disappearing icon
- Fix showing tree view when clicking status bar
- Change default setting of hideTreeWhenEmpty to false
- Fix showInExplorer setting migration
- Remove showInExplorer setting and associated view (thanks to tristan957)
- Change activation event to onStartupFinished
- Add option to disable use of pattern file
- revert "Add word boundary after tags in default regex"
- Fix hide tree when empty setting
- Improve filter removal dialog
- Update to latest octicons
- Allow theme colours to be used for codicons (octicons are not supported)
- Add word boundary after tags in default regex
- Fix badly published version
- Add support for hiding individual files
- Add dialog for removing folder filters
- Add timestamps to debug logging
- Update theme colour names
- Fix case sensitivity on tag matching
- Use pattern file to avoid extra escaping of the regex
- Add option to disable sorting the tree to allow ripgrep sorting arguments to be used instead
- Add note to README.md about lack of codicon support for gutter icons
- Fix debug logging in ripgrep.js
- Add option to show scan mode in tree view
- Add option to scan workspace only
- Override Markdown comment detection with HTML comments
- fix ripgrep link in README.md (thanks to pke)
- Remove extension.js.map from bundle
- Add context menu options to toggle badges and item counts
- Fix counts in tree when hideFromStatusBar is enabled
- kill ripgrep on deactivate
- Allow rgb and rgba colour definitions
- Fix hidden file test
- Bundle the extension
- Fix colour validation
- Revert change to remove node modules
- Grey out expand/collapse buttons instead of hiding them
- Don't export status node in tree
- Fix tags extraction
- Fix hidden file test
- Fix case sensitivity issue with root folder in Windows (thanks to cobey)
- Add validation of colours in settings
- Fix octicons link in README.md (thanks to VictorHAS)
- Fix tooltipFormat always displaying default (thanks to jasonericdavis)
- Add missing 'default' in README.md (thanks to rhynodesigns)
- Simplify export function
- Allow buttons in tree view title to be configured
- Add export button to tree view title
- Use Code's codicons for title bar instead of custom icons
- Don't include files without extensions as hidden files
- Fix line numbers in export
- Add file path in tags only view export
- Don't include filtered nodes in tree counters
- Support configurable export path
- Only scan workspaces with "file" scheme
- Add option to include hidden files
- Order configuration settings alphabetically in package.json
- Remove leading comments from multiline TODOs
- Update README.md with 'current file' status bar details
- Remove migration code for version 0.0.161
- Add spaces and commas to status bar item
- Update to latest version of micromatch
- Fix "Nothing found" indicator
- Remove colon from status bar when single counts are shown
- Improve handling of tree view status item (showing active filters)
- Fix link to codicons in README.md
- Don't show 'None Found', just use '0' to keep the status bar item short
- Support removal of block comments in .jsonc files
- Add "current file" option to status bar
- Add popup to show current status bar mode
- Add support for codicons
- Fix block comment extraction
- Refresh files after a timeout
- Fix tag counts in tags only view
- Add support for hiding tags from the status bar counts
- Fix cycling of status bar
- Add option to manually start the scan
- Add configuration for tooltip
- Don't refresh when regex is being changed
- Add more information about globs to README.md
- Allow file watcher glob to be configured
- Fix error on deactivate (thanks to hacke2)
- Turn off file watcher by default
- Support showing TODOs from current file only
- Show scan mode indication in status bar item
- Add HACK and XXX to default tags
- Add support for using built in search excludes
- Add button icons for README.md
- Allow array settings to be modified in the settings GUI
- Detect external file changes and update tree
- Skip leading whitespace when highlighting
- Fix hide tree when empty option
- Count markdown TODOs as "TODO" when showing totals in the status bar
- Use a default colour for ruler highlights
- Add better explanation of useBuiltInExcludes setting
- Add support for compact folders in tree
- Fix path searches
- Improve fix for case where $TAGS is not used in regex
- Support tag groups
- Fix case where $TAGS is not used in regex
- Fix missing background colours
- Add some default icons and the BUG tag
- Fix reveal tree from status bar
- Remove files from tree when files are closed
- Add option to show icons in gutter
- Add support for manually revealing the current file in the tree
- Add support for theme colours in highlights
- Turn on highlighting by default (inverted editor background/foreground)
- Fix submodule detection to look for .git file not folder
- Add option to ignore git submodules
- Reorder icons to be consistent with the Explorer view
- Fix white icons in tree
- Remove cached icons when resetting cache
- Sort tags in reverse order to allow more specific tags to be found first
- Add link to wiki in README.md
- Allow --no-config to be removed
- Simplify regex escape regexes
- Show active folder filters in tree
- Further improvements to regex chars in tags
- Fix top level folder globs
- Add support for including the built in files.exclude setting
- Handle regex characters in tags properly
- Add setting to control which editor URI schemes should be highlighted
- Add --no-config to ripgrep command to prevent parsing of user rg.conf files
- Fix object migration bug
- Improve folder globs for windows
- Replace all instances of tags in regex (thanks to tylerbrockett)
- Update README.md with new settings (thanks to abelmatser)
- Fix ripgrep arguments
- Add "Reset Cache" command
- Fix migration of 'tags' setting
- Open settings in a better way
- Use global state (not workspace state) for "Don't Show This Again"
- Make "Open Settings" work for Insiders too
- Fix "Ignore" option for settings migration warning
- Move settings into groups
- Make settings in README.md easier to read
- Fix broken match extraction
- Fix 'os' library import for export function (thanks to thalesfsp)
- Fix settings table in README.md
- Simplify regex for decoding results and fall back to old method on failure
- Allow use of the todo-tree icon in the tree
- Improve decoding of ripgrep results (thanks to Quacky2200)
- Remove use of deprecated rootPath when exporting tree
- Add option to configure border radius on highlights
- Check file path when looking for existing todo nodes
- Fix magenta icon
- Handle tags at the end of lines better
- Fix custom coloured icons
- Sort folders before files
- Update icons to match the 1.37.0 GUI (great work by johnletey - many thanks!)
- Add option to hide ruler markers
- Add option to reveal tree when clicking the status bar
- Add option to hide icons when grouping by tag
- Add support for fontStyle, fontWeight and textDecoration to highlights
- Fix multiline highlight
- Fix error in isHex function
- Add folder filtering context menu
- Make multiline TODO highlights work properly
- Add option to disable hiding the tree when it is empty
- Add option to highlight line to full width of the editor
- Add tree export feature
- Add license
- Add option to prevent globs being passed to ripgrep
- Add option to highlight the comment characters in front of the tag
- Add option to highlight the comment characters in front of the tag and text (thanks to sidpagariya)
- Improve glob handling (thanks to somewhatabstract)
- Prevent finding TODOs in output windows, etc.
- Fix clearing of filter
- Add missing icons in README.md
- Add configuration for reveal behaviour (thanks to pd93)
- Fixed install instructions in README.md (thanks to patros)
- Improve experience for contributors (thanks to true0r)
- Remove colon in format strings (thanks to true0r)
- Fix hideFromTree for complex tags
- Fix detection of multiline highlights in open files
- Add "scan open files only"/"scan workspace" toggle button
- Fix previous fix (sigh)
- Use old highlight mechanism if no tag is extracted from the match
- Support multiline TODOs
- Save filter state
- Add option to hide tags from tree, but still highlight in files
- Add link to octicons to README.md
- Revert adding word boundary from default regex
- Fix ripgrep argument combination (sorry again!)
- Fix default regex (sorry!)
- Set default ripgrepArgs to include "--max-columns=1000"
- Add word boundary to default regex
- Add support for ${filename} in label format
- Remove redundant dependency on minimatch
- Fix error when creating resources
- Use globalStoragePath instead of storagePath
- Fix isNaN error (thanks to JakubKoralewski)
- Add support for overview ruler configuration
- Update to the latest octicons
- Don't set default background colours unless a background is specified
- Fix crash when highlight colour is not defined
- Add opacity option to highlights
- Removed settings migration code
- Fix line number in label format
- Add black and white colours
- Add support for showing counts in the tree
- Add top three counts option to status bar
- Add configuration of TODO item labels
- Remove deprecated settings
- Fix root folder configuration
- Fix bug in tag counting
- Add support for showing counts of tags in the status bar
- Fix showTagsFromOpenFilesOnly
- Add option to sort tags only view alphabetically
- Add line number to tooltip
- Add new minimal view (tags only)
- Fix context.storagePath creation error
- Start adding unit tests
- Fix tag extraction function (properly)
- Fix tag extraction function
- Don't add entries for open files if already found by search
- Don't remove items from tree when file is closed and showTagsFromOpenFilesOnly is false
- Don't use case sensitive group nodes if regexCaseSensitive if false
- Remove items from tree when file is closed and showTagsFromOpenFilesOnly is true
- Fix globs migration error
- Make globs work properly (at last!)
- Fix showTagsFromOpenFilesOnly option
- Expand ${workspaceFolder} in rootFolder for all workspaces
- Provide configuration for included/excluded workspace folders
- Handle situation where there are no workspace folders better
- Trap errors when there are no workspaces
- Allow debug channel to be enabled/disabled without reloading the window
- Fix trailing slash on windows paths
- Remove leading newlines from matches in files
- Show
line <n>for tags with no content when grouping by tag
- Don't sort tags within files
- Fix workspace paths
- Replace backslashes in the tags list with \x5c
- Set workspaces when first TODO is added
- Major refactor to simplify and remove unused code
- Stop using ripgrep for single file updates
- Add configuration setting for badges and SCM state
- Fix configuration example and rust regex link (#82 and #79)
- Support multiple workspaces properly
- Preserve expansion state when changing view and reloading the window
- Add support for case insensitive tag matching
- Sort tree alphabetically when grouping by tag
- Allow proper highlighting without using tags setting
- Reveal items in the middle of the window (#76
- Fix stupid label trimming error
- Allow customHighlight match by regex
- Support multiple tags on the same line
- Allow the icon colour to be explicit set in the custom and default highlight settings.
- Restore 'expanded', 'flat' and 'grouped' default configuration settings (fixes #68)
- Fix tree elements not appearing when there is no workspace (fixes #67)
- Use workspaceState for view state instead of workspace settings
- Remove redundant settings from README.md
- Fix a bunch of typos in various files
- If foreground is not specified, use black or white depending on background colour
- If foreground is not specified, use background for icon colour if specified, else deprecated colours
- Fix settings for unknown tags (e.g. markdown TODOs)
- Fix spelling mistake in package.json
- Extend configurability of highlights
- Add support for highlight tag only, tag and text, or entire line
- Inhibit tracking document when selecting from tree
- Prevent tracking file when grouping enabled
- Track open file in the tree views
- Add information about header buttons to README.md
- Add commands for adding and removing tags
- Add note to README.md about reloading the window after installation
- Add note to README.md about excluding files and folders
- Fix showing highlights properly
- Show highlights in all editors (not just the active editor) (fixes #61)
- Treat process as a stream to avoid buffer size problems
- Inhibit failure messages when there is nothing found
- Allow configuration of buffer size to cope with large amounts of TODOs (thanks to somewhatabstract)
- Support custom icons from the octicon set
- Fix trailing slash in rootFolder (Windows)
- Add support for interrupt/restart of scan
- Allow delay before highlighting to be configured
- Fix icons for folders
- Add start of line as start of tag marker
- Add support for grouping by tags
- Cope with languages that don't have block comments
- Handle missing languages when checking block comments
- Tidy up trailing block comments
- Fix error when checking for changed editors (thanks to md2perpe)
- Improve tag matching icon colours
- Add option to disable scanning of workspace
- Add in file highlighting
- Remove leading comments from tree
- Apply globs to files out of workspace
- Add configuration to disable auto refresh
- Add filter function
- Refresh or rebuild (as appropriate) the tree on config changes
- Add expand/collapse buttons
- Fix link to rust regex docs
- Change example glob pattern in config
- Restore icons to the explorer tree view
- Inhibit warning if version of vscode is earlier than 1.23
- Add tree view to activity bar
- Fix bad display of README.md in marketplace
- Add support for additional ripgrep arguments
- Add support for diagnostic logging (to Output window)
- Improve configuration section of README.md
- Allow variable substitution (including ${workspaceFolder}) in todo-tree.rootFolder
- Show TODOs from open files which are not within the workspace. Note: Due to a limitation of VSCode, they will only appear as the files are loaded.
- Split tags out of regex to simplify configuration. Note: existing configurations should still work.
- Removed autoUpdate flag as it seems a but irrelevant now
- Improve stability of tree
- Fix executable name for Windows
- Inhibit error when no root folder is initially available
- Add support for multiple workspaces
- Refresh view when configuration is modified
- Fix sort function
- Locate ripgrep dynamically (thanks to ericmoritz)
- Try resetting the ripgrep path if the current path is not found
- Support new location of vscode-ripgrep for 1.21.0
- Inhibit error messages from ripgrep (stops error when current folder is empty)
- Refresh current file when editor is closed
- Allow hex codes to be used to specify icon colours
- Add keywords to package.json
- Update description
- Added list of available icon colours to configuration description
- Added a screenshot to the README.md
- Allow icon colour customization based on type of tag
- Fixed default regex for HTML (thanks to kcmr)
- Add support for file icons from theme
- Add customizable icon colour for todo icon
- Fix single file update in flat view
- Fix globs in Windows
- If vscode-ripgrep is not found in the standard location, try finding it using the application installation path.
- Hide the viewlet by default - instead of when detecting there is nothing in the tree.
- Use the version of vscode-ripgrep and comes with vscode itself. This is a lot simpler and makes startup quicker too. The downside is that if vscode is installed somewhere other than the default location, it won't be found.
- Force the use of an older version of vscode-ripgrep. The latest version seems to fail to install.
- Remove command logging
- Add flat list view
- Only show the tree view if it's not empty
- Fix scanning message
- sort results to keep tree consistent
- remove empty parent nodes from the tree
- ignore files outside the root folder
- handle filenames containing spaces
- Add auto update when saving files
- Add preference to show tree expanded by default
- Only attempt install if todo-tree.ripgrep is not defined and show some info if the install fails
- Attempt to install vscode-ripgrep directly from the extension
- Attempt to reinstall vscode-ripgrep automatically
- Removed redundant dependencies
- Add some info for fixing the windows version of vscode-ripgrep
- Made it work on Windows
- Add configuration for ripgrep executable path
- Improved error handling
- Initial release