Last Update: October 2026

QRcdr PRO log history

DEMO DOWNLOAD

= 1.2.7 =

  • New: accounts with a system-generated password (e.g. created by an OAuth plugin) can set a new password and delete their account without entering the current one
  • New: filter qrcdr_unknown_password_meta_keys to declare the user meta keys that identify such accounts
  • New: Feedback QR star ratings tracked as an extra stat (total, average and 1-5 distribution), with one vote per IP (changing vote replaces the previous one) and bot filtering
  • New: QrCdr_Pro_Tracking, a filterable event registry (qrcdr_tracked_events) writing any stat into the existing qrcdr_tracking blob
  • New: generic qrcdr_track_event AJAX endpoint (new nonce) for all public tracking events
  • New: shared public beacon partial (window.qrcdrTrack) used by Social Hub, Business Card and Feedback templates, replacing the duplicated sendBeacon code
  • New: Feedback review platform link clicks tracked in Top Links, like Social Hub and Business Card
  • New: rating stats in the QR details modal (advanced plans) and in GET /qrcodes/{id}/stats (total_ratings, rating_average, ratings)
  • Update: Current Password field hidden in the profile for those accounts, with an explanatory hint
  • Update: user IP resolution moved to QrCdr_Pro_Utils::get_the_user_ip() and shared with the tracking registry
  • Fix: removal of the non-existent _qrcdr_oauth_user meta, replaced by generic flag clearing whenever a password is set
  • Fix: invalid type="button disabled" attribute on the Delete Account button
  • Fix: undefined $top_link_clicks variable in the QR details modal (Top Links list)

= 1.2.6 =

  • New: Optional field Coupon redirect url after redemption
  • New: advanced custom Logo UI for AppStore, Business Card, Feedback, Restaurant, Social Hub
  • New: App Store automatic redirect switch, per-device store detection (iOS/Mac to the App Store, Android only when a single Android store is set) with the choice page when ambiguous
  • Update: UI layout for Media Library
  • New: Bots, link previews and prefetch requests are no longer counted as scans (separate counter in the QR analytics)
  • Fix: Media picker, Get filename of files that are not images
  • Fix: Form switch restored unchecked when saving it off
  • Fix: media library loaded twice on pages with multiple generators
  • Fix: blurred locked screen for dynamic feature tabs on page load
  • Update: App Store no-cache headers on the device redirect, to prevent caches from serving it to the wrong device
  • Update: Coupon animated confirmation screeen check
  • Update: interactive Coupon preview
  • Update: performance table progressive image loading with shared shimmer and request cancellation
  • Update: media library and media picker paginated with Load more, request caching and lazy loaded thumbnails
  • Update: user usage requested once on page load instead of once per generator

= 1.2.5 =

  • New: Restaurant Digital Menu QR
  • Update: scrollIntoView generator when dynamic qr is selected
  • Update: preview mockup improvements
  • Update: Gallery loading optimized with Batch request
  • Update: visual feedback for actions with expired nonce
  • Fix: footer branding/credits not shown on public landing pages when served via non-pretty-link URLs (e.g. ?qrcdr=ID)
  • Fix: MP3/Video players keep playing audio/video when switching to another feature tab

= 1.2.4 =

  • Fix: login redirect on Safari iOS (reload instead of same-URL assignment)
  • Update: rename redirect_success attribute to redirect_to in login form shortcode

= 1.2.3 =

  • New: refresh login / subscription nonces at submit time for cache compatibility
  • Update: nonce refresh endpoint served with anti-cache headers

= 1.2.2 =

  • New: Manual subscription expiration date with automatic downgrade to Free
  • Update: generic New Subscription email for payments and manual grants
  • Fix: render bold placeholders in email templates
  • Fix: subscription expiration date sync (read Stripe top-level current_period_end)
  • Fix: keep paid plan on transient Stripe statuses (incomplete, unpaid, paused)
  • Update: downgrade to Free only on real cancellation
  • Update: Tested up to WordPress 7.1

= 1.2.1 =

  • Update: save contact from Business Card
  • Update: Sync subscription if updated from Stripe Dashboard

= 1.2.0 =

  • Update: set Login button before Generator
  • Fix: login column if no pricing page is set
  • Fix: prevent js errors if no stripe credentials are set

= 1.1.9 =

  • Update: Defer Stripe scripts
  • Update: Responsive editor phone preview
  • Update: UI optimization for Dynamic tabs

= 1.1.8 =

  • New: Toggle verified customers.
  • New: Chunk upload to bypass server limits.
  • New: Media Upload progress bar
  • Update: Exclude qrcdr CPT from search.
  • Update: UI accessibility standards improved.
  • Update: Masked purchase code field.
  • New: Thank You email after purchase
  • New: Customizable service emails content

= 1.1.7 =

  • Update: Tested up to WordPress 7.0
  • Fix: Manual Subscription Persistence
  • Fix: Unified timings to avoid race conditions
  • Fix: Improved permalink reliability and anti-404 fallback system for dynamic QR codes
  • Fix: Closing div for API keys panel

= 1.1.6 =

  • New: API Rest
  • Update: Analytics data optimized
  • Update: Translations
  • Fix: PHP >= 8.1 updater notice

= 1.1.5 =

  • Fix: Early load Stripe API keys

= 1.1.4 =

  • Update: load generator tab immediately on select qr
  • Update: better performance for qr listing
  • Update: sicky-top Dashboard CTA
  • Update: Check QRcdr minimum required version
  • Fix: load user-login script

= 1.1.3 =

  • Update: Remove placeholder from new QR UI

= 1.1.2 =

  • Update: SignIn / SignUp button
  • Update: Script loading optimized
  • Fix: Text dark on analytics teaser

= 1.1.1 =

  • New: Setting qrcdr_disable_registration
  • Fix: Load_textdomain
  • Fix: Load templates preview

= 1.1.0 =

  • New: Recalculate user quota inside Customers table actions
  • Update: Create qr with links to post IDs
  • Update: Prevent double redirect after qr scan
  • Update: Prefixed post_meta
  • Update: Deep sanitize for qr code content and style
  • Update: Real MIME type validation for file uploads
  • Update: Better performance for statistics
  • Update: Better performance for user quota calculate
  • Update: Sticky top cta buttons
  • Fix: Sort order by statistics
  • Fix: CSRF risk on cpt base slug settings
  • Fix: Available space progress bar size

= 1.0.9 =

  • New: Custom email templates
  • Update: Verify new users from standard WP registration and OAuth
  • Update: Bot honeypot detection (security)

= 1.0.8 =

  • New: qrcdr_email_verified flag
  • New: Filter subscribers by active account
  • New: Purge inactive users
  • Update: Admin payments connect Stripe UI
  • Update: Plans admin drag-collapse improved
  • Update: General default copyright inside Qrcdr settings
  • Fix: Dynamic landings UI

= 1.0.7 =

  • Fix: Secured login / payment flow nonces
  • Update: Escape $content for static QR codes
  • Update: Better IP tracking
  • Update: Anonimized IP tracking
  • Update: Rate limiting to ipapi.co calls

= 1.0.6 =

  • Update: Subscription flow improved
  • Fix: Count as free users without plan assigned
  • Update: CTA to open Select Dynamic
  • UI improvements

= 1.0.5 =

  • New: Pricing plans grouped by period
  • New: Shortcode qrcdr_danger_zone to delete account
  • New: Admin submenu page: Registration & Account
  • New: Delete Uploaded media & QRcdr cpt when user deletes account.
  • Fix: update media library on QR change

= 1.0.4 =

  • Update: Manage all the registrations from frontend
  • New: qrcdr_set_password_form shortcode to render reset password form and user profile
  • New: Page Qrcdr Account, with qrcdr_set_password_form shortcode

= 1.0.3 =

  • Update: Translations
  • Update: Sync media library with attached qrs

= 1.0.2 =

  • New: Qrcdr Plan block
  • Update: Separate Advanced analytics + Export data
  • Update: Redirect pdf to real file
  • Update: CTA Lock Screen to login / registration tab
  • Update: Show analytics tab and link only if available in any active plan

= 1.0.1 =

  • New: Manual subscription
  • New: qrcdr_static_preview (wifi)
  • Update: Coupon UI improved
  • Update: Feedback UI improved
  • Update: Frontend login / subscribe mask
  • Update: Select pricing page
  • Update: Shortcode button below each plan

= 1.0.0 =

  • New: First release