Releases: manucompiles/Tasklog
Releases · manucompiles/Tasklog
Release list
v2.10.1 - MCP task filtering + tool consolidation
May 2026
Added
GET /api/tasksnow accepts optional filter query params:projectIds,inbox,labelIds,dueBefore,dueAfter,completed, andtext(case-insensitive title substring). Filters AND together across dimensions; withinprojectIds/labelIdsthe semantics are OR. No params returns all tasks as before (#57)- The MCP
list_taskstool surfaces all of those filters, so Claude can answer "what's due this week in the Work project?" or "tasks tagged urgent" with a single server-side filtered call instead of fetching everything - Text-search box on the web UI's filter panel (client-side title substring match)
Changed
- MCP
complete_taskanduncomplete_taskmerged into a singleset_task_completion(id, isCompleted)tool. MCP tool count: 16 → 15 - Tasks with no deadline are excluded from
dueBefore/dueAfterfilters. Sendinginbox=truetogether with a non-emptyprojectIdsreturns 400 (contradictory)
Fixed (internal)
deploy-phone.shnow restarts proot-wrapped services reliably by killing the inner guest process (runit auto-restarts).sv restartwas silently leaving old code running on every multi-service deploy.
v2.10 - MCP server for claude.ai custom connector
May 2026
Added
- Tasklog now speaks the Model Context Protocol. A new Node/TS service (
mcp/) exposes all Tasklog operations as MCP tools so claude.ai can manage tasks on your behalf (#50) - 16 MCP tools: list/get/create/delete/complete/uncomplete tasks, assign tasks to projects, set task labels, list/create/rename/delete projects, list/create/update/delete labels
- OAuth 2.1 authorization server with Dynamic Client Registration (RFC 7591), PKCE S256 (RFC 7636), Authorization Server Metadata (RFC 8414), Protected Resource Metadata (RFC 9728), and Resource Indicators (RFC 8707) - the full spec stack claude.ai's connector requires
- GitHub OAuth upstream for user authentication: log in with GitHub, allow-listed by username (env var
ALLOWED_GH_USERS), zero passwords managed by the server - Cloudflare Tunnel integration so the MCP endpoint is publicly reachable at
https://mcp-tasklog.manudubey.inwithout exposing the phone's IP or opening any inbound ports scripts/deploy-phone.shextended to build, transfer, and supervise the newtasklog-mcpandtasklog-tunnelservices via runitguides/mcp-server-setup.md- top-level end-to-end walkthroughguides/cloudflare-tunnel-dns-setup.md- prerequisite: migrating a domain to Cloudflare DNSguides/github-oauth-app-setup.md- prerequisite: registering the upstream OAuth Appdocs/learnings/{mcp-protocol,oauth-2-1-for-mcp,cloudflare-tunnel,cloudflare-universal-ssl,dns-and-nameservers,github-oauth-vs-github-apps}.md- six new study docs covering the concepts behind this featuredocs/research/{mcp-spec-2025-06-18,claude-ai-connector-oauth,cloudflare-tunnel}.md- verified excerpts from canonical specs and vendor docsdocs/workflow-notes.md- new living doc for tracking workflow experiments and deviations across features
Changed
manudubey.inDNS migrated from Porkbun's nameservers to Cloudflare's (required for Tunnel; existing GCP + GitHub Pages records preserved)
Security notes
- The Tasklog .NET API remains LAN-only with no authentication. The MCP server is the ONLY public surface; it gates access with OAuth + GitHub upstream + a one-name allow-list before forwarding any request to the API.
- Access tokens are short-lived (1 hour) and audience-bound; refresh tokens (30 days) rotate on every use per OAuth 2.1 for public clients.
- OAuth state lives in a separate SQLite file (
mcp/data/auth.db); the Tasklog task DB is unchanged.
v2.9 - Deploy Tasklog to GCP
v2.9 - Deploy Tasklog to GCP
Added
- Tasklog is now publicly hosted at
https://tasklog.manudubey.in- a live demo on a GCP Compute Engine e2-micro VM (always-free tier) (#48) scripts/deploy-gcp.ps1- one-command deploy script: builds locally, transfers to VM, restarts servicesguides/gcp-server-setup.md- full one-time VM setup walkthrough (nginx, systemd, certbot, cron)guides/gcp-deploying-updates.md- guide for pushing future releases using the deploy script- Demo database resets every 6 hours from a seed copy so the live demo stays clean
Changed
api.tsURL resolution now splits SSR and browser paths - server-side usesAPI_URL(private, direct to backend), browser usesNEXT_PUBLIC_API_URL(through nginx). Local dev behaviour unchanged.
v2.8.1 - Bug Fix
Fixed
- Labels column missing from desktop task table - labels were only rendered in the mobile card view. Added a Labels column between Created and Completed in the desktop table. (#46)
v2.8 - README Overhaul and MIT License
v2.8 - README Overhaul and MIT License
April 2026
Added
- MIT license file (
LICENSE) added to the repo root (#47) - README rewritten as a proper GitHub project landing page: badges, screenshots placeholder, scannable feature list, all-platform download links, Windows first-run notes, Quick Start for users, and Run from Source for contributors (#47)
- Dark mode and custom themes added to the roadmap
Changed
- API endpoints table removed from README - it lives in
docs/architecture.md Readme.mdrenamed toREADME.md(standard casing)
v2.7.1 - Bug Fix
v2.7.1 - Bug Fix
Fixed
- Frontend fails to start in downloaded package (#45) - The inner
.next/directory inside the Next.js standalone output was silently excluded from the CI artifact becauseupload-artifact@v4skips hidden directories by default. Addedinclude-hidden-files: trueto the upload step. Affected all 4 platform packages from v2.7.
Download the new packages below - they replace the v2.7 packages.
v2.7 - CI and Cross-Platform Distribution
v2.7 - CI and Cross-Platform Distribution
What changed
CI / Build
- GitHub Actions release workflow builds all 4 platform packages automatically when a version tag is pushed
- Packages are uploaded directly to the GitHub Release:
Tasklog-win-x64.zip,Tasklog-mac-arm64.tar.gz,Tasklog-mac-x64.tar.gz,Tasklog-linux-x64.tar.gz workflow_dispatchtrigger allows manual test builds without creating a tag- Frontend built once on Ubuntu (platform-independent); backend and launcher compiled per platform
- Node.js portable binary verified against official SHA-256 checksums before bundling
Cross-platform
- Launcher now detects the OS at runtime - no hardcoded
.exeextensions on Mac/Linux - New publish profiles for
osx-arm64,osx-x64, andlinux-x64(backend and launcher) - Mac packages include Gatekeeper workaround instructions in README.txt
run.shadded for Mac/Linux contributors as a bash equivalent ofrun.ps1
Fixed
usePollinghook was referenced in components but missing from git - committed and verified- Mac Intel (
osx-x64) cross-compiled from Ubuntu aftermacos-13runner was discontinued
Issues resolved
- #44 - CI with GitHub Actions and cross-platform distribution
v2.6 - Background Auto-Refresh
v2.6 - Background Auto-Refresh
March 2026
What changed
Frontend
- The app now silently polls for changes every 30 seconds, keeping tasks, projects, and labels in sync across devices
- New
usePollingcustom hook withsetIntervaland the Visibility API - pauses polling when the tab is hidden, fires an immediate fetch when the tab becomes visible again - Tasks page (
TasksClient) polls tasks and labels together, skipping poll cycles during in-flight deletes or completions to avoid disrupting animations - Projects sidebar (
ProjectLayout) polls for project list changes in the background - Labels management page (
LabelsClient) polls for label changes, pausing during create/edit/delete operations - Open forms, active filters, and scroll position are preserved across polls
Documentation
usePollinghook pattern documented in engineering guidelines
Issues resolved
- #42 - Background Auto-Refresh
Download
Download Tasklog-win-x64.zip, extract, and run Tasklog.exe to start.
v2.5.1 - Tooling Update
Changes
- Renamed
scripts/Build-Distributable.ps1tobuild.ps1for easier access - Added
run.ps1to start both backend and frontend with a single command - Updated README with direct download link
Download
Tasklog-win-x64.zip - extract, run Tasklog.exe, open the URL shown in the console.
v2.5 - Downloadable Package
v2.5 - Downloadable Package
March 2026
What changed
Distributable package
- Tasklog can now be downloaded as a single zip and run on any Windows machine with no prerequisites
- PowerShell build script (
scripts/Build-Distributable.ps1) produces the distributable zip - C# launcher (
Tasklog.exe) starts both backend and frontend, displays browser and LAN URLs, handles clean shutdown - .NET backend published as self-contained single-file exe (no .NET SDK needed on target)
- Next.js frontend built in standalone mode with bundled portable Node.js binary
- Sample database with 3 projects, 4 labels, and 12 tasks pre-loaded for demo purposes
- README.txt with quick-start and troubleshooting instructions included in the zip
Backend
- CORS now works in all environments:
FrontendDevpolicy for development,Distributablepolicy (any origin) for production - Database path resolves relative to the exe directory in production, fixing issue #3
- HTTPS redirection disabled in production (distributable runs over HTTP on local network)
Frontend
- Dynamic API URL detection: uses
NEXT_PUBLIC_API_URLif set (dev mode), otherwise derives fromwindow.location.hostname(distributable mode) - This fixes issue #1 - the app now works on any device without hardcoded IPs
- Next.js standalone output configured for self-contained builds
Issues resolved