Skip to content

Release History

Credit Support System Pro

A complete record of every update, fix, and improvement.

1.1.8 May 27, 2026
✕ Fixed
  • Settings page: Stripe and PayPal dashboard links now render as clickable hyperlinks instead of displaying raw HTML. Changed from esc_html_e() (which escapes tags) to wp_kses() with an explicit anchor allowlist.
  • Test site: Registered testers were receiving “Unauthorized” errors when attempting to create estimates, update ticket status, or perform any admin AJAX action. Restored the user_has_cap filter in the Tester Utilities plugin to correctly grant manage_css_support to all logged-in non-admin users on the demo site.
1.1.7 May 26, 2026
+ Added
  • Configurable ticket submission cost — Admin can now set the number of credits deducted when a customer submits a ticket (default: 1). Found in Settings → Credits to Submit a Ticket.
  • Setting to 0 allows completely free ticket submission — ideal when credits are reserved solely for estimate acceptance.
  • The “Note: Submitting a ticket costs X credit(s)” notice on the support page updates dynamically and disappears entirely when the cost is set to 0.
  • Submit Ticket button label updates to reflect the current cost, or shows plain “Submit Ticket” when cost is 0.
✕ Fixed
  • Critical PHP parse error on line 320 of class-css-customer.php. Curly-brace if () { } syntax inserted inside PHP template blocks that use if:...endif; alternative syntax caused a fatal error on every page load. All new conditional blocks rewritten using consistent alternative syntax.
1.1.6 May 25, 2026
+ Added
  • Gateway key protection for non-admins — Stripe and PayPal API key fields in Settings are displayed as masked, disabled inputs for non-administrator users. Keys cannot be modified without manage_options capability. Save handler enforces this server-side.
✕ Fixed
  • Support System admin menu now reliably appears for all logged-in users by registering menu pages with the read capability and hiding irrelevant items via admin_menu hook rather than relying on custom capability checks for visibility.
1.1.5 May 25, 2026
~ Changed
  • Admin menu registration capability changed from manage_css_support to read to ensure the Support System menu always appears for logged-in users regardless of role configuration or capability caching.
  • Tester Utilities plugin simplified to use direct role array checks rather than capability checks, eliminating dependency on the Members plugin.
1.1.4 May 24, 2026
+ Added
  • manage_css_support custom capability introduced to scope Support System admin access independently of WordPress’s built-in manage_options. Automatically added to the Administrator role on activation and on every init call.
  • All manage_options checks across admin, credits, and tickets classes replaced with manage_css_support.
✕ Fixed
  • Tester role users could not add credits, update tickets, or perform any admin AJAX action because class-css-credits.php (3 handlers) and class-css-tickets.php (8 checks) still referenced manage_options after the initial capability migration.
1.1.3 May 24, 2026
+ Added
  • Tester Utilities companion plugin introduced for demo/test site deployments. Provides automatic role assignment, starting credit allocation on registration, login redirect to Support System, admin menu restriction, frontend admin bar suppression, and per-user data isolation.
1.1.2 May 23, 2026
+ Added
  • Minimum credits per purchase enforcement — configurable in Settings. Custom amount input is visually greyed out for amounts below minimum; payment buttons disabled; red warning shown. Server-side validation in both Stripe and PayPal handlers prevents bypass.
✕ Fixed
  • Buy Credits modal custom amount input was invisible. Root cause: wp_kses_post() wrapper was silently stripping all <input> elements from plugin-generated HTML. All affected calls replaced with direct echo.
  • csspro-btn button system introduced — all plugin buttons use plugin-owned classes with !important declarations, preventing theme stylesheet interference.
  • Buy Now buttons on preset credit packages now correctly centred. Responsive grid collapses to single-column below 640px.
1.1.1 May 22, 2026
+ Added
  • Configurable preset credit packages — Admin can set the three quick-buy amounts shown in the Buy Credits popup (default: 10, 50, 100). Found in Settings → Buy Credits Preset Packages.
✕ Fixed
  • Minimum credits grey-out not functioning. Root cause: inline style attribute on the input overrode class-based CSS rules. Inline style removed; grey-out rule uses !important.
  • register_settings() was applying sanitize_text_field to css_welcome_message, stripping all TinyMCE HTML on every save. Fixed to use wp_kses_post.
1.1.0 May 22, 2026
+ Added
  • Minimum credits per purchase setting in admin. Optional — leave blank for no minimum. Visual grey-out on custom amount input for amounts below minimum.
1.0.9 May 21, 2026
+ Added
  • csspro-btn plugin-owned button system. All buttons use plugin classes with !important coverage to prevent theme interference.
  • Responsive CSS for Buy Credits modal and package grid.
✕ Fixed
  • Buy Credits modal custom amount input not rendering. Root cause: wp_kses_post() stripping <input> elements from all render_*() method output.
1.0.8 May 21, 2026
✕ Fixed
  • TinyMCE Welcome Message content stripped of all HTML on every save. register_setting() was hooking sanitize_text_field to sanitize_option_{name}, which fires inside every update_option() call. Changed to wp_kses_post for welcome message and all email body fields.
1.0.7 May 20, 2026
+ Added
  • TinyMCE rich text editor for the Welcome Message field in Settings. Supports bold, italic, lists, and links. Content stored as HTML and rendered via wpautop() for backwards compatibility.
  • default_welcome_message() helper provides pre-formatted HTML default on new installs.
1.0.6 May 20, 2026
+ Added
  • Estimate Declined ticket status. Ticket shows red “Estimate Declined” badge in admin when customer declines, without relying on email notifications alone.
  • Decline estimate button added to ticket detail modal on frontend alongside the Accept button.
  • Email notifications on estimate decline (admin + customer) and on estimate acceptance (customer).
✕ Fixed
  • Admin estimate credits preview was multiplying by hardcoded 10 instead of the configured Credits Per Hour value.
  • Ticket status was set to in_progress immediately on estimate creation, preventing customers from ever seeing the Accept/Decline buttons. Fixed to set status to estimated.
1.0.5 May 19, 2026
✕ Fixed
  • Version bump to force browser and LiteSpeed cache invalidation for updated scripts. Previous version bump was applied before the JS fix, so the old cached file was still being served.
1.0.4 May 19, 2026
+ Added
  • Welcome message now shown on support page after login. Default content persisted to database on first load.
~ Changed
  • Login form on /support/ replaced with a redirect to WordPress’s standard wp-login.php, fixing a double-login issue where auth cookies failed to persist to /wp-admin/.
  • Credits per hour default changed from 10 to 1 with automatic migration for existing installs.
  • Plugin header * Version: comment and CSS_VERSION constant now kept in sync. Previously the header was stuck at 1.0.3 while the constant was bumped, causing WordPress to display a stale version number.
1.0.3 May 18, 2026
+ Added
  • WordPress Plugin Check compliance: esc_html_e(), gmdate(), wp_unslash(), register_setting() with sanitize callbacks, translators comments, ordered placeholders, and phpcs:ignore annotations on direct database queries.
✕ Fixed
  • phpcs:ignore comments appended to HTML template lines outside PHP blocks, causing them to render as visible text on the admin Tickets page.
  • Backslash-dollar (\$) corruption in class-css-credits.php caused by Python regex replacement. File rewritten from scratch.
1.0.2 May 17, 2026
+ Added
  • Estimate decline flow with email notifications to admin and customer.
  • Welcome message with TinyMCE editor in Settings.
  • Admin dashboard shortcode reference panel.
  • Standalone shortcodes: [user_credits_display], [support_ticket_form], [user_tickets] in addition to [css_customer_dashboard].
  • Configurable ticket statuses (add, rename, remove) from Settings.
✕ Fixed
  • Submit ticket button stuck in “Submitting…” state. Removed double-AJAX in favour of a single direct call.
  • Tickets not appearing immediately after submission.
  • Admin attachment uploads failing silently.
1.0.1 May 16, 2026
+ Added
  • LiteSpeed Cache, WP Rocket, W3TC, and WP Super Cache compatibility.
  • VIP account support — users marked as VIP bypass all credit requirements.
  • File attachment support on tickets and replies with configurable size limit and allowed file types.
  • Terms of Service acceptance flow on estimate approval.
  • Status change email notifications to both admin and customer.
✕ Fixed
  • Three login forms appearing on /support/ page.
  • render_shared_modals() method missing, causing ticket list to silently fail.
1.0.0 May 15, 2026
★ Initial Release

The first public release of Credit Support System Pro.

  • Credit-based support ticketing system for WordPress.
  • Customer-facing support page with credits widget, ticket submission form, and ticket list with view/reply modal.
  • Full admin panel: ticket management, credit management, email template editor, and settings page.
  • Stripe payment integration (test and live modes).
  • PayPal payment integration (sandbox and live modes).
  • Configurable credit price, currency, and credits-per-hour rate.
  • Email notifications: new ticket, ticket received, estimate ready, estimate accepted, admin and customer replies.
  • Shortcode: [css_customer_dashboard]