PluginProbe
Yatra – Travel Booking & Tour Operator Software / 3.0.16
Yatra – Travel Booking & Tour Operator Software v3.0.16
3.0.16 3.0.15 3.0.14 3.0.14.1 3.0.14.2 3.0.12 3.0.13 3.0.11 3.0.10 3.0.9 3.0.8 3.0.7 3.0.6 3.0.5 3.0.5.1 3.0.4 3.0.3 3.0.2.9 3.0.2.7 3.0.2.8 3.0.2.6 trunk 1.0.0 2.0.0 2.0.1 All 84 releases
← All changes | CHANGELOG.md +17 -0 3.0.9 → 3.0.16 View file →
@@ -1,8 +1,25 @@
1 1 # Changelog
2 2
3 3 All notable changes to this project are documented here. The WordPress.org–canonical history lives in **`readme.txt`** under **Changelog**; this file mirrors recent releases for GitHub and tooling.
4 4
5 +## [3.0.10] — 2026-07-15
6 +
7 +- **Tour review structured data (SEO) — fixed Google Search Console errors** ("Invalid object type for field &lt;parent_node&gt;", "Missing field author", "Missing field itemReviewed"): the review Microdata was invalid (AggregateRating under a `TouristTrip`; the whole reviews section as one `Review` with no author/itemReviewed). Replaced with valid **JSON-LD** emitted centrally for every tour page — a `Product` with the tour name, `aggregateRating`, and a `review[]` array (each with `author`/`reviewRating`/`reviewBody`/`datePublished`/title). Removed the broken Microdata; review-less tours keep the prior schema. Output is `\u`-escaped so review text can't break out of the `<script>` block.
8 +- **Account email address is editable** (My Account → Profile): WordPress-style confirmation-link flow (change applies only after the customer clicks the link mailed to the new address), with Resend / Cancel, a pending-change notice, and an "email changed" security notice to the old address. All four emails are editable transactional templates.
9 +- **Sold-out departures can no longer be booked** — disabled up front (reusing the server waitlist/capacity rule) instead of failing only at the final step; server guard retained.
10 +- **Deposits no longer auto-confirm when Auto-Confirm is off** — a deposit/partial leaves the booking pending across all completion paths; deposit-paid bookings are shielded from the pending-expiry cron. Overridable via `yatra_confirm_booking_on_payment`.
11 +- **reCAPTCHA v3 now works** — server-verified per protected form (enquiry/review/booking/registration), fail-closed, secret never sent to the client, action validated.
12 +- **Invoice fixes** — the "Invoice #" is no longer empty; the pro-forma invoice shows the real payment state (Paid / Partially Paid / Payment Pending).
13 +- **Pro-forma invoice for offline bookings** — Bank Transfer / Pay Later bookings can download an invoice; includes payment instructions when a balance is due (Pro fills bank details).
14 +- **Discounts respect the currency** — Discount Amount + Minimum Booking Amount fields show the configured symbol and position.
15 +- **Confirmation & checkout pages no longer leak another page's SEO** (virtual pages no longer inherit an unrelated page's meta).
16 +- **Capacity & occupancy** — a departure honours a recurring rule on datetime input; dashboard occupancy no longer stuck at 0%; Reports Average Group Size computed over the correct set.
17 +- **Booking-confirmation stars restored** (missing CSS), including half-stars.
18 +- **Google Calendar** — the target Calendar ID/Name in Settings is saved and survives reload.
19 +- **Translations** — bundled translations now load from the plugin's own `i18n/languages` folder; new strings translatable; regenerated `yatra.pot`.
20 +- No DB changes, no migration. Safe to update from 3.0.9. Pair with **Yatra Pro 3.0.8**.
21 +
5 22 ## [3.0.9] — 2026-07-02
6 23
7 24 - **Price filter — highest trips are reachable again:** the trip-listing price filter now bounds its Min/Max on every price a customer can actually book. The maximum previously looked only at the base trip price, so a per-category (traveler-based) tier or an availability-date / recurring-rule / departure **override** priced above it fell off the top of the slider and became unfindable. The slider can now also land exactly on the true maximum (the range step no longer stops short — e.g. it no longer caps €10,000 at €9,909). Bounds come only from published, non-deleted trips, so a draft/trashed override can't inflate them.
8 25 - **Travel itinerary PDF — correct arrival & departure dates:** the travel-timeline now shows the booking's actual **start** (arrival) and **end** (departure) dates instead of repeating the same date twice; derives the end from trip duration only when no stored end date exists (matching the inclusive end-date calc).