Skip to content

Releases: hydraInsurgent/Tasklog

v2.8.1 - Bug Fix

04 Apr 05:02

Choose a tag to compare

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

04 Apr 03:52

Choose a tag to compare

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

03 Apr 13:23

Choose a tag to compare

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

31 Mar 15:27

Choose a tag to compare

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

25 Mar 17:06

Choose a tag to compare

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

24 Mar 06:20

Choose a tag to compare

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

20 Mar 16:59

Choose a tag to compare

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

v2.4 - Labels and Filtering

20 Mar 09:42

Choose a tag to compare

Labels and Filtering

Backend

  • New Labels table with many-to-many relationship to Tasks (implicit join table via EF Core)
  • Full CRUD endpoints for labels: GET, POST, PATCH, DELETE
  • PATCH /api/tasks/{id}/labels - replaces the full label set on a task
  • Label name uniqueness enforced (case-insensitive, returns 409 Conflict)
  • Label ID validation on assignment (returns 400 with invalid IDs)
  • Task queries now eager-load labels via .Include(t => t.Labels)

Frontend

  • Labels dashboard page (/labels) - full CRUD with inline rename, color picker, and delete with confirmation
  • 10-color VIBGYOR palette for label colors, auto-cycling on creation
  • Labels field in AddTaskForm with autocomplete, multi-select, and auto-create on Enter
  • Labels row on task detail page with add/remove via AssignLabelsButton (optimistic updates)
  • Label chips (#labelname) shown on mobile task cards
  • Filter panel popover (three-dot menu) with label, project, and date filters
  • Filter state persists across navigation via sessionStorage

Tests

  • 15 new tests for LabelsController (CRUD, validation, uniqueness, color range)

Review fixes (#31-#36)

  • Case-insensitive label name uniqueness
  • Label ID validation in SetLabels endpoint
  • FilterPanel overflow clipping fix
  • Concurrent operation tracking in LabelsClient
  • Optimistic update with revert-on-error in AssignLabelsButton
  • Duplicate label auto-create prevention in AddTaskForm

See CHANGELOG.md for full details.

v2.3 - Mobile Task Cards

14 Mar 16:51

Choose a tag to compare

What changed

Frontend

  • Task list now shows as compact cards on mobile (below 768px) instead of a horizontal-scrolling table
  • Each card shows a circle checkbox, task title (links to detail page), project name, deadline with proximity colour, and a three-dot menu with a Delete action
  • Desktop table layout is unchanged
  • Shared date formatting utilities extracted to src/lib/format.ts (closes backlog item #20)

v2.2 - Projects and Inbox

13 Mar 17:08

Choose a tag to compare

v2.2 - Projects and Inbox

March 2026

What changed

Backend

  • New Projects table: Id, Name, CreatedAt
  • Tasks table: added nullable ProjectId foreign key
  • New endpoints: GET /api/projects, POST /api/projects, PATCH /api/projects/{id}, DELETE /api/projects/{id} (cascade deletes all tasks in the project)
  • New endpoint: PATCH /api/tasks/{id}/project - reassigns a task to a project or Inbox (null)

Frontend

  • Left sidebar with "All Tasks", "Inbox", and named project views
  • Sidebar hidden on mobile - opens as a drawer via hamburger button
  • Create, rename, and delete projects from the sidebar
  • Delete project shows a confirmation dialog warning that all tasks will also be deleted
  • Task list filters by the active view (client-side)
  • Add task form includes a project dropdown, pre-selected to the current view
  • Task detail page includes a project selector to reassign after creation
  • Error feedback banner for project create/rename/delete failures
  • New components: ProjectLayout, ProjectSidebar, AssignProjectButton