= 0.3.41 =
Prevented the restored native checkbox from overriding a hidden mobile form wrapper outside the popup.

= 0.3.40 =
Prevented duplicate JetBooking calendars when an initialized ESI form is moved into a mobile popup.
Made picker detection resilient when JetBooking does not expose its instance through jQuery data.
Prevented the ESI subrequest from printing duplicate jQuery, wp-hooks, and wp-i18n dependencies already owned by the parent document.
Added server-rendered accessible labels for checkbox and radio fields through the Bricks element.
Included each element's sanitized accessibility mappings in its ESI configuration and cache identity.
Removed the Optimization / Perfmatters Compatibility card and moved JetFormBuilder Forms into its place.
Kept wp-hooks and wp-i18n inside the ESI dependency chain so JetFormBuilder initializes before checkbox and calculated-field modules.
Suppressed only the later parent-footer copies and removed defer/async from critical ESI scripts to preserve synchronous dependency order.
Fixed accessibility mappings being discarded while decoding the Bricks repeater configuration inside the ESI request.

= 0.3.39 =
Made all custom JavaScript and CSS assets human-readable and documented the source layout.
Escaped shortcode and ESI-rendered form markup with a JetFormBuilder-specific HTML allowlist.
Enabled LiteSpeed's preserved ESI mode so security filtering cannot remove the ESI include.
Applied WordPress Coding Standards formatting and completed a plugin-wide prefix audit.

= 0.3.38 =
Preserved the configured JetFormBuilder WooCommerce Price Field through JetBooking checkout recalculation.
Rejected submitted calculated totals below JetBooking's server-calculated base price.

= 0.3.37 =
Moved admin page styling and copy helper script to properly enqueued assets for WordPress.org compliance.
Removed WordPress.org directory assets from the plugin package.

= 0.3.36 =
Removed UTF-8 byte order marks and normalized line endings in PHP files flagged by Plugin Check.
Replaced admin utility request inspection with filter_input() helpers to avoid nonce warnings for read-only context detection.

= 0.3.35 =
Scoped Bricks element registration away from WordPress admin utility screens such as Plugin Check and Site Health.
Reduced admin-side runtime footprint to avoid interfering with JSON-based admin tools.

= 0.3.34 =
Prevented SCP Dynamics ESI Bridge frontend compatibility hooks from running during WordPress admin AJAX requests.
Tightened JetBooking availability bypass detection so Plugin Check and other admin tools receive clean JSON responses.

= 0.3.33 =
Hardened admin isolation so frontend optimization markers are not attached on normal WordPress admin pages.
Tightened plugin dashboard CSS scoping.

= 0.3.32 =
Scoped all frontend form CSS to the plugin wrapper to prevent WordPress admin UI leakage.
Scoped optional frontend inline CSS to the plugin wrapper.
Prevented critical optimization markers from being added to normal admin page assets.

= 0.3.31 =
Cleaned readme metadata for WordPress.org validation.
Kept optional integrations optional so clean installs can activate and run Plugin Check.
Rebuilt the distribution ZIP without a hard Requires Plugins dependency header.

= 0.3.30 =
Improved official WordPress i18n coverage for admin and Bricks UI strings.
Replaced a writable-directory check with safer filesystem handling for Plugin Check compatibility.
Sanitized booking availability request probing without reading unsanitized raw request data.
Cleaned up admin status output and Bricks placeholder escaping.

= 0.3.29 =
Added nonce verification to the frontend debug AJAX endpoint.
Moved debug logs to a non-predictable protected filename and stopped showing full server paths in the admin UI.
Reduced logged request data to the request path only, without query strings.
Sanitized booking availability request detection instead of scanning the full raw request payload.
Kept Perfmatters diagnostic URLs on the real ESI render path for more accurate compatibility testing.

= 0.3.28 =
Kept JetBooking datepicker initialization owned by the ESI bootstrap only, preventing duplicate picker popups after date selection.
Improved picker instance detection across both JetBooking wrapper and date input nodes.
Avoided full JetPlugins re-init when the ESI form block is already initialized.

= 0.3.27 =
Removed the forced full JetPlugins re-init from the calculated bridge to prevent duplicate JetBooking datepicker popups.
Kept the native ADVANCED_PRICE fallback that updates the visible total and hidden calculated value.

= 0.3.26 =
Fixed the JetBooking ADVANCED_PRICE macro scope so calculated fields can see the ESI form date field.
Forced one scoped calculated-field re-init after the booking macro filters are registered.
Added a native JetBooking price fallback that updates both the visible total and hidden calculated value on datepicker changes and before submit.

= 0.3.25 =
Reloaded critical JetBooking picker assets when an ESI-inserted script tag exists but its runtime plugin is still missing.
Forced a scoped JetPlugins init on the ESI form block before checking JetFormBuilder reactive fields.
Added a native JetBooking ADVANCED_PRICE/BOOKING_TIME macro compatibility shim for ESI-calculated fields.
Improved dependency diagnostics with JetPlugins hooks state to catch picker/calculated/submit init races.

= 0.3.24 =
Prevented JetBooking fallback initialization before the date-range-picker jQuery plugin is available.
Added a small fallback loader for JetBooking picker assets when optimization delays or skips the ESI-printed picker script.
Expanded frontend dependency diagnostics with moment and JetPlugins state.

= 0.3.23 =
Removed the global dependency gate that could keep ESI forms stuck in waiting-dependencies after JetFormBuilder had already initialized the form block.
Added dependency details to waiting states so debug logs show which frontend dependency is missing.
Reduced repeated duplicate frontend state log entries.

= 0.3.22 =
Added admin-controlled debug logging with plugin version display, download log, and clear log actions.
Moved verbose ESI diagnostics from HTML comments into the debug log, leaving only minimal ESI marker comments in page source.
Added optional frontend diagnostics for submit clicks, form submit events, datepicker changes, state changes, and JavaScript errors.
Allowed the ESI bootstrap to continue when JetFormBuilder has already marked the form block initialized, preventing a stale waiting-dependencies state.

= 0.3.21 =
Ensured JetFormBuilder's JetBooking compatibility script is registered and enqueued inside LiteSpeed ESI responses.
Added jet-fb-compat-jet-booking before jet-fb-calculated-field so ADVANCED_PRICE macros are parsed before calculated-field watchers initialize.
Added ESI debug output for the JetBooking compatibility asset registration/enqueue state.
Kept parent page cache, fresh ESI availability, native datepicker, and native AJAX submission unchanged.

= 0.3.20 =
Fixed the JetBooking ADVANCED_PRICE execution-order race reported for logged-out LiteSpeed ESI visitors.
Added a dedicated dependency bridge between JetFormBuilder main and jet-fb-calculated-field.
The bridge triggers JetBooking's native jet-form-builder/init handler before calculated-field watchers are created.
Kept Always fresh / no-cache ESI availability, Enqueue only asset loading, live price synchronization, native AJAX submission, and booking creation unchanged.
No custom submit interceptor was added.

= 0.3.19 =
Emergency recovery release based on the last conservative ESI asset strategy.
Reverted the 0.3.18 ESI-only asset experiment that prevented the JetBooking date picker from initializing.
Restored Enqueue only as the production recommendation while keeping the form fragment Always fresh / no-cache.
Perfmatters diagnostic URLs now use direct render with no-cache, preventing stale availability during control tests.
Uses JetBooking's native jet-form-builder/init jQuery event before JetFormBuilder reactive initialization.
Adds verified picker detection, click recovery, live calculated-price synchronization, and visible client-side diagnostic states.
Keeps native JetFormBuilder AJAX submission and does not add a custom submit interceptor.

= 0.3.17 =
Added a dedicated external ESI bootstrap that initializes JetBooking filters before JetFormBuilder calculated-field watchers.
Fixed live ADVANCED_PRICE totals by bridging JetBooking's namespaced date change to JetFormBuilder's reactive input value.
Restored the native checkbox by resetting JetFormBuilder's opacity/z-index hiding rules while preserving Bricks size and color controls.
Added optimizer-friendly script/style markers and a dashboard compatibility guide.
Kept Always fresh / no-cache ESI availability, parent page caching, booking AJAX bypass, and native booking submission unchanged.

= 0.1.0 =
Initial version.
