Skip to content

Releases: manucompiles/Tasklog

v2.10.1 - MCP task filtering + tool consolidation

Choose a tag to compare

@manucompiles manucompiles released this 26 May 03:14

May 2026

Added

  • GET /api/tasks now accepts optional filter query params: projectIds, inbox, labelIds, dueBefore, dueAfter, completed, and text (case-insensitive title substring). Filters AND together across dimensions; within projectIds/labelIds the semantics are OR. No params returns all tasks as before (#57)
  • The MCP list_tasks tool 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_task and uncomplete_task merged into a single set_task_completion(id, isCompleted) tool. MCP tool count: 16 → 15
  • Tasks with no deadline are excluded from dueBefore/dueAfter filters. Sending inbox=true together with a non-empty projectIds returns 400 (contradictory)

Fixed (internal)

  • deploy-phone.sh now restarts proot-wrapped services reliably by killing the inner guest process (runit auto-restarts). sv restart was silently leaving old code running on every multi-service deploy.

v2.10 - MCP server for claude.ai custom connector

Choose a tag to compare

@manucompiles manucompiles released this 20 May 08:19

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.in without exposing the phone's IP or opening any inbound ports
  • scripts/deploy-phone.sh extended to build, transfer, and supervise the new tasklog-mcp and tasklog-tunnel services via runit
  • guides/mcp-server-setup.md - top-level end-to-end walkthrough
  • guides/cloudflare-tunnel-dns-setup.md - prerequisite: migrating a domain to Cloudflare DNS
  • guides/github-oauth-app-setup.md - prerequisite: registering the upstream OAuth App
  • docs/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 feature
  • docs/research/{mcp-spec-2025-06-18,claude-ai-connector-oauth,cloudflare-tunnel}.md - verified excerpts from canonical specs and vendor docs
  • docs/workflow-notes.md - new living doc for tracking workflow experiments and deviations across features

Changed

  • manudubey.in DNS 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

Choose a tag to compare

@manucompiles manucompiles released this 18 Apr 11:03

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 services
  • guides/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.ts URL resolution now splits SSR and browser paths - server-side uses API_URL (private, direct to backend), browser uses NEXT_PUBLIC_API_URL (through nginx). Local dev behaviour unchanged.

v2.8.1 - Bug Fix

Choose a tag to compare

@manucompiles manucompiles released this 04 Apr 05:02

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

Choose a tag to compare

@manucompiles manucompiles released this 04 Apr 03:52

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.md renamed to README.md (standard casing)

v2.7.1 - Bug Fix

Choose a tag to compare

@manucompiles manucompiles released this 03 Apr 13:23

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 because upload-artifact@v4 skips hidden directories by default. Added include-hidden-files: true to 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

Choose a tag to compare

@manucompiles manucompiles released this 31 Mar 15:27

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_dispatch trigger 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 .exe extensions on Mac/Linux
  • New publish profiles for osx-arm64, osx-x64, and linux-x64 (backend and launcher)
  • Mac packages include Gatekeeper workaround instructions in README.txt
  • run.sh added for Mac/Linux contributors as a bash equivalent of run.ps1

Fixed

  • usePolling hook was referenced in components but missing from git - committed and verified
  • Mac Intel (osx-x64) cross-compiled from Ubuntu after macos-13 runner was discontinued

Issues resolved

  • #44 - CI with GitHub Actions and cross-platform distribution

v2.6 - Background Auto-Refresh

Choose a tag to compare

@manucompiles manucompiles released this 25 Mar 17:06

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 usePolling custom hook with setInterval and 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

  • usePolling hook 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

Choose a tag to compare

@manucompiles manucompiles released this 24 Mar 06:20

Changes

  • Renamed scripts/Build-Distributable.ps1 to build.ps1 for easier access
  • Added run.ps1 to 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

Choose a tag to compare

@manucompiles manucompiles released this 20 Mar 16:59

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: FrontendDev policy for development, Distributable policy (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_URL if set (dev mode), otherwise derives from window.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

  • #1 - CORS and server-side fetch break outside localhost
  • #3 - Fragile database path