Releases: hydraInsurgent/Tasklog
Releases · hydraInsurgent/Tasklog
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
v2.4 - Labels and Filtering
Labels and Filtering
Backend
- New
Labelstable 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
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
v2.2 - Projects and Inbox
March 2026
What changed
Backend
- New
Projectstable:Id,Name,CreatedAt Taskstable: added nullableProjectIdforeign 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