Changelog

This page tracks major releases and notable changes across our plugins and the WP Alemi platform itself.

For full release notes per plugin, see the plugin’s GitHub releases page or the Rentiva docs blog.



2026-07 — MHM Rentiva 5.0: free Lite + paid Pro add-on

Full history, including anything released after this page was last updated: GitHub releases.

MHM Rentiva Lite v5.2.4

  • Changed: the plugin’s top-level admin menu now sits between Tools and Settings instead of directly above Appearance. The same screens are in the same order underneath it; it simply no longer pushes past WordPress’s own items.
  • Docs: the readme now lists every page outside your site that the admin screens link to. The plugin still makes no request to any of them — these are links a user may click. A build check guards against reintroducing the third-party services earlier versions used (geolocation, CDN fonts and scripts, analytics, Gravatar).

MHM Rentiva Lite v5.2.3

  • Fixed: the background-job table was created with CREATE TABLE IF NOT EXISTS. WordPress reads the words after CREATE TABLE as the table name, so its schema updater had been tracking a table called “IF” — one it cannot describe, and therefore skipped entirely. The real table was created correctly by the database and no data was lost, but any column added in a later release would silently never have been applied. Measured on a live database: before the fix a newly added column was ignored; after it, the same column was created.
  • Docs: the Privacy section has been corrected. It now discloses that contact-form submissions are stored with the sender’s name, e-mail, telephone, message, IP address and user-agent, and that those records have no retention setting; that ratings are stored as WordPress comments, so WordPress records the reviewer’s IP with them; and that bookings placed through WooCommerce checkout record no IP address. What the plugin stores has not changed — the description of it was incomplete.

MHM Rentiva Lite v5.2.2

  • Fixed: the plugin now tells WooCommerce which storage features it works with. Without that declaration WooCommerce could not confirm compatibility, and site owners turning on High-Performance Order Storage — the default for new stores since WooCommerce 8.2 — were warned about this plugin by name.
  • Fixed: the payment type chosen at checkout was written to order storage in a way that only works on the older layout. It now goes through WooCommerce’s own order object. On existing stores the value stays exactly where it has always been; nothing needs migrating.
  • Declared: this plugin is NOT compatible with the block-based cart and checkout, and now says so instead of leaving it unanswered. On a block checkout the payment-type selector, the custom tax row and the return-to-cart link do not appear — and, the part that matters most, the availability check that prevents two customers booking the same vehicle for the same dates does not run. Use the classic checkout with this plugin.

MHM Rentiva Lite v5.2.1

  • Fixed: the dashboard chart was labelled “Revenue (Last 7 Days)” but sums the value of bookings created in those days, not rental income earned in them — which is why it could read as empty while the table beside it listed upcoming rentals. It is now “New Bookings Value (Last 7 Days)”. The figures themselves are unchanged.
  • Fixed: five admin strings were translated but shipped in English, because the React translation catalogues being shipped were four months old.
  • Removed: eleven translation catalogues belonging to screens and blocks that are no longer part of this plugin. Nothing loaded them.
  • Internal: the translation-catalogue build is deterministic again, and a CI check now fails if the shipped catalogues fall out of step with the translation source instead of silently going stale.

MHM Rentiva Lite v5.2.0

  • Security: the booking, deposit, vehicle-gallery and blocked-date screens now check permissions against the specific booking or vehicle a request names, instead of a general “can edit content” capability. On multi-author sites this closes paths where one contributor could act on another’s records.
  • Security: saving a booking from the editor now always requires a valid security token; a form field being present is no longer accepted in its place. The database backup screen only touches backup tables this plugin created. Markup generated by the plugin is filtered through an explicit allowlist as it is printed.
  • Removed the Settings › Security tab. Its seventeen controls — “Brute Force Protection”, “SQL Injection Protection”, “XSS Protection”, “CSRF Protection”, “Enable Rate Limiting” and the IP lists — were connected to nothing, so switching them on changed nothing. A control that reports a protection as active while nothing enforces it is worse than no control, because it gets relied on.
  • Removed “Secure API Access Tokens” from Integration settings. It issued keys labelled READ, WRITE and ADMIN, but nothing in the plugin ever validated them, so a key created there opened nothing. The REST API itself is unchanged.
  • Removed the “Scheduled Notifications” background job. It ran hourly against a queue nothing ever added to, while the Cron Monitor reported it healthy. Booking confirmations, reminders and refund notices are sent by the e-mail system and are unaffected.
  • New: redesigned Dashboard and Vehicle Settings screens. Vehicle Settings opens in the new layout by default; append ?ui=legacy for the previous one.
  • Fixed: “delete all data on uninstall” stopped partway through; the backups screen could go blank on an orphaned .sql file; vehicle quick edit accepted a negative daily price and an out-of-range seat count; the vehicle search accepted any page size; “Auto Cleanup Logs” and “Log Retention (Days)” were ignored by the daily purge; saving the Vehicle tab silently reset two Frontend-tab fields; the customers screen re-ran every query on each load.
  • Internal: removed about 2,000 lines of unreferenced code, and every registered script, stylesheet, cache entry and background job now carries the plugin’s full prefix so another plugin cannot displace it.

MHM Rentiva Lite v5.1.1

  • Internal: REST and deposit-management AJAX actions now use the full mhm_rentiva_ prefix, and a duplicate handler registration was removed so each action is handled exactly once.
  • Internal: the customer privacy controls render only when their handlers are available (they ship with the paid add-on), so the free plugin shows no non-functional buttons.
  • No feature or behaviour change; your settings and data are unaffected.

MHM Rentiva Lite v5.1.0

  • Security: hardened contact-form file-path handling, capability checks for customer-account creation, REST route permissions, output escaping and settings sanitization across the plugin.
  • Changed: testimonial and account avatars now render locally from initials with no external Gravatar request; the plugin makes no third-party calls.
  • Removed: the demo-data seeder and its bundled sample images.
  • Added: a “Source code” section documenting the React build and the public repository.

MHM Rentiva Lite v5.0.2

  • Milestone: Rentiva is now two plugins — a free Lite edition (the full rental core, with no artificial limits) and a paid Pro add-on that installs on top of Lite and is unlocked with a license key.
  • Compliance: WordPress.org submission hardening — admin menu & AJAX action prefixes, i18n wrapper cleanup, and Pro-only email templates moved into the Pro add-on. Plugin Check: 0 errors.

MHM Rentiva Lite v5.0.0 – v5.0.1

  • Feature: First free public release — every inline script and style is now a properly enqueued asset.
  • Fix: The data export screen — nonce field, format picker, and history columns — corrected.

MHM Rentiva Pro v5.2.3

  • Fixed: the reports background-job table was created with CREATE TABLE IF NOT EXISTS, so the schema updater had been tracking a table called “IF”. No column was ever added to that table, so nothing was lost — but one would silently never have been applied. The same defect was fixed in Lite 5.2.3. Existing tables are updated in place and no data is moved.

MHM Rentiva Pro v5.2.2

  • Declared: High-Performance Order Storage compatibility. The declaration is a measurement, not an assumption: every order this add-on touches is read through wc_get_order(), there is no order-ID-keyed post-meta access, and no order is created with wp_insert_post().
  • Deliberately not declared: block-based cart and checkout. The add-on has a cart surface and most of it does work under blocks (it runs the Store API line-item and item-data hooks); only the cart item-name customisation is specific to the classic page and cosmetic. For that mixture neither “yes” nor “no” would have been honest.

MHM Rentiva Pro v5.2.1

  • Changed: the declared minimum Lite version is 5.2.1 rather than 5.0.0. Five React admin screens appear in Turkish only via a text-domain parameter Lite added in 5.2.1; running against an older Lite does not error, but those screens stay in English.

MHM Rentiva Pro v5.2.0

  • Fixed: the transfer-results premium stylesheet never loaded. It depended on a font registration that had been removed, and WordPress skips such a file silently, without warning.
  • Fixed: users’ last-login value is read under Lite’s new name, with the old name still supported — so the inactive-users report shows the right number whichever order the two plugins are updated in.
  • Fixed: the transfer-results cache now matches Lite’s flush, where it could previously stay stale for up to 30 days.
  • Fixed: the GDPR data-cleanup job is now registered with the Cron Monitor from here. Lite did not know about the job, so its “Run Now” button did nothing for it.
  • Internal: renamed script and style registrations carry the full prefix, so another plugin using the same short name cannot displace them.

MHM Rentiva Pro v5.1.1

  • Internal: gdpr.js and vehicle-submit.js now ship with and load from the add-on, instead of being loaded from the free plugin’s URL.

MHM Rentiva Pro v5.1.0

  • Changed: every Pro feature (vendor marketplace, messaging, payouts, VIP transfer, advanced reports and export, GDPR tools) now registers through neutral extension points exposed by the free plugin, instead of being wired from the free plugin.
  • Changed: the add-on ships and serves its own CSS/JS for its screens instead of relying on copies in the free plugin.

MHM Rentiva Pro v5.0.0 – v5.0.3

  • Add-on: Pro brings the vendor marketplace, payouts & commission, messaging, VIP transfers, vehicle lifecycle management, and advanced reports & export — installed on top of Lite.
  • Fix: Export now honours the selected date range; Pro email templates ship with the add-on.

2026-04 — WP Alemi V1 Launch

Site

  • Marketplace homepage, /rentiva, /currency-switcher, /pricing, /account, and legal pages live
  • Polar.sh checkout integrated (sandbox; production switch Q2 2026)
  • License server operational at wpalemi.com/wp-json/mhm-license/v1
  • Plugin updater wired to license server (GitHub-based, no WP.org dependency)
  • Multi-language: EN + TR (TranslatePress Business)

For the current version and full history, see the GitHub releases page.

MHM Currency Switcher v1.1.2

  • Now requires WordPress 6.6. The settings screen never loaded on 6.0 to 6.5: the admin bundle depends on a script handle WordPress only registers from 6.6, and an unregistered dependency makes WordPress drop the script silently. Every earlier release claimed 6.0 and none of them could show that screen on it. On older WordPress, staying on 1.1.1 keeps the storefront working — the conversion scripts have no such dependency.
  • Fixed: every control in the currency table was unnamed for screen readers — the enable toggle, both rate controls, both fee controls and both rounding controls. Each now says what it changes and which currency it belongs to.
  • Fixed: the currency picker was announced as an unlabelled button, because its visible label was never associated with the control.
  • Declared compatibility with the Cart & Checkout Blocks. The plugin already worked with them — they read their amounts from the Store API, which is converted on the server — but without the declaration WooCommerce warned shop owners about the plugin on those screens.

MHM Currency Switcher v1.1.1

  • The settings screen no longer triggers WordPress’s deprecation notice for the 36px control size; its selects and text fields opt into the 40px size that becomes the default in WordPress 7.1.
  • Corrected the Plugin URI, which pointed at a page that does not exist.
  • Declared WooCommerce as a required plugin, and corrected the tested-against WooCommerce range to the versions the test suite actually runs (7.4 to 10.9).

MHM Currency Switcher v1.1.0

  • Cache compatibility mode, on by default. Anonymous shop, archive and product pages are rendered in your base currency so a page cache can serve the same HTML to everyone, and the browser converts the displayed prices afterwards. Cart, checkout, order totals, order emails and the WooCommerce REST API are still converted on the server.
  • The currency switcher no longer reloads the page when cache compatibility is on; it sets the cookie, converts the prices in place and refreshes the mini-cart.
  • Fixed: prices were converted on admin screens and in admin AJAX, which could write a converted price into an order line item.
  • Fixed: wc/v3 REST reads now return the base currency unless the request asks for one, so the response no longer depends on the caller’s cookies.
  • Fixed: scheduled tasks and WP-CLI no longer convert prices.
  • Fixed: cart totals are recalculated when the visitor changes currency, so the mini-cart can no longer show an amount from the previous currency.
  • Fixed: prices inside WooCommerce block themes are no longer overwritten with base amounts after the page has loaded.
  • Fixed: a percentage fee per currency was never applied, because the admin screen and the sanitiser disagreed on the stored value.
  • Fixed: a currency with a zero exchange rate no longer falls back to showing base prices as though they were converted.
  • Fixed: rounding is now applied to shipping, fees and coupon discounts as well as product prices.
  • Fixed: shipping tax is converted along with the shipping amount.
  • The plugin now warns in the admin when cache compatibility is silently not being applied, and when a mini-cart is left in the base currency because WooCommerce’s cart-fragment script is not loaded.
  • New public REST endpoint POST mhmcs/v1/convert, rate limited to 120 requests a minute per address (mhmcs_convert_rate_limit filter).

MHM Currency Switcher v1.0.0

  • First public release.
  • All features are available to everyone: unlimited currencies, automatic exchange rate updates, geolocation-based currency detection, fixed per-product prices, and a WooCommerce REST API currency filter.
  • Identifiers renamed to the mhmcs prefix. Settings from earlier development builds are not carried over.

MHM Currency Switcher v0.4.0 (historical)

  • Added: Navigation menu integration — add currency switcher to any WordPress nav menu
  • Added: Geolocation-based currency detection with CloudFlare + WC MaxMind cascade
  • Added: Automatic exchange rate updates via WordPress cron scheduling
  • Added: Per-product fixed pricing with WC Product Data tab and variation support
  • Added: Built-in currency symbol map for 48 currencies (third-party plugin compatibility)
  • Added: High-quality SVG flag icons for 283 countries (upgraded from 20×15 to 640×480)
  • Added: License tab with detailed info card, masked key, plan, expiry, and refresh button
  • Fixed: Dropdown forced open on page load by theme CSS overrides
  • Fixed: Currency symbols hijacked by third-party plugins (YayCurrency compatibility)

MHM Currency Switcher v0.2.0 — v0.1.0

  • v0.2.0: Turkish translation, WP 6.5+ .l10n.php performance translations
  • v0.1.0 (initial): Core conversion engine, real-time rates with fallback, shortcodes + widgets, WC cart/checkout integration, WP-CLI commands, 79 tests / 154 assertions

MHM Polar Bridge v1.9.2 (latest)

  • v1.9.2: Renewal reminder email body — fix duplicate “monthly”/“aylık” wording
  • v1.9.1: wpalemi_licenses field naming aligned with RenewalReminderCron; LegacyLicenseDataMigrator backfill (idempotent)
  • v1.9.0: RenewalReminderCron — daily UTC 06:00, 7-day advance email for monthly subscribers; all 6 lifecycle emails rebranded to MHM by WP Alemi; customer portal session returns expires_at + return_url
  • v1.8.0: product_slug forwarded on provisioning POST (requires license-server v1.8.0+)
  • v1.5.0 — v1.1.0: Cancel + refund handlers, customer_session endpoint, polar_customer_id forwarding, webhook signature verification (Standard Webhooks spec), auto license provisioning on subscription.active

MHM License Server v1.14.0

  • HMAC-SHA256 + rate limiting + SSL
  • 7-day grace period
  • Monthly and yearly plan support

2026-03 — Pre-launch

  • License server public test
  • maxhandmade.com redirect to wpalemi.com (30-day soft launch)
  • E2E tests for license flow

For older changes, see individual plugin changelogs on GitHub:

Browse Plugins →
Scroll to Top