Event Tickets with Ticket Scanner · Version history
Event Tickets with Ticket Scanner changelog and version history
- Latest version
- 3.3.3
- Nov 5, 2026 (5 days ago)
- Releases
- 72
- since 2025
- In the last year
- 60
- about one every 5 days
- Tested up to
- WordPress 7.1.4
- PHP 8.1 or later
Releases each year
- 202512 releases
- 202660 releases
202660 releases
Event Tickets with Ticket Scanner 3.3.3Latest
- Plugin Check: resolved all remaining directory review errors — wp_rand() for generated ticket PDF passwords, WP_Filesystem for file access, gmdate() for deterministic timestamps, and prepared-statement cleanup across the database layer.
- Security: the admin settings, ticket list and error log searches now build their database search through prepared statements — previously a search value could break out of the query (SQL injection, administrator only, CVE-2026-115870 reported by Wordfence PRISM). Searching the error log also works…
- Note: the stored XSS reported as CVE-2026-111825 was already fixed in 3.3.2 (per-ticket name/value fields are sanitized as plain text and rendered as text everywhere).
Event Tickets with Ticket Scanner 3.3.2
- Security: per-ticket name and value fields are now sanitized as plain text on input, and the ticket scanner, the admin ticket view and the order detail and scanner ticket lists render them as text or escape them — previously a guest buyer could store HTML in these fields, which then ran as JavaScri…
- Fix: ticket PDFs showed a PHP error instead of the ticket for products with product attributes when the second ticket template was used — WooCommerce returns attribute objects there, and the template piped them through HTML-stripping; the template now renders attribute strings only (no plugin data…
Event Tickets with Ticket Scanner 3.3.1
- New: PRODUCTID search filter in the ticket list (and the product ticket download) now also matches product variations of variable products — existing tickets resolve via their order item, new tickets store the variation id directly.
- New: public bridge for premium online payment (Stufe 3) — a paid shop order completes through the exact Kasse confirmation path (confirmInternalOrderPayment), no visible change without premium 1.9.1+.
- Fix: seat selector showed an empty seat map after the 3.3.0 update — the event-date condition in the seat query was aliased to the seats table, which does not carry that column on standard installations, so the query failed silently (seats stayed visible in the designer and in the stats but never r…
Event Tickets with Ticket Scanner 3.3.0
- New: Products & Tax — VAT rates as manageable entities and products with a type (event ticket, add-on, fee) plus optional/auto-add flags and per-list default rates; every sale freezes the resolved rate per line (product rate > list default > 0%) into a cent-exact net/tax/gross breakdown. Managed in…
- New: sell products without an event (drinks, merchandise) with categories and type-aware descriptions alongside ticket types — in the online shop and at the Kasse; auto-add fees sit on every order of their list (or globally) and start at quantity 1 in the sell dialog, add-ons only when chosen.
- New: public shop catalog [sasoEventTicketsValidator_shop_catalog] and event detail page [sasoEventTicketsValidator_shop_event] for lists marked “show in shop” — Buy opens the event’s own order page (premium), and both pages are freely designable via sandboxed Twig templates.
- New: Kasse receipts (Kassenbelege) — numbered, sequential, reprintable snapshots with per-rate tax breakdown, business name and VAT ID from the settings; plus an order detail view (lines, tax breakdown, payment trail) on every order card.
- Security: audit follow-up — escaped exception output, prepared ticket-number lookup, removed dead legacy endpoints, capability checks on destructive admin actions.
- Fix: Kasse printing — direct-sale tickets print again (the ticket-number check compared the wrong order id), and draft (unpaid) orders no longer offer ticket printing or PDFs.
- Fix: seating hardening — empty seat map on updated schemas, third-party price refreshes (geo-pricing) no longer clear a confirmed seat selection before add-to-cart, and the seat-map refresh race right after confirming seats.
- Fix: the offline scanner sync no longer terminates the process when a scanned ticket belongs to an unconfirmed direct sale — the #8030 gate now answers the sync with a per-event state instead of killing the request; online scanner answers stay byte-identical.
- Fix: duplicate ticket codes on multi-quantity orders when the payment webhook and the order-status trigger raced — ticket generation is now claimed atomically per order line.
Event Tickets with Ticket Scanner 3.2.10
- Fix: every WooCommerce checkout failed with a fatal error since 3.2.9 (class-gclid.php) – the Google Ads click tracking read the checkout data array as a session object. Checkouts work again immediately after updating.
Event Tickets with Ticket Scanner 3.2.9
- Kasse: touch-friendly minus/plus steppers around each ticket product quantity field.
- Kasse: the change calculator now works like a real calculator — quick buttons add onto the current amount, typed digits append to it, and a backspace key (⌫) removes the last entered digit.
- Kasse: change calculator with keypad and additive quick buttons (5/10/20/50/100) plus a big live change display — payment method and amounts are tracked in the order meta JSON.
- Kasse: ticket products are prefetched once per visit instead of one request per dialog — noticeably faster product display.
- Security: offline scanner sync event IDs are now passed as prepared SQL parameters (hardens the sync endpoint against SQL injection via crafted event payloads).* Security: admin table searches (codes, error logs, options history) escape the decoded search term before it enters the query — URL-encod…
- Security: the wallet ticket lookup endpoint is now rate-limited per IP to block ticket-ID enumeration attempts.
- Offline ticket scanning (premium): a master option enables the feature; per auth token you choose which ticket lists that scanner preloads. Scanners opened without a token are asked at start whether to preload tickets — all from today onwards, or today only (ask mode, choice remembered for the sess…
- Unpaid online-shop orders no longer block contingents: draft orders older than 48 hours (filterable) are cancelled automatically once a day and release their reserved tickets.
- Wallet: tickets sold through the Kasse and the built-in online shop can now be saved into the Vollstart Wallet app — the wallet previously accepted WooCommerce-paid tickets only.
- Google Ads measurement: visits that arrive with a ?gclid= click parameter keep it through the session and store it on the order at checkout (private order meta), so advertising conversions can be measured per order.
- New lists open directly in the edit dialog after saving — ticket products with prices, limits and shop settings are visible immediately instead of showing up only when editing an existing list.
- Ticket types (Kasse and online shop): new optional eligibility-proof switch for discounted types — the ticket scanner asks at the entrance to check the proof (ID, student or retiree pass) before it redeems the ticket.
- Events without WooCommerce: date, times and location now live on the event (ticket list) — tickets sold via Kasse and the online shop print them on the PDF, together with the ticket type each ticket was sold as.
- Admin: when the security session (nonce) expires after a long idle time, a single dialog explains it and reloads the page via OK — instead of an error message on every action.
- Ticket scanner: new per-element large display options — guest name from the order (WooCommerce or the plugin’s own checkout), ticket values and ticket type can each be shown in big, clearly visible letters right after validation.
- Ticket scanner, “Redeem Complete Order”: the batch now cross-checks the order’s tickets in the database — tickets missing from the order item code list (for example after partial refunds) are redeemed too, and the scan answer reports how many were reconciled.
- Own checkout (Kasse and online shop): the buyer’s name is now frozen onto every ticket at sale time, so the scanner treats tickets sold without WooCommerce exactly like WooCommerce tickets.
- Own checkout: optional per-type ticket contingent — a maximum sellable quantity per ticket type. The Kasse and the online shop stop automatically at the limit and show how many are already sold; open orders count as reserved.
- Ticket lists: optional overall capacity — set a total maximum on the list and all ticket types share one pool. Mixed sales (regular + discounted) can no longer oversell the venue’s seats.
- Ticket lists: new “Show in shop catalog” switch — every list sells in the central ticket shop catalog by default; turn it off per list when an event should not be offered there.
Event Tickets with Ticket Scanner 3.2.8
- Fix: When two orders are paid at the exact same moment, a ticket could end up linked to the other order. Ticket generation now locks per order and the ticket data writes are protected against such parallel-payment mix-ups.
- Fix: PDF library compatibility reworked — plugins that bundle their own TCPDF/FPDF (e.g. shipping-label plugins) no longer crash when both libraries load in the same request; the legacy class names are now provided lazily on reference instead of being occupied at load time.
- New: Internal order API for the premium online shop — public sales pages sell ticket products without WooCommerce (premium feature, 1.9.0).
- New: Ticket products (ticket types) with prices — sell different ticket types directly at the Kasse (direct sales) with automatic totals and a cash change calculator, no WooCommerce needed.
- New: Manage ticket products per event in the list editor — name, price, currency and active state; the Kasse switches to them automatically once one exists.
- Fix: The calendar file (ICS) of a variable ticket product now uses the event date of the purchased variation. When event dates were only set on the variations (parent product empty, \”date valid for all variants\” off), the ICS file carried today’s date instead of the variation’s event date.
Event Tickets with Ticket Scanner 3.2.7
- New: The German translation is complete again — 174 previously untranslated strings are now in German, including every new Kasse (direct sales) and ticket scanner text of this version.
- New: Optional auto refresh for the direct sales (Kasse) table — a checkbox in the toolbar reloads the table every 30 seconds, so parallel kassen always see each other’s sales. The setting is remembered per browser.
- Fix: Opening the direct sales (Kasse) view a second time fired the orders request twice — the list cache rendered immediately and again after its background refresh. The refresh now updates the cache silently.
- New: A refresh button above the direct sales (Kasse) table reloads the current rows without losing your search, filters or page position — useful when several kassen sell in parallel.
- Fix: The direct sales (Kasse) table in the admin showed no rows while the pager counted many pages — the server response carried a success envelope the table could not read.
- Fix: The ticket list description on the Kasse tiles is now rendered as formatted text — HTML tags are executed (safely sanitized server-side) and stray backslashes before quotes are gone, including for lists saved before this update.
- New: Scanner option “Redeem button at the top” (default active) — shows a redeem button at the top of the redeemed view, right below the ticket information, so staff can read the ticket details and redeem the next admission without scrolling. Can be toggled per device in the scanner options; a new…
- Fix: Scanning the same group ticket again (one QR code, multiple admissions) now reliably redeems the next admission. After a previous fix removed a crash, an internal processing lock could stay engaged, so the second scan of the same code stalled until the page was reloaded. The lock is now releas…
- Fix: PDF tickets downloaded from the WooCommerce order admin are now saved with the suggested filename (e.g. tickets_702394.pdf) on every browser, not just most. Some browser-security-plugin combinations used to ignore the inline download and fall back to the request URL as the filename (e.g. admin…
Event Tickets with Ticket Scanner 3.2.6
- Fix: PDF library isolation now also keeps the global class aliases for TCPDF and FPDF, so plugins that ship their own PDF subclasses (shipping label generators, invoicing, etc.) keep working without changes on their side. After 3.2.5 introduced the underlying isolation, the legacy class names are r…
- Tweak: The “Show seating plan link in shop overview” option has moved to the Seating Plan settings section, where it belongs next to the other seat-map behaviour switches. Setting value is preserved.
- Tweak: The “Congress” portal has been renamed to “Event Guide” across the admin area, options headings, and the public ticket-link view label. Internal option keys, database columns and REST namespaces stay the same for backward compatibility.
- Fix: Resolved a scanner crash on servers returning partial ticket metadata. The scanner now safely handles responses where the ticket’s redemption metadata is missing — instead of stopping with an error, it falls back to the operator-driven redeem path. No action needed for previously-working ticke…
Event Tickets with Ticket Scanner 3.2.5
- Fix: Ticket scanner no longer traps multi-redeem tickets in the self-redeem echo. Scanning a group ticket (one QR for N guests) for guest #2..N now flows through to the next redeem instead of locking on “already redeemed by this scanner a moment ago” until a manual browser refresh. Single-redeem ti…
- Fix: PDF library isolation — the bundled TCPDF classes and constants are now prefixed (SASOET_TCPDF*) and the loader no longer falls back to system-wide TCPDF installations. Fixes fatal “Cannot redeclare class TCPDF_FONT_DATA” crashes when another plugin also bundles TCPDF (e.g. DPD Connect shippin…
Event Tickets with Ticket Scanner 3.2.4
- New: Deleting a ticket list that still contains tickets is now blocked by default. The list delete dialog has a new checkbox “Block if list still contains tickets” (checked by default) — unchecking it allows the delete anyway. Prevents accidentally orphaning tickets whose QR code, PDF and scanner c…
- New: You decide how long the ticket scanner ignores a repeated scan of the same ticket — set the waiting time in seconds in the global options (default 7 seconds), so the camera never picks up the same ticket twice by accident.
Event Tickets with Ticket Scanner 3.2.3
- New: The seat map opens as a fullscreen overlay on every device. The confirm buttons sit in a footer that stays visible at the bottom edge, so they can no longer be cut off on small phone displays. Close anytime with the large X in the top right corner.
- New: Zoom buttons beside the seat map. Stacked vertically in a narrow bar on the right, they never cover the map. Zooming is useful on phones to pick the right seat on large plans.
- New: Global option “Confirm seat selection automatically once complete” (default off) — the seat map confirms as soon as the customer has picked all seats, one less tap on mobile.
Event Tickets with Ticket Scanner 3.2.2
- Fix: Redeem operations are now protected against parallel scanner writes (optimistic locking). When two devices redeem or edit the same ticket code at the same moment, the second write is detected, re-read and safely retried instead of silently overwriting the first one’s redeem entry.
- New: Admin notice on the product edit screen when the product’s seating plan has seats but was never published — until now the product page simply showed no seat selection, with no hint why. The notice links straight to the plan for publishing.
- Fix: On MariaDB servers without strict mode, a never-published seating plan could be treated as published (“0000-00-00” zero-date) — the product page then rendered an empty plan instead of none. Zero dates are now handled correctly.
- Fix: Publishing a seating plan did not sync the seats table — after deleting and re-creating seats in the designer, the shop showed only a fraction of the seats (or none) while the designer showed them all. Publish now re-activates the plan’s seats so the shop matches the designer.
- Fix: The seat statistics (“total seats / available”) counted inactive and deleted seats, reporting seats as available that the shop could not sell. Counts now match what the seat selector actually offers.
- Fix: Seating-plan JSON exports are timestamped down to the second in the download filename so multiple exports on the same day do not overwrite each other.
- Fix: The seat-map selector endpoint could still show deleted decorations (rect9) because getPlanForProductFrontend merged with array_replace_recursive directly instead of using the helper that replaces element lists. The selector now renders exactly the published decorations.
- Fix: The shop’s seat map could show deleted decorations and seats from an old layout version (e.g. overlapping “ghost” seats) although the designer showed the current plan — the page merged the plan’s legacy meta column into the current published version, and list-merging resurrects deleted element…
- Fix: Seat maps stayed empty on MySQL 8 servers with strict SQL mode — comparing the (empty) event date against a DATE column aborted the seat query with “Incorrect DATE value” while the shop showed no error. Empty and zero dates are now normalized before every seat query. The support info block add…
- New: “Import Plan (JSON)” next to “Add Seating Plan” — restores a plan export in one click. Two clearly explained modes: create a new plan (gets “(imported)” added, stays unpublished for review) or replace the draft of an existing plan (published version stays live until you publish; sold tickets a…
- New: The seating plan designer and the seat list show an approximate element limit (“n / ~2000”) — plans are stored as JSON and saving extremely large plans can fail silently depending on the server configuration. The counter turns red with a warning when the approximate maximum is reached.
- New: Seating plan designer: “Navigator” — a collapsible element list between the properties panel and the save buttons. Every seat, decoration, line and label is listed by name; click a row to select the element (works for overlapping elements that are hard to click on the canvas), hover to highlig…
- Fix: Deleted elements in the seating plan designer came back after saving and reopening the plan — the server merged the new element list into the stored one instead of replacing it, resurrecting every deleted decoration, line and label. This made plans impossible to clean up (the root cause behind…
- Fix: Publishing a seating plan raced the draft upload — the publish request fired on a fixed timer instead of waiting for the save to finish, so on slower connections the shop was published with a stale draft while the editor showed “published successfully”. Publish now waits for the save roundtrip…
- New: “Export Plan (JSON)” button in the seating plan seat view — downloads the complete plan (canvas, decorations, draft, published version and all seats) without any customer data, so a plan can be shared with support and re-created 1:1 for debugging.
- Tweak: The “Starter plugin is installed” warning now recognizes when the full Premium plugin is already installed next to the Starter and tells you to simply delete the Starter, instead of suggesting a Premium upload you do not need.
Event Tickets with Ticket Scanner 3.2.1
- Fix: With “Reserve seat only when adding to cart” enabled, the reservation was stored under wrong identifiers — the seat was not reliably blocked for other customers until the order was completed. Reservations created by this option now block the seat correctly.
- Fix: On block themes (like Twenty Twenty-Four) the public ticket page fell back to a deprecated WordPress legacy template and printed a deprecation notice — the page now renders a clean minimal shell there.
- New: The print preview in the Kasse opens the ticket as a PDF.
- Fix: Selling a ticket crashed with a server error when the ticket list used a code format — the format reached the code generator in the wrong shape; the generator now handles both shapes.
- New: The Kasse area shows one button per ticket list — a single click opens the sale popup with the list preselected (switchable inside the popup), amount, payment note and customer name.
- New: Sell tickets directly at the counter — the new “Kasse” area issues tickets from a ticket list without a shop order, attaches an internal sale number to every ticket and confirms payment with one click. Sales can be cancelled or partially refunded; cancelled tickets are freed for reuse. Print p…
Event Tickets with Ticket Scanner 3.2.0
- New: Kasse is now switchable (default on) — turn the whole Kasse tab off as a safety stop or for handheld-only shops.
- New: The Kasse ticket-list overview is switchable (default on) — disable to open the sale popup directly on touch screens.
- New: The Kasse orders table now uses server-side DataTable processing (search / paging / sorting), status pills, and per-row Confirm / Cancel / Refund / Partial refund / Print tickets actions. Filtering and ordering are handled on the server.
- New: Filter the ticket list by scanner account — new search filter “AUTHTOKEN:” shows all tickets redeemed by one ticket scanner (enter the id shown in the scanner details), so you can review each entrance team member’s activity without opening every ticket.
- New: The scanner makes a successful read unmistakable — the camera area lights up with a green frame (like card payment terminals) and a clear “code read, waiting for server” message the moment a QR code is recognized, followed by a short deliberate pause before the next scan is processed. Queued s…
- Fix: The ticket scanner silently dropped scans that arrived while the previous ticket was still loading (slow Wi-Fi, fast consecutive scanning of groups) — those guests were never redeemed in the dashboard. Scans are now queued and processed one after another, with a short on-screen note.
- Fix: Re-scanning a ticket that this scanner redeemed moments ago showed a red “ticket already used” error — confusing operators at the entrance. The scanner now recognizes its own successful redeems and shows a calm green confirmation instead.
- Fix: The same seat could be sold twice — a second order (or a double add-to-cart with the same seat) confirmed a seat that already belonged to another order, creating two paid tickets for one seat while the seat map only showed one sale. A seat already confirmed for another order is now refused, an…
- Fix: When an order was refunded or cancelled, the freed tickets kept a user registration from the previous buyer — the old owner stayed visible on the ticket and could interfere with its next use. Registrations are now cleared together with the other order information, and when a ticket is reused f…
- New: Tickets without WooCommerce — the big decoupling step. Ticket lists, ticket numbers, PDF tickets and the ticket scanner now work without a WooCommerce order behind them, for printed cards you hand out yourself. (Details follow with the release.)
- New: The PDF path for tickets without an order — the single ticket PDF, the ticket page and the bulk “one PDF” print sheet now render order-less tickets instead of failing with an order error. The ticket shows its own number, its list, the QR code and the redemption state; everything that normally…
- Fix: Order-related errors (#7001/#7002/#8010/#8013/#8020/#8021) no longer appear for tickets that are deliberately allowed to have no order.
- New: The setup wizard now asks whether you will sell or hand out tickets directly, without a WooCommerce order — at the door, by invoice or as printed cards — and explains what the switch does. The option’s description in the settings was extended the same way.
- New: The admin area formerly known as “Congresses” is now the “Event App” — the companion page your visitors open with their ticket (programme, speaker info, downloads, support pages; for a congress just as much as for a single event). Each app row has an “Open example” button that opens the visito…
- Tweak: The support info block now reads “Tested up to”, “Requires at least” and “Requires PHP” live from readme.txt instead of carrying hardcoded values that lagged behind (it showed 6.9 while the readme said 7.1).
- New: The setup wizard has a fifth use case, “Direct sales — no WooCommerce” — for tickets you sell at the door, by invoice or as printed cards. It switches the without-order path on and carries scanner defaults instead of order-processing options. When WooCommerce is not installed, this use case is…
- Tweak: The “Allow tickets without a WooCommerce order” setting now lives in its own section, “Direct sales (no WooCommerce order)”, instead of deep inside the WooCommerce sales section — easier to find, especially on sites without WooCommerce. Nothing about the option itself has changed.
Event Tickets with Ticket Scanner 3.1.8
Event Tickets with Ticket Scanner 3.1.14
- Security: Added nonce verification to the admin-area AJAX endpoint (executeWCBackend) to block cross-site request forgery. The frontend already shipped the nonce; the server now verifies it.
- Security: Restricted WooCommerce order/product data actions (downloadTicketInfosOfProduct, downloadAllTicketsAsOnePDF, removeAllTicketsFromOrder, removeAllNonTicketsFromOrder, downloadPDFTicketBadge) to users with the manage_woocommerce or edit_shop_orders capability. Without this, a low-privilege…
- Security: Removed an eval(data) call after $.getScript() in the seating-admin loader (backend.js, _displaySeatingplanArea, line 1288). $.getScript() already executes the loaded script; the extra eval ran every byte of the response through the JS engine again. CWE-95 — a server-side change to js/sea…
- Security: Ticket codes, scanner auth tokens and ticket idcodes are now generated with a cryptographically secure random source (random_bytes) instead of a hash of the current time (md5(time() ...)). The old values were predictable: two codes created in the same second shared their time component, s…
Event Tickets with Ticket Scanner 3.1.13
- Tweak: Products with variations no longer show the seat selector on the shop overview page. In the overview no variation is chosen, so the selector could not work there anyway – it only pushed the product image out of its card. The “Select options” link leads to the product page, where the full sea…
Event Tickets with Ticket Scanner 3.1.12
- Tweak: The premium wizard now says exactly what the “Enable Recommended Settings” button does before you click it: attach tickets …
Event Tickets with Ticket Scanner 3.1.11
Event Tickets with Ticket Scanner 3.1.10
Event Tickets with Ticket Scanner 3.1.9
Event Tickets with Ticket Scanner 3.1.7
Event Tickets with Ticket Scanner 3.1.6
Event Tickets with Ticket Scanner 3.1.5
Event Tickets with Ticket Scanner 3.1.4
Event Tickets with Ticket Scanner 3.1.3
Event Tickets with Ticket Scanner 3.1.2
Event Tickets with Ticket Scanner 3.1.1
Event Tickets with Ticket Scanner 3.1.0
Event Tickets with Ticket Scanner 3.0.9
Event Tickets with Ticket Scanner 3.0.8
Event Tickets with Ticket Scanner 3.0.7
Event Tickets with Ticket Scanner 3.0.6
Event Tickets with Ticket Scanner 3.0.5
Event Tickets with Ticket Scanner 3.0.4
Event Tickets with Ticket Scanner 3.0.3
Event Tickets with Ticket Scanner 3.0.2
Event Tickets with Ticket Scanner 3.0.1
Event Tickets with Ticket Scanner 3.0.0
Event Tickets with Ticket Scanner 2.9.9
Event Tickets with Ticket Scanner 2.9.8
Event Tickets with Ticket Scanner 2.9.7
Event Tickets with Ticket Scanner 2.9.6
Event Tickets with Ticket Scanner 2.9.5
Event Tickets with Ticket Scanner 2.9.4
Event Tickets with Ticket Scanner 2.9.3
Event Tickets with Ticket Scanner 2.9.2
Event Tickets with Ticket Scanner 2.9.0
Event Tickets with Ticket Scanner 2.8.10
Event Tickets with Ticket Scanner 2.8.9
Event Tickets with Ticket Scanner 2.8.8
Event Tickets with Ticket Scanner 2.8.7
Event Tickets with Ticket Scanner 2.8.6
Event Tickets with Ticket Scanner 2.8.5
Event Tickets with Ticket Scanner 2.8.4
Event Tickets with Ticket Scanner 2.8.3
Event Tickets with Ticket Scanner 2.8.2
Event Tickets with Ticket Scanner 2.8.1
Event Tickets with Ticket Scanner 2.8.0
202512 releases
Event Tickets with Ticket Scanner 2.7.10
Event Tickets with Ticket Scanner 2.7.9
Event Tickets with Ticket Scanner 2.7.8
Event Tickets with Ticket Scanner 2.7.7
Event Tickets with Ticket Scanner 2.7.6
Event Tickets with Ticket Scanner 2.7.5
Event Tickets with Ticket Scanner 2.7.4
Event Tickets with Ticket Scanner 2.7.3
Event Tickets with Ticket Scanner 2.7.2
Event Tickets with Ticket Scanner 2.7.1
Event Tickets with Ticket Scanner 2.7.0
Event Tickets with Ticket Scanner 2.6.0
Questions about Event Tickets with Ticket Scanner’s releases
What is the latest version of Event Tickets with Ticket Scanner?
3.3.3, released on Nov 5, 2026 (5 days ago). It’s tested up to WordPress 7.1.4 and needs PHP 8.1 or later.
How often is Event Tickets with Ticket Scanner updated?
60 releases in the last year, about one every 5 days. Its first release on WordPress.org dates from March 2025.
Know when your rivals ship
Track your plugin and its rivals: TrackWP sees each new release in the nightly snapshot and alerts you, with what it did to their rank.
Start freeRelease dates come from the day each version’s folder was made in Event Tickets with Ticket Scanner’s WordPress.org SVN repository; the notes from its readme’s changelog, as its authors wrote it.