Pivot QR

Changelog

0.5.9

  • Settings: the “Short URL base” field is now a plain text input (with inputmode=”url” for mobile keyboards). HTML5 URL validation was rejecting non-URL values entered in this field.

0.5.8

  • Internal: site-verification flag is now honored on the Plugins admin row (red purchase link hidden) and the in-app license banner (suppressed). The flag persists across plugin updates via the standard wp_options table.

0.5.7

  • Link detail layout: the redirect-target label is now “リンク先” (was “デフォルト”), and the short URL is shown directly underneath it instead of as a separate card lower down.
  • Slug-change confirmation now fires the moment the pencil icon is clicked (before the new value is typed), making the “QR will change” warning the first thing the user sees.
  • QR name / error correction level / size controls are now arranged in a single horizontal row beneath the QR preview and download buttons.
  • Renamed “配置タグ” to “タグ” throughout the UI for brevity.

0.5.6

  • Main QR can now have an optional name. When set, it shows up alongside placement tags in the analytics breakdown (e.g. “Web / ポストカード / ポスター” instead of “(no tag) / ポストカード / ポスター”).
  • Per-link QR error correction level is now editable from the link detail page (was previously only set at creation time).
  • Added a confirmation dialog when changing the short URL slug: any QR codes already printed with the old slug will stop working, so the warning makes the impact explicit before applying.

0.5.5

  • Fix: the date input and the range select on the analytics filter row were stretching to full width, pushing the CSV / Reset buttons onto a second line. Both now size to their content so the entire filter sits on one row.

0.5.4

  • Layout: the placement-tag breakdown now sits next to device / OS / browser in the same 4-column grid, instead of on its own row above them.

0.5.3

  • Fix: the placement-tag breakdown now also renders when the link has tags defined but all hits so far came through the bare URL — useful to confirm “my tagged QRs are not being scanned yet”.
  • When tags are defined but no hits exist in the selected date range, the breakdown shows an explicit “no hits yet” message instead of an empty chart.

0.5.2

  • Fix: the placement-tag breakdown chart no longer balloons to the full page width — it now sits in the same grid as the device/OS/browser cards.
  • Added a “Reset analytics” button on the access analytics page that clears all hit logs for the current link. Tag definitions are preserved.

0.5.1

  • Fix: the tag-add modal showed p as a placeholder, making it look like the field was already filled. Cleared the placeholder default and added an explicit “please enter a slug” message so the empty case is obvious.

0.5.0

  • Placement tags: attach short sub-slugs to a link (e.g. uuuu.to/ab/p) so a single redirect can be printed as multiple QR codes (poster, postcard, signage) and tracked separately.
  • Each tag has a user-friendly name and shows in the analytics screen as its own breakdown.
  • CSV export now includes tag_slug and tag_name columns.
  • No URL length growth for existing links — the main uuuu.to/ab URL still works exactly as before; tags are an additive layer.

0.4.0

  • Analytics expanded: device, OS, and browser breakdown doughnut charts on the access analytics page.
  • Added an “All time” option to the date-range selector.
  • New CSV download button: export raw access data (timestamp, source, device, OS, browser, referer, user-agent) for the selected range.
  • No new database tables — built entirely on existing wp_pvqr_logs data.

0.3.10

  • Confirmed compatibility with WordPress 7.0.

0.3.9

  • All translatable source strings switched from Japanese to English to follow WordPress.org translation conventions. Japanese display is provided via the bundled pivot-qr-ja.mo translation file.
  • Internal schedule status keys changed to English (active, upcoming, past, none) so contributors can localize the displayed labels through GlotPress.

0.3.8

  • Default slug length is now 3 characters (was 2).
  • Slug alphabet extended to include uppercase letters and hyphen/underscore (a-z, A-Z, 0-9, -, _) — slugs are now case-sensitive.
  • Slug lookup uses BINARY comparison to honor case differences.

0.3.7

  • Link list now shows every schedule per link (status pill, switch-on date, and destination URL) when more than one schedule is configured.

0.3.6

  • Schedule UI simplified — each schedule now only takes a “switch-on” date/time. The next schedule’s start time automatically supersedes the previous one (no manual end date needed). Add as many schedules as you like.

0.3.5

  • Refined Japanese description for clarity (printed materials / information updates).

0.3.4

  • Fixed primary button text being invisible when the button is an <a> element on the Plugins admin page (WordPress admin .wrap a color was overriding the button text color).

0.3.3

  • Bundled Japanese (ja) translations so the plugin description, menu labels, and admin strings display in Japanese on Japanese WordPress sites.

0.3.2

  • Sanitized all $_SERVER and $_GET superglobal reads in the redirect path (REQUEST_URI, HTTP_USER_AGENT, HTTP_REFERER, REMOTE_ADDR, etc.) using wp_unslash() plus the appropriate WordPress sanitizer.

0.3.1

  • Switched the redirect error pages to wp_die() so no inline <style> blocks are emitted by the plugin.
  • Removed the legacy load_plugin_textdomain() call (WordPress 4.6+ loads translations automatically for plugins hosted on WordPress.org).
  • Updated bundled Chart.js from 4.4.4 to 4.5.1.
  • Switched plugin description and readme to English.
  • Updated Contributors to match the WordPress.org account.

0.3.0

  • Bundled all third-party assets locally (no CDN dependencies) for WordPress.org compliance.
  • Added per-link slug editing.
  • Added per-link QR error correction level (overrides global default).
  • Redesigned the create-link modal with a sticky footer.
  • Show description and scheduled period on the link list when set.
  • Fixed access-analytics aggregation on hosts without MySQL timezone tables.
  • Removed pagination, search, and category UI for a focused workflow.

0.2.0

  • QR generation moved to client-side.
  • Per-device redirect targets per schedule.
  • Delete button on the link list and detail page.
  • Total access counter on the link list.

0.1.0

  • First release.

Plugin Website
Visit website

Author
foryou, inc.
Version:
0.5.9
Last Updated
May 28, 2026
Requires
WordPress 6.0
Tested Up To
WordPress 7.0
Requires PHP
7.4

Share Post

Join our newsletter.

Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.