= 3.1.56 =
* Access+ Subscribers: added Created date sorting, subscriber search, and filtered export to Excel-compatible CSV.

= 3.1.54 =
* Refined the Access+ subtab pills so multi-word labels render with more balanced height and spacing.

= 3.1.11 =
* Translation loading now prioritizes Loco global paths and avoids bundled Access+ language file overwrites.

= 2.6.4.2 =
* Fixed topbar version so it now resolves automatically from the plugin header instead of a stale hardcoded constant.
* Keeps the WordPress plugin list version and the CRE topbar version in sync.

= 2.6.4.1 =
* Fixed duplicated Membership levels table in Dashboard.

= 2.6.4 =
* Added Site Monetization Dashboard with PMPro membership revenue, active/new members, revenue mix, and membership level summary.
* Keeps PMPro integration read-only and activates automatically when PMPro tables are available.

= 2.6.1 =
* Safe campaign auto-tagging now adds only the `cre_campaign` parameter.
* Existing UTM tags and provider-specific parameters are preserved to avoid conflicts with any email platform.

= 2.6.0 =
* Added Campaign Analytics dashboard with campaign summary, top performing posts, and revenue-over-time reporting.
* Added campaign post summary and daily summary queries to Campaign Performance.

= 2.5.9.5 =
* Fixed Campaign Builder post logic: template structural slots are filled by the Content source first, then Manual selection posts append below until Posts to include is reached.
* Hero + 5 now means 1 hero + 5 posts from the source, then manual posts if requested.
* Subtitle now appears in the visible newsletter header and is used as the preheader default.
* Manual selection label simplified.

= 2.5.9 =
* Added Campaign Performance Tracking with campaign-aware newsletter links, click logging, purchase attribution, and dashboard reporting.

= 2.5.8.2 =
* Fixed Mobile preview button by moving preview toggle logic into the Campaign Builder inline script and correcting preview CSS selector.

= 2.5.8.1 =
* Fixed Desktop/Mobile preview toggle in Campaign Builder by properly enqueuing the preview script.

= 2.5.7 =
* Fixed Copy HTML button so it copies the HTML output reliably.
* Added real drag & drop ordering with visible handle on Selected posts.

= 2.5.4.2 =
* Fixed Campaign Builder editable title/subtitle so values save and render correctly.
* Fixed plugin version header.

=== Content Revenue Engine ===
Contributors: albertbarra
Tags: paywall, membership, stripe, paypal, pay-per-post
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 3.2.17
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Content Revenue Engine 2.0 provides a reading-based paywall with dynamic CTAs and optional Pay Per Post payments via Stripe or PayPal.

== Description ==
A configurable paywall that limits free post views per period (day/week/month), supports exemptions (categories/tags/roles/PMPro levels), and can offer Pay Per Post unlocking.

== Installation ==
1. Upload the plugin folder to /wp-content/plugins/
2. Activate the plugin through the 'Plugins' menu in WordPress.
3. Configure via Content Revenue Engine menu.

= 3.1.59 =
* Added support for trialing CRE Pro licenses and topbar trial visibility.

== Changelog ==
= 3.1.74 =
* Fixed Access+ My Account regression: restored shortcode_my_account as a public static method so the original detailed panel renders again.

= 3.1.71 =
* Fixed CRE license My Account button to send license_key and site_url to the HUB account_link endpoint.

= 3.1.70 =
* Fixed CRE license My Account button to open HUB account_link with license context.
* Preserved Access+ subscriber account behavior from the 3.1.65 branch.

= 3.1.63 =
* Added automatic license sync after Access+ upgrade return.

= 3.1.61 =
* Fixed fatal error in Access+ admin screen introduced in 3.1.60.

= 3.1.60 =
* Added past_due restricted mode with billing recovery UX.
* Keeps PRO and Access+ screens visible while pausing new sales and edits.

= 3.1.58 =
* Fixed duplicated admin panel rendering in CRE Pro and Access+ screens.

= 2.6.4.8 =
- Added Recommendations shortcode mode with admin-visible shortcode preview.
- New shortcode: [cre_recommendations]
- Recommendations can now render automatically before the paywall or anywhere via shortcode.

= 2.6.4.7 =
* Added Paywall Exemptions Tree to Inspector using the same hierarchical UI as PPP.
* Exemptions now expand by direct Posts, Categories, and Tags, with matching published posts at each level.
* Inspector now shows effective exemption source resolution with post, category, and tag overrides.
* Keeps the existing PPP Coverage Tree and PPP effective price visibility.

= 2.4.2 =
* PRO: Paid Tags now use a manual add UI with tag name/slug + price fields instead of listing every tag.
* Added dynamic list builder for Paid Tags in PPP settings.
* On save, tags are resolved by slug first and then by exact name.
* If the same tag is added more than once, the last saved price wins.

= 2.4.1 =
* PRO: paid tags now support individual prices per tag.
* If a post matches multiple paid tags, the highest tag price is applied.
* Added backward compatibility for legacy shared tag pricing.

= 2.4.0 =
* Expanded Dashboard with current and suggested PPP prices for top monetized posts.
* Added paywall heatmap with intensity labels and PPP vs metered split.
* Added per-post suggested price box in Inspector using observed conversion and paywall pressure.

= 2.3.0 =
* Added monetization dashboard KPIs with revenue, sales, PPP conversion, trend sparkline, and top monetized posts.
* Added pre-paywall recommendations with configurable source, count, title, and optional excerpts.

= 2.0.0z2 =
* Plugin Check compliance fixes (security hardening, headers, nonces, sanitization, safe redirects) without changing functionality.


2.7.17
- Uses Stripe v3 for embedded checkout.
- Keeps hosted Checkout as manual fallback only after an embedded error.
- Prevents modal close from normal interaction inside the payment form.


== 2.9.3 ==
* Full package built from the real 2.8.3 base.
* Duplicate automatic Settings submenu removed.
* Settings → Stripe cleaned up around Stripe only.
* Stripe connection status box added with live validation against Stripe API.
* PayPal hidden while Stripe is consolidated.


== 2.9.5 ==
* Stripe-only Settings cleanup from the real base.
* Removed PPP Provider selector.
* Removed visible PayPal settings block.
* Removed Stripe Connect block from Settings.
* Added live Stripe status box in Settings.


== 2.9.7 ==
* Safe menu ordering only.
* Hides Quick Setup from the left menu without removing its internal logic.
* Reorders existing submenu items without replacing callbacks.


== 2.9.10 ==
* Restores the stable Settings layout from 2.9.8.
* Keeps Stripe-only Settings and basic status box.
* Adds internal Stripe helper functions without changing the Settings markup.


== 2.9.12 ==
* Full stable rebuild from 2.9.10.
* Restores the Settings page structure after failed Stripe status UI experiments.
* Keeps Stripe visible in Settings without extra injected layout blocks.


== 2.9.15 ==
* Adds a visible Connect with Stripe button directly in Settings → Stripe.
* Safe return notice when hub-managed automatic connection is not available yet.
* Built from the stable 2.9.12 base.


== 2.9.16 ==
* Connect with Stripe now calls the hub-managed Stripe Connect endpoints.
* On return, CRE synchronizes publishable key, secret key and webhook secret from the hub into the local installation.
* Adds safe success and error notices in Settings.


= 3.1.64 =
* Updated trial-based CTA copy across PRO.


= 3.1.65 =
* Fixed Access+ visibility for unlicensed installs.
* Locked Access+ behind PRO license status and addon entitlement.


= 3.1.72 =
* Restored Access+ My Account rendering (robust shortcode, fallback safe).


= 3.1.73 =
* Restored Access+ My Account to the earlier full panel and removed the simplified override introduced in 3.1.72.
* Added subscription origin, PMPro import reference, next renewal and billing portal hint.


= 3.2.00 =
* Added isolated Google sign-up for free Access+ subscriptions, integrated into Access+ Tools persistence without touching subscriber My Account shortcodes.


= 3.2.02 =
* Fixed fatal error in Google sign-up language handling and made the button follow the site language with browser fallback.


= 3.2.03 =
* Updated Google sign-up button styling to a white pill design.


= 3.2.06 =
* Fixed Pay Per Post button responsiveness on mobile devices.


= 3.2.07 =
* Fixed PPP button text wrapping (no more truncation, supports multi-line text).


= 3.2.08 =
* Cleaned dashboard duplicated blocks
* Added revenue per 1000 views KPI


= 3.2.11 =
* Removed the second duplicated Site monetization / Access+ section from the dashboard.


= 3.2.13 =
* Added Google as a real subscriber source in Access+.
* Added Google to the Subscribers filter and source column.
* Added Subscribers by Source block to the dashboard.


= 3.2.14 =
* Added CRE Admin Header (topbar revenue control panel).


= 3.2.15 =
* Connected the CRE admin header to real dashboard, PPP and Access+ metrics.


= 3.2.16 =
* Added CRE overlay panel.
