=== Events Optimizer ===
Contributors: o.heinrich, freemius
Tags: events-optimizer, ai, event-management, event-import, events-calendar
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 8.1
Stable tag: 2.5.0
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Donate link: https://www.events-optimizer.com/
Use AI to create event, venue, and organizer descriptions, import Google Events, enrich data, remove duplicates, and automate workflows.

== Description ==

Harness the power of AI to generate compelling and engaging descriptions for your events, venues, and organizers. Automatically import events from Google Events and effortlessly update address information, eliminating the frustration of managing incorrect or outdated details. Optimize your data with just a few clicks and remove duplicate venues or organizers with ease. Requires the Events Calendar Plugin.

= Main Features =
*   Improve venues with incorrect or incomplete information, such as missing ZIP codes, cities, provinces, or phone numbers.
*   Enhance organizers with incorrect or incomplete information, such as missing phone numbers, websites, or email addresses.
*   Intelligent duplicate detection and merging for venues and organizers
*   Improve events with incorrect or incomplete information, such as missing website links, cost, images, organizers, or venues.

= Unlock Premium features with Events Optimizer Pro =

= 🤖 AI-Powered Content Generation =
*   Create engaging event descriptions automatically using state-of-the-art AI models - in any language
*   Save hours of manually writing while maintaining quality and engagement
*   Set website context and target audience to create event descriptions that better match your audience and editorial focus
*   Access 60+ leading AI models through [OpenRouter](https://openrouter.ai/), including GPT-5.4, Claude Opus 4.7, and Google Gemini 3.1
*   One-click image import from Google Images for stunning visuals

= 📍 Smart Location Verification =
*   Auto-verify and enhance address data using Google Places
*   Get real-time business status updates (open, closed, temporarily closed)
*   Add rich location data including opening hours, photos, and reviews

= 🔍 Automated Event Discovery =
*   Find relevant events for your calendar on Google Events
*   Automatically import events

= ✨ Time-Saving Automation =
*   Smart duplicate detection for venues and organizers saves hours of manual cleanup
*   One-click data enhancement for venues and organizers

= 🛡️ Enhanced Security =
*   Protect your visitors with Google Safe Browsing security checks
*   Ensure all external URLs are valid, accessible, and secure
*   Automatically correct malformed, unreachable, redirected, or outdated URLs across imports, cleanup workflows, Google Places updates, organizer email discovery, and Find Cost checks
*   Validate email addresses automatically
*   Fix HTTP/HTTPS issues and handle redirects seamlessly

= 🚀 Guided Setup =
*   New 4-step Setup Guide helps you configure AI, context, Google Places, and DataForSEO in minutes
*   Built-in connection checks make setup faster and reduce configuration errors

= 🌍 International Localization Options =
*   Automatic phone number validation and normalization for venue and organizer data based on the selected phone format
*   Support for international phone formats and address standards
*   Local language selection for precise Google Places matching
*   Region-specific data formatting for global accessibility

Transform your events calendar into a powerful, automated event management system today!
Find more information on [our website](https://www.events-optimizer.com/).


= Supported AI providers and models in Pro =

Events Optimizer Pro supports more than 60 Large Language Models. New models are added regularly.

Supported providers include:

*   Anthropic Claude
*   Google Gemini
*   Groq
*   Mistral AI
*   OpenAI
*   OpenRouter
*   DeepSeek
*   Meta / Llama
*   Qwen

Examples of supported model families include GPT-4o, GPT-4.1, GPT-5.x, Claude Haiku, Claude Sonnet, Claude Opus, Gemini 2.5, Gemini 3.x previews, Mistral Large, Mistral Medium, Mistral Small, DeepSeek R1, DeepSeek V3, Qwen, and Llama models.

For the current model list, see the plugin settings and the [Events Optimizer documentation](https://www.events-optimizer.com/events-optimizer/settings/supported-ai-models/).


== Translations ==

Events Optimizer currently includes:

*   English
*   German
*   Spanish (AI translated)

You are welcome to help translate the plugin.
The free version can be translated on [translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/events-optimizer/).
To translate the Pro version, use the `.pot` file in the `languages` folder and contact us through the [Events Optimizer website](https://www.events-optimizer.com/).


= Documentation =
Find detailed setup manuals and more information on [our website](https://www.events-optimizer.com/documentation/).


== Screenshots ==
1. Optimize venues with invalid data
2. Identify duplicate venues and merge them 
3. Fetch venue data from Google Places - right within the venue form! (Pro)
4. Optimize organizers with invalid data
5. Identify duplicate organizers and merge them
6. Optimize events with invalid data 
7. General settings
8. API settings (Pro)


== Frequently Asked Questions ==

= What does Events Optimizer do? =
Events Optimizer helps you improve the quality of your event calendar in WordPress. It checks events, venues, and organizers for missing or incorrect data, helps you find duplicates, and supports you in keeping your event listings cleaner, more complete, and easier to manage.

= Do I need The Events Calendar plugin? =
Yes. Events Optimizer is built for [The Events Calendar](https://wordpress.org/plugins/the-events-calendar/) and requires it to manage event, venue, and organizer data. It also works with The Events Calendar Pro.

= Can I use Events Optimizer for free? =
Yes. The free version helps you check and clean event, venue, and organizer data. It also includes duplicate detection for venues and organizers.

= What does Events Optimizer Pro add? =
Events Optimizer Pro adds advanced automation and enrichment features, including AI-generated descriptions, Google Events import, Google Places data lookup, website and email checks, URL security checks, image search support, and guided setup workflows.

= Can Events Optimizer import events from Google Events? =
Yes. Events Optimizer Pro can import events from Google Events. You can create import profiles for different locations, languages, and search settings, making it easier to import relevant events for your website.

= Can the plugin generate event descriptions with AI? =
Yes. Events Optimizer Pro can generate descriptions for events, venues, and organizers. You can define your website context, target audience, tone, output format, and other settings, then review and edit the generated content before publishing it.

= Do I need API keys? =
Only for the Pro features that use external services. For example, AI-generated descriptions require an API key from a supported AI provider, Google Events import requires a DataForSEO API key, Google Places enrichment requires a Google Places API key, and URL security checks require a Google Safe Browsing API key.
You do not need any external API keys for the free cleanup and duplicate detection features.

= Which AI provider should I use? =
For most users, we recommend [OpenRouter](https://openrouter.ai/) because it gives you access to many AI models through one account and one API key. You can also use direct provider APIs such as [OpenAI](https://platform.openai.com/), [Anthropic](https://console.anthropic.com/), or [Google Gemini](https://console.cloud.google.com/marketplace/product/google/generativelanguage.googleapis.com).

= How does Events Optimizer help with duplicate venues and organizers? =
Events Optimizer can find likely duplicate venues and organizers and helps you review and merge them. This keeps your calendar cleaner and prevents the same place or organizer from appearing multiple times.

= Is there a limit to the number of events I can optimize? =
Events Optimizer does not set a fixed event limit.

= Where can I get support? =
Start with the [documentation](https://www.events-optimizer.com/documentation/). Events Optimizer Pro users can also use the dedicated support options on the [Events Optimizer website](https://www.events-optimizer.com/contact/).


== Installation ==

= Before you install =

Make sure [The Events Calendar](https://wordpress.org/plugins/the-events-calendar/) is installed and activated.

= Install from the WordPress dashboard =

1. Go to Plugins -> Add New.
2. Search for "Events Optimizer".
3. Click "Install Now".
4. Activate the plugin.

= Upload the plugin ZIP file =

1. Download the plugin ZIP file from WordPress.org or, for Pro, from the [Events Optimizer website](https://www.events-optimizer.com/).
2. Go to Plugins -> Add New -> Upload Plugin.
3. Select the ZIP file.
4. Click "Install Now".
5. Activate the plugin.

= Upload via FTP =

1. Download and unzip the plugin.
2. Upload the `events-optimizer` folder to `/wp-content/plugins/`.
3. Go to Plugins in your WordPress dashboard.
4. Activate Events Optimizer.

= Where do I find Events Optimizer? =
After activation, open WordPress Dashboard -> Events Optimizer.

= Events Optimizer Pro setup =

To use Pro features, configure the APIs you need under Events Optimizer settings. The guided setup helps you configure:

*   AI provider API keys
*   Website context and target audience
*   Google Places API (New)
*   DataForSEO
*   Google Safe Browsing

See the [documentation](https://www.events-optimizer.com/documentation/) for detailed setup instructions.


== Changelog ==

= 2.5.0 (15.05.2026) =
* Added automatic phone number validation and normalization for venue and organizer data based on the selected phone format (Pro)
* Added automatic website URL correction for malformed, unreachable, redirected, or outdated URLs across imports, cleanup workflows, Google Places updates, organizer email discovery, and Find Cost checks (Pro)
* Improved Find Cost with more accurate price detection, better currency handling, and fewer misleading results from unrelated or unclear prices (Pro)
* Improved blocked website detection so usable event pages with security widgets are no longer falsely marked as blocked (Pro)
* Fixed Writing Tone persistence in the Setup Guide and settings when using translated admin languages (Pro)
* Raised the minimum PHP requirement to 8.1

= 2.4.5 (14.05.2026) =
* Improved cost detection: the Find Cost button now uses the current website URL, detects price ranges, and automatically sets currency symbol and ISO currency code (Pro)
* Duplicate detection for venues and organizers is now available in the free version
* Improved Check & Clean Data performance by caching Google Places and URL validation results and reducing repeated database lookups
* Improved organizer email discovery so the Find Email Address button behaves consistently across organizer editing and data checks (Pro)
* Improved Import Profiles management by removing obsolete status filters and making bulk editing use Active/Inactive status

= 2.4.4 (13.05.2026) =
* Improved API key and credential security by encrypting stored values and hiding them by default
* Added a show/hide control for API keys and credentials on the settings page
* Added Google Images search to the Featured Image box when editing venues and organizers (Pro)
* Replaced duplicate detection sensitivity number fields with clearer percentage sliders
* Improved Google Places feedback when venues are not found
* Improved security and WordPress compatibility for admin output and URL handling

= 2.4.3 (13.05.2026) =
* Added a Google Images search option to the Featured Image box when editing events (Pro)
* Added a Google Images search option when checking events for missing or incorrect data (Pro)
* Improved the merge process for duplicate venues and organizers by automatically preselecting existing values for review
* Replaced the venue country text field with the standard country dropdown used by The Events Calendar
* Improved the settings pages with easier-to-understand descriptions and a clearer layout

= 2.4.2 (12.05.2026) =
* Migrated Google Safe Browsing from API v4 to v5
* Added "Find Email Address" button to Check & Clean Data → Organizers → Missing or incorrect data (Pro)

= 2.4.1 (11.05.2026) =
* Fixed admin menu not updating after license activation or deactivation
* Fixed phone number validation rejecting valid 6-segment international numbers (e.g. +49 1 23 45 67 89)
* Improved Freemius SDK integration to follow current SDK recommendations

= 2.4.0 (10.05.2026) =
* Added "Find cost" button on Manually Import Events and Check & Clean Data to automatically detect admission prices from event websites
* Added "Find Email Address" button to search organizer websites for email addresses during manual and bulk event imports
* Migrated Google Places lookups to the Google Places API (New) with configurable enrichment fields for fine-grained control over API costs
* Reorganized Google Events import settings for improved clarity, including default location and language presets
* Added clearer Google API activation guidance and consolidated missing-API error reporting
* Improved Settings page: Setup Guide section is hidden once completed; License section is hidden for Pro users
* Improved Check & Clean Data layout and status display for events, venues, and organizers
* Various wording and label improvements across Settings, Check & Clean Data, and Manually Import Events
* Fixed Bulk Import Events: Import Runs linked to deleted profiles no longer show broken links or invalid run actions

= 2.2.3 (09.05.2026) =
* Added option to automatically find an organizer's email address directly from their website on the Single Organizer page
* Improved wording and labels across Settings and Single Organizer / Venue pages for better clarity

= 2.2.2 (07.05.2026) =
* Improved WordPress.org release compatibility for the bundled Freemius integration

= 2.2.1 (03.05.2026) =
* Added a new 4-step Setup Guide for faster onboarding of new users
* Added website context and target audience settings for AI-generated event descriptions
* Added an optional Google Places details lookup for venues during bulk Google Events imports
* Updated AI models, including GPT-5.5, Claude Opus 4.7, Gemini 3.1 Pro (Preview), and Mistral Large 3
* Optimized workflow for manually adding Google Events
* Improved setup and settings usability with clearer guidance and labels
* Improved settings save performance and reliability
* Fixed an issue where no descriptions have been generated when using the Buld Import for Google Events
* Fixed country selection when loading venue data from Google Places and when importing Google Events in non-English languages
* Fixed potential security vulnerabilities - updating is highly recommended!
* Added an uninstall option to remove plugin data and settings
* Updated to Freemius SDK 2.13.1

= 2.1.1 (14.01.2026) =
* Fixed minor UI issues

= 2.1.0 (11.01.2026) =
* Added bulk import for Google Events
* Added import profiles for Google Events which allows individual import settings
* Moved import for Google Events to main menu
* Renamed validation of data menu in "Check & Clean data"
* Improved wording and button labels in the “Check & Clean Data” section for better clarity and usability.
* Fixed an issue where the “Generate description” button did not work in single event, venue, and organizer forms.
* Improved usability in settings pages by adding dropdown menüs for locations and language selection
* Repositioned the “Generate description” button above the editor for better visibility and usability.

= 2.0.0 (23.12.2025) =
* Moved Events Optimizer to the top-level menu in the WordPress dashboard for better visibility and easier accessibility
* Moved settings page to a dedicated submenu to improve performance and load times
* Separated and overhauled settings in several sections for easier access and better user experience
* Updated the free version to allow changing compare values for duplicate venues and organizers
* Extended role access selection from dropdown to checkboxes
* Fixed an issue where default compare values for duplicate venues and organizers were not set correctly
* Fixed an issue where the “Show Google events imported already” setting did not work as expected.
* Added dashboard warnings when required API keys are missing
* Updated German and Spanish translation


= 1.9.2 (02.12.2025) =
* Added AI models Google Gemini Flash 2.5, Gemini Flash Lite 2.5, Gemini Pro 2.5, Gemini Pro 3.0, Gemma 3 4B
* Added AI models OpenAI GPT 4.1, GPT 4.1 mini, GPT-5.0, GPT-5.1
* Added AI models Anthrophic Claude Sonnet 4.5, Haiku 4.5 and Opus 4.5
* Added AI models Mistral Medium 3.1, Mistral Small 3.2, Magistral Small 2506, Magistral Medium 2506
* Added AI model DeepSeek V3.2 exp
* Added AI model Meta LLaMA 4 Maverick
* Removed deprecated or outdated AI models: Google Gemini Flash 1.5 / Flash 2.0 / Flash 8b / Pro 1.5, Claude 3 Opus / Sonnet / Haiku, Mistral Nemo / Magistral, DeepSeek 3.2 , Groq -> LLaMA 3 8b / 70b3, Amazon Nova Light / Pro / Pemier 1.0
* Fixed some bugs with the AI model APIs so some of the models did not work anymore
* Moved all documentation to new website https://www.events-optimizer.com
* Updated to Freemius SDK 2.13.0
* Updated links to DataForSEO location code csv file (version from 27.10.2025)

= 1.9.1 (09.02.2025) =
* Added AI models Google Gemini Flash Lite 2.0, Gemini Flash 2.0 and Gemini Pro 2.0
* Added option to use emojis in AI generated descriptions
* Added translation explanations
* Updated German and Spanish translation

= 1.9.0 (05.02.2025) =
* Added OpenRouter API integration: Over 300 LLMs are available through OpenRouter! (30+ are already implemented and more to come!)
* Added AI models Deepseek R1 (nitro), Deepseek R1 (FREE!) and Deepseek V3 (via OpenRouter)
* Added AI models Qwen-Turbo, Qwen-Plus and Qwen-Max (via OpenRouter)
* Added AI models Amazon Nova Micro 1.0, Amazon Nova Lite 1.0 and Amazon Nova Pro 1.0 (via OpenRouter)
* Removed deprecated AI model: Google Gemini 1.0 Pro
* Removed AI models unuseful for text generation (Pixtral models are designed for coding): Pixtral Large, Pixtral 23
* Updated links to DataForSEO location code and language code csv file
* Updated readme.txt to reflect the latest changes
* Fixed an issue where option to add the content of an event, venue or organizer should be used for creating better descriptions was not used
* Optimized settings for LLMs

= 1.8.0 (27.01.2025) =
* Fixed an issue where venues with inactive business operation show active businesses as well
* Updated to Freemius SDK 2.11.0

= 1.7.9 (27.12.2024) =
* Added AI models available via Groq Cloud Platform: Google Gemma 2-9B-IT and Meta LLaMA 3-70B-8192, LLaMA 3-8B-8192, LLaMA 3.1-8B-Instant, and LLaMA 3.3-70B-Versatile

= 1.7.8 (24.12.2024) =
* Added Google Gemini 1.5 Flash-8B model
* Added Anthrophic Claude 3.5 Sonnet and Haiku models
* Added Mistral Mixtral Small, Ministral 3B, Ministral 8B, Pixtral and Pixtral Large models
* Removed deprecated AI models
* Updated to Freemius SDK 2.9.0

= 1.7.7 (19.08.2024) =
* Fixed an issue where non-administrator users were being locked out of the WordPress dashboard
* Updated link to DataForSEO location code csv file
* Removed deprecated OpenAI models
* Updated to Freemius SDK 2.7.4

= 1.7.6 (04.08.2024) =
* Optimized German translation
* Fixed an issue with the new settings option from the last version

= 1.7.5 (03.08.2024) =
* Added settings option to prefill the currency field with the standard currency of the events calendar

= 1.7.4 (30.07.2024) =
* Added Mistral Mixtral Large and Mixtral Nemo models
* Added OpenAI GPT-4o mini model
* Added Google Gemini 1.5 Flash model
* Removed deprecated AI models
* Fixed issue in error handling for Mistral API
* Added new modern user interface for buying the Events Optimizer Pro plugin
* Optimized translations for better internationalization
* Fixed issue where URL of new venue was not added properly when adding events from Google Events

= 1.7.3 (12.07.2024) =
* Updated to Freemius SDK 2.7.3
* Refactoring of the code to better separate the files of the free and pro version

= 1.7.2 (25.06.2024) =
* Added free Google AI model Gemini 1.5 Pro
* Added Mistral AI models Open Mistral 7B, Open Mixtral 8x7B, Open Mixtral 8x22B

= 1.7.1 (23.06.2024) =
* Added Anthrophic Claude 3.5 Sonnet model
* Added manual for Anthropic Console setup
* Updated the OpenAI models to the latest versions
* Optimized code for easier translations

= 1.7.0 (12.06.2024) =
* Added Anthrophic Claude 3 models Opus, Sonnet and Haiku

= 1.6.9 (02.06.2024) =
* Fixed error where new venue was not added properly when adding events from Google Events

= 1.6.8 (26.05.2024) =
* First version of Events Optimizer available in WordPress directory
* Fixed potential security vulnerabilities - updating is highly recommended!

= 1.6.7 (25.05.2024) =
* Added OpenAI model GPT-4o
* Fixed potential security vulnerabilities - updating is highly recommended!
* Added new prefix for all functions, actions, etc.
* Known error: new venue is not added properly when adding events from Google Events (issue of the DataForSEO API)

= 1.6.6 =
* Changes to migrate options data to new structure

= 1.6.5 =
* Fixed potential security vulnerabilities - updating is highly recommended!
* Changed internal function naming syntax for release in WordPress plugin directory

= 1.6.4 (04.05.2024) =
* Optimized the prompt to ensure AI descriptions generated with Google Gemini 1.0 Pro are formatted in proper HTML

= 1.6.3 (03.05.2024) =
* Added the option to select "- Only the administrator -" in the list of roles for the ability to use the Events Optimizer
* Optimized the prompt to generate better AI descriptions with Google Gemini 1.0 Pro
* Fixed potential security vulnerabilities - updating is highly recommended!

= 1.6.2 (02.05.2024) =
* Fixed bug: RAG works again
* Optimized prompts to generate descriptions by AI
* Fixed a bug where the operational status from Google Places was not shown or a warning was thrown in the venue and organizer list (Optimization with Google Places)
* Fixed a bug where warnings where thrown under certain circumstances in the organizer list (Optimization with Google Places)
* Updated to Freemius SDK 2.7.2

= 1.6.1 (29.04.2024) =
* Fixed bug in error handling of Google Gemini descriptions generation 
* Rearranged the settings page to make it clearer
* Known error: RAG implementation doesn’t work, but will be fixed soon

= 1.6.0 (26.04.2024) =
* Added free Google AI model Gemini 1.0 Pro to generate descriptions for events, venues or organizers
* Fixed bug in error handling of OpenAI descriptions generation

= 1.5.1 (21.04.2024) =
* Added option to use the content of the event, venue or organizer website for creating better AI generated descriptions (Retrieval-Augmented Generation)
* Optimized prompts for AI description generation
* Updated OpenAI models: gpt-4, gpt-4-1106-preview, gpt-4-turbo, gpt-4-turbo-preview, gpt-3.5-turbo, gpt-3.5-turbo-0301, gpt-3.5-turbo-0613, gpt-3.5-turbo-1106, gpt-3.5-turbo-16k
* Changed standard OpenAI model to gpt-4-turbo

= 1.5.0 (15.04.2024) =
* Added setting to give a selected role (in addition to to administrator) the ability to use Events Optimizer
* Fixed a bug where no results from Google Places were not displaying the corresponding error message (organizer and venues)

= 1.4.2 (14.04.2024) =
* Changed code when saving settings to avoid special characters are removed
* Fixed bug when searching for events with special characters created an error of the dataforseo API

= 1.4.1 (10.04.2024) =
* Updated to Freemius SDK 2.7.0
* Changed check of permissions. Only administrators are allowed  to use Events Optimizer
* Added feature to deactivate free Events Optimizer plugin when the Pro version is installed

= 1.4.0 (31.03.2024) =
* Added feature to generate description for organizers in optimization within Google Places list
* Fixed a bug where some fields of venues in optimization with Google Places list where not saved properly

= 1.3.0 (30.03.2024) =
* Added feature to generate description for venues in optimization within Google Places list
* Fixed bugs where generating descriptions for single venues and organizers didn't worked.

= 1.2.1 (28.03.2024) =
* Added new feature to show a list of all published venues currently not in business operation
* Added documentation how to setup Google APIs in the Google Cloud Console (see heinrich.biz)
* Fixed a bug where error handling did not work properly when generating description of venues and organizers

= 1.2.0 (24.02.2024) =
* Updated Google Safe Browsing to Version 4. API authentification is required now. Check your Google API settings!
* Deprecated legacy Google Safe Browsing for Events Optimizer Free (wasn't working reliable)
* Enhanced error handling for all APIs
* Changed API calls to the standard http Wordpress API (for Google APIs and ChatGPT)
* Optimized matching of states from Google Places to TEC fields
* Updated info links in the settings to make the set up of the APIs easier
* Removed unwanted characters and tags from descriptions produced by ChatGPT API

= 1.1.6 (18.02.2024) =
* Fixed potential security vulnerabilities - updating is highly recommended!
* Added Spanish translation (AI translated. Let me know if there are issues)
* Updated German translation
* Removed unnecessary title, article and section tags from event description generated by GPT-4
* When generating descriptions or data is retrieved from Google Places a status text is shown beside the button now
* Applied more best pratices on code

= 1.1.5 (17.02.2024) =
* Fixed a bug where the state of a venue was not correctly retrieved from Google Places (optimization with Google Places and single venue form)
* Added warning when WordPress website language is not equal to Events Optimizer language used for Google Places (leads to problems when retrieving data)
* Added the option to add the full organizer address into the WordPress HTML Editor (TinyMCE). Worked until now only for the regular text editor

= 1.1.4 (15.02.2024) =
* Fixed a bug where the state of a venue was not shown correctly when retrieved from Google Places
* Fixed a bug that lead to an error during optimization of venues with Google Places

= 1.1.3 (14.02.2024) =
* Optimized settings page for better experience

= 1.1.2 (13.02.2024) =
* Tested compatibility with php 8.3 (even though WordPress is only supporting php 8.2 officially and some TEC plugins are still throwing some warnings)
* Fixed a bug so that the settings page was corrupted

= 1.1.1 (13.02.2024) =
* Added option to select tone for ChatGPT generated output (e.g. informative, educational, enthusiastic)

= 1.1.0 (10.02.2024) =
* Fixed potential security vulnerabilities - updating is highly recommended!
* Overhaul and improvement of the whole code - if you find any issues or unexpected behaviour let me know please!
* Added OpenAI model gpt-4-0125-preview (latest GPT-4 model intended to reduce cases of “laziness” where the model doesn’t complete a task)
* Added OpenAI model gpt-3.5-turbo-1106 (latest GPT-3.5 Turbo model with improved instruction following and a maximum of 4,096 output tokens)
* Optimized event image name for SEO (image name = title of image)
* Fixed some bugs when adding images from Google Images (sometimes images were not able to be downloaded)
* Improved the process to add Google Images to Google Events.
* Fixed issue where images could not be added to events from Google Event
* Changed trial period from 3 days to 7 days
* Updated to Freemius SDK 2.6.2

= 1.0.22 (16.01.2024) =
* Added OpenAI model gpt-4-0613 (snapshot of gpt-4 from June 2023) to generate descriptions.
* Optimized output created by OpenAI model
* Updated and optimized the settings tabs
* Overhaul of German translations
* Fixed some minor UI obstacles

= 1.0.21 (16.01.2024) =
* Fixed potential security vulnerabilities - updating is highly recommended!
* Added feature to generate event description with OpenAI inside Google events list
* Added resolution to images inside Google events list
* Code overhaul of duplicate organizers and venues

= 1.0.20 (08.01.2024) =
* Fixed potential security vulnerabilities - updating is highly recommended!
* Added name of organizer to Google Places optimization
* Fixed some minor UI obstacles
* Tested compatibility with php 8.2
* Further preparation for upload in WordPress directory

= 1.0.19 (23.12.2023) =
* Fixed potential security vulnerabilities - updating is highly recommended!
* Fixed a bug that prevented to run Events Optimzer Pro properly (DataForSEO REST client was missing)
* Fixed a bug where the featured image of a new event was not properly saved
* Updated to Freemius SDK 2.6.1 (to be fully compatible with Wordpress 6.3.2)
* Removed OpenAI models text-davinci-002 and text-davinci-003 (deprecated by OpenAI on Jan 4th 2024)

= 1.0.18 (26.11.2023) =
* Updated to Freemius SDK 2.6.0 (please update asap due to security issues!)
* Added OpenAI model GPT-4 turbo (1106 preview with data up to April 2023!) to generate descriptions. Be aware that the generated text is still a bit buggy!
* Info: OpenAI models text-davinci-002 and text-davinci-003 will be deprecated by OpenAI on Jan 4th 2024!
* Updated DataForSEO location codes (there are 126,326 locations available)
* Updated links to documentation pages of OpenAI

= 1.0.17 (13.07.2023) =
* Updated DataForSEO location codes (there are 126,375 locations available now!)
* Updated to Freemius SDK 2.5.9 (please update asap due to security issues!)

= 1.0.16 (06.05.2023) =
* Added more search options (= little icons) within forms for invalid data and optimization with Google Place
* Fixed a bug where data was shown in venue optimization with Google Places even no result found
* Updated DataForSEO locations codes (not all locations are supported by Google)
* Updated German translation

= 1.0.15 (02.05.2023) =
* Change to hide the "Generate description" button in the single event form as well (when activated in the settings)
* Fixed a bug where the tool tip in the single event form was not showing up properly

= 1.0.14 (01.05.2023) =
* Changes to eliminate warnings in the browser's console when using PHP 8.x
* First version to upload into the WordPress directory

= 1.0.13 (01.05.2023) =
* Fixed a bug in the free version that crashed the plugin when checking for invalid URLs

= 1.0.12 (01.05.2023) =
* Prepared plugin for upload to the WordPress directory (changed directory structure)
* Fixed some minor UI obstacles
* Fixed a bug that causes adding images from Google Images was not working

= 1.0.11 (30.04.2023) =
* Fixed a bug when the state was not set when fetching data from Google Places for venues and organizer in USA
* Updated to Freemius SDK 2.5.7

= 1.0.10 (27.04.2023) =
* Added the option to add Rating and Current Opening Hours fields to the single organizer form

= 1.0.9 (24.04.2023) =
* Added the option to hide "Generate description" buttons in the single venue and organizer form

= 1.0.8 (09.04.2023) =
* Fixed a bug where HTML tags where unnecessarily removed from the organizer description
* Changes to support php 8.x. 

= 1.0.7 (09.04.2023) =
* Fixed a bug where fetching data from Google Places in the single venue / organizer didn't worked

= 1.0.6. (08.04.2023) =
* Fixed a bug related to ignored objects that causes a crash of the plugin
* Fixed a bug that causes the plugin to crash when migrating old data structure (after activating the plugin)
* Removed the validation for fields with content less than 4 characters
* Changes to support php 8.x

= 1.0.5 (08.04.2023) =
* Fixed a bug where for some countries Google Places delivered the ZIP in a different field (means ZIP was not set in Events Optimizer)
* Changes to eliminate warnings in the browser's console when using PHP 8.x

= 1.0.4 (04.04.2023) =
* Updated to Freemius SDK 2.5.6
* Fixed a bug where the country was not saved in the single venue form after fetching data from Google Places
* Fixed a bug where the city was not set in the single venue form when fetching data from Google Places (Google is using different fields for the city!)

= 1.0.3 (31.03.2023) =
* Fixed a bug where the country was not set in the single venue form when fetching data from Google Places
* Fixed a bug when a warning was thrown in the organizer venue form while fetching data from Google Places

= 1.0.2 (30.03.2023) =
* Changed standard OpenAI model to GPT-4 as the quality of output is better (even it's slower) 
* Fixed bug that caused a crash with php 8.x when showing the "Generate description" buttons

= 1.0.1 (26.03.2023) =
* Updated to Freemius SDK 2.5.5

= 1.0.0 (25.03.2023) =
* Added OpenAI models GPT-3.5 turbo and GPT-4 to generate descriptions
* Added OpenAI settings to select text model
* Removed OpenAI setting for amount of words since the model is ignoring it anyway 
* Changed plugin versioning to WordPress standard (major.minor.bugfix)

= 0.98 (18.03.2023) =
* Fixed a bug that caused the list of ignored objects was not updated when an object was trashed
* Updated German translation

= 0.98 (18.03.2023) =
* Fixed a bug related to Geolocation address information when adding an event from Google events
* Updated link of Google Events location code CSV file
* Removed unnecessary Java script file

= 0.97 (18.03.2023) =
* Fixed a bug that caused the plugin to crash when showing an event, organizer or venue in the backend post editor when using a page builder like Divi, Elementor, etc.

= 0.96 (14.03.2023) =
* Fixed a bug that caused the plugin to crash when showing an event, organizer or venue in the backend post editor

= 0.95 (11.03.2023) =
* Improvement for SEO: Image title is sanitized and alternative text is added to event image when uploaded
* Refactoring of code: creation of object_id
* Optimized UI for getting events from Google Events
* Updated to Freemius SDK 2.5.4.2

= 0.94 (11.03.2023) =
* New feature added (Events Optimizer Pro): Automatically generate descriptions for events with OpenAI/ChatGPT (beta!)
* Moved buttons to generate descriptions above editor to save space
* Changed description buttons to normal button as there should be only one primary button per form
* Updated German translation

= 0.93 (09.03.2023) =
* Changed format when saving GeoAddress of venue to avoid unnecessary warning from Events Calendar 
* Refactoring of code (replaced getElementsByName with getElementById for better readabilty)

= 0.92 (08.03.2023) =
* Increased maximum amount of tokens to 2048 and words to 1500 to increase quality of generated descriptions 
* Fixed a bug not showing when searching for Google Images
* Overhaul of the German translation

= 0.91 (25.02.2023) =
* Optimized check to recognize non-reachable URLs with paths after the domain-name as well (e.g. example.com/page)
* Added a check if phone numbers have correct international format (e.g. +49 123 456789, 0049 (0) 123 45678, 0123 45678, etc)

= 0.90 (21.02.2023) =
* Fixed a bug where the number of words was not defined while generating descriptions for organizers
* Fixed a bug where headings for description was not added always
* Changed descriptions for venues and organizers that no additional h1-heading will be added (not good for SEO)
* Removed unnecessary debugging information from error log

= 0.89 (19.02.2023) =
* Optimized prompt to generate venue and organizer descriptions
* Added options for FAQ, headings and HTML output for venue and organizer descriptions
* Added option to define the length of the venue and organizer description
* Added option to replace or add to existing content for venue and organizer descriptions

= 0.88 (07.02.2023) =
* Optimized aspect ratio for output of Google Images
* Fixed bug when saving venues (wrong attributes for GeoAddress field)
* Optimized sanitizing of strings for better security

= 0.87 (04.02.2023) =
* Massively increased performance when finding duplicate venues or organizers

= 0.86 (03.02.2023) =
* Improved description generation algorithm to avoid creating false information
* Small UI improvements in the settings tab

= 0.85 (02.02.2023) =
* Updated German translation
* Small improvements to generate better descriptions with OpenAI/ChatGPT

= 0.84 (01.02.2023) =
* New feature added (Events Optimizer Pro): Automatically generate descriptions for venues with OpenAI/ChatGPT (beta!)

= 0.83 (31.01.2023) =
* New feature added (Events Optimizer Pro): Automatically generate descriptions for organizers with OpenAI/ChatGPT (beta!)

= 0.82 (28.01.2023) =
* Fixed bug where HTML markups in content got unnecessarily removed when merging venues or organizers

= 0.81 (11.12.2022) =
* New feature added (Events Optimizer Pro): Add images for events from Google images

= 0.80 (08.12.2022) =
* Fixed a bug where events could not been ignored or added

= 0.79 (05.12.2022) =
* New feature added (Events Optimizer Pro): Add events from Google Events automatically
* Fixed a bug when verifying URLs with missing http / https
* Event start / end date can now be edited in the "Events with invalid data" form
* Single venue form: Longitude and Latitude is now added from Google Places as well
* Added search options (= little icons) for phone number
* Complete overhaul of the German translation
* Check if Events Calendar plugin is installed and active before activating Events Optimizer
* Smaller bugfixes to eliminate warnings in debug.log
* Updated to Freemius SDK 2.5.2

= 0.78 (07.11.2022) =
* Improved search options (= little icons) within invalid data forms for better clean-up workflow
* Fixed error not finding all duplicate venues and organizers

= 0.77 (03.11.2022) =
* New feature added (Events Optimizer Pro): Option to ignore fields when searching for invalid data
* Added and updated German (informal) language of Freemius SDK

= 0.76 (30.10.2022) =
* New security feature added (Events Optimizer Pro): Verify URLs on missing https / http
* New security feature added (Events Optimizer Pro): Verify if URLs are redirected or permanently moved 
* Enhanced maintenance of ignored objects list: individual objects can now also be deleted

= 0.75 (20.10.2022) =
* New feature added (Events Optimizer Pro): Security check if websites are unsafe possibly (using Google Safe Browsing) 
* Fixed error when using custom list of countries

= 0.74 (19.10.2022) =
* Small fix in German translation
* Small fix in invalid events

= 0.73 (19.10.2022) =
* New feature added (Events Optimizer Pro): button to ignore objects - perfect for false positive matches!
* Complete overhaul of the analysis process to increase performance. 
* Fixed some bugs where not all invalid objects would be displayed
* Updated URL for button to buy Events Optimizer Pro
* Optimized table view on devices with large screens

= 0.71 (08.10.2022) =
* Extended the fetching of data from Google Places in single organizer form: address data can now be filled in additional custom fields
* Updated Link to Google Places documentation
* Excluded CSS to external file
* Improved search options (= little icons) within invalid data forms for better clean-up workflow

= 0.69 (05.10.2022) =
* New feature added (Events Optimizer Pro): fill a custom field with the full address within the single organizer form (with Google places data)
* Improved table view for small mobile devices

= 0.68 (04.10.2022) =
* New feature added (Events Optimizer Pro): fetch organizer data via Google Place from within the single organizer form
* Added more search options (= little icons) within invalid data forms for better clean-up workflow

= 0.67 (02.10.2022) =
* Added some more German translations
* Fixed path to Events Calendar settings in welcome message after installation (has changed in Events Calendar V6.x )
* Fixed descriptions of plugin in readme.txt to display in WordPress plugin repository
* Added Events Optimizer logo to display in WordPress plugin repository

= 0.66 (02.10.2022) =
* Further changes to support php 8.x. Fixed issue when searching for duplicate venues and organizers.

= 0.65 (30.09.2022) =
* New feature added (Events Optimizer Pro): fetch venue data via Google Place from within the single venue form

= 0.64 (13.09.2022) =
* Updated to Freemius SDK 2.4.5 to support php 8.x

= 0.63 (01.09.2022) =
* Changes to support php 8.x

= 0.62 (01.06.2021) =
* Initial release.
