Plugin Directory

Changeset 3474296


Ignore:
Timestamp:
03/04/2026 08:25:36 AM (7 days ago)
Author:
griffinforms
Message:

Release 2.3.5.0

Location:
griffinforms-form-builder/trunk
Files:
9 added
9 edited

Legend:

Unmodified
Added
Removed
  • griffinforms-form-builder/trunk/admin/ajax/settings.php

    r3299683 r3474296  
    5757            wp_die();
    5858        }
     59
     60        $group = sanitize_text_field(wp_unslash($_POST['group']));
     61        if ($group === 'capabilitymatrix' && class_exists('\GriffinForms\Includes\Security\Capabilities')) {
     62            \GriffinForms\Includes\Security\Capabilities::syncFromSettings();
     63        }
    5964       
    6065        $this->response['success'] = true;
  • griffinforms-form-builder/trunk/admin/format.php

    r3310004 r3474296  
    4343        if (file_exists(strtolower($file))) {
    4444            $lang_class = '\GriffinForms\Admin\Language\\' . $type;
     45            if (!class_exists($lang_class)) {
     46                return;
     47            }
     48
     49            $reflection = new \ReflectionClass($lang_class);
     50            if ($reflection->isAbstract() || !$reflection->hasMethod('getInstance')) {
     51                return;
     52            }
     53
    4554            $this->lang = $lang_class::getInstance();
    4655        }
  • griffinforms-form-builder/trunk/admin/language/pagetitles.php

    r3421663 r3474296  
    6464        return __('Form Themes', 'griffinforms-form-builder');
    6565    }
     66
     67    protected function capabilityMatrixTitle()
     68    {
     69        return __('Capability Matrix', 'griffinforms-form-builder');
     70    }
    6671}
  • griffinforms-form-builder/trunk/admin/language/settings.php

    r3455761 r3474296  
    4141        return __('Files & Storage', 'griffinforms-form-builder');
    4242    }
     43
     44    protected function capabilitymatrixTitle()
     45    {
     46        return __('Capability Matrix', 'griffinforms-form-builder');
     47    }
    4348   
    4449    protected function submitBtnSettings()
  • griffinforms-form-builder/trunk/admin/pages.php

    r3455761 r3474296  
    6565        $settings_files = [];
    6666        $dir = plugin_dir_path(__FILE__) . 'views/settings/';
    67         $ordered = ['general', 'compliance', 'mail', 'payments', 'antispam']; // define desired order
     67        $ordered = ['general', 'compliance', 'mail', 'payments', 'capabilitymatrix', 'antispam']; // define desired order
    6868
    6969        if (!is_dir($dir)) {
  • griffinforms-form-builder/trunk/config.php

    r3473315 r3474296  
    55class Config
    66{
    7     public const VERSION = '2.3.4.0';
    8     public const DB_VER = '2.3.4.0';
     7    public const VERSION = '2.3.5.0';
     8    public const DB_VER = '2.3.5.0';
    99    public const PHP_REQUIRED = '8.2';
    1010    public const WP_REQUIRED = '6.2';
  • griffinforms-form-builder/trunk/griffinforms.php

    r3473315 r3474296  
    44 * Plugin URI:        https://griffinforms.com/
    55 * Description:       A powerful and flexible form builder for WordPress. Create multi-page forms with drag-and-drop ease, custom validations, and full submission management.
    6  * Version:           2.3.4.0
     6 * Version:           2.3.5.0
    77 * Requires at least: 6.6
    88 * Requires PHP:      8.2
     
    114114// Register all background process schedulers, such as async email handlers.
    115115Includes\Schedulers\ProcessScheduler::register();
     116Includes\Security\Capabilities::registerHooks();
     117new Includes\Api\SubmissionsRest();
    116118
    117119add_action('plugins_loaded', function () {
  • griffinforms-form-builder/trunk/log.php

    r3455761 r3474296  
    301301            'compliance' => 'Compliance',
    302302            'audit' => 'Compliance: Audit',
     303            'api_audit' => 'API: Audit',
    303304        );
    304305    }
  • griffinforms-form-builder/trunk/readme.txt

    r3473315 r3474296  
    55Tested up to: 6.9
    66Requires PHP: 8.2
    7 Stable tag: 2.3.4.0
     7Stable tag: 2.3.5.0
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    174174== Changelog ==
    175175
     176= 2.3.5.0 – 2026-03-04 =
     177* Feature: Added companion-app-ready submissions API endpoints for folders, forms, submissions, detail, PDF export, share links, and bulk delete.
     178* Feature: Added capability matrix controls for scoped API permissions so read and delete access can be managed independently.
     179* Hardening: Added typed validation failures for API request guardrails (sort/filter/date/per-page) and enforced bulk-delete idempotency contract.
     180* Hardening: Added share-link single-active-token revocation behavior and stronger API access-denied/rate-limit audit events.
     181* Observability: Expanded audit coverage with request correlation IDs, request method/URI metadata, and API-specific audit log categorization.
     182* Fix: Prevented duplicate guardrail audit logs in repeated request lifecycle callbacks.
     183* Fix: Guarded admin language loading path against abstract class instantiation fatal in API list execution paths.
     184
    176185= 2.3.4.0 – 2026-03-03 =
    177186* Feature: Enhanced Create Form modal with improved template browsing, smoother navigation accents, and clearer search-state guidance.
     
    224233
    225234== Upgrade Notice ==
     235
     236= 2.3.5.0 =
     237API readiness and security hardening release: companion-app endpoints, capability matrix permissions, expanded audit diagnostics, and stricter guardrails. Recommended update.
    226238
    227239= 2.3.4.0 =
Note: See TracChangeset for help on using the changeset viewer.