LocalFeedback — full change history
===================================

The two most recent releases are listed in readme.txt. Everything before
them is kept here.

= 1.5.1 =
* Fixed: following a link to a comment highlighted the card in the panel but not the pin or outlined area on the page. The emphasis was applied after drawing, so the redraw that runs once late-loading images settle removed it again.


= 1.5.0 =
* Added: every comment now has its own link. Opening it loads the page, scrolls to the annotation and flashes the pin or outlined area, in the same spirit as a comment link in Google Docs.
* Added: "Copy link" under each comment on the front end, a "View on page" row action in the feedback list, a copyable link on the detail screen, and a link column in the CSV export.


= 1.4.0 =
* Security: a team with no password could be joined on request, which meant an internal team left without one could be unlocked by any visitor. Joining now requires a password; internal teams without one are reached only through a WordPress account or a review link.
* Security: every REST route that changes something now verifies the request nonce itself, rather than relying on WordPress to do it for signed-in users only.
* Changed: the session endpoint returns only a token and the visitor's own permissions to anyone who cannot read or leave feedback. Configuration and team names are no longer sent to visitors who cannot use them.
* Changed: internal teams without a password are no longer listed on the front end.
* Changed: admin notices are confined to this plugin's own screens, and the review request appears only on the main feedback list.


= 1.3.2 =
* Changed: trimmed the readme changelog to the two most recent releases and moved the older history into changelog.txt, following the directory's guidance.


= 1.3.1 =
* Fixed: the Screenshots screen showed nothing at all. Renaming variables for the 1.3.0 code review missed the matching names in the controller, so the template was reading values that no longer existed.
* Changed: the server capability check now tells you whether a format was blocked in transit, is genuinely unsupported, or simply switched off and available to enable.


= 1.3.0 =
* Changed: every database query now binds its table name with a placeholder instead of building the SQL by hand. This is what raises the minimum WordPress version to 6.2, where identifier placeholders were introduced.
* Fixed: a team membership query was assembled by concatenation rather than prepared.
* Fixed: a translator comment sat two lines above its string instead of directly above it.
* Fixed: three admin form values were sanitised one step later than they should have been.
* Changed: renamed variables in the admin templates so they carry the full plugin prefix.

Earlier entries are in changelog.txt, which ships with the plugin.


= 1.2.5 =
* Changed: prefixed two internal cache keys that were too short to be safely unique, and dropped a duplicate plugin header, both for WordPress.org review.
* Changed: documented that screenshot links are shareable by design, so a capture can be pasted into whatever tool you track work in.


= 1.2.4 =
* Changed: removed the last uses of base64 and getimagesizefromstring, so nothing in the plugin trips the WordPress.org Plugin Check reviewer warnings. Signed cookies now use hex, and image sizing goes through WordPress's own helper.
* Note: team access unlocked before this update needs unlocking again, because the cookie format changed.


= 1.2.3 =
* Fixed: screenshots did not attach on hosts whose security filters discard WebP uploads. The file was removed before WordPress received it, so nothing could report the failure. WebP is now off by default and has its own setting.
* Added: "Can this server receive screenshots?" on the Screenshots screen — sends a test image in each format and reports which ones actually arrive.
* Added: an image format that gets discarded in transit is remembered and avoided for the rest of that browser's session.


= 1.2.2 =
* Fixed: screenshots silently failed to attach on servers where WebP was offered but could not be identified on the way back in. Image formats are now recognised from their own magic bytes, and WebP is only offered after GD proves it can write and read one back.
* Changed: when a screenshot cannot be stored the reason is reported instead of the comment simply arriving without one.


= 1.2.1 =
* Fixed: screenshots were still coming out blank whenever the annotation sat on an element that does not paint its own background — which is most of them. Capture now walks up to the nearest section that actually has a background and crops back to the annotated area.
* Fixed: crops stayed aligned only while the region was under the render size cap. The crop is now scaled with the render.
* Changed: screenshots are uploaded as ordinary files rather than base64 text, removing a third of the request size.
* Added: WebP output where the server supports it, plus palette reduction for flat interface screenshots and a compression setting.


= 1.2.0 =
* Fixed: screenshots came out washed out and nearly blank because CSS background images were dropped during capture. Same-origin backgrounds and images are now inlined, so captures look like the real page.
* Fixed: the crop for box annotations did not line up with the area that was drawn. The region is now rasterised at its true size so the crop matches exactly.
* Fixed: pin and highlight captures framed whatever element happened to be under the cursor. They now capture a readable area centred on the annotation.
* Changed: screenshots are stored in wp-content/uploads/localfeedback instead of the media library, with random filenames. Existing screenshots are migrated automatically.
* Changed: photographic captures are saved as JPEG rather than PNG, cutting a typical screenshot from megabytes to a few hundred kilobytes.
* Added: a Screenshots screen — a filterable gallery with a lightbox showing each capture next to its comment.
* Added: "Delete all screenshots", for freeing space once a project is finished. Comments and replies are kept.
* Added: status cards at the top of the feedback list — unresolved in red, replied to and in progress in amber, resolved in green. Click one to filter.
* Added: the toolbar can be limited to specific pages, URLs or directories, with wildcards, alongside the existing exclusion list.
* Added: highlighting text can prefill the comment box from a template you control, "Change this copy to: {text}" by default.
* Added: an occasional, dismissible review request once a site has collected a good amount of feedback.
* Added: Settings and Feedback links on the plugins list row.


= 1.1.0 =
* Fixed: the annotation tools and the Feedback button were hidden behind the comment panel when it was open. The tools now live inside the panel and the button slides clear of it.
* Added: a welcome popup that explains the four annotation tools to first-time visitors, with an optional message of your own. Reopen it any time from the ? button.
* Added: tags are now chosen from a dropdown of options you configure, with an optional "Other…" entry for typing a new one. Several tags can be added per comment.
* Added: optional category dropdown on the front end, hidden until you configure at least one category.
* Added: commenters can ask to be emailed when someone replies to their feedback or changes its status. Off by default, requires an email address, and every message carries a one-click unsubscribe link.
* Added: one-click review links per team, so a client gets access by opening a URL instead of typing a password. Links can be regenerated to revoke access.
* Added: people can now edit their own feedback from the front end within the edit window.
* Added: a first-run notice in the dashboard pointing at the front end, the settings and the documentation.
* Changed: switching a site to live mode now turns off public reading of feedback and stops logged-out visitors attaching screenshots.
* Changed: the "Send an idea" form address is configurable instead of hard-coded, and the form explains itself when no address is set.


= 1.0.0 =
* First release: pin, highlight, box and general annotations; threaded replies; screenshots; teams and internal visibility; status, priority, tags and category; admin table with filters, column options and CSV export; email notifications and daily digest; in-plugin documentation.
