# Changelog

## [2.0.8] - 2026-06-29

_Updated 2026-07-01 without a version bump._

### Added

* Added per-task SLA classification: Pending Triage, SLA Required, and Without SLA.
* Added a required SLA Requirement field when manually creating a task in an SLA-enabled project.
* Added task-level SLA classification timestamps and audit events.
* Added Request as a task category across task creation, detail editing, Excel import, reports, and command intake.
* Added an admin-only, rate-limited Check Status action for live license verification.
* Added clipboard image paste support to About Task in manual New Task and existing Task Detail workflows.

### Changed

* New WhatsApp and third-party tasks now start with Pending Triage and only run the triage deadline.
* Assignment, first response, and resolution deadlines start after a pending task is classified as SLA Required.
* Manual task creation now requires an explicit choice between SLA Required and Without SLA.
* Task detail now displays the task's currently stored SLA mode.
* Existing tasks remain SLA Required and keep their existing deadlines.
* Plan Activation and Management now uses a compact two-row license status layout.
* Live license validity and cached Pro access are now reported separately.
* Filter Projects now follows the Board filters modal structure with a descriptive header, grouped criteria, a responsive two-column field layout, and consistent footer actions.
* Pro Monthly and Pro Yearly now explicitly list Incoming Webhook, SLA management and reporting, and Multiple comment mentions.
* Node.js runtime tests are now organized under the existing `tests` directory and included in the main test command.

### Fixed

* Informational or request tasks can now be excluded from SLA without disabling SLA for the entire project.
* Pending tasks no longer start assignment, first response, or resolution timers prematurely.
* SLA mode changes now remain consistent after refresh, priority changes, and project moves.
* WhatsApp task titles longer than 150 characters can now be saved and updated from Task Detail.
* Task title validation is now consistent at 255 characters across automatic intake, New Task, Task Detail, and backend validation.
* Pending tasks now display `Pending Triage`, `Triage At Risk`, or `Triage Breached` consistently on cards, Task Detail, and reports instead of using a generic operational SLA label.
* SLA & Health no longer shows an empty Why value or inactive operational deadlines for Pending Triage tasks.
* Task Comments now record changes to SLA Requirement, title, and description in addition to the existing audited fields.
* Equivalent deadline formats no longer create false change history when no deadline value actually changed.
* License checks now distinguish active/valid, expired, invalid, and verification-unavailable states without reloading the Upgrade page.
* Cached Pro access is preserved during license-server outages but no longer overrides an explicit invalid or expired response.
* The `Active & Valid` label no longer displays an escaped `&amp;` entity.
* Clipboard images from Snipping Tool and other copy sources now enter the existing attachment workflow without duplicate previews.
* About Task now shows a reliable image icon, supported-format tooltip, and paste-aware placeholder in New Task and Task Detail.

### Notes

* This update adds columns to the existing task table; it does not remove any table or task history.
* Restart or reload Node.js after updating before testing new WhatsApp task capture.
* Restart Node.js after updating the license runtime so the new verification response contract is loaded.

---

## [2.0.7] - 2026-06-23

### Fixed

* Pro Overview report KPI cards now display in 2 columns on mobile.
* Export Format selection in the report builder is now easier to see on desktop and mobile.

---

## [2.0.6] - 2026-06-14

### Fixed

* WhatsApp mentions in forwarded tasks now avoid showing internal Baileys/LID numbers.
* Mentions now resolve to a contact name when available, then to the real WhatsApp number when Baileys provides a LID-to-phone mapping.
* Unresolved mentions now display as `@Mention-1`, `@Mention-2`, and so on, instead of exposing unreadable internal IDs.
* Mention metadata is now stored in task context for future audit and safer repair.

### Notes

* Some forwarded mentions cannot be resolved if WhatsApp/Baileys does not provide a LID-to-phone mapping and no matching contact/name exists.
* After updating the Node.js runtime files, reload/restart the runtime before testing new WhatsApp task capture.

---

## [2.0.5] - 2026-06-08

### What's New

* Projects can now use more than one (multiple) WhatsApp number.
* Projects can now receive tasks from more sources, such as Google services and Webhook.
* WhatsApp Event messages can now be saved as tasks.
* Comments are now more interactive with mentions, emoji reactions, and real-time updates.
* Google services can now be connected from the Third Party settings.
* Tasks can now be imported from Gmail, Google Calendar, Google Forms, Google Sheets, and Google Tasks.
* Google Forms and Google Sheets can now be matched to task fields, such as title, description, and attachment link.
* Gmail imports now include better attachment support and a direct link to the original email.
* Google Tasks imports now support parent tasks, subtasks, notes, and detected links.
* SLA can now help track task deadlines, warning status, and overdue tasks.
* Reports can now be generated for each project and task in PDF and Excel format.
* Reports can now include task progress, activity, SLA status, and source health details.
* Webhook now includes a simple test tool and activity history.
* New projects now keep a consistent card color.
* The interface now works better on mobile devices.
* Page loading is now faster.
* Pro license can now be activated and checked from the Upgrade tab.

### Privacy and Security

* Your private tasks, comments, attachments, WhatsApp messages, and Google data are not sent to DapuriX servers.
* Your data stays inside your own application/server unless you connect third-party services yourself.
* Google and other third-party services only run after you connect and configure your own account.
* DapuriX TapTask runs separately from the main codebase, so core updates are safer.
* No hidden scripts, tracking scripts, or privacy-violating code are installed.
* License verification only checks plan access and does not read private task data.

### Notes

* This release combines many improvements into one major update.
* Incoming Webhook is only available in Pro.
* New webhook tasks start in Backlog by default.
* Google integration requires your own Google OAuth setup.
* Some Google Tasks attachments may not appear if Google does not provide the file link.
* Runtime auto recovery only checks and wakes the service.

---

## [1.1.1] - 2026-05-05

### Added

- Added Device Idle status to help users know when a WhatsApp device may need attention.
- Added a helpful popup that explains what Device Idle means and how to reconnect the device.
- Plugin updates from ZIP are now easier because required updates can run automatically.
- Improved WhatsApp task capture reliability on new installations.
- Added better device activity tracking.

### Fixed

- Fixed Device Idle status not appearing in some projects.
- Fixed incorrect Device Idle detection caused by timezone differences.
- Fixed Device Idle status disappearing too early.
- Fixed compatibility issues on some hosting/server environments.
- Fixed WhatsApp task capture failing on fresh installs.
- Fixed missing release configuration in the package.
- Fixed uninstall cleanup so plugin-related data is removed properly.

---

## [1.1.0] - 2026-05-04

### Added

- Added an Offline badge on project cards, Overview, and Board pages to show when a connected WhatsApp device is not responding.
- Added a Device Offline modal that explains the offline status and shows simple reconnect instructions.
- Added automatic device heartbeat monitoring to check whether connected WhatsApp devices are still active.
- Added automatic Offline badge clearing after the background service is active again and the device reconnects.
- Added an Unmatched lane on the board for tasks that cannot be matched to the correct project.
- Added quarantine handling for unmatched tasks so they no longer appear inside the wrong project.
- Added Move To Project support to assign unmatched tasks to the correct project.
- Added safer project matching for forwarded WhatsApp messages.
- Added better board placement for the Unmatched lane so unmatched tasks are easier to find.

### Changed

- Improved Offline badge behavior across Projects, Overview, and Board pages.
- Improved Device Offline modal content so users can understand what happened and how to reconnect.
- Improved WhatsApp device status detection using the heartbeat system.
- Improved task routing so unmatched WhatsApp tasks are separated instead of being placed into unrelated projects.
- Improved mobile board behavior so the board opens on the main task lanes instead of an empty Unmatched lane.
- Improved Move To Project handling when moving unmatched tasks into the correct project.
- Improved project matching by checking both the sender number and the connected WhatsApp device token.

### Fixed

- Fixed Offline badge not clearing after the background service was restarted.
- Fixed Offline badge showing incorrectly while the WhatsApp device was still connected.
- Fixed timezone mismatch that caused device heartbeat checks to detect devices as offline too early.
- Fixed heartbeat initialization issue during early background service startup.
- Fixed tasks from forwarded WhatsApp messages being marked as unmatched incorrectly.
- Fixed unmatched tasks being placed into the wrong project.
- Fixed Unmatched lane styling that was missing after a previous update.
- Fixed Move To Project activity logs showing the source project as `Not set`.
- Fixed source project detection when moving tasks from the Unmatched lane.

---

## [1.0.1] - 2026-04-30

### Fixed

- Fixed plugin installation issues on machines with a previous failed or incomplete install.
- Fixed missing plugin tables caused by skipped migration records.
- Fixed task comment foreign key errors during installation.

---

## [1.0.0] - 2026-04-30

This is the first public release of DapuriX TapTask.

DapuriX TapTask is built for users who manage daily WhatsApp conversations and need a simple way to turn them into clear, trackable work.

### What this version is for

- Turning incoming WhatsApp activity into actionable tasks
- Organizing work in a visual board flow
- Reducing missed follow-ups and manual copy-paste
- Keeping task context, discussion, and files in one place

### What you can do in this release

- Create tasks from forwarded WhatsApp messages
- Create tasks from command/keyword triggers
- Organize tasks on a 5-lane board:
  - `backlog`
  - `todo`
  - `in_progress`
  - `in_review`
  - `done`
- Edit important task details:
  - type
  - priority
  - status
  - assignee
  - due date
  - action items
- Move tasks between projects when needed
- Add comments for discussion and activity history
- Attach files to support task context
- Use both WhatsApp-based projects and standalone/manual projects
- See Owner and Assignee identity directly on task cards via avatar indicators

### Typical usage flow

1. A message comes in (forward or command trigger).
2. A task is created automatically in your workflow.
3. You review and triage it on the board.
4. You assign ownership, set due date/priority, and track progress.
5. You collaborate through comments and attachments until completion.

### Who this release is useful for

- Operations teams handling many WhatsApp requests
- Customer support and service teams
- Coordinators and dispatch roles
- Solo users/freelancers who want inbox-to-task workflow

### Known Limitations

- Some forwarded messages may not be detected if WhatsApp forward metadata is missing.
- Media capture depends on WhatsApp delivery behavior, so some files may not be saved in edge cases.
- Direct group-message capture is not the primary flow and may not always create tasks.
- Project config updates may require plugin reload/restart before all active processes use new values.
- Board updates are near real-time via polling/fetch, not full socket real-time.
- Default task list loading is limited for performance, so older tasks may not appear immediately.
- Attachment uploads are limited by per-request validation rules.
- Automated tests use mocked flows; real WhatsApp behavior still needs staging/manual validation.
- Free plan attachment limits currently apply as:
  - Task attachment section: max 1 file per task
  - Comment attachment section: max 1 file per task
- Free plan action-item limit: max 5 action items per task
- Mention action in comments is currently an upsell trigger, not full mention delivery logic yet.

### License

- Free Version: CC BY-NC-ND 4.0 (non-commercial, no-derivatives).
- Pro Version: commercial license provided directly by DapuriX.
- Full terms are defined in the [`LICENSE`](./LICENSE) file.

### Notes for users

- This is the initial version and will continue to evolve.
- Feature behavior can vary based on your host app setup and connected device status.
- License storage was tightened so `license_code` and `email` stay encrypted at rest, while `lic_response` remains plaintext JSON for Node runtime policy/cache evaluation.
