Skip to content

Releases: rajsinghtech/tsflow

v1.3.2

13 Mar 02:26
c5117b2

Choose a tag to compare

What's Changed

  • chore(deps): update dependency svelte to v5.53.10 by @renovate[bot] in #122
  • chore(deps): update dependency @sveltejs/kit to v2.54.0 by @renovate[bot] in #123
  • chore(deps): update dependency svelte to v5.53.11 by @renovate[bot] in #124
  • Fix/handle missing src dst in traffic entries by @cmmattson in #127

New Contributors

Full Changelog: v1.3.1...v1.3.2

v1.3.1

10 Mar 06:05

Choose a tag to compare

Bug Fixes

  • Fix blank graph caused by localStorage persisting empty traffic type filters (#119)
  • Fix traffic filter fallback: show all traffic when no types selected instead of nothing
  • Centralize filter panel toggle logic for consistent desktop/mobile behavior

v1.3.0

28 Feb 17:52

Choose a tag to compare

What's Changed

Backend Refactor & Data Pipeline

  • Split monolithic database.go and handlers.go into focused modules for better maintainability
  • Poll-time pre-aggregation: node pairs, bandwidth, and traffic stats computed at ingest and committed atomically
  • Rolling in-memory cache for sub-second queries on recent data
  • Device cache with periodic refresh from Tailscale API
  • Rate limiting middleware (per-IP token bucket)
  • Chunked backfill: large time ranges split into 30-min chunks with per-chunk progress saves
  • Skip raw flow log insertion during historical backfill (prevents multi-GB database bloat)
  • Run cleanup before initial poll to purge stale data on startup

Bug Fixes

  • Fix timestamp skew in log converter (prefer start over logged field)
  • Fix rolling cache UniquePairs undercount (max instead of replace)
  • Fix nil bandwidth slice serializing as JSON null instead of []
  • Fix analytics page header showing zeros (smart fallback to stats store)
  • Fix BandwidthChart race condition on stale fetch responses
  • Add proper 405 handling for method-not-allowed routes

Frontend Improvements

  • Smart header stats: uses stats store when network data unavailable
  • Improved filter panel, timeline slider, log viewer, and port details
  • Better chart layouts and interactions on analytics page
  • Refactored store subscriptions and data flow

Full Changelog: v1.2.1...v1.3.0

v1.2.1

22 Feb 20:48

Choose a tag to compare

Installation

Homebrew

brew install rajsinghtech/tap/tsflow

Docker

docker pull ghcr.io/rajsinghtech/tsflow:v1.2.1

Run with Docker:

docker run -d \
  --name tsflow \
  -p 8080:8080 \
  -e TAILSCALE_OAUTH_CLIENT_ID=your-client-id \
  -e TAILSCALE_OAUTH_CLIENT_SECRET=your-client-secret \
  ghcr.io/rajsinghtech/tsflow:v1.2.1

Binary Download

Download the appropriate binary for your platform from the assets below.

What's New

Changelog

  • 4dc2589 feat: mobile-responsive layout with drawer navigation and card views

v1.2.0

22 Feb 19:55

Choose a tag to compare

Installation

Homebrew

brew install rajsinghtech/tap/tsflow

Docker

docker pull ghcr.io/rajsinghtech/tsflow:v1.2.0

Run with Docker:

docker run -d \
  --name tsflow \
  -p 8080:8080 \
  -e TAILSCALE_OAUTH_CLIENT_ID=your-client-id \
  -e TAILSCALE_OAUTH_CLIENT_SECRET=your-client-secret \
  ghcr.io/rajsinghtech/tsflow:v1.2.0

Binary Download

Download the appropriate binary for your platform from the assets below.

What's New

Changelog

  • 797e2b2 add .worktrees/ to gitignore
  • 5709be9 add network flow log statistics design doc
  • 42db788 add network stats implementation plan
  • fb065c2 chore(deps): update dependency @sveltejs/kit to v2.52.0 (#62)
  • a2c43b9 chore(deps): update dependency @sveltejs/kit to v2.52.2 (#81)
  • 2592514 chore(deps): update dependency @sveltejs/kit to v2.53.0 (#91)
  • 5dccdd7 chore(deps): update dependency @xyflow/svelte to v1.5.1 (#87)
  • bf1502d chore(deps): update dependency bits-ui to v2.15.6 (#73)
  • ba78499 chore(deps): update dependency bits-ui to v2.15.7 (#78)
  • 93b97e8 chore(deps): update dependency bits-ui to v2.15.8 (#82)
  • e68db8f chore(deps): update dependency bits-ui to v2.16.0 (#86)
  • 380e099 chore(deps): update dependency bits-ui to v2.16.1 (#89)
  • 4f6a277 chore(deps): update dependency bits-ui to v2.16.2 (#95)
  • a1a73a0 chore(deps): update dependency go to v1.26.0 (#64)
  • 1beaf27 chore(deps): update dependency svelte to v5.51.2 (#60)
  • 9ab302b chore(deps): update dependency svelte to v5.51.3 (#75)
  • 19ab2b5 chore(deps): update dependency svelte to v5.53.0 (#84)
  • 895e1b7 chore(deps): update dependency svelte to v5.53.1 (#92)
  • ae00819 chore(deps): update dependency svelte to v5.53.2 (#94)
  • 596a30e chore(deps): update dependency svelte-check to v4.4.0 (#63)
  • 310a82b chore(deps): update dependency svelte-check to v4.4.1 (#79)
  • 25c3e67 chore(deps): update dependency svelte-check to v4.4.3 (#90)
  • 6eef292 chore(deps): update dependency tailwind-merge to v3.4.1 (#68)
  • fb07d5b chore(deps): update dependency tailwind-merge to v3.4.1 (#71)
  • 4b6af80 chore(deps): update dependency tailwind-merge to v3.5.0 (#85)
  • 1daf94c chore(deps): update golang docker tag to v1.26 (#67)
  • 3c60150 chore(deps): update goreleaser/goreleaser-action action to v7 (#93)
  • cff7fb5 chore(deps): update tailwindcss monorepo to v4.2.0 (#80)
  • e8f1cb9 feat: add network analytics dashboard with traffic statistics
  • 6e81e00 feat: add network analytics dashboard with traffic statistics
  • 4244d32 feat: distinguish VIP services from machines in network graph
  • c0fceff fix(deps): update dependency lucide-svelte to ^0.564.0 (#69)
  • 766929a fix(deps): update dependency lucide-svelte to ^0.570.0 (#74)
  • d56b302 fix(deps): update dependency lucide-svelte to ^0.575.0 (#76)
  • 7d6fd37 fix(deps): update module modernc.org/sqlite to v1.45.0 (#66)
  • 8e78259 fix(deps): update module modernc.org/sqlite to v1.46.0 (#77)
  • 2c0eb4c fix(deps): update module modernc.org/sqlite to v1.46.1 (#83)
  • 0382b38 fix(deps): update module tailscale.com/client/tailscale/v2 to v2.7.0 (#65)
  • ce6ce18 fix(deps): update module tailscale.com/client/tailscale/v2 to v2.8.0 (#88)
  • 31c456b fix(renovate): add config with automerge for all dependency types

v1.1.9

06 Feb 06:04

Choose a tag to compare

Installation

Homebrew

brew install rajsinghtech/tap/tsflow

Docker

docker pull ghcr.io/rajsinghtech/tsflow:v1.1.9

Run with Docker:

docker run -d \
  --name tsflow \
  -p 8080:8080 \
  -e TAILSCALE_OAUTH_CLIENT_ID=your-client-id \
  -e TAILSCALE_OAUTH_CLIENT_SECRET=your-client-secret \
  ghcr.io/rajsinghtech/tsflow:v1.1.9

Binary Download

Download the appropriate binary for your platform from the assets below.

What's New

Changelog

  • 468f99c Enhance time range validation in SQLiteStore methods and improve log filtering performance. Added error handling for invalid time ranges in GetNodePairAggregates, GetBandwidth, and GetNodeBandwidth methods. Implemented debounced search functionality in filter store to optimize log filtering. Updated LogViewer and PortDetails components to utilize new debounced search store. Improved network log processing to handle unknown traffic types gracefully.
  • 5fce398 Implement dynamic CORS configuration based on environment settings, allowing all origins in development and restricting to specified origins in production. Add AllowedCORSOrigins field to configuration. Refactor SQLiteStore methods to ensure statement closure on error. Improve log processing in frontend by ensuring valid port extraction and enhancing log grouping logic.
  • 69b83e5 Merge branch 'main' of https://github.com/rajsinghtech/tsflow
  • a018bdb Merge pull request #47 from rajsinghtech/renovate/sveltejs-vite-plugin-svelte-6.x
  • 779a28b Merge pull request #48 from rajsinghtech/renovate/xyflow-svelte-1.x
  • f065913 Merge pull request #49 from rajsinghtech/renovate/bits-ui-2.x
  • 0286522 Merge pull request #50 from rajsinghtech/renovate/node-24.x
  • 4e61d70 Merge pull request #51 from rajsinghtech/renovate/tailwind-merge-3.x
  • 9794f3f Merge pull request #52 from rajsinghtech/renovate/tailwind-variants-3.x
  • 4cfc7aa Merge pull request #53 from rajsinghtech/renovate/vite-7.x
  • 55ef8cd Merge pull request #54 from rajsinghtech/renovate/node-25.x
  • 62ab9a0 Merge pull request #55 from rajsinghtech/renovate/modernc.org-sqlite-1.x
  • fa3f1fe Merge pull request #56 from rajsinghtech/renovate/sveltejs-kit-2.x-lockfile
  • 6d816c1 Merge pull request #57 from rajsinghtech/renovate/go-1.x
  • c917cc6 Merge pull request #58 from rajsinghtech/renovate/svelte-check-4.x-lockfile
  • 3c1daa8 Merge pull request #61 from rajsinghtech/renovate/tailscale.com-client-tailscale-v2-2.x
  • 9656ea8 Raj Singh Customer Reliability Engineer [email protected]
  • d749aa0 Update dependency @sveltejs/kit to v2.50.1
  • ff1e0b3 Update dependency @sveltejs/vite-plugin-svelte to v6
  • 4bb525e Update dependency @xyflow/svelte to v1
  • df5038f Update dependency bits-ui to v2
  • 36b5f5e Update dependency go to v1.25.6
  • 200a106 Update dependency node to v24
  • b2e7a0e Update dependency svelte-check to v4.3.6
  • 722b20e Update dependency tailwind-merge to v3
  • 467614c Update dependency tailwind-variants to v3
  • 74ebb80 Update dependency vite to v7
  • ef2b8ad Update module modernc.org/sqlite to v1.44.3
  • 1412467 Update module tailscale.com/client/tailscale/v2 to v2.5.0
  • 622225a Update node Docker tag to v25

v1.1.8

31 Dec 14:13

Choose a tag to compare

Installation

Homebrew

brew install rajsinghtech/tap/tsflow

Docker

docker pull ghcr.io/rajsinghtech/tsflow:v1.1.8

Run with Docker:

docker run -d \
  --name tsflow \
  -p 8080:8080 \
  -e TAILSCALE_OAUTH_CLIENT_ID=your-client-id \
  -e TAILSCALE_OAUTH_CLIENT_SECRET=your-client-secret \
  ghcr.io/rajsinghtech/tsflow:v1.1.8

Binary Download

Download the appropriate binary for your platform from the assets below.

What's New

Changelog

  • b7ac60a Refactor log processing and enhance service data handling

v1.1.7

30 Dec 22:41

Choose a tag to compare

Changes

  • Update initial backfill duration and enhance log processing
  • Fix PortDetails to use rawLogs for historical mode port statistics
  • Hybrid data fetching: aggregated flows for graph, raw logs for LogViewer

v1.1.6

30 Dec 16:40

Choose a tag to compare

Installation

Homebrew

brew install rajsinghtech/tap/tsflow

Docker

docker pull ghcr.io/rajsinghtech/tsflow:v1.1.6

Run with Docker:

docker run -d \
  --name tsflow \
  -p 8080:8080 \
  -e TAILSCALE_OAUTH_CLIENT_ID=your-client-id \
  -e TAILSCALE_OAUTH_CLIENT_SECRET=your-client-secret \
  ghcr.io/rajsinghtech/tsflow:v1.1.6

Binary Download

Download the appropriate binary for your platform from the assets below.

What's New

Changelog

  • 0d579a9 Unify live and historical bandwidth chart behavior

v1.1.5

28 Dec 15:08

Choose a tag to compare

Installation

Homebrew

brew install rajsinghtech/tap/tsflow

Docker

docker pull ghcr.io/rajsinghtech/tsflow:v1.1.5

Run with Docker:

docker run -d \
  --name tsflow \
  -p 8080:8080 \
  -e TAILSCALE_OAUTH_CLIENT_ID=your-client-id \
  -e TAILSCALE_OAUTH_CLIENT_SECRET=your-client-secret \
  ghcr.io/rajsinghtech/tsflow:v1.1.5

Binary Download

Download the appropriate binary for your platform from the assets below.

What's New

Changelog

  • a8f779f Implement pre-aggregation architecture for improved performance
  • 171600c Update k8s deployment to v1.1.5