Skip to main content

PBJ Forms & Products Changelog — 2.1.0

PBJ Forms & Products 2.0 separates form and product creation, centralizes setup, adds direct-or-cart selling and orders, and publishes documented Help Desk integration events for the next CRM update.

July 4, 2026
PBJ Form Builder 1.4 — Forms list with getting-started checklist

2.1.0 — Form submissions fixed, and a cart that works like a cart

Critical fix: on 2.0.0, 2.0.1 and 2.0.2 every JavaScript form submission posted to a 404. The submit code read form.action, but each rendered form carries a hidden input named action, and a form control of that name shadows the form’s own action property — so the request went to [object HTMLInputElement] and the visitor saw “Something went wrong.” Every gateway was affected. The endpoint is now read from the attribute. If you are running any 2.0.x, update.

  • The cart is now one page. Line items with picture, unit price, a plus/minus quantity stepper and a real Remove button; a running item count and total; an empty-cart state; and an optional “Keep shopping” link.
  • Quantity changes and removals no longer reload the page. They call a new JSON endpoint that recomputes the cart from published product config and returns the authoritative state. The plain form POST remains as the no-JavaScript fallback.
  • Checkout sits beneath the cart on the same page. The pay button states the amount — “Pay 33.50 USD” — and follows the total as it changes.
  • Product blocks gained a quantity chooser and confirm in place with “Added to your cart – View cart” instead of bouncing the shopper to the cart page.
  • Products screen shows the checkout mode as a badge and the gateway beneath it, with a one-click copy button for each shortcode.
  • Clearer product editor. The “Use Add to cart” tick-box becomes two explained choices, and the per-product gateway is hidden when a product is sold through the cart, because the Cart tab’s gateway is what charges it.
  • Cart screen opens with a readiness panel that checks the facts: the cart page exists and contains the cart shortcode, a checkout form is chosen, the cart gateway has working credentials, and at least one product uses Add to cart.
  • Richer order-ticket event. The neutral event now also carries customer_name, customer_phone, items, total_cents and currency, so a future PBJ CRM listener can raise an order ticket without unpacking the order itself. Additive; contract_version stays 1. No CRM code is loaded or required.
  • Removed the unused product-details block left behind in the form editor by 1.6.0.
  • Settings database version 5 → 6 (adds shop_page_url, blank by default).

2.0.2 — Bundled licence client refresh

The bundled PBJ license client moved to 1.2.0 (version stamp plus a drift warning when an older copy of the client loaded first on a multi-plugin site). No change to licensing behaviour or to the plugin itself.

2.0.1 — Semantic admin themes

PBJ Forms & Products now consumes the shared PBJ admin-theme contract without depending on PBJ CRM.

  • Readable setup steps in every theme. Current, completed, and upcoming steps expose semantic states and receive matching foreground, background, and border colors.
  • Theme-safe admin surfaces. Forms, products, setup cards, notices, controls, and layout tables use neutral --pbj-admin-* variables with WordPress-safe fallbacks.
  • Content previews stay independent. Customer-facing preview frames are explicit content islands, so an admin theme cannot repaint the design being previewed.
  • No selector hacks or CRM dependency. Forms publishes exact component and state attributes; CRM contains no Forms-specific selectors, includes, calls, or runtime dependency.

2.0.0 — Forms, products, and cart are separate

PBJ Forms & Products 2.0 turns the old combined builder into four clear admin workflows: Setup, Forms, Products, and Cart.

  • Forms and products are independent records. Forms collect fields and outcomes. Products own the price, gateway, presentation, checkout form, and selling mode.
  • One centralized setup. The six-step Setup walkthrough now owns the old settings, payment, protection, appearance, cart, and license controls. It is skippable and safe to rerun.
  • Purchase now or Add to cart. Each product gets one simple toggle. Cart items and quantities stay server-side, and every price and total is recalculated from the published product.
  • Private order records. Direct purchases and cart checkouts create idempotent order snapshots after the form submission is saved.
  • Ready for the next CRM update. Versioned order-created and Help Desk ticket-request events are documented for the future CRM listener. PBJ Forms does not load or modify CRM.
  • Backward compatible. Existing forms, submissions, shortcodes, paid checkouts, product presentation, theme values, and License Manager hooks remain intact. Legacy paid/product forms gain linked product records without rewriting the original form.

New shortcodes: and

Your cart is empty.

. Existing embeds continue to work.

1.6.1 — Licensed download handoff

Added the post-purchase redirect filter used by PBJ License Manager to attach a one-time download credential after a successful paid submission.

1.6.0 — Guide, appearance, and product presentation

Renamed the plugin to PBJ Forms & Products, added guided administration, site-wide appearance controls, and optional product presentation while preserving existing forms and shortcodes.

1.5.x — Spam controls

Added one-click spam handling, permanent sender-IP blocking, submission cleanup, and optional PBJ Geo Viewer country blocking.

1.2.0–1.4.0 — Payments and guided administration

Added Stripe, buyer receipts, payment hardening, stable slug/title shortcodes, licensing controls, and guided admin explanations.

Latest Articles