Skip to content

Releases: lancekrogers/tcount

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 12 Sep 22:11
68a3fd7

Changelog

  • 5a3f2d0 Merge pull request #30 from lancekrogers/ci/npm-trusted-publishing
  • 4b34300 Merge pull request #31 from lancekrogers/ci/npm-oidc-no-dummy-token
  • 5b96b06 [obey-campaign:8deed8b4] ci: publish npm via GitHub OIDC trusted publishing
  • c14cacc [obey-campaign:8deed8b4] ci: scope npm OIDC token cleanup to CI and check tool minimums
  • b6d201e [obey-campaign:8deed8b4] ci: stop setup-node dummy token from skipping npm OIDC
  • d0dabce [obey-campaign:8deed8b4] fix(walk): resolve the walk root so root .gitignore rules survive relative roots
  • c19007f [obey-campaign:8deed8b4] fix: allow npm version bump when package.json already matches the tag
  • c211a7a [obey-campaign:8deed8b4] fix: detect model binaries, honor nested .gitignore, add per-file size cap
  • 68a3fd7 fix: detect model binaries, honor nested .gitignore, add per-file size cap (#33)

v0.6.1

Choose a tag to compare

@github-actions github-actions released this 02 Sep 17:02

Changelog

  • 0af4dbc Merge pull request #24 from lancekrogers/fix/progress-stop-before-report
  • 40b83a7 Merge pull request #25 from lancekrogers/fix/progress-lifecycle-staff
  • 8fd04da Merge pull request #29 from lancekrogers/ib0001-harden-cross-platform-cache-durability
  • 6cdd793 [obey-campaign:8deed8b4] fix: Windows parent-directory sync uses write-capable CreateFile
  • b93dcb7 [obey-campaign:8deed8b4] fix: add Windows writer locks and parent-directory fsync for cache durability
  • 9118d4f [obey-campaign:8deed8b4] fix: clear progress before final report on large dirs
  • c39eaa6 [obey-campaign:8deed8b4] fix: enforce progress clear before report via presentCountResult
  • 2215b19 [obey-campaign:8deed8b4] test: lock TTY regression for directory-count table clip
  • db40116 [obey-campaign:8deed8b4] test: treat Linux PTY EIO as EOF in directory table clip test
  • b902f0e updated npm

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 05 Aug 04:55
a757cf0

Changelog

  • ca15260 Merge pull request #21 from lancekrogers/unix-filter
  • 368013b Merge pull request #22 from lancekrogers/agent/show-directory-scan-progress
  • a757cf0 Merge pull request #23 from lancekrogers/release-v0-6-0
  • 8e5cd91 Updated package.json
  • c5a3bff [obey-campaign:8deed8b4] chore: fix progress lint before v0.6.0
  • b286b61 [obey-campaign:8deed8b4] feat: add Unix filter mode (stdin/- and --tokens)
  • 2c58dad [obey-campaign:8deed8b4] fix: address Unix filter review feedback
  • 824058d [obey-campaign:8deed8b4] fix: end discovery phase when file total is known
  • a985f50 [obey-campaign:8deed8b4] fix: show progress during directory scanning
  • d72b435 [obey-campaign:8deed8b4] merge: resolve Unix filter progress conflicts
  • 44ee3d6 [obey-campaign:8deed8b4] refactor: split root.go under 500-line limit

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 30 Jul 22:20
d589d76

Changelog

  • 1da893d Merge pull request #12 from lancekrogers/perf/hot-path-efficiency
  • 38c2afe Merge pull request #15 from lancekrogers/docs/refresh-demo-v0.5.0
  • e84c72c Merge pull request #17 from lancekrogers/test/bench-baseline-and-cancellation
  • 5cedb26 Merge pull request #18 from lancekrogers/agent/directory-gif
  • 2e68a4a Merge pull request #19 from lancekrogers/tcount-directory-cache-TD0001
  • d589d76 Merge pull request #20 from lancekrogers/tcount-counting-animation
  • 0fa68a4 Update README.md
  • e37acaf [obey-campaign:8deed8b4-FE-TD0001] docs: record directory cache rollout decision
  • 84b2ffb [obey-campaign:8deed8b4-FE-TD0001] feat: complete cache CLI and operations
  • dc38cc3 [obey-campaign:8deed8b4-FE-TD0001] feat: complete cached count path integration
  • 83f9497 [obey-campaign:8deed8b4-FE-TD0001] feat: define cache contracts and invalidation
  • a657a93 [obey-campaign:8deed8b4-FE-TD0001] feat: implement manifest store lifecycle and verification
  • c906ec7 [obey-campaign:8deed8b4-FE-TD0001] feat: measure directory cache validation and storage
  • 519da4b [obey-campaign:8deed8b4-FE-TD0001] feat: record directory cache acceptance evidence
  • f78201b [obey-campaign:8deed8b4-FE-TD0001] fix: bound verified cache memory and manifests
  • ff664d7 [obey-campaign:8deed8b4-FE-TD0001] fix: close cache review findings
  • 9e4441e [obey-campaign:8deed8b4-WI-95673d] docs: demo live progress on a multi-second large tree
  • 0f3be48 [obey-campaign:8deed8b4-WI-95673d] docs: feature both single-file and live progress GIFs in README
  • 629e9d8 [obey-campaign:8deed8b4-WI-95673d] docs: re-record counting-progress GIF with color
  • 16e9b07 [obey-campaign:8deed8b4-WI-95673d] feat: live directory counting progress on TTY
  • e8b95f4 [obey-campaign:8deed8b4-WI-95673d] fix: address progress review (Stop race, root clip, cache fallback)
  • 0d87d25 [obey-campaign:8deed8b4] docs: clarify cache persistence fallback contract
  • bffca9d [obey-campaign:8deed8b4] docs: emphasize local-first and library usage; refresh discovery metadata
  • 020e04c [obey-campaign:8deed8b4] docs: match directory demo to product colors
  • 6b26f1f [obey-campaign:8deed8b4] docs: refresh demo GIF and directory example for v0.5.0
  • 717149d [obey-campaign:8deed8b4] docs: trim README examples now covered by the demo GIF
  • d756d45 [obey-campaign:8deed8b4] fix: address tcount cache review findings
  • b756ee5 [obey-campaign:8deed8b4] test: pin adversarial exact-count fixtures against reference tokenizer

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 12 Jul 07:51
4aed3d0

Performance and quality release from a full-codebase review (PRs #10 through #14).

Highlights

  • Much faster startup. Counter construction dropped from ~67ms and 358K allocations to effectively zero; tokenizer vocabs now load lazily, so single-model runs parse one vocab table instead of two, and encoder construction is 9.3x faster with 200x fewer allocations.
  • Bounded-memory directory scans. -r now counts each file individually on a bounded worker pool and sums the results. Peak memory tracks your largest file instead of the whole tree, and large scans use multiple cores.
  • Behavior note for directory counts. Because files are no longer concatenated before tokenizing, directory token totals can shift very slightly versus v0.4.0 (measured 0.014% on a real codebase). The old totals silently merged tokens and words across file boundaries whenever a file lacked a trailing newline; the new totals equal the sum of counting each file on its own, which is enforced by a property test. Single-file counts are byte-for-byte identical to v0.4.0, guarded by pinned exact-count fixtures including literal special tokens, unicode edge cases, and CRLF content.
  • Coverage and hygiene. New benchmark suite, context-cancellation tests, adversarial exact-count fixtures, a green lint gate, and a standards refactor with zero behavior change (GetModelMetadata/GetProviderForModel are deprecated in favor of LookupModel/ProviderForModel; the old names still work).

Demo

tcount demo

Changelog

  • e60de14 Merge pull request #10 from lancekrogers/test/bench-baseline-and-cancellation
  • 31ca4d6 Merge pull request #11 from lancekrogers/chore/zero-lint-gate
  • 612fe60 Merge pull request #13 from lancekrogers/perf/per-file-directory-counting
  • 4aed3d0 Merge pull request #14 from lancekrogers/refactor/standards-sweep
  • d532d49 Merge pull request #9 from lancekrogers/docs/termcast-demo
  • 40cd26d [obey-campaign:8deed8b4] chore: zero the lint gate
  • 19f1e0a [obey-campaign:8deed8b4] docs: add termcast demo GIF to README
  • f072cae [obey-campaign:8deed8b4] perf: count directories per file with bounded memory and concurrency
  • 874b3fe [obey-campaign:8deed8b4] perf: hot-path efficiency fixes
  • 6812fe0 [obey-campaign:8deed8b4] refactor: standards sweep from code review
  • 291cb20 [obey-campaign:8deed8b4] test: benchmark baseline + context-cancellation coverage

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 10 Jul 06:06
22a24fd

Changelog

  • b755ccb Add GitHub Sponsors FUNDING.yml (#4)
  • 3a50f01 Merge pull request #7 from lancekrogers/docs/pkg-go-dev-polish
  • 22a24fd Merge pull request #8 from lancekrogers/feat/refresh-models-drop-cost
  • 81f9c3d Merge remote-tracking branch 'origin/main' into feat/refresh-models-drop-cost
  • 0a27806 [OBEY-CAMPAIGN-8deed8b4] update npm version
  • 600599b [obey-campaign:8deed8b4] docs: add cmd/tcount synopsis and README badges for discoverability
  • aede633 [obey-campaign:8deed8b4] docs: rewrite README for real output, drop cost, add Gemini
  • 870e180 [obey-campaign:8deed8b4] refactor(tokenizer): drop cost/pricing, refresh model registry, add Gemini
  • 0ae1443 feat(npm): publish under @Obedience-Corp scope (#6)
  • d0606ff feat: add npm distribution (@lancekrogers/tcount) (#5)

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 24 Feb 23:16
05d7d48

Changelog

  • 05d7d48 Merge pull request #3 from lancekrogers/develop
  • cdc952c [OBEY-CAMPAIGN-8deed8b4] Rename module from go-token-counter to tcount for better visibility

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 18 Feb 18:36
a2d653f

Changelog

  • 24e9fde Added binary installation instructions to readme
  • c0f1cbe Merge pull request #1 from lancekrogers/develop
  • a2d653f Merge pull request #2 from lancekrogers/develop
  • 757541d [OBEY-CAMPAIGN-8deed8b4] Update model registry with current pricing and naming conventions
  • 750a2d4 [OBEY-CAMPAIGN-8deed8b4] docs: add interface-returning constructors, godoc comments, and example tests
  • c0eb814 [OBEY-CAMPAIGN-8deed8b4] docs: update README with library usage section and fix old internal paths
  • 21eaba6 [OBEY-CAMPAIGN-8deed8b4] feat: add context-aware CountFile and CountDirectory methods to Counter
  • bf95f8f [OBEY-CAMPAIGN-8deed8b4] feat: add sentinel errors and verify zero internal/errors usage in public packages
  • ec5e293 [OBEY-CAMPAIGN-8deed8b4] feat: create public tokenizer package with Counter, Tokenizer interface, model registry, and cost calculation
  • 6db961e [OBEY-CAMPAIGN-8deed8b4] feat: create public tokenizer/bpe package with BPE engine and vocabulary data
  • bc0210d [OBEY-CAMPAIGN-8deed8b4] feat: create public tokenizer/fileops package with directory walker and binary detection
  • 4e08052 [OBEY-CAMPAIGN-8deed8b4] fix: address P0 and P1 code review findings from PR #1
  • 3a0fa17 [OBEY-CAMPAIGN-8deed8b4] fix: revert doc.go to package integration (non-test file needs non-test package for go build)
  • 403fb2c [OBEY-CAMPAIGN-8deed8b4] fix: skip .tiktoken files during directory scanning
  • 87725d0 [OBEY-CAMPAIGN-8deed8b4] refactor: rewire imports to public tokenizer paths and delete migrated internal packages
  • 3438963 added .env.example

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 16 Feb 22:30

Changelog

  • 3046a04 Add .gitignore
  • ebe70e4 Add Justfile build system
  • 5785d97 Add comprehensive README and MIT license
  • 26ea5dd Add internal errors package
  • 1527747 Add internal packages: tokens, fileops, ui
  • 81aa4fa Add root count command and entry point
  • 930d7cf Add version injection to builds and fix GoReleaser config
  • c36b035 Create README.md
  • d4b3f34 Fix Justfile module name collisions and working directory
  • 25a1ddb Fix errcheck lint issues in binary.go and ui.go
  • 9cd9086 Initialize go module with dependencies
  • 5a99488 Inline tiktoken-go and go-sentencepiece into internal packages
  • a8fa64c Remove unused tiktoken-go/tokenizer dependency
  • dea8259 Rename BPE types to remove external library branding
  • 341c6a2 Rename SPM types to remove external library branding
  • d146606 Rename internal/sentencepiece → internal/spm, model → spmmodel
  • e542dbd Rename module to github.com/lancekrogers/go-token-counter
  • d9bc3a0 Revert SentencePiece inlining: use eliben/go-sentencepiece as external dep
  • 9a16c33 Strip external library attribution from inlined code
  • 61ff96e Updated go.mod
  • 2f92bbd Updated justfile
  • 8ea4333 Updated justfile
  • 5f5dc1d Updated justfile
  • 298d61c [OBEY-CAMPAIGN-8deed8b4] Fix README inaccuracies: Qwen context 33K→32K, add --models flag, fix cross-compile recipe name
  • 4e32d57 [OBEY-CAMPAIGN-8deed8b4] Polish README for open source release, remove pricing section
  • 8e1eaec [OBEY-FE-GT0002] [OBEY-FE-GT0002] test: add comprehensive test coverage and update documentation
  • b0b59e6 [OBEY-FE-GT0002] feat: add --provider filter flag and context window usage display
  • fc2c067 [OBEY-FE-GT0002] feat: add Anthropic SDK integration for exact Claude token counting
  • e51f74c [OBEY-FE-GT0002] feat: add SentencePiece tokenization support and --vocab-file CLI flag
  • 769abae [OBEY-FE-GT0002] feat: add centralized model metadata registry
  • 268f391 [OBEY-FE-GT0002] feat: add open-source model support with tiktoken approximation
  • 92dd694 [OBEY-FE-GT0002] feat: update pricing to 2026 rates and convert to per-1M token format
  • b9bdf7b [OBEY-FE-GT0002] fix: correct encoding mapping for modern OpenAI models
  • 848aed7 [OBEY-FE-GT0002] test: add tiktoken library benchmarks comparing pkoukk vs embedded approach
  • e77a396 feat: add 17 integration tests for CLI, tokenizer, and filesystem
  • 859705d feat: add buildutil dashboard for build/test/clean operations
  • f8557b9 feat: add comma thousand separators to CLI number output
  • 56cf0e7 feat: add lipgloss table styling and version flag to tcount CLI
  • 69fe42a fix: deduplicate tcount output by encoding, remove context column, add --models flag