== Changelog ==

= 6.9.9.1 =

* **Bug Fixes**
* Fixed typo in H5P generated labels.

= 6.9.9 =

* **Improvements**
* Prevent PHP errors when a post gets trashed.
* Improved the functionality of advanced selectors.
* Style improvements for the requirements UI.
* **Bug Fixes**
* Fixed the Javascript error "gamipress_admin_functions is not defined".

= 6.9.8 =

* **Improvements**
* Save requirements when post gets saved and there are unsaved requirements changes.
* Added new internal filters to allow extend GamiPress.
* Removed log pattern settings and turned into filters.
* Removed style settings.
* Removed automatic update settings.

= 6.9.7 =

* **Improvements**
* Check for achievement and rank types.
* **Bug Fixes**
* BuddyBoss: Fixed reordering of elements in add-on settings.

= 6.9.6.2 =

* **Bug Fixes**
* Fixed bug related to get user points.

= 6.9.6.1 =

* **Bug Fixes**
* Fixed progress bar for upgrade performance.

= 6.9.6 =

* **Improvements**
* Added support for PHP latest version.

= 6.9.5 =

* **Improvements**
* WordPress: Check for delete post events.

= 6.9.4.1 =

* **Bug Fixes**
* Fixed bug related to required file.

= 6.9.4 =

* **Improvements**
* Performance improvements on logs for large database queries.

= 6.9.3 =

* **Improvements**
* PeepSo: Correctly display user points on profile with the correct formatting.

= 6.9.2 =

* **Improvements**
* Improved recount activity for comments.

= 6.9.1 =

* **Improvements**
* Added new security checks to template rendering.

= 6.9.0 =

* **Improvements**
* Added new security checks to shortcode parameters.

= 6.8.9 =

* **Improvements**
* Improved functions related to multisites to improve site loading performance.
* **Bug Fixes**
* Fixed bug related to administration rights.

= 6.8.8 =

* **Bug Fixes**
* Fixed deprecated function to adapt to latest version of PHP.
* WP User Manager: Fixed event "Remove profile avatar".

= 6.8.7 =

* **Improvements**
* Improved function to obtain sites ID in multisites.
* **Bug Fixes**
* Added security to shortcodes.

= 6.8.6 =

* **Bug Fixes**
* Added security to clear cache action.

= 6.8.5 =

* **Improvements**
* Added registration of points obtained from import points in User Earnings.

= 6.8.4 =

* **New Features**
* BuddyBoss: New event: Reply a comment in a group.
* BuddyBoss: New event: Reply a comment in a specific group.
* BuddyBoss: New event: Get a reply on a comment in a group.
* BuddyBoss: New event: Get a reply on a comment in a specific group.
* BuddyPress: New event: Reply a comment in a group.
* BuddyPress: New event: Reply a comment in a specific group.
* BuddyPress: New event: Get a reply on a comment in a group.
* BuddyPress: New event: Get a reply on a comment in a specific group.
* **Improvements**
* BuddyBoss: New option to hide point types in forums if they have not been earned.
* BuddyBoss: New option to hide default rank in forums if it is the only earned rank.
* bbPress: New option to hide point types in forums if they have not been earned.
* bbPress: New option to hide default rank in forums if it is the only earned rank.
* **Bug Fixes**
* BuddyPress: Ensure Hide unearned Ranks compatibility with most themes.
* BuddyBoss: Ensure Hide unearned Ranks compatibility with most themes.

= 6.8.3 =

* **Bug Fixes**
* Fixed bug related to show rank earners in multisite.

= 6.8.2 =

* **Bug Fixes**
* Fixed bug related to JetEngine classes.

= 6.8.1 =

* **Improvements**
* Code optimization for Ajax calls.

= 6.8.0 =

* **New Features**
* ARForms: Successful submit a form.
* ARForms: Successful submit a specific form.
* ARForms: Submit a specific field value.
* ARForms: Submit a specific field value on a specific form.

= 6.7.0 =

* **Bug Fixes**
* WooCommerce: Fixed specific review check.

= 6.6.1 =

* **Bug Fixes**
* Fixed typo in meta boxes post type check.

= 6.6.0 =

* **Improvements**
* Prevent PHP warnings related to post types.
* Ensure compatibility with PHP 8.2.
* Improved performance for daily visits events.

= 6.5.0 =

* **Improvements**
* Added filter for requirement field label.
* BuddyBoss: New option to hide point types in profile and tab if they have not been earned.
* BuddyBoss: New option to hide default rank if it is the only earned rank.
* BuddyPress: New option to hide point types in profile and tab if they have not been earned.
* BuddyPress: New option to hide default rank if it is the only earned rank.

= 6.4.0 =

* **Bug Fixes**
* BuddyBoss: Fixed recount activity for activity replies.

= 6.3.0 =

* **New Features**
* LearnDash: New event: Complete a quiz of a category.
* LearnDash: New event: Complete a quiz of a tag.
* LearnDash: New event: Successfully pass a quiz of a category.
* LearnDash: New event: Successfully pass a quiz of a tag.
* LearnDash: New event: Fail a quiz of a category.
* LearnDash: New event: Fail a quiz of a tag.
* LearnDash: New event: Complete a quiz of a category with a minimum percent grade.
* LearnDash: New event: Complete a quiz of a tag with a minimum percent grade.
* LearnDash: New event: Complete a quiz of a category with a maximum percent grade.
* LearnDash: New event: Complete a quiz of a tag with a maximum percent grade.
* LearnDash: New event: Complete a quiz of a category on a range of percent grade.
* LearnDash: New event: Complete a quiz of a tag on a range of percent grade.
* **Bug Fixes**
* BuddyBoss: Fixed reordering of elements in add-on settings.
* BuddyBoss: Fixed displaying points and ranks tabs in profile.
* BuddyPress: Fixed reordering of elements in add-on settings.
* BuddyPress: Fixed displaying points and ranks tabs in profile.

= 6.2.0 =

* **Improvements**
* Improved SQL queries to add indexes.

= 6.1.0 =

* **Bug Fixes**
* BuddyBoss: Fixed recount activity for groups.
* BuddyPress: Fixed recount activity for groups.

= 6.0.0 =

* **Bug Fixes**
* Events Manager: Fixed triggers for specific events.

= 5.7.0 =

* **Improvements**
* Ensure compatibility with PHP 8.2.

= 5.4.0 =

* **Bug Fixes**
* Thrive Quiz Builder: Fixed selection of percentage type quizzes.
* Thrive Apprentice: Fixed error in course selector for "Complete specific course" event.
* Fixed achieving ranks consecutively.

= 5.1.0 =

* **Bug Fixes**
* Fixed awards related to points earned with Bulk Awards.

= 4.8.0 =

* **Bug Fixes**
* Fixed achieving ranks consecutively.

= 4.5.0 =

* **New Features**
* New integration: Kadence Blocks.
* Kadence Blocks: New event: Successful submit a form.
* Kadence Blocks: New event: Successful submit a specific form.
* Kadence Blocks: New event: Submit a specific field value.
* Kadence Blocks: New event: Submit a specific field value on a specific form.

= 4.2.0 =

* **Improvements**
* WooCommerce: Improved purchase event for a quantity to add larger quantities.
* **Bug Fixes**
* Advanced Custom Fields: Fixed user meta update event when the field is updated from the profile.

= 3.9.0 =

* **Improvements**
* Improved Email Settings to add Site and User tags in footer text.
* Updated GamiPress Add-ons section.
* **Bug Fixes**
* ARMember: Fixed compatibility with ARMember Complete Membership.

= 3.6.0 =

* **Bug Fixes**
* Restrict Content PRO: Fixed renew subscription trigger when a change plan is performed.

= 3.3.0 =

* **New Features**
* New integration: ARMember.
* ARMember: New event: Add to membership plan.
* ARMember: New event: Add to specific membership plan.
* ARMember: New event: Cancel any membership plan.
* ARMember: New event: Cancel a specific membership plan.
* New integration: WooCommerce Shipstation.
* WooCommerce Shipstation: New event: Get an order shipped.
* WooCommerce Shipstation: New event: Get a product shipped.

= 3.0.0 =

* **Bug Fixes**
* Restrict Content PRO: Fixed renew subscription trigger when a change plan is performed.

= 2.7.2 =

* **Improvements**
* Improved upgrade process to avoid slowdowns.
* Improved fucntion to get user achievevments.
* **Bug Fixes**
* Restrict Content PRO: Fixed detection of Restrict Content PRO plugin.
* MetaBox: Fixed minified JS.
* WP Simple Pay: Fixed "Renew a subscription" event

= 2.7.1 =

* **Bug Fixes**
* Tutor LMS: Fixed events related to course enrollment to avoid run when order is in pending.
* LearnDash: Fixed bug related to minimum percentage field.


= 2.7.0 =

* **New Features**
* New integration: Gravity Kit.
* Gravity Kit: New event: Entry approved from any form.
* Gravity Kit: New event: Entry approved from specific form.
* Gravity Kit: New event: Entry disapproved from any form.
* Gravity Kit: New event: Entry disapproved from specific form.
* **Improvements**
* Improved how to display elements in [gamipress_email_settings] shortcode.

= 2.6.9 =

* **New Features**
* New integration: Charitable.
* Charitable: New event: Make a donation.
* **Improvements**
* Improved GamiPress add-ons section.

= 2.6.8 =

* **Bug Fixes**
* Fixed bug in MetaBox integration to avoid incompatibility with themes.

= 2.6.7 =

* **Bug Fixes**
* Fixed bug in JetEngine integration.

= 2.6.6 =

* **New Features**
* New integration: Thrive Leads.
* Thrive Leads: New event: Submit a form.
* Thrive Leads: New event: Submit a specific form.
* New integration: Thrive Ovation.
* Thrive Ovation: New event: Submit a testimonial.

= 2.6.5 =

* **Improvements**
* Added new checks to load Youtube and Vimeo Javascript only when their block, shortcode or widget is in page.

= 2.6.4 =

* **Bug Fixes**
* Fixed typos in some strings.

= 2.6.3 =

* **New Features**
* Moved all integrations inside GamiPress! Now, is not required anymore to install integrations individually.

= 2.6.2 =

* **New Features**
* Added the field "Columns in small screens" to all blocks and widgets with support to columns.
* Added the attribute "columns_small" to all shortcodes with support to columns.

= 2.6.1 =

* **Bug Fixes**
* Prevent to execute script tags while entering the requirement title to avoid XSS injection.

= 2.6.0 =

* **Bug Fixes**
* Fixed issue with Gutenberg Blocks preview in backend.

= 2.5.9.1 =

* **Developer Notes**
* Fixed PHP notices caused by add_submenu_page() function when passing null as first parameter.

= 2.5.9 =

* **Improvements**
* Added new hook to detect complete achievement revoke.
* Deprecated functions updated to adapt to PHP latest version.
* Improved SQL queries to clean logs.
* **Bug Fixes**
* Fixed rank earners display in multisite with no network-wide activation.

= 2.5.8 =

* **Improvements**
* Added listeners when user and post metas are added to work with the user and post metas events.
* **Bug Fixes**
* Fixed typo that does not allows to check the metas in use correctly.

= 2.5.7.1 =

* **Improvements**
* Improved escaping of SQL queries.
* **Bug Fixes**
* Fixed typo that caused User Earnings query not work correctly.

= 2.5.7 =

* **Improvements**
* Added more permission checks to some ajax functions.
* Added more nonce checks to prevent CSRF attacks.
* Added more sanitization checks to database queries.

= 2.5.6 =

* **New Features**
* Added the attribute "force_responsive" to the [gamipress_earnings] shortcode.
* Added the option "Force responsive" to Earnings block and widget.
* **Improvements**
* Improved the user earnings display in small areas or small screens.

= 2.5.5 =

* **Improvements**
* Updated some labels to better guide users when configuring GamiPress.

= 2.5.4 =

* **Improvements**
* Added more performance improvements to the user meta and post meta listeners.

= 2.5.3 =

* **Improvements**
* Moved the option "Log all events" to a WordPress hook to get enabled only through code.
* Added several performance improvements to the user meta and post meta listeners.

= 2.5.2 =

* **New Features**
* New event: Get user meta updated with any value.
* New event: Get user meta updated with a value.
* New event: Post meta updated with any value.
* New event: Post meta updated with any value.
* **Bug Fixes**
* Fixed incorrect use of gamipress_get_user_rank_id() in rank template (thanks @tambaqui fixes #24)

= 2.5.1 =

* **Improvements**
* Added more nonce checks to prevent CSRF attacks.

= 2.5.0 =

* **Bug Fixes**
* Prevent to use global options on multisite when GamiPress is not network wide active.
* **Developer Notes**
* Moved old changelog to changelog.txt file.
* Set GamiPress 2.5.0 as new stable release! :)

= 2.4.9 =

* **Improvements**
* Correctly get the parent date (achievement, rank or points type) when checking for not yet completing requirements.
* Improvements for the requirements editor on small screens.

= 2.4.8 =

* **Improvements**
* Execute shortcodes in congratulations text while unlocking an achievement or rank using points.

= 2.4.7 =

* **Improvements**
* Added more sanitization checks on the save requirements screen.
* **Developer Notes**
* Ensure to define the $earning var at gamipress_revoke_achievement_to_user() function.

= 2.4.6 =

* **Improvements**
* Updated add-ons API.

= 2.4.5 =

* **Improvements**
* Tested with WordPress 6.1.

= 2.4.4 =

* **Improvements**
* Added more sanitization and escaping checks (thanks Shahjahan Jewel).

= 2.4.3 =

* **Bug Fixes**
* Fixed a typo that prevents completions for points deductions.

= 2.4.2 =

* **Improvements**
* Fixed several typos around all the plugin (thanks @starbuck).
* **Developer Notes**
* Added several functions to centralize all condition fields.

= 2.4.1 =

* **Improvements**
* Prevent non-existent queries if any external plugins calls to GamiPress functions when GamiPress has not yet setup its database tables.

= 2.4.0 =

* **Improvements**
* Improved unlock rank using points to respect the priority order.
* **Developer Notes**
* Moved old changelog to changelog.txt file.
* Set GamiPress 2.4.0 as new stable release! :)

= 2.3.9.2 =

* **Improvements**
* Reduced the number of elements used per database query to prevent exceed the server resources limit.

= 2.3.9.1 =

* **Improvements**
* Reduced the number of entries to process per loop in 2.3.7 upgrade for large databases.

= 2.3.9 =

* **Improvements**
* Improved the upgrade 2.3.7 to prevent collapse the server database.
* Added a small delay between upgrade runs, now upgrades will run slower but this prevents to overload the server.

= 2.3.8 =

* **Improvements**
* Reduced the number of items to process in upgrade 2.3.7 to prevent exceed the PHP max execution time on large databases.

= 2.3.7 =

* **Improvements**
* Added a new upgrade process to append information to user earnings for filtering in User Earnings block, shortcode and widget.
* **Bug Fixes**
* Ensure to correctly display achievement steps of the types allowed in User Earnings block, shortcode and widget (requires run upgrade process).
* Prevent PHP warning about undefined index in emails.
* Prevent to query P2P table on new installs.

= 2.3.6 =

* **New Features**
* Added the ability to change log title from the log edit screen.
* **Improvements**
* Prevent PHP warnings during activation caused by CMB2 library.

= 2.3.5 =

* **Bug Fixes**
* Prevent PHP warnings during activation caused by checking the existent database tables during activation.
* **Developer Notes**
* Added the filter "gamipress_get_user_points" to let extend the way that points are displayed (thanks to @gkipouros).

= 2.3.4 =

* **Improvements**
* Performance improvement reducing the database queries to check if a table exists.

= 2.3.3 =

* **Improvements**
* Style improvements for the admin area forms.
* Tested with WordPress 6.0.

= 2.3.2 =

* **New Features**
* Added the email tag {points_image} with the points type featured image on points awards/deducts email templates.
* **Bug Fixes**
* Prevent to lost sequential steps option when saving the achievement through the quick edit form.

= 2.3.1 =

* **New Features**
* New options for several blocks, shortcodes and widgets:
* - Option to set the title text size.
* - Option to set the thumbnail size.
* - Option to show/hide the heading text on steps, requirements, points awards and deducts.
* - Option to set the heading text size.
* New block and widget: Inline Achievement.
* New shortcode: [gamipress_inline_achievement].
* New block and widget: Inline Last Achievements Earned.
* New shortcode: [gamipress_inline_last_achievements_earned].
* New block and widget: Inline Rank.
* New shortcode: [gamipress_inline_rank].
* New block and widget: Inline User Rank.
* New shortcode: [gamipress_inline_user_rank].
* New event: Get a specific achievement revoked.
* New event: Get any achievement of type revoked.
* New event: Get a rank revoked.
* **Improvements**
* Removed the word "Required" from the achievement steps heading.
* Style improvements in some form components.
* Added new CSS classes to headings when listing steps, requirements, points awards and deducts.
* **Developer Notes**
* Added a new points inline template to make it overridable through the template system.
* Added an achievement inline template.
* Added an achievements inline template.
* Added a rank inline template.
* Added a ranks inline template.

= 2.3.0 =

* **Improvements**
* Improved database query for the user earnings shortcode, block and widget.

= 2.2.9 =

* **Bug Fixes**
* Prevent PHP notices for undefined array keys.

= 2.2.8 =

* **Bug Fixes**
* Fixed the post selector result processing.
* **Developer Notes**
* Updated CMB2 library to 2.10.1.

= 2.2.7 =

* **New Features**
* Added the ability to define achievement and rank requirements as optional to allow unlock achievements and ranks without complete all its requirements.
* New URL field on requirements to allow define a custom URL to the requirement.
* **Improvements**
* Full style rework of the requirements UI.
* Style improvements in several areas.
* Added the ability to search users and posts by ID in selectors by just typing the ID number.
* **Developer Notes**
* Updated CMB2 library to 2.10.

= 2.2.6 =

* **Improvements**
* Improved rank earners heading title.
* **Developer Notes**
* Added new filters to extend the achievement and rank heading titles.
* Localize some script texts.
* Added new filters to extend the usage of points, achievement and rank selectors.
* Added new filters to extend the usage of post type and user role selectors (thanks to @pryley).

= 2.2.5 =

* **New Features**
* Added the "Dashboard" page.
* **Improvements**
* Improved the Help/Support page display.
* **Bug Fixes**
* Fixed incorrect redirections to the Clear Cache action.

= 2.2.4 =

* **Developer Notes**
* Tested with WordPress 5.9.

= 2.2.3 =

* **Developer Notes**
* Added support for CMB2 fields data removal if field has "multiple" set to "true".

= 2.2.2 =

* **Developer Notes**
* Make use of the min() function when defining length of the table keys (thanks to @mholubowski).

= 2.2.1 =

* **New Features**
* Added user email preferences support to meet the EU GDPR requirements.
* Added the shortcode [gamipress_email_settings] to display the user email notifications preferences for the GamiPress emails.
* Added the block and widget Email Settings to display the user email notifications preferences for the GamiPress emails.
* **Developer Notes**
* Quote all fields and indexes during database creation to improve compatibility with some database servers.

= 2.2.0 =

* **New Features**
* Added to the "Last Achievement Earned" block, shortcode and widget support to display multiples achievements.
* Renamed the block, shortcode and widget "Last Achievement Earned" to "Last Achievements Earned".
* **Developer Notes**
* Keep backward compatibility with the shortcode [gamipress_last_achievement_earned] and its new version [gamipress_last_achievements_earned].

= 2.1.9 =

* **Improvements**
* Prevent the use of the deprecated "block_categories" hook for WP installs on 5.8 or higher (thanks to @martatorre and @omhabibal).

= 2.1.8 =

* **Bug Fixes**
* Fixed wrong check that causes an infinite loop in the export personal data tool.

= 2.1.7 =

* **Bug Fixes**
* Fixed issue during database tables creation for numeric keys.

= 2.1.6 =

* **Improvements**
* Ensure to provide a key length during database indexes creation to avoid issues with databases that requires key length.

= 2.1.5 =

* **Improvements**
* Multisite: Ensure to load users only from the current site in all tools or fields who query users.

= 2.1.4 =

* **Improvements**
* Improved database indexes creation to ensure maximum performance on the GamiPress tables.
* Ensure the creation of table indexes during installation.
* Updated GamiPress table versions to force table indexes creation on already installed websites.
* Updated Custom Tables library.

= 2.1.3 =

* **Improvements**
* Ensure to deduct points when a user earning gets revoked.

= 2.1.2 =

* **New Features**
* Added the points type image in the achievement points awarded.
* Added the attribute "points_awarded_thumbnail" in all achievement related shortcodes.
* Added the option "Show Points Awarded Thumbnail" in all achievement related block and widgets.
* New shortcode: [gamipress_last_achievement_earned].
* New block and widget: GamiPress: Last Achievement Earned.
* Added a helper link to clear the GamiPress cache directly from the GamiPress menus.
* **Improvements**
* Improved several shortcodes, blocks and widgets fields descriptions.
* Improved shortcodes descriptions.
* **Developer Notes**
* Added new utility functions to make more easy to work with logs and user earnings metas.
* Added new utility functions to query user earnings efficiently.

= 2.1.1 =

* **Improvements**
* Added new checks when revoking a rank from user earnings to update the user rank to the previous one.

= 2.1.0 =

* **Improvements**
* Performance in database table structure adding more new keys for speed up all database queries.
* Order registered types alphabetically.
* Multisite: Ensure to only display achievement or rank earners from the current site.

= 2.0.9 =

* **Improvements**
* Added required parameters in the 'get_the_excerpt' filter to avoid compatibility issues.
* Multisite: Added extra check when exporting data to ensure that only users from the current site gets exported when GamiPress is not active network wide.

= 2.0.8 =

* **New Features**
* Tested GamiPress with WordPress 5.8.
* **Improvements**
* Improved styles for the new widgets area.

= 2.0.7 =

* **Developer Notes**
* Added new filters to extend the GamiPress Earnings block.

= 2.0.6 =

* **Bug Fixes**
* Fixed typo causing an incorrect earned status display for time limited requirements.

= 2.0.5 =

* **Bug Fixes**
* Fixed post type based events count.
* Fixed role based events count.

= 2.0.4 =

* **Developer Notes**
* Added the activity count wheres filter on activity count limited to match in the same result for both functions.
* Added new filters to extend the gamipress_send_email() function.

= 2.0.3 =

* **New Features**
* New Tool: Export User Earnings.
* **Bug Fixes**
* Fixed "Show Achievements Without Points" field visibility on User Earnings block.
* **Developer Notes**
* Added new hooks to override the insufficient points message when unlocking achievements and ranks using points.
* Added several helper functions to reduce the plugin code.
* Moved the register image sizes outside the core class.

= 2.0.2 =

* **Bug Fixes**
* Fixed incorrect display of time limited steps that are displayed as completed when the user has not earned them.
* Fixed incorrect new rank assignment on the Bulk Revokes tool.

= 2.0.1 =

* **Improvements**
* Style improvements on the admin area.
* **Bug Fixes**
* Fixed cache clean up for "Unlock all achievements of type" event.

= 2.0.0 =

* **New Features**
* Added the conditions equal to, greater than and less than to the "Reach a points balance" event.
* Support for HTML content on requirements labels.
* Added the shortcodes [gamipress_user_points] and [gamipress_site_points].
* Added the blocks and widgets GamiPress: User Points and GamiPress: Site Points.
* New settings to display the times a user has earned an achievement on the single template.
* New settings to display the number of users who have earned an achievement on the single template.
* New shortcode, block and widget settings to display the times a user has earned an achievement.
* New shortcode, block and widget settings to display the number of users who have earned an achievement on the single template.
* Added new alignment options to all shortcodes, blocks and widgets.
* Added new alignment options to achievements and ranks template options.
* **Improvements**
* Added installation instructions on the Licenses page.
* Extended custom tables permissions functionality to allow full access to users that meet the "Minimum role to access GamiPress" setting.
* Improved the display of the achievement max. earnings column on the admin area.
* Prevent trashed types to get listed.
* Style improvements on several areas.
* **Bug Fixes**
* Fixed warning array_keys() expects parameter 1 to be array on scripts.
* **Developer Notes**
* Updated Custom Tables library.
* Added new hooks to extend the display of achievements.
* Added the gamipress_get_renderer() function to easily access to the current renderer (shortcode, block or widget).
* Moved old changelog to changelog.txt file.
* Set GamiPress 2.0.0 as new stable release! :)

= 1.9.11 =

* **Improvements**
* Prevent incompatibility issues caused by others plugins to the GamiPress licenses and tools screens.

= 1.9.10 =

* **Improvements**
* Prevent incompatibility issues caused by others plugins to the GamiPress settings screen.
* **Developer Notes**
* Updated internal libraries.

= 1.9.9.3 =

* **Bug Fixes**
* Fixed incorrect meta value when inserting logs and user earnings (thanks to @persiliao).

= 1.9.9.2 =

* **New Features**
* Added the points column to the user earnings at admin area.
* **Improvements**
* Ensure to flush the plugin cache after import a new setup.
* **Bug Fixes**
* Fixed style issue on GamiPress switches caused by WordPress 5.6 update.
* **Developer Notes**
* Added several filters to the GamiPress_Widget class.
* Ensure compatibility with PHP 8.
* Updated internal libraries.

= 1.9.9.1 =

* **Bug Fixes**
* Correctly load post type fields value.

= 1.9.9 =

* **New Features**
* New event: Comment on a post of a type.
* New event: Get a comment on a post of a type.
* New event: Get a comment on a post of a type marked as spam.
* New event: Publish a new post of a type.
* New event: Delete a post of a type.
* New event: Daily visit a post of a type.
* New event: Get visits on a post of a type.
* Added the attribute "achievements_without_points" to the [gamipress_earnings] shortcode.
* Added the field "Show Achievements Without Points" to the User Earnings block and widget.
* **Improvements**
* Improved the way that User Earnings shortcode, block and widget limits the results based on the parameters configured.

= 1.9.8.3 =

* **Improvements**
* Added stronger escaping functions when inserting logs and user earnings metas.

= 1.9.8.2 =

* **Improvements**
* Added blocks compatibility functions to support installations without the Gutenberg editor (like ClassicPress).
* Added extra checks to ensure that all tab parameters has been passed correctly.
* **Bug Fixes**
* Added translation domain to some strings.

= 1.9.8.1 =

* **Bug Fixes**
* Fixed click trigger for some HTML elements in Javascript.

= 1.9.8 =

* **New Features**
* Added the setting "Disable top bar menu".
* **Bug Fixes**
* Fixed undefined $can_earn var on filters.php.
* **Improvements**
* Updated deprecated jQuery functions.

= 1.9.7 =

* **Bug Fixes**
* Fixed a bug on license clear and deactivation functions causing that previous value gets back after save the licenses again.

= 1.9.6 =

* **Bug Fixes**
* Fixed date format on the dashboard widget.
* Correctly pass the rank ID on email subject and content filters instead of the rank object.
* **Improvements**
* Style improvements on the dashboard widget.

= 1.9.5 =

* **Improvements**
* Let WordPress decide SSL verification in some API requests.
* Updated add-on updater class.
* Ensure correct server URL for GamiPress add-ons.

= 1.9.4 =

* **Improvements**
* Improved activity count checks.
* Performance improvements on the awards engine reducing the metas queried.

= 1.9.3 =

* **Improvements**
* Added cache to more functions to prevent duplicated database calls.
* **Bug Fixes**
* Fixed tabs on tools screen.
* Fixed database warnings on first installation.

= 1.9.2 =

* **Improvements**
* Added more sanitization when inserting logs and user earnings.
* Ensure to only track visits one time daily to reduce the server work.

= 1.9.1.4 =

* **Bug Fixes**
* Fixed plugin conflict with Yoast SEO Premium.

= 1.9.1.3 =

* **Improvements**
* Apply points format on templates.
* **Bug Fixes**
* Fixed export settings button.

= 1.9.1.2 =

* **Developer Notes**
* Delayed the initialization of the Custom Tables library.

= 1.9.1.1 =

* **Improvements**
* Make registration of triggers excluded from limits more flexible.
* Parameters sanitization in some requests.

= 1.9.1 =

* **Improvements**
* Correctly apply the exclude clause on the Achievements List block when displaying earned achievements.
* Improved the way to calculate the period ranges.
* Added the date time on period ranges.
* **Bug Fixes**
* Prevent to display requirements as earned for not logged in users.

= 1.9.0.2 =

* **Bug Fixes**
* Fixed event detection on unlock any or all achievements of a specific type.

= 1.9.0.1 =

* **Improvements**
* Improved Javascript checks to decide the visibility of requirement limit fields.
* **Bug Fixes**
* Fixed typo on requirements limit field values.

= 1.9.0 =

* **New Features**
* Added the ability to limit requirements per hour and per minute.
* **Improvements**
* Improved the way to determine if user is able to earn a requirement or not.
* For achievements that can be earned multiples times, now its steps will be marked correctly as completed or not based on if user is able to earn them again.
* For requirements limited in a time period, now will appear as completed until the user is able to earn them again.
* **Bug Fixes**
* Fixed alignment of box titles on settings and tools screens.
* Prevent any PHP warnings while migrating GamiPress database tables to InnoDB engine.
* **Developer Notes**
* Added new filters to extend requirements limit intervals to custom ones.

= 1.8.9.4 =

* **Bug Fixes**
* Fixed user assigned for role changes events.

= 1.8.9.3 =

* **Improvements**
* Force email from address and name to prevent get overwritten by other plugins.
* **Bug Fixes**
* Fixed date range for past week/month/year periods option when is the last day of previous period.

= 1.8.9.2 =

* **Bug Fixes**
* Fixed issues on multisite installs.

= 1.8.9.1 =

* **Improvements**
* Initialize types sooner to get types based functions ready as soon as possible.
* **Bug Fixes**
* Fixed date range for the "yesterday" period option.

= 1.8.9 =

* **Improvements**
* On revoke an element with points assigned, restore the user points balance too.
* Added wp_mail filters to make emails work with 3rd party email providers like SendGrid.
* **Bug Fixes**
* Fixed bug on specific role events checks.
* **Developer Notes**
* Added more utility functions to work with the parameters from events triggered.

= 1.8.8 =

* **New Features**
* New event: Get added to any role.
* New event: Get added to specific role.
* New event: Get assigned to any role.
* New event: Get assigned to specific role.
* New event: Get removed from any role.
* New event: Get removed from a specific role.
* **Developer Notes**
* Initialize everything sooner to get all functions ready as soon as possible.
* Reworked the events triggered function to make it more extensible.
* Removed Javascript file not found message on settings screen.

= 1.8.7.5 =

* **New Features**
* Added the attribute current_user and user_id to the [gamipress_points_types] shortcode.
* Added the fields "Current User" and "User ID" to the GamiPress: Points types block and widget.
* **Improvements**
* Prevent to display incorrect links on achievement and rank requirements.

= 1.8.7.4 =

* **Bug Fixes**
* Fixed an error that causes that achievements with multiples steps doesn't gets unlocked.
* **Improvements**
* Prevent the use of relative path to avoid errors in some environments
* **Developer Notes**
* Removed the user of the active achievement feature on the rules engine and moved to the compatibility folder.

= 1.8.7.3 =

* **Bug Fixes**
* Fixed pagination on achievements and ranks earners box from the edit screen.

= 1.8.7.2 =

* **Bug Fixes**
* Fixed incorrect week detection on the first day of the week.

= 1.8.7.1 =

* **Bug Fixes**
* Fixed issue that causes that some fields from the requirements UI are not editable in some browsers.

= 1.8.7 =

* **New Features**
* Added the earners box on achievements and ranks edit screens.
* **Improvements**
* Improve the display of the user on earnings list at admin area.
* Auto-revoke all requirements on revoke an achievement or rank.
* Load all user awards tables through ajax to speed up access to the user edit screen.
* Force custom database tables to use InnoDB on creation.
* Added internal upgrade process to update custom database tables to InnoDB.
* Performance improvement on numerous user earnings database calls.
* Great reduction of the amount of database calls from several functions.
* Prevent to perform API calls on areas outside the add-ons or licenses pages.
* Added support to display the rank link on "Reach a rank" requirements.
* Improvements on the cache functionality.
* Style improvements on the admin area.
* **Developer Notes**
* Added the filter 'gamipress_disable_network_data_centralization' to allow disable data centralization on multisite networks.
* Added the filter 'gamipress_revoke_requirements_on_revoke_parent' to allow disable the revoke of all requirements when its parent is revoked.
* Added the ability to force not search in options when retrieving a specific cache element.

= 1.8.6.2 =

* **Improvements**
* Ensure to display social buttons on earned achievements and ranks only.

= 1.8.6.1 =

* **Improvements**
* Ensure backward compatibility.

= 1.8.6 =

* **New features**
* Added the ability allow users share they earned achievements and ranks on Twitter, Facebook, LinkedIn and Pinterest.
* Added the "Social" section on settings with settings to manage the display of the social buttons.
* Allow register manual balance adjustments on the user earnings table.
* Allow register bulk award and revoke balance adjustments on the user earnings table.
* Added the setting "Global Maximum Earnings" on achievements to allow limit an achievement maximum earnings globally.
* Added the tags {user_username} and {user_email}.
* **Improvements**
* Added the user display name on the earners list.
* Make achievements and ranks congratulations text use the WordPress editor for better format it's content.
* Style improvements on the tools screen.
* **Developer Notes**
* Added filters to override the user URL and display name on the achievement and rank earners list.
* Added filters to override the "Unlock using points" button text for achievements and ranks.

= 1.8.5 =

* **New Features**
* Added support for custom earnings entries on earnings shortcode, block and widget and at admin area.
* **Improvements**
* Clear field when license gets deactivated included when server responds that license has been already deactivated.

= 1.8.4.9 =

* **Bug Fixes**
* Fixed incorrect last activity time check for ranks, used to determine the exactly date the rank has been unlocked.
* Fixed incorrect hook name.

= 1.8.4.8 =

* **Improvements**
* Speed performance improvements of the awards engine by reducing the number of checks.
* **Bug Fixes**
* Fixed incorrect checks on points-based ranks using the "Earn an amount of points" event.

= 1.8.4.7 =

* **Improvements**
* Make GamiPress cache options not get autoloaded.
* Correctly apply the minimum role to administer GamiPress settings to user earnings and logs capabilities.
* **Developer Notes**
* On achievements shortcode, make sure to pass the user ID as integer.

= 1.8.4.6 =

* **Improvements**
* Added site time information on System Info tool.
* **Developer Notes**
* Improvements when overriding CMB2 post fields by detecting if is a custom table form.

= 1.8.4.5 =

* **Improvements**
* Added the ability to clear license fields.

= 1.8.4.4 =

* **Bug Fixes**
* Fixed typo on license fields.

= 1.8.4.3 =

* **Improvements**
* Keep license key hidden included if license key is not valid or gets expired.

= 1.8.4.2 =

* **Improvements**
* Prevent PHP warnings on emails functions.
* **Bug Fixes**
* Fixed requirements times check for requirements higher configured for more than 1 time.
* **Developer Notes**
* Added global flag to meet when is running recount activity tool.

= 1.8.4.1 =

* **Bug Fixes**
* Fixed undesired awards on unlock an achievement of specific type.

= 1.8.4 =

* **Bug Fixes**
* Fixed duplicated awards on unlock a specific achievement and an achievement of specific type.
* Fixed singular and plural usage on requirements at frontend.
* **Developer Notes**
* Increased plugins API transient to 1 week.

= 1.8.3.2 =

* **Bug Fixes**
* Fixed typo on query logs function that causes some awards not get correctly awarded.
* Fixed typo on several strings related to the word "user" usage.
* **Developer Notes**
* Added new filters on ajax post function.

= 1.8.3.1 =

* **Improvements**
* Added type support on query logs function.

= 1.8.3 =

* **New Features**
* Added the "Entries Per Loop" field to the Recount Activity Tool.
* Added list views on logs and user earnings.
* **Bug Fixes**
* Fixed "Activate License" link from "Add-ons" page.
* Fixed -1 limit on earners list function, thanks to [@cherbst](https://github.com/cherbst).
* Fixed old rank population on update user rank function, thanks to [@raghavnarang](https://github.com/raghavnarang).
* Prevent PHP warnings on email tags parser if global vars are not provided.
* Fixed earn points calculation when is working with a rank that all requirements are based on earn points.
* Prevent to get user profile earnings per page overwritten by the user earnings screen setting.
* Fixed incorrect invalid license messages.
* Fixed logs and user earnings bulk delete.
* **Improvements**
* Enqueue Shortcodes Editor script on custom tables add/edit screens.
* Improved pro add-on update process to avoid "Update package not available" error.
* Make block's async selects load default options without require to type something.
* Highlight GamiPress menu when editing logs or users earnings (also takes effect on other custom table menus).
* Added more sanitization checks to all ajax functions.
* **Developer Notes**
* Added a filter to override the items per page setting on user profile earnings.

= 1.8.2.2 =

* **Bug Fixes**
* Fixed a wrong check of points earned for points-based requirements that has been created recently.
* Prevent to remove achievements and ranks images when they are rendered inside another achievement or rank content.

= 1.8.2.1 =

* **Bug Fixes**
* Rename all instances of CMB2_hookup to CMB2_Hookup.

= 1.8.2 =

* **New Features**
* Added a log console to the Recount Activity tool to meet what is processing in background.
* Added the ability to download the log console from the Recount Activity tool.
* On activity trigger logs, {trigger_type} tag now display the events label (for "Publish a post" event will render "Publish a post").
* New tag for activity trigger logs, {trigger_type_key} that displays the events internal key (for "Publish a post" event will render "gamipress_publish_post").
* **Bug Fixes**
* Fixed a wrong checks that blocks to trigger multiples points-based awards.
* Fixed incorrect comment ID on the comments recount activity process.
* Fixed incorrect height of the preview color on color fields.
* Fixed incorrect check on the awards engine that sometimes blocks some awards from the Recount Activity tool.
* **Improvements**
* Make {trigger_type} tag display the event label to make it more user friendly.
* Execute Gutenberg blocks on achievements and ranks description.
* Performance improvements on the awards engine tool.
* Code improvements on the award engine making it more readable.
* **Developer Notes**
* Added limit and offset vars to the recount activity tool process.
* Added the ability to provide information about the process status on the recount activity tool process.
* Update of gamipress_trigger_event() function to return information about what has been awarded.
* Update of gamipress_maybe_award_achievement_to_user() function to return information about the award process.
* Updated CMB2 library to 2.7.0.

= 1.8.1 =

* **Bug Fixes**
* Fixed a wrong check of points earned in the past for points-based achievements.
* Fixed a bug that causes that points-based requirement aren't getting triggered when perform manually points adjustments.
* Fixed multiples achievements earn when user earns a big amount of points.
* Fixed duplicate requirement functionality.
* **Improvements**
* Improving caching of the awards engine when user earns points.
* **Developer Notes**
* Updated gamipress_select2() library to 4.0.12.

= 1.8.0.1 =

* **Bug Fixes**
* Fixed internal php error when deleting a user.
* Fixed some import tools that haven't correctly send the required security nonces.
* **Improvements**
* Delete earnings of posts that gets deleted.

= 1.8.0 =

* **New Features**
* Added the Clean Up Logs tool to delete old logs.
* Added the "Events Listener" section to the System Info tool.
* **Bug Fixes**
* Fixed not awarding of "Unlock an achievement of type" and "Unlock all achievements of type" events.
* Fixed parameters detection on custom tables rest API controllers.
* Removed unused HTML from system info file.
* Style fixes on Import/Export Setup tool settings.
* **Improvements**
* Awards engine performance improvement by improve the detection of events in use.
* Prevent to hide success responses on tools.
* Delete logs and earnings of users that gets deleted from the admin area (and not from the eraser tool).
* **Developer Notes**
* Make use of register_meta() to register user metas mainly to display them on Rest API.
* Removed backward compatibility code on logs reset process.
* Moved users admin profile functions to admin/users.php file.
* Set GamiPress 1.8.0 as new stable release! :)

= 1.7.9 =

* **New Features**
* Improved GamiPress security by applying the WordPress security standards on the whole project (nonce checks, sanitization and escaping).
* Added no results message on Logs shortcode, block and widget.
* **Improvements**
* Awards engine performance improvement by better filter specific triggered events.
* Improved placement of server messages given by the unlock using points process.
* Nonce usage on all ajax functions to improve security and veracity of ajax requests.
* Added sanitization on all requests fields.
* Added escaping on all HTML templates where needed.
* Added disabled effect styles to Select2.
* Code reduction on several functions.
* CSS improvements on the admin area.
* Removed support to the Dark Mode plugin since WordPress core is working on a new one.
* **Developer Notes**
* Several improvements on gamipress_get_triggered_requirements() function.

= 1.7.8.2 =

* **Bug Fixes**
* Fixed incorrect achievements query results on GamiPress: Achievements shortcode, block and widget.
* **Improvements**
* Code reduction on achievements query function.

= 1.7.8.1 =

* **New Features**
* Added confirmation on unlock achievement and rank using points.
* **Improvements**
* Code reduction on unlock achievement and rank using points code.
* **Developer Notes**
* Full refactor of unlock achievement and rank using points code.
* Added hooks to deactivate confirmation on unlock achievement and rank using points.

= 1.7.8 =

* **New Features**
* Support to WordPress 5.3 admin style guidelines.
* **Improvements**
* Make GamiPress switches match WordPress togglers style.
* Make GamiPress Select2 match WordPress selects style.

= 1.7.7 =

* **New Features**
* Added the fields "Include" and "Exclude" to the Earnings block and widget.
* Added the attributes "include" and "exclude" to the [gamipress_earnings] shortcodes.
* Added support to award by roles to the Bulk Award Tool.
* Added support to revoke by roles to the Bulk Revokes Tool.
* **Improvements**
* Added some extra checks on shortcodes editor to avoid warnings while looping shortcode groups.
* Readme reduction by removing the add-ons descriptions.
* Avoid conflicts on logs compatibility functions.
* Removed gamipress-blocks-style.css file since is not in use.
* Added site ID metadata on logs when GamiPress is network wide active on multisite.
* Performance improvements on multisites by caching queried posts on rules engine.
* Code improvements for bulk awards and bulk revokes scripts.
* **Bug Fixes**
* Fixed an issue that makes ranks not being awarded on multisites when user meets it's requirements on a subsite.
* **Developer Notes**
* Added Javascript events before and after unlock achievements and ranks through points.
* Updated Select2 library to 4.0.10.
* Creation of the gamipress_select2() to ensure load always the up to date select2 version.
* Replacement of all select2() calls to gamipress_select2().
* Removed select2 information on System Info tool.

= 1.7.6.3 =

* **Bug Fixes**
* Fixed detection of points earned when awards engine awards a requirement with "Earn an amount of points" event multiple times.

= 1.7.6.2 =

* **Bug Fixes**
* Fixed issue on Gutenberg blocks conditions functionality when passing an array to define the condition.
* Fixed conflicts with WordPress javascript libraries by updating Gutenberg blocks dependencies.
* **Improvements**
* Added support for Javascript objects conditions on Gutenberg blocks.
* Updated Gutenberg blocks dependencies.

= 1.7.6.1 =

* **Improvements**
* Update blocks code to avoid conflicts with others plugins.
* Remove lodash usage to avoid functions conflicts.
* Updated all Gutenberg blocks dependencies to latest stable releases.

= 1.7.6 =

* **New Features**
* Added database information on System Info tool.
* Added support for shortcode groups on Shortcodes Editor.
* **Bug Fixes**
* Prevent to take field values from repeatable patterns on Shortcodes Editor.
* **Improvements**
* Style improvements for repeatable color pickers on Shortcodes Editor.
* Improvements on shortcode error messages.
* Added the ability to detect if an error is rendered on a shortcode, block or widget.
* **Developer Notes**
* Added support for multicheck fields on Shortcodes Editor.
* Added support to multiples selects on query logs function.
* Added support to group_by to query logs function.
* Added support to output parameter on query logs function.
* New Gutenberg component: MultiCheckboxControl (works equal than RadioControl but with checkboxes).
* Added support for multicheck fields through MultiCheckboxControl on Gutenberg blocks.

= 1.7.5 =

* **Bug Fixes**
* Fixed detection of points earned when awards engine awards a requirement with "Earn an amount of points" event multiple times.
* Fixed Javascript assets load on user edit screen when a third party plugin creates an editor on this screen.
* **Improvements**
* Performance improvements on last points awarded detection.
* On rename a points type update logs metas and user earnings with old points type.
* Added support to multiples conditional field values on Gutenberg fields.
* **Developer Notes**
* Increased GamiPress plugins API transient expiration time from 24 to 48 hours.

= 1.7.4.2 =

* **Bug Fixes**
* Fixed type on [gamipress_points_types] shortcode slug used to pair attributes.
* **Improvements**
* Improved user ID detection on user profile form included when other plugins causes issues on this form to keep GamiPress utilities working.
* Prevent to display all user earnings to visitors if current user is set to "yes".
* **Developer Notes**
* Added filters to change the workflow on user earnings and logs shortcode to display or not content to visitors when current user is set to "yes".

= 1.7.4.1 =

* **Bug Fixes**
* Fixed admin scripts localization to avoid issues when scripts are loaded on not expected pages.

= 1.7.4 =

* **Bug Fixes**
* Fixed blocks single post/user fields not saving.
* Fixed incorrect posts on requirements UI posts selector when GamiPress is network wide active.
* **Improvements**
* Prevent type's slug match any WordPress reserved term.
* Full reformat of slug check function.

= 1.7.3 =

* **New Features**
* New event: Get a comment marked as spam.
* New event: Get a comment of a specific post marked as spam.
* **Improvements**
* Improved "Daily visit any post" event count detection.
* **Developer Notes**
* GamiPress fully tested up to WordPress 5.2.


= 1.7.2 =

* **Bug Fixes**
* Fixed required times check from last update checking just last time earned when needed (and not for all checks).
* Fixed GamiPress dropdowns display on customizer.

= 1.7.1 =

* **Bug Fixes**
* Fixed required times check on steps that achievement can be earned multiples times.
* Fixed requirements connected to column (just visible if debug mode is enabled).
* **Developer Notes**
* Added new helper functions.
* Moved functions on new files to improve project organization.

= 1.7.0 =

* **New Features**
* Added a new tool named "Import/Export Setup" that allows import/export GamiPress setup (points types, achievements, steps, ranks, etc).
* Added the ability to Import/Export Setup tool to import attachments downloading them on directly to the server, if possible.
* Added the ability to deduct points, revoke achievements or ranks through the CSV import tool by adding the negative sign "-".
* **Bug Fixes**
* Prevent to display removed or unpublished achievements on gamipress_get_user_achievements() function.
* Prevent to add empty shortcode attributes on through the shortcodes editor.
* **Improvements**
* Added a confirmation message when revoking a user earning.
* Improvements on the Widgets API that handles much better widget setup of external fields.
* Style improvements on tools and settings screens.
* Updated MySQL minimum requirement to meet WordPress recommendations.
* Added more information to the System Info tool.
* Update user assigned ranks and points balances when manually award or revoke anything.
* **Developer Notes**
* Added helper functions to easily build a shortcode attributes array based on values given.
* Updated plugin updater class for non wordpress.org plugins.
* Reset public changelog (moved old changelog to changelog.txt file).
* Set GamiPress 1.7.0 as new stable release! :)

= 1.6.9.3 =

* **Bug Fixes**
* Fixed GamiPress points field type saving on custom tables.
* **Improvements**
* Correctly reset custom table setup on some queries.

= 1.6.9.2 =

* **Bug Fixes**
* Fixed User Rank block type detection when just one rank type is registered.
* **Improvements**
* Removed some CSS rules to make GamiPress styling more neutral.
* Improvements on GamiPress blocks adding support for the ColorPalette control.
* Make GamiPress blocks select controls full width.
* On add-ons page, added support for new passes.

= 1.6.9.1 =

* **Bug Fixes**
* Fixed bug on achievements import/export tool that prevents to correctly process imported CSV file.
* Fixed bug on ranks import/export tool that prevents to correctly process imported CSV file.
* Fixed Custom Tables roles population adding extra checks to meet if roles are correctly populated.
* Fix page reload on user earnings screen when revoking a specific requirement.

= 1.6.9 =

* **New Features**
* Added the fields "Period", "Period Start" and "Period End" to the User Points Balance block and widget.
* Added the attributes "period", "period_start" and "period_end" to the [gamipress_points] shortcodes.
* Added the field "Maximum Earners" to the achievement and rank template options (located on their edit screens).
* Added the field "Maximum Earners" to achievement-related and rank-related blocks and widgets.
* Added the attributes "earners_limit" to achievement-related and rank-related shortcodes.
* **Bug Fixes**
* Fixed user earned check on achievement and rank templates.
* Fixed earner list result on ranks with lowest priority.
* **Improvements**
* Changed points awards and deducts maximum earnings default value to 0 (unlimited) instead of 1.
* Improvements on events detection for "Unlock specific achievement" and "Reach a specific rank" events.
* **Developer Notes**
* Added new hooks on meta boxes fields registration.

= 1.6.8 =

* **New Features**
* Added the {user_id} tag on all email templates (useful for shortcodes that supports the user ID as attribute).
* Added the {achievement_id} tag on achievement and step email templates (useful for shortcodes that supports the achievement ID as attribute).
* Added the {rank_id} tag on rank and rank requirement email templates (useful for shortcodes that supports the rank ID as attribute).
* Added the section "Award Requirement" on user profile (instead of get it inside the "Award Achievement" section).
* **Bug Fixes**
* Fix per page setting on logs and user earnings.
* **Improvements**
* Added separators between email tags to get tags list better organized.
* Make login listener support those plugins that triggers the wp_login event with just the user email address.
* **Developer Notes**
* Updated Custom Tables library to latest release.


= 1.6.7.1 =

* **Bug Fixes**
* Fixed required libraries loading on activation.

= 1.6.7 =

* **New Features**
* Added the ability to sort columns on logs and user earnings list views.
* **Bug Fixes**
* Fixed wrong thumbnail reformat on single achievement and single rank templates.
* Fixed warning notices on rest API.
* **Improvements**
* Make the achievement and rank earners list more flexible.
* **Developer Notes**
* Added multiples filters on achievements and ranks earners list and earners query functions.

= 1.6.6 =

* **Bug Fixes**
* Prevent to save valid licenses with hidden value.
* Fixed user earnings table refresh after award or revoke any element.
* **Improvements**
* Style improvements of GamiPress controls on Gutenberg UI.
* **Developer Notes**
* Added a huge number of filters to the ajax get posts query to make it more extensible.
* Introduction of the selector, post selector and user selector utility.
* Centralized all Javascript code related to the post selector (reducing considerably the number of lines of code).

= 1.6.5 =

* **New Features**
* Added CRUD rest API endpoints for logs and user earnings.
* Added support for single type logs template rendering allowing override logs template when rendering a single type.
* **Bug Fixes**
* Fixed fields to apply searches on logs and user earnings on admin area.
* **Improvements**
* Now, GamiPress will log just activities in use (with a setting to enable logging all) instead on log all of them by default.
* "Only log activities in use" setting has been replaced by "Log all activities" setting.
* Stop saving user points balances and ranks on profile when clicking the "Save User" button since user profile changes are completely handled through ajax.
* Added the ability to define shortcode-only field description to avoid confusions with blocks and widgets fields.
* Active licenses will be hidden in order to prevent non license holders see it (eg: external support accounts with administration privileges).
* Moved templates/logs-old.php template to templates/old/logs.php.
* On points/achievement/rank types edit screen now user gets notices if setups the same slug as an already existent post type (eg: post, page, product, course, etc).
* **Developer Notes**
* Added filters to all shortcode outputs.
* Added support to before and after query vars to logs and user earnings tables.
* Added script files authorship.
* Updated CMB2 library.
* Updated CT library.

= 1.6.4.1 =

* **Bug Fixes**
* Fixed incorrect site switches from shortcodes on multisite installs.
* **Improvements**
* Make GamiPress post types visible in rest API.
* Added more responsive CSS rules to the columns feature making them full width on small screens.
* Force box sizing to box's border to keep layout and columns features working on any theme.
* **Developer Notes**
* Added hooks to hide any GamiPress post type from rest API.

= 1.6.4 =

* **New Features**
* Added the event "Reach a points balance".
* Added new tools to import and export user points, achievements and ranks.
* GamiPress - Points CSV Tool add-on has been added as a built-in tool.

= 1.6.3.3 =

* **Bug Fixes**
* Fixed jQuery dependencies on the requirements event's dropdown search function.

= 1.6.3.2 =

* **New Features**
* Added Select2 version check on System Info tool.
* **Improvements**
* Added extra checks to the search term received on the requirements event's dropdown search function.

= 1.6.3.1 =

* **Bug Fixes**
* Fixed a wrong method call on the requirements event's dropdown search function.

= 1.6.3 =

* **New Features**
* On event dropdown from requirements, searches that matches a group name will show all events inside (eg: searching "word" will show all events inside the "WordPress" group).
* **Bug Fixes**
* Prevent to earn achievements through steps if achievement has been setup to be earned by another way (points, rank or admin).
* Remove wrong wp-blocks dependency for front end assets.
* Prevent to render any achievement on achievements list if filter is set to completed and user is not logged in.
* **Improvements**
* Added more filters to trigger count function in order to make them more customizable.
* Added the log object to the 'gamipress_log_extra_data_fields' filter.
* Revert back 1.6.2 changes on user trigger count function since now this function provides a more complex logs counts query for complex events.
* **Developer Notes**
* Make use of restore_current_blog() instead of switch_to_blog().
* Replaced usages of $blog_id global with get_current_blog_id() function.
* Updated CMB2 library to 2.5.1 version.

= 1.6.2 =

* **Bug Fixes**
* Fixed unescaped HTML for shortcode attributes on gamipress_do_shortcode() function.
* Fixed "Log Type(s)" field look of GamiPress: Logs widget.
* Included private posts on requirements post selectors.
* Fixed repeated fields rendering on Gutenberg blocks tabs.
* **Improvements**
* Improvements on Gutenberg meta boxes forms styles.
* Improvements on user trigger count function using cached counts.
* Make requirements being triggered in order, this specially intended for ranks in order to check requirements of lower priority ranks first.
* HTML improvements following the Gutenberg structure of PanelBody > PanelRow.
* Improvements on Gutenberg blocks tabs fields loop.
* Added GamiPress front-end styles to Gutenberg blocks editor styles.
* Added the 3rd Party section on add-ons page.

= 1.6.1 =

* **Bug Fixes**
* Fixed wrong requirements order when element has a huge number of requirements.
* **Improvements**
* Pressing enter on user profile points will trigger the ajax save instead of submit the complete user profile form.
* Avoid perform any extra check when not required on awards engine.
* Cache query functions to speed up the awards engine when searching event's listeners.
* **Developer Notes**
* Added server side way to register custom Gutenberg blocks icons.
* Improvements on GamiPress cache utility adding management from cache directly from options.
* Replaced time() function usages by the WordPress localized function current_time( 'timestamp' ).

= 1.6.0 =

* **New Features**
* Full support to Gutenberg.
* Added a Gutenberg block version of each shortcode.
* Added assets submenu on GamiPress menu and admin bar links.
* **Bug Fixes**
* Removed incorrect option 'all' from [gamipress_user_rank] shortcode and GamiPress: User Rank widget.
* Fixed edit link visibility after save user points from user profile screen.
* Automatically update user rank preview when user points balanced is updated manually.
* **Improvements**
* Improvements on add-ons and assets screens styles.
* "Add GamiPress Shortcode" button renamed to "GamiPress Shortcode".
* **Developer Notes**
* Achievements and ranks are now visible on Rest API (required for Gutenberg post selectors).
* Added the gamipress_query_logs() function.
* Reformatted some functions that query logs to use the new gamipress_query_logs() function.
* Reset public changelog (moved old changelog to changelog.txt file).
* Set GamiPress 1.6.0 as new stable release! :)

= 1.5.9.1 =

* **Bug Fixes**
* Fixed wrong types check on shortcodes with support to multiples types.
* Fixed wrong id for points awards contextual help.

= 1.5.9 =

* **New Features**
* Added support to all user on [gamipress_earnings] shortcode and GamiPress: User Earnings widget.
* Added the user column to the earnings table when is rendered for all users.
* Added the "Register to website" event.
* Added the attribute "times_earned" to [gamipress_achievement] and [gamipress_achievements] shortcodes.
* Added the field "Show times earned" to GamiPress: Achievement and GamiPress: Achievements widgets.
* Added shortcodes and widgets errors notices when a shortcode or widget is not well setup (missing attribute, invalid values, etc).
* Added the ability to [gamipress_points] shortcode and GamiPress: User Points widget to display the site points by setting current_user to "no" and not providing the user_id attribute.
* **Bug Fixes**
* Fixed wrong earned status for non logged in users.
* Fixed issue where sometimes points award that requires earn an amount of another type of points doesn't works properly.
* **Improvements**
* Improved user profile controls to view and edit the current user ranks and points.
* Avoid duplicated functions declarations on not prefixed methods.
* Improvements on project's files distribution.
* **Developer Notes**
* Default points balance, there are new a set of new filters to re-enable it again if needed.
* Added a bunch of filter and actions on the achievements template (used on [gamipress_achievements] shortcode and GamiPress: Achievements widget).
* CMB2 library updated to latest stable release (v2.4.2).

= 1.5.8.2 =

* **Bug Fixes**
* Removed widget cache functionality for incompatibility with Elementor.

= 1.5.8.1 =

* **Bug Fixes**
* Fixed redirection issue with third party plugins (like Duplicate Post).

= 1.5.8 =

* **New Features**
* Added the user earnings menu at backend.
* **Bug Fixes**
* Fixed duplicated achievements on [gamipress_achievements] and GamiPress: Achievements when filter is set to completed achievements.
* Fixed capability check on Settings and Tools menu to match setting "Minimum role to administer GamiPress".
* Fixed issues with meta data remove on Custom Tables library.
* Fixed issues with multiple fields on Custom Tables library.
* Fixed capability check on Custom Tables library.
* Fixed "Headers already sent" error on Custom Tables library.
* **Improvements**
* More precise type column text on logs list at backend.
* Improved CSS rules on admin area.
* **Developer Notes**
* Added better checks on  Custom Tables add view.

= 1.5.7.1 =

* **Bug Fixes**
* Fixed log query function to keep backward compatibility with older database versions.

= 1.5.7 =

* **Bug Fixes**
* Fixed wrong CSS selector on achievements template layout.
* Fixed wrong "Admin revoked 0 points" log entry caused from update a user without change his points balance.
* Fixed subsite post saving when GamiPress is network wide active.
* Fixed wrong rank type check on achievements earned by reaching a specific rank.
* **Improvements**
* Improved CSS selector to change achievement's image opacity when user has earned it.
* Improved CSS selector to change rank's image opacity when user has reached it.
* Added a notice about emails on recount activity tool.

= 1.5.6 =

* **Bug Fixes**
* Fixed wrong offset on bulk awards and revokes tools.
* Fixed wrong offset on recount activity tool.
* Fixed wrong offset on logs personal data exporter.
* Fixed wrong offset on user earnings personal data exporter.
* **Developer Notes**
* Added support to the icon attribute on GamiPress multi buttons field.

= 1.5.5 =

* **New Features**
* Added support to order achievements on [gamipress_achievements] shortcode and GamiPress: Achievements widget by points awarded and points to unlock.
* Added support to order ranks on [gamipress_ranks] shortcode and GamiPress: Ranks widget by points to unlock.
* **Bug Fixes**
* Fixed wrong string format on rank's unlock using points button text.
* **Developer Notes**
* Added support to the GROUP BY clause when retrieving user achievements.

= 1.5.4 =

* **New Features**
* Added logs menu at GamiPress admin bar.
* **Bug Fixes**
* Fixed results on [gamipress_earnings] shortcode and GamiPress: User earnings widget when trying to get earnings related just to a specific points type.
* Fixed non array passed to array_merge() on gamipress_get_hidden_achievement_ids() function.
* **Improvements**
* The "Download System Info File" is now always visible.
* Added extra sanity checks on points format functions.

= 1.5.3 =

* **Bug Fixes**
* Fixed an issue on awards engine that sometimes not recognizes the requirement parent.
* **Improvements**
* Sanity check when determining if requirement has a parent or not.
* Improved the user earned achievements query.

= 1.5.2 =

* **Bug Fixes**
* Fixed an issue on awards engine that sometimes provokes infinite loops determining the requirement parent.
* Fixed wrong number of arguments passed to wpdb::prepare().

= 1.5.1 =

* **New Features**
* Added a quick menu at WordPress admin bar to access to the different GamiPress admin screens.
* Added settings to customize the points output per points type (through the points type edit screen).
* Added extra information about achievement setup with "Earned by" is setup to a minimum of points or by reach a rank (on admin area).
* **Bug Fixes**
* Order display doesn't gets updated after drop the requirement on a different position when sequential requirements is enabled.
* Added extra check on the awards engine to prevent award removed points types.
* Fixed an issue with licenses that sometimes causes licenses not being correctly active.
* **Improvements**
* Fully reworked site visits listeners to make it track visits through ajax (instead of on every page load).
* A huge number of queries has been improved reducing his time consumption to half or less when any event gets triggered.
* Added current and last required upgrade info on System Info tool.
* Added PHP and DB version check on System Info tool.
* Make the GamiPress points field compatible with custom tables like logs.
* All points output has been formatted with the new settings.
* **Developer Notes**
* PostToPost (P2P) library has been removed.
* Added more indexes to logs table to make queries more faster.
* Added new filters on gamipress_site_visit_listener() to customize the workflow of visits listener.
* Added new functions to format points based on points type configuration (with new filters to customize their workflow).
* The unused field description has been removed from logs.
* Clean data tool has been removed since is not needle yet.

= 1.5.0 =

* **New Features**
* Support for WordPress personal data exporters.
* Support for WordPress personal data erasers.
* **Bug Fixes**
* Requirements links at fronted when assigned post is not public.
* Assets enqueuing on logs edit screen.
* **Improvements**
* Make changelog notes more clear.
* **Developer Notes**
* New filter - gamipress_specific_activity_trigger_permalink.
* New filter - gamipress_specific_activity_trigger_is_post_type_public.
* Added new filters for new privacy functions.
* Added 1.5.0 backward compatibility for GamiPress deprecated methods.
* Reset public changelog (moved old changelog to changelog.txt file).
* Set GamiPress 1.5.0 as new stable release! :)

= 1.4.9.2 =

* Fixed incorrect values on GamiPress: Achievements widget.
* Fixed unlock button display on achievements and ranks.
* Fixed wrong settings link on plugins screen on multisite installs.
* Improved "Maximum earnings" field workflow on achievements, now to set unlimited maximum earnings is required to set it to 0.
* Fixed wrong links texts on readme.
* Added new integrations to the readme.

= 1.4.9.1 =

* Fixed wrong achievements query results on [gamipress_achievements] shortcode.
* Added extra checks to meet core files loaded for WordPress plugins method call.

= 1.4.9 =

* Added the attribute "access" to [gamipress_logs] shortcode.
* Added the field "Log Access" to GamiPress: Logs widget.
* Added the attribute "inline" to [gamipress_points] shortcode.
* Added the field "Inline" to GamiPress: User Points Balance widget.
* Added ajax pagination to [gamipress_logs] shortcode and GamiPress: Logs widget.
* Added ajax pagination to [gamipress_earnings] shortcode and GamiPress: User Earnings widget.
* Added new filters to the logs template.
* Added new filters to the earnings template.
* Fixed fields saving on multisite installs.
* Added backward compatibility with older WordPress intalls.
* Updated deprecated WordPress functions.
* Fixed wrong achievements shown when filter is set to completed and user hasn't completed anyone.
* Fixed wrong points amount when GamiPress is network wide active.
* Added extra checks with multisite shortcode fields when GamiPress is network wide active.

= 1.4.8.1 =

* Fixed compatibility issues with old PHP versions.
* Improvements on upgrade process messages.

= 1.4.8 =

* Added the attribute "points_awarded" to [gamipress_achievement] and [gamipress_achievements] shortcodes.
* Added the field "Show Points Awarded" to GamiPress: Achievement and GamiPress: Achievements widgets.
* Added the attribute "unlock_button" to [gamipress_achievement] and [gamipress_achievements] shortcodes.
* Added the field "Show Unlock Button" to GamiPress: Achievement and GamiPress: Achievements widgets.
* Added the attribute "unlock_button" to [gamipress_rank], [gamipress_ranks] and [gamipress_user_rank] shortcodes.
* Added the field "Show Unlock Button" to GamiPress: Rank, GamiPress: Ranks and GamiPress: User Rank widgets.
* Added the attribute "type" to [gamipress_logs] shortcode.
* Added the field "Log Type(s)" to GamiPress: Logs widget.
* Fixed singular/plural check on achievements points.
* Fixed wrong notice about plugins updates from the plugins screen.
* Fixed wrong notice about upgrade process failed.
* Fixed wrong notice about upgrade process on multisite installs.
* Fixed wrong edit links on multisite installs.
* Added stronger checks on dashboard widget to prevent to show it on sub-sites or to users without permissions.
* Added site ID to requirement object for sub-site attached posts.
* Improved awards engine workflow with specific activity events.
* Improved instructions on invalid license keys.
* Added sticky action buttons on GamiPress settings.
* Improvements admin area styles.
* Readme reduction to better resume all built-in features.

= 1.4.7.2 =

* Fixed wrong activity recount tool offset.
* Fixed typo on gamipress_do_shortcode() function.
* Improvements on requirements UI when saving a large amount of requirements.

= 1.4.7.1 =

* Added event to override shortcode output from the Shortcodes Editor.
* Added formatting check on Shortcodes Editor fields values.
* Fixed spinner display when unlocking an achievement or a rank with points.
* Fixed wrong array index notice when checking hidden achievements.
* Added stronger checks to ensure run upgrade process just when an administrator is running it.
* Added a remaining entries counter to visually know the number of entries pending while upgrading.
* Added a cancel upgrade action.
* Fixed wrong offset on recount activity tool.
* Added sub-processing to bulk awards and revokes tool when awarding or revoking to all users.

= 1.4.7 =

* Fixed next and previous pagination links of hidden achievements.
* Improvements detecting hidden achievements.
* Fixed wrong count detection on requirements UI when generates the requirement title.
* Prevent scroll when a requirement action is clicked.
* Added the attribute "search_value" to [gamipress_achievements] shortcode.
* Added the field "Initial Search Value" to GamiPress: Achievements widget.
* Fixed missing $ on requirements UI.
* Moved the logs meta field trigger_type to the logs tables to improve logs queries performance.
* Prevent to render Shortcodes Editor window if button has't been rendered.
* Improvements on custom table queries.
* Added checks to prevent run code outside the desired post type screens.
* Added checks to prevent run code outside the GamiPress custom pages (settings and tools).
* Added a huge number of improvements and speed performance on queries and functions.

= 1.4.6 =

* Added new email template tags: {achievement_url}, {achievement_link}, {achievement_congratulations}, {rank_url}, {rank_link} and {rank_congratulations}.
* Replaced the text "Earned Achievements" to "User Earnings" on user profile screen.
* Added filters on achievements and ranks post types registration.
* Moved "Sequential Steps" fields into "Required Steps" meta box.
* Moved "Sequential Requirements" fields into "Required Requirements" meta box.
* Capability check when saving deleting steps, points awards/deducts and rank requirements.
* Added the ability to duplicate steps, points awards/deducts and rank requirements.
* Update the requirements UI with a new style.
* Improvements when querying achievement steps.
* Improvements when querying rank requirements.
* Improvements admin area styles.
* Added more functions to easily get the types objects (achievement, points and ranks) and their labels.

= 1.4.5 =

* Added the attribute "filter_value" to [gamipress_achievements] shortcode.
* Added the field "Initial Filter Value" to GamiPress: Achievements widget.
* Make first page of results of [gamipress_achievements] shortcode and GamiPress: Achievements widget load directly.
* Improvements on [gamipress_achievements] shortcode and GamiPress: Achievements widget filtering.
* Added more filters on achievements template to make it more customizable.
* Added more frequently asked questions.

= 1.4.4 =

* Fixed timezone issues when server and WordPress has different timezones (now WordPress timezone prevails).
* Fixed empty primary key on database table creation.
* Prevent warnings on 1.4.3 upgrade.
* Avoid some PHP warnings on ajax functions.
* Added more information to System Info Tool and some improvements.

= 1.4.3 =

* Added a bulk revokes tool that let's revoke points, achievements or ranks to all or a group of users.
* Added title on user earnings table.
* Added support for meta data on user earnings table.
* Improvements on "Log in to the website" event detection.
* Improvements on recount activity tool recounting large amounts of records.
* Improvements on bulk awards tool.
* Improvements parsing points tags on logs patterns.
* Renamed hook "achievement_object" to "gamipress_achievement_object".
* Added gamipress_revoke_achievement_to_user( $achievement_id, $user_id, $user_earning_id ) function.
* Added gamipress_award_rank_to_user( $rank_id, $user_id, $args ) function.
* Added gamipress_revoke_rank_to_user( $user_id, $rank_id, $new_rank_id, $args ) function.
* Added gamipress_upgrade_rank_to_user( $user_id, $rank_type ) function.
* Added gamipress_downgrade_rank_to_user( $user_id, $rank_type ) function.
* Added gamipress_get_prev_user_rank_id( $user_id, $rank_type ) function.
* Added gamipress_insert_user_earning( $user_id, $data, $meta ) function.
* Added the ability to gamipress_trigger_event() to be called directly.

= 1.4.2 =

* Fixed user points balance on emails, now emails will send the updated points balance instead of the old one.
* Fixed output for [gamipress_earnings] shortcode and GamiPress: User Earnings widget when the earning gets removed.
* Fixed specific achievement and rank post selectors on requirements.
* Important query performance on duplicity checks.
* Improvements on cached queries for post visits listeners.
* Improvements on rank requirements checks on rules engine to prevent notices when rank requirement is wrong configured.
* Compatibility support for old database engines.

= 1.4.1 =

* Added a bulk awards tool that let's award points, achievements or ranks to all or a group of users.
* New event: Daily visit any post.
* Added support for all public post types on events daily visit a specific post and get visits on a specific post.
* Added support for all post types with comments support on events comment on a specific post and get a comment on a specific post.
* Added the column "Post" to the logs list screen at admin area.
* Fully reworked all posts and users selectors.
* Replaced "Achievement ID" field label to "Achievement".
* Replaced "Rank ID" field label to "Rank".
* Replaced "User ID" field label to "User".
* Added the field "gamipress_points" to show easy controls to set points types amounts (like points awarded on achievements).
* Improvements on admin area styles.

= 1.4.0 =

* Added multisite support with the ability to connect everything network wide.
* Added {site_title} tags on logs patterns.
* Added the attribute "layout" to [gamipress_achievement], [gamipress_achievements], [gamipress_points], [gamipress_points_types], [gamipress_rank], [gamipress_user_rank] and [gamipress_ranks] shortcodes.
* Added the field "Layout" to GamiPress: Achievement, GamiPress: Achievements, GamiPress: Points, GamiPress: Points Types, GamiPress: Rank, GamiPress: User Rank and GamiPress: Ranks widgets.
* Added the attribute "link" to [gamipress_achievement] and [gamipress_achievements] shortcodes.
* Added the field "Show Link" to GamiPress: Achievement and GamiPress: Achievements widgets.
* Added the attribute "link" to [gamipress_rank], [gamipress_user_rank] and [gamipress_ranks] shortcodes.
* Added the field "Show Link" to GamiPress: Rank, GamiPress: User Rank and GamiPress: Ranks widgets.
* Added the meta box "Achievement Template" on achievement edit screen.
* Added the meta box "Rank Template" on rank edit screen.
* Fixed [gamipress_points] points types issue when type is empty.
* Fixed default rank image now truly relies on rank type image.
* Fixed achievements list loader where unlock using points buttons are on list.
* Fixed achievement selector on requirements UI when requirements is based on unlock a specific achievement.
* Added the ability to reset user earnings from reset data tool.
* Added tabs on GamiPress add-ons page.
* Improvements parsing log pattern tags on points deductions and expending them.
* Improvements on site visits detection.
* Improvements on admin area styles.
* Added more accurate checks to determine how many points has earned the user since a specific date.
* Added stronger sanitization checks on slugs.
* Improvements on custom table queries.
* Reset public changelog (moved old changelog to changelog.txt file).
* Set GamiPress 1.4.0 as new stable release! :)

= 1.3.9.7 =

* Added stronger checks on points types, achievement types and rank types slugs to prevent invalid characters.
* Improvements on multiple points to award when user earns lower amounts that required.
* Improvements on license error handling with more precise information about license status.
* Improvements on libraries load to avoid issues on frontend.
* Removed RGBa ColorPicker library.
* Added bulk delete action on logs screen.
* Improvements on logs search function to match user names.

= 1.3.9.6 =

* Improvements on earn and expend points activity checks, now detects how many points user has earned since last earned time.
* Fixed issue while excluding logs related to achievement unlock when Only log activities in use is enabled.
* Fixed issue with add-ons update checks.
* Added support for direct pagination on user earnings table at user profile screen.

= 1.3.9.5 =

* Added the featured image on points types, achievements and ranks list view at admin area.
* Added more columns on achievements and ranks list view at admin area.
* Fixed rank selected on requirements UI when requirement has "Earn Rank" as activity.
* Fixed achievement template fields on [gamipress_achievements] shortcode and GamiPress: Achievements widget.
* Improvements on admin area styles.
* Updated screenshots and readme with improved screenshots descriptions.

= 1.3.9.4 =

* Improvements on achievement and rank template parameters check from external shortcodes and widgets.
* Improvements on requirements earned status detection at frontend.
* Improvements on [gamipress_earnings] shortcode and GamiPress: User Earnings widget query.
* Improvements on user earnings template.
* Fixed pagination on user earnings at admin user profile screen.
* Added the column "Administrator" to the logs list screen at admin area.
* Improvements on "Earn points" related activities, now this activity is able to be awarded multiple times based on the last points movement. For example, earning 30 points, will trigger an activity that requires 10 points 3 times.
* Improvements on points-related caching methods. Now cache has been separated by points types.
* Fixed wrong foreach argument on emails.
* Fixed wrong user meta name to store latest rank earned date.
* Added setting to disable the shortcodes editor to avoid issues with some page builders.
* Improved arrow icon to show/hide achievement and rank details.

= 1.3.9.3 =

* Added the [gamipress_user_rank] shortcode.
* Added the GamiPress: User Rank widget.
* Improvements checking if activity has listeners to check if a specific activity trigger has a listener by specific ID.
* Moved licenses settings tab to a single page.
* Style improvements on licenses settings page.

= 1.3.9.2 =

* Improvements on rank requirements completion checks.
* Added check to prevent earn a requirement repeatably.

= 1.3.9.1 =

* Improvements on queries to reset logs from Reset Data Tool.
* Improvements on DB table existence check.

= 1.3.9 =

* Added the [gamipress_earnings] shortcode.
* Added the GamiPress: User Earnings widget.
* Added the "pagination" attribute to the [gamipress_logs] shortcode.
* Added the "Enable Pagination" field to the GamiPress: Logs widget.
* Updated user profile output letting users meet their points, achievements and ranks.
* Added checks to prevent show GamiPress Shortcodes Editor on customizer.
* Fixed warning on [gamipress_logs] shortcode.
* Fixed rank earned status on single page.
* Added notice on rank edit screen to explain better how GamiPress works with lowest priority ranks.
* Fixed issue with some fields visibility on shortcode editor and widget forms.
* Fixed issue with select2 fields on widget forms.

= 1.3.8.1 =

* Added custom admin footer text on GamiPress admin pages.
* Fixed issue on PHP 7.2.
* Added support for coming core feature: [dark mode](https://wordpress.org/plugins/dark-mode/).
* Updated plugins libraries.

= 1.3.8 =

* New activity trigger added when a user post gets a comment to award content authors.
* Added filters on emails to allow override anything.
* Added check on [gamipress_logs] shortcode and GamiPress: Logs widget to avoid show logs to guests when showing logs of current user.
* Fixed wrong variable name on emails.php.
* Reset tool now reset logs meta data too.

= 1.3.7.1 =

* Fixed title display on Achievement(s) and Rank(s) widgets.
* Fixed wrong text on requirements UI.

= 1.3.7 =

* New feature: Points Deductions.
* New feature: Unlock achievement and rank by expending points.
* New feature: Added featured image support on points types.
* New activity triggers: Delete a post , Delete a page and Expend an amount of points.
* Added the parameters thumbnail, awards and deducts to [gamipress_points_types] shortcode.
* Added the fields "Show Thumbnail", "Show Points Awards" and "Show Points Deductions" to GamiPress: Points Types widget.
* Added the points deduct email template.
* Added the parameters thumbnail and label to [gamipress_user_points] shortcode.
* Added the fields "Show Thumbnail" and "Show Points Type Label" to GamiPress: User Points Balance widget.
* Fixed title display on [gamipress_achievements] shortcode and GamiPress: Achievements widget.
* Fixed title display on [gamipress_ranks] shortcode and GamiPress: Ranks widget.
* Added functions to retrieve the points movements (awarded, deducted and expended).
* Added the log pattern for points expended.
* Improvements on requirements UI.
* Improvements on settings file structure.

= 1.3.6 =

* Added the parameter title to [gamipress_achievement] and [gamipress_achievements] shortcodes to hide the achievement title.
* Added the field "Show Title" to GamiPress: Achievement and GamiPress: Achievements widgets to hide the achievement title.
* Added the parameter title to [gamipress_rank] and [gamipress_ranks] shortcodes to hide the rank title.
* Added the field "Show Title" to GamiPress: Rank and GamiPress: Ranks widgets to hide the rank title.
* Added logs patterns for points deducted/revoked.
* Added ajax pagination to user earnings table on user profile screen.
* Fixed issue on actions when saving logs.
* Fixed limit of ranks listed at edit user profile screen.
* Fixed default ranks (lowest priority) are not look as earned at frontend.
* Added extra check to prevent award multiple times the same rank.
* Added the delete permanently action to logs.

= 1.3.5 =

* Fixed listener form add new comment when comments needs approval.
* Improvements on user profile earnings table.
* Added hook to register activity triggers excluded form activity limits (like earn points or ranks).
* Added database table check to avoid any warning.
* Added more parameters to ajax functions.
* Improve messages queries on custom tables (logs and user earnings).
* Improvements on admin area styles.

= 1.3.4 =

* Fixed [gamipress_achievements] load more visibility.
* Updated plugin headers to support WordPress provided translations (translate.wordpress.org).
* Improvements on admin area styles.
* Improvements on shortcode embedder fields parser.
* Improvements on assets enqueueing.
* Improvements on emails tags functions.
* Added hooks on emails functions to allow access to external functions.

= 1.3.3 =

* Added the parameter load_more to the [gamipress_achievements] shortcode to disable pagination.
* Added the field "Show the Load More button" to the GamiPress: Achievements widget to disable pagination.
* Added automatic check of flush permalinks to avoid issues with not found pages.
* Recovered the logs edit ability.
* Fixed bug where widgets are not showing correctly the stored value of checkboxes.
* Fixed typo on rank notice.
* Improvements on tabs workflow.

= 1.3.2.1 =

* Fixed wrong key check on rules engine.

= 1.3.2 =

* Added gamipress_get_shortcode_attributes trigger on shortcode embedder to allow third party extensions customize the shortcode attributes.
* Fixed issue where ranks are not correctly awarded.
* Fixed issue with earn points and reach rank activity triggers.
* Fixed emails send when step/rank requirement is the unique or the last one, because user will receive another email about the achievement/rank unlock.
* Fixed typo on emails default texts.
* Removed limit fields on ranks and points earn activity triggers to avoid confusions (always is limited to 1).
* Improvements on shortcodes embedder styles.
* Improvements on requirements UI functionality.

= 1.3.1 =

* New Feature "Rank Types": Added the ability to define unlimited user rank types, for example: rank, level, grade, etc.
* Added user ranks section on user profile.
* Added rank image size setting.
* Added rank earned/awarded logs patterns on settings.
* Added rank reached and rank requirement completion emails.
* New Feature: Allow achievements to be earned by reach a rank of specific type.
* New activity trigger: Reach a specific rank of a specific type.
* Added [gamipress_rank] and [gamipress_ranks] shortcodes.
* Added GamiPress: Rank and GamiPress: Ranks widgets.
* New activity trigger: Earn an amount of points.
* Added the new parameter columns on [gamipress_points] and [gamipress_points_types].
* Added the new field Columns on GamiPress: User points balance and GamiPress: Points Types widgets.
* Added rank types, ranks and rank requirements options on reset data tool.
* Added contextual help on rank type and rank edit screen.
* Fixed issue with selected points types on achievements.
* Fixed issue with plugins that outputs user profile fields at frontend (like bbPress).
* Fixed wrong hook parameters on points types template.
* Improvements on admin area styles.
* Improvements on achievements completion detection.
* Improvements on emails templates settings.
* Performance improvements on logs SQL queries.
* Performance improvements on rules engine checks.

= 1.3.0.1 =

* Fixed issue with email tags parser.

= 1.3.0 =

* New feature: Emails.
* Added email on achievement earned.
* Added email on step completed.
* Added email on points award completed.
* Added the parameter current_user to [gamipress_achievements], [gamipress_points] and [gamipress_logs] shortcodes.
* Added the field "Current User" to GamiPress: Achievements, GamiPress: Points and GamiPress: Logs widgets.
* Improvements on points awards/steps achievement unlock labels.
* Improvements on admin area styles.
* Reset public changelog (moved old changelog to changelog.txt file).
* Set GamiPress 1.3.0 as new stable release! :)

= 1.2.9.1 =

* Fixed wrong form tag on settings.

= 1.2.9 =

* New activity trigger added when a user post gets visited to award content authors.
* Fixed activation error for missing includes.
* Fixed wrong form tag on user profile.
* Fixed undefined index log id warning.
* Added extra checks to upgrades to meet if it should be applied or not on new installs.
* Improved add-ons api request.

= 1.2.8 =

* Performance update: Logs moved to a custom database table.
* Performance update: User earnings moved to a custom database table.
* Updated [gamipress_logs] orderby with the new options (with backward compatibility).
* Improvements on log pattern parser.
* Fixed priority issue with wpautop and gamipress_reformat_entries.
* Fixed an issue with add-ons license checks.
* Improvements on [gamipress_points] and [gamipress_points_types] type detection.
* Improvements on activity count functions.
* Fixed wrong user check on [gamipress_points].
* Fixed wrong license add-on check.
* User earnings ajax pagination on edit user screen.
* Completely rewrite all functions related to logs and user earnings to keep backward compatibility.
* Added logs-old.php template for [gamipress_logs] when database has not been upgraded yet.
* Updated tools to support new database changes.
* Completely reworked plugin upgrades to work with large upgrades.

= 1.2.7 =

* Performance update: User earnings moved to a custom database table.
* Fixed wrong points awards maximum earnings check.
* Fixed wrong missed points/achievement type on debug mode.

= 1.2.6 =

* Added tabs on [gamipress_achievements] shortcode embedder form.
* Added tabs on GamiPress: Achievements widget.
* Improvements on [gamipress_achievements] shortcode.
* Avoid warnings for older WordPress versions on log title generation.
* Added stronger checks on log title generation.
* Improvements on logs template.
* Improvements on admin style forms.

= 1.2.5 =

* Improvements on [gamipress_points] shortcode.
* Improvements on [gamipress_achievements] shortcode load more ajax functionality.
* Added RGBa ColorPicker as default library.

= 1.2.4 =

* Added the "columns" parameter to the [gamipress_achievements] shorcode.
* Added the "columns" option to the GamiPress: Achievements widget.
* Activity count query now compare dates inclusive.
* Improvements on activity count query to determine specific activities and retrieve the attached object ID.
* Improvements on frontend templates.
* Improvements on admin stylesheets.

= 1.2.3 =

* Improvements on achievement earned detection.
* Improvements on activity count, now engine check logs from the step/points award creation date.
* Fixed wrong parameter on points types template.
* Added more parameters to template hooks.

= 1.2.2 =

* New feature: Now is possible to set a maximum earnings to each points awards (or unlimited).
* Improvement: Turn quantity fields to number instead of text on requirements UI.
* Improvements on frontend assets enqueue.
* Improvements on admin area stylesheets.

= 1.2.1 =

* Fixed wrong requirement period limit check.
* Improvements on query to determine if an activity trigger has a listener.
* Fixed wrong bar check on licensing library.

= 1.2.0 =

* Improvement: Just show multisite fields if install is multisite.
* Improvements on admin area stylesheets.
* Removed backward compatibility for [gamipress_achievement] parameters show_filter and show_search.
* Reset public changelog (moved old changelog to changelog.txt file).
* No more bugs found, so, time to release this version as stable release! :)

= 1.1.9 =

* Frontend CSS improvements: Moved to flex boxes instead of floating boxes.
* Frontend CSS improvements: Style file size reduction thanks to the new CSS rules.
* Added option to prevent log triggered activities without a points awards/steps looking them.

= 1.1.8 =

* Added Recount Activity tool.
* Added stronger duplicity checks.
* Added more specific data in logs.
* Fixed user profile tables when no achievements found.
* Improvements on render achievement.

= 1.1.7 =

* Added Import/Export Settings tool.
* Internal improvements on tools.

= 1.1.6 =

* Full rework of the GamiPress user profile fields.
* Fix: Sometimes updating manually user points balance does not works.
* Improvements on admin area forms styles.

= 1.1.5 =

* New Feature: GamiPress tools page.
* Added the Clean Data tool.
* Added the Reset Data tool.
* Added the Server Info tool.
* Added the WordPress Info tool.
* Added the GamiPress Info tool.
* Added the Download System Info tool.
* Now, on delete an achievement or points type, the assigned steps/points awards will be removed too.
* Improvements and bug fixes on admin area styles and javascript functions.

= 1.1.4 =

* New hook to allow add-ons to be automatically updated if automatic updates are active.
* Improvements on admin area styles.

= 1.1.3 =

* Improvements on frontend CSS.
* Improvements on frontend content filters.
* Improvements on admin area javascript.

= 1.1.2 =

* Added automatic updates functionality.
* Added descriptions to all settings.
* Improvements on admin area forms styles.

= 1.1.1 =

* Fixed points/achievement type renaming functionality.
* Added Chinese translation by 张无忌 (Zhang Wuji).

= 1.1.0 =

* Added a lot of hooks on all plugin templates.
* Added contextual helps in all edit screens to help configure GamiPress.
* Added the Add-ons page.
* Improvements on daily visit listeners.
* Improvements on logs count functions.
* Improvements on logs forms.
* Improvements on admin area forms on small screens.
* Added install and upgrade functions.
* Reset public changelog (moved old changelog to changelog.txt file).

= 1.0.9 =

* Improvements on points/achievement types registration.

= 1.0.8 =

* Completely rework on points/achievement types admin views.
* Improvements on points/achievement types registration.
* Improvements on requirements UI.
* Improvements on content filters (more accurated).
* Improvements on rules engine (more restrictive).
* Improvements on admin styles.
* Added more hooks to improve extensibility.

= 1.0.7 =

* Compatibility with older PHP versions.
* Add-ons tab in settings (just visible when an add-on add some settings).

= 1.0.6 =

* Added a switchable debug mode.
* Debug functions to discover all registered points awards and steps.
* Debug functions to check points awards and steps connections with their respectives points type/achievement.

= 1.0.5 =

* Dashboard widget with GamiPress related information.
* New [gamipress_achievement] attribute: earners.
* New [gamipress_achievements] attribute: earners.
* [gamipress_achievements] attribute rename: show_filter -> filter.
* [gamipress_achievements] attribute rename: show_search -> search.
* Complete rework of the UI for edit Points Awards and Steps.
* Fix on user profile achievements tables.

= 1.0.4 =

* Improvements on settings API.
* Fix on [gamipress_achievements] shortcode ajax query by user.
* Fix on log pattern update functions.

= 1.0.3 =

* New dynamic template: Single Achievement.
* Improvements on content filters.
* Improvements on settings API to allow register group of settings.

= 1.0.2 =

* Improvements in settings page.
* New settings: Default logs patterns.
* New setting: Disable frontend Javascript.

= 1.0.1 =

* New settings API.
* New setting: Achievement image size.
* New setting: Disable frontend CSS.

= 1.0.0 =

* GamiPress earn 100 points to complete "Get approved on WordPress" achievement.