Start working on change log for v6.10#1753
Conversation
… the readme, update the php version notice check to report warnings for PHP 5.6 now
WalkthroughThe updates focus on enhancing compatibility and performance for the Formidable Forms plugin. Key changes include updating the minimum PHP version to 7.0, introducing improved field data storage, enhancing XML import functionalities, fixing various bugs, and removing deprecated functions. These updates aim to improve efficiency, ensure compatibility with newer PHP versions, and streamline the plugin's codebase. Changes
Recent Review DetailsConfiguration used: CodeRabbit UI Files selected for processing (4)
Files skipped from review due to trivial changes (1)
Additional Context UsedLanguageTool (20)
Additional comments not posted (16)
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
There was a problem hiding this comment.
Actionable comments posted: 2
Outside diff range and nitpick comments (4)
classes/helpers/FrmAppHelper.php (4)
Line range hint
352-370: Ensure tooltips are accessible by addingaria-labelor similar attributes.+ echo ' aria-label="' . esc_attr( $tooltips[ $name ] ) . '"';
Line range hint
372-385: Consider refactoring to improve testability by encapsulating global variable access.- global $hook_suffix; + $hook_suffix = $this->get_hook_suffix(); // Assume this method is added to handle the global state internally.
Line range hint
408-418: Ensure version comparison logic is robust and handles edge cases such as beta or RC versions.Consider adding unit tests to cover different version formats (e.g., 1.0.0-beta, 1.0-RC1).
Line range hint
420-438: Refactor to separate concerns: extract license expiration check into a separate method.- $expired = FrmAddonsController::is_license_expired(); + $expired = $this->check_license_expired(); // This new method encapsulates the license check.
| = 6.10 = | ||
| * New: Field data for shortcodes is now stored in memory and reused on the settings page and form builder page for a significant page load speed improvement for forms with a lot of fields. | ||
| * New: XML import has been updated to support mapping field ID changes when importing a map view and new calendar view settings. | ||
| * Fix: Payments using a currency that uses a comma as the decimal separator would have an incorrect amount value when the amount value had a single decimal point like 11,5. | ||
| * Fix: Field error elements would inconsistently use either IDs or field keys in their ID values. An update has been made to use always use field keys. | ||
| * Fix: In some cases, a Stripe redirect would happen after failing to create an entry, resulting in an unexpected redirect to stripe.com. | ||
| * The minimum supported PHP version has been updated to 7.0, ending official support for PHP 5.6. | ||
| * The frm_summary_email_content_args hook has been moved to where it is now filtered for all types of email summaries. | ||
| * Several deprecated PHP functions have been removed including FrmFormsHelper::template_install_html, FrmFormsHelper::available_count, FrmFormsHelper::builder_submit_button, FrmFieldsHelper::get_shortcode_tag, FrmFieldsController::include_single_field, and FrmFormsController::new_form. | ||
| * Several deprecated front end JavaScript functions have been removed including frmFrontForm.goingToPreviousPage, frmFrontForm.hideOrShowFields, frmFrontForm.hidePreviouslyHiddenFields, frmFrontForm.checkDependentDynamicFields, frmFrontForm.checkDependentLookupFields, and frmFrontForm.loadGoogle. | ||
| * Some front end JavaScript code for supporting Internet Explorer has been dropped, helping to reduce the size of JavaScript required on the front end. |
There was a problem hiding this comment.
Tip
Codebase Verification
The verification process has revealed that while the deprecated PHP functions have been successfully removed, several deprecated JavaScript functions still exist in the codebase, specifically within js/formidable.min.js.
frmFrontForm.goingToPreviousPagefrmFrontForm.hideOrShowFieldsfrmFrontForm.hidePreviouslyHiddenFieldsfrmFrontForm.checkDependentDynamicFieldsfrmFrontForm.checkDependentLookupFieldsfrmFrontForm.loadGoogle
These functions are marked as deprecated but are still present in the minified JavaScript file.
Analysis chain
Changelog for version 6.10:
- New features like improved field data storage and XML import functionality are beneficial for performance and flexibility.
- Fixes for currency decimal issues and field error elements enhance reliability.
- Updates related to PHP version and deprecated functions improve security and future-proofing.
- Removal of Internet Explorer-specific JavaScript optimizes front-end performance.
Ensure all deprecated functions are removed from the codebase and update documentation accordingly.
Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Verify that all deprecated functions are removed from the codebase.
# Test: Search for deprecated functions. Expect: No occurrences.
rg --type php 'FrmFormsHelper::template_install_html|FrmFormsHelper::available_count|FrmFormsHelper::builder_submit_button|FrmFieldsHelper::get_shortcode_tag|FrmFieldsController::include_single_field|FrmFormsController::new_form'
Length of output: 231
Script:
#!/bin/bash
# Description: Verify that all deprecated functions are removed from the codebase.
# Test: Search for deprecated PHP functions. Expect: No occurrences.
rg --type php 'FrmFormsHelper::template_install_html|FrmFormsHelper::available_count|FrmFormsHelper::builder_submit_button|FrmFieldsHelper::get_shortcode_tag|FrmFieldsController::include_single_field|FrmFormsController::new_form'
# Test: Search for deprecated JavaScript functions. Expect: No occurrences.
rg --type js 'frmFrontForm.goingToPreviousPage|frmFrontForm.hideOrShowFields|frmFrontForm.hidePreviouslyHiddenFields|frmFrontForm.checkDependentDynamicFields|frmFrontForm.checkDependentLookupFields|frmFrontForm.loadGoogle'
Length of output: 2217
| private static function php_version_notice() { | ||
| $message = array(); | ||
| if ( version_compare( phpversion(), '5.6', '<' ) ) { | ||
| if ( version_compare( phpversion(), '7.0', '<' ) ) { |
There was a problem hiding this comment.
Fix the syntax error due to the stray character.
Committable suggestion was skipped due low confidence.
No description provided.