diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3439fc4..8f6830a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,3 +31,17 @@ jobs: run: npm run check:release - name: Production dependency audit run: npm run security:audit + - name: Package release candidate + if: startsWith(github.ref, 'refs/heads/release/') + shell: bash + run: | + set -euo pipefail + version="$(node -p "require('./package.json').version")" + (cd dist && zip -qr "../queuemint-v${version}-candidate.zip" .) + - name: Upload release candidate + if: startsWith(github.ref, 'refs/heads/release/') + uses: actions/upload-artifact@v7 + with: + name: QueueMint-release-candidate + path: queuemint-v*-candidate.zip + if-no-files-found: error diff --git a/CHANGELOG.md b/CHANGELOG.md index b8b588d..3fef5d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## 1.6.0 (release candidate) - Rich Jira Operations + +- Enhanced Worklog AI/JSON export with full Jira issue descriptions, loaded only when exporting instead of during board browsing. +- Added a default-off option to embed image attachments as Base64 for the Worklog and Manage Jira exports, with limits of 20 images, 1.5 MiB per image, and 10 MiB total. Skipped images are reported; Jira descriptions are preserved. +- Added a dedicated rich export action to Manage Jira for selected or filtered issues with their statuses, labels, sprint context, and other metadata. +- Added selecting multiple Worklog issue cards with Ctrl/Cmd, Shift ranges, or checkboxes, then moving the selected visible cards together through a drag action or a Move to status picker. +- Added batch Move to status in Manage Jira alongside the existing sprint/backlog workflow, with confirmation, concurrency-bounded Jira transitions, individual failure reports, and retry for failed items. +- Improved five-column Worklog board navigation with narrower empty destination lanes, visible horizontal scrolling controls, more usable board width, and a separate Draft sheet on typical desktop viewports. +- Kept statuses authoritative in Jira: unsupported workflow transitions are not simulated locally, and normal Jira permissions remain enforced. +- Added regression tests for rich exports, image caps, multi-selection, and partial batch transition failures. +- **Release status:** candidate package only. Chrome/Edge clean-profile install, upgrade from v1.5.1, and authenticated Jira/Capture smoke tests require real-browser verification before creating the production v1.6.0 tag. + ## 1.5.1 - Source Cleanup - Removed the accidental QueueMint-release-v1.5.0-fixed.ps1 helper from the repository source. diff --git a/README.md b/README.md index d3e61c5..4490c7b 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,9 @@ The product focuses on workflows that are slow, repetitive, fragmented, or awkwa Current stable release: **v1.5.1**. -Current release line: **v1.5.1 Source Cleanup**. +Current published release line: **v1.5.1 Source Cleanup**. + +Next release candidate: **v1.6.0 Rich Jira Operations** (source version prepared; GitHub Release and store publication pending recorded browser/Jira smoke tests). ## Product principle @@ -32,7 +34,9 @@ See [Product direction](docs/PRODUCT.md) and [Roadmap](docs/ROADMAP.md). - Detect likely duplicates locally, with optional semantic duplicate suggestions when AI access is explicitly enabled. - Use local Smart Draft suggestions without sending data externally, or optionally enable Smart Assistant with explicit per-request data controls. - Review and create issue batches safely before writing to Jira. -- Manage Jira issues with filters, Saved Views, issue detail inspection, safe clone/move helpers, and bulk edit preview. +- Manage Jira issues with filters, Saved Views, issue detail inspection, safe clone/move helpers, bulk edit preview, and verified-by-Jira batch status transitions with per-issue failure reporting. +- Export selected or filtered Jira issues from both Manage Jira and Worklog with full descriptions and optional Base64 screenshot attachments (images are off by default, with bounded size and count). +- Select multiple Worklog cards and drag to a Jira workflow column or use Move to status; handle up to five or more columns with compact empty lanes and horizontal board navigation. - Review today's Jira worklogs against a configurable daily target, prepare worklogs for selected issues, split a chosen target equally or by estimate weight, use Jira remaining estimates exactly without stretching to the daily target, and optionally ask AI for a reviewable allocation before writing anything to Jira. - Include an optional reviewed worklog in AI/JSON batch issue creation; QueueMint creates the issue first and reports worklog failures separately so issue creation is not rolled back. - Reuse Saved Actions and safe Automation rules/macros through the same preview-first bulk-edit path. diff --git a/docs/RELEASE.md b/docs/RELEASE.md index c4498b6..e34468a 100644 --- a/docs/RELEASE.md +++ b/docs/RELEASE.md @@ -72,6 +72,22 @@ At minimum: - portable backup export/import restores preferences and reusable workflows without exporting the Smart Assistant API key - active sprint summary copies a short shareable text +## v1.6.0 release-specific acceptance + +Before tagging v1.6.0, record the tested Chrome/Edge version and Jira Cloud/DC environment, plus pass/fail evidence for: + +- The exact release-candidate ZIP installs from a clean browser profile; its manifest is at the ZIP root. +- Upgrade from v1.5.1 preserves local preferences, capture drafts, saved views/actions, and Jira connection. +- Worklog exported JSON always includes complete Jira Description fields; images remain excluded unless explicitly enabled. +- With image export enabled, confirm attachment content, image limits, and unavailable-image reporting in both Worklog and Manage Jira. +- Select 10 cards; verify Ctrl/Cmd and Shift selection, drag the selection between Jira status columns, and verify the Move to status menu. +- Verify the five-column board at common desktop widths: empty lanes remain usable, horizontal navigation is visible, and Worklog Draft is accessible. +- Verify Jira transitions respect permissions and workflow restrictions, partial failures are reported without false success, and failed items can be retried. +- Verify the existing single-card drag, sprint/backlog moves, worklog submission, Quick Issue, and Capture/Jira evidence upload still work. +- Review unchanged required/optional host permissions and confirm there are no additional remote script permissions. + +The source/CI release candidate can be prepared before these manual checks. **Do not create the final v1.6.0 tag or publish the GitHub/Chrome Web Store release until the above are recorded as passed.** + ## Git release After merge to main: diff --git a/docs/SESSION-HANDOFF.md b/docs/SESSION-HANDOFF.md index 4857f2c..693e550 100644 --- a/docs/SESSION-HANDOFF.md +++ b/docs/SESSION-HANDOFF.md @@ -4,7 +4,11 @@ Use this file when starting a new ChatGPT, coding-agent, or developer session. R ## Current state -Current stable release: **v1.0.2**. The current development candidate is **v1.1.0 Worklog Assistant**. +Latest published GitHub release: **v1.5.1**. Current source/release candidate: **v1.6.0 Rich Jira Operations**; public v1.6.0 tagging is **pending manual browser and Jira smoke testing**. + +v1.6.0 includes PR #34 (rich Jira descriptions and optional image export from Worklog) and PR #35 (Manage Jira rich export, batch Move to status, group drag of selected Worklog cards, and clearer multi-column board navigation). Only eligible selected issues are moved, and individual Jira transition failures remain visible and retryable. Both PRs were merged with passing CI. Version bump, candidate ZIP and final verification are tracked in the release PR. Do not claim Chrome Web Store publication or a production release before they occur. + +The historical v1.0-v1.1 details below are retained as implementation history, not as the current release status. The architecture refactor is complete. The strict 300-line production code limit has no exceptions. `App.tsx` and `Popup.tsx` are orchestration/composition layers rather than monoliths. diff --git a/package-lock.json b/package-lock.json index 58ef0a1..7ef308f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "queuemint", - "version": "1.5.1", + "version": "1.6.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "queuemint", - "version": "1.5.1", + "version": "1.6.0", "dependencies": { "@base-ui/react": "1.7.0", "@radix-ui/react-dialog": "1.1.23", diff --git a/package.json b/package.json index 1295ec6..837046e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "queuemint", "private": true, - "version": "1.5.1", + "version": "1.6.0", "type": "module", "scripts": { "dev": "vite", diff --git a/public/manifest.json b/public/manifest.json index 6712ce1..7e37609 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "QueueMint", - "version": "1.5.1", + "version": "1.6.0", "description": "Jira companion for bug capture, evidence, fast issue creation, safe bulk actions, reusable workflows, and shortcuts.", "action": { "default_title": "Open QueueMint", @@ -47,7 +47,7 @@ "description": "Open the QueueMint command palette (fallback shortcut)" } }, - "version_name": "1.5.1 Source Cleanup", + "version_name": "1.6.0 Rich Jira Operations", "short_name": "QueueMint", "homepage_url": "https://github.com/hamedtkd/QueueMint", "content_security_policy": {