=== Events Optimizer ===
Contributors: o.heinrich, freemius
Tags: events-optimizer, ai, event-management, event-import
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 8.0
Stable tag: 2.1.1
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 automatically engaging event, venue & organizer descriptions. Import Google Events & ensure accurate addresses via Google Places.
== 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.
*   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
*   Access 30+ leading AI models through [OpenRouter](https://openrouter.ai/), including GPT-5, Claude 4.5 Sonnet, and Google Gemini 3.0
*   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)
*   Intelligent duplicate detection and merging for venues and organizers
*   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 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
*   Validate email addresses automatically
*   Fix HTTP/HTTPS issues and handle redirects seamlessly

= 🌍 International Localization Options =
*   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 Models (Pro) =

Over 30 Large Language Models are supported by Events Optimizer Pro. New models are regularly added.

Anthropic
* Claude Opus 4.5
* Claude Haiku 4.5
* Claude Sonnet 4.5

Google
* Gemini 2.5 Flash
* Gemini 2.5 Flash Lite
* Gemini 2.5 Pro
* Gemini 3.0 Pro (Preview)
* Gemma 3 4B-IT

OpenAI
* GPT-4
* GPT-4 Turbo
* GPT-4o
* GPT-4o Mini
* GPT-4.1
* GPT-4.1 Mini
* GPT-5

Meta (Llama / Groq)
* Llama 3.1-8B Instant (Groq → „llama-3.1-8b-instant“)
* Llama 3.3-70B Versatile (Groq → „llama-3.3-70b-versatile“)
* Llama 3 70B Instruct (nitro)
* Llama 3 8B Instruct
* Llama 3.1 8B Instruct (nitro)
* Llama 4 Maverick

DeepSeek
* DeepSeek R1
* DeepSeek R1 (nitro)
* DeepSeek V3.2-Exp
* DeepSeek Reasoner V3.2-Exp

Mistral AI
* Ministral 3B
* Ministral 8B
* Mistral Small 3.2 (24B)
* Mistral Medium 3.1
* Mistral Large 24.11
* Magistral Small 2506
* Magistral Medium 2506

Qwen
* Qwen Turbo
* Qwen Plus
* Qwen Max


= Translations =
*   English
*   German
*   Spanish (AI translated)

You are welcome to help translate the plugin translation.
The free version can be translated on [translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/events-optimizer/).
To translate the Pro version feel free to use the .pot file in the languages folder and get in contact with us on [our 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 ==

= How do I get started with Events Optimizer? =
Simply install the plugin, activate it, and configure your API keys and preferences in the settings. You can start optimizing your events, venues, and organizers right away.

= Can I try Events Optimizer before purchasing the Pro version? =
Yes, you can try the free version of Events Optimizer to explore its features for 7 days. Upgrade to the Pro version to unlock premium features and advanced capabilities.

= Do I need the Events Calendar plugin to use the Events Optimizer? =
Yes, you need to download the [Events Calendar](https://wordpress.org/plugins/the-events-calendar/) plugin for free to use the Events Optimizer. It works with the Events Calendar Pro plugin as well.

= Which AI model API key do you recommend? =
We recommend the [OpenRouter API](https://openrouter.ai/). It provides seamless access to over 300 Large Language Models, including more than 30 models integrated into Events Optimizer. OpenRouter charges only a small service fee of just 0.5%.

= Do I need a DataForSEO API key to automatically add events? =
Yes, start your free trial on the [DataForSEO website](https://dataforseo.com/?aff=142846) (Affiliate Link).

= Do I need a Google Places API key to automatically optimize address data? =
Yes, get it for from the [Google Developer website](https://console.cloud.google.com/marketplace/product/google/places-backend.googleapis.com). Google offers $200 free credits per month.

= Do I need an OpenAI API key to automatically add descriptions of events, venues, and organizers with GPT-4, or GPT-4o or GPT-5? =
Yes, get started on the [OpenAI website](https://platform.openai.com/).

= Do I need an Anthropic API key to automatically add descriptions of events, venues, and organizers with Claude =
Yes, get started on the [Anthropic website](https://console.anthropic.com/).

= Do I need an DeepSeek API key to automatically add descriptions of events, venues, and organizers with DeepSeek? =
Yes, get started on the [DeepSeek website](https://platform.deepseek.com/).

= Do I need a Google Generative Language API key to automatically add descriptions of events, venues, and organizers with Google Gemini Pro? =
Yes, get it from the [Google Cloud Console](https://console.cloud.google.com/marketplace/product/google/generativelanguage.googleapis.com). Google offers $200 free credits per month.

= Do I need a Google Safe Browsing API key to automatically perform security checks on website URLs for potential risks? =
Yes, get it for free from the [Google Cloud Console](https://console.cloud.google.com/marketplace/product/google/safebrowsing.googleapis.com).

= How does Events Optimizer handle duplicate entries? =
Events Optimizer intelligently detects and merges duplicate venues and organizers, ensuring your data remains clean and accurate.

= Is there a limit to the number of events I can optimize? =
There is no limit to the number of events you can optimize with Events Optimizer.

= Can I customize the AI-generated descriptions? =
Yes, you can select from different options in the settings page (e.g. HTML output, FAQ, tone, emojis). When created you can review and edit AI-generated descriptions before publishing them, ensuring they meet your specific requirements and tone.

= What kind of support is available for Events Optimizer Pro? =
We offer comprehensive support through our documentation, FAQs, and dedicated support via mail and chat. You can reach out to us anytime for assistance.


== Installation ==

Ensure the [Events Calendar](https://wordpress.org/plugins/the-events-calendar/) plugin is already installed.

Installing the plugin is easy. Just follow one of the following methods:

= Via WordPress Dashboard =
1. Click on ‘Add New’ in the plugins dashboard
2. Search for ‘Events Optimizer’
3. Click ‘Install Now’ button
4. Activate the plugin from the same page or from the Plugins dashboard

= Via uploading the plugin to WordPress dashboard =
1. Download the plugin to your computer from [our website](https://www.events-optimizer.com/) (Pro) or from the WordPress Plugin Directory
2. Click on ‘Add New’ in the plugins dashboard
3. Click on ‘Upload Plugin’ button
4. Select the zip file of the plugin that you have downloaded to your computer before
5. Click ‘Install Now’
6. Activate the plugin from the Plugins dashboard

= Via FTP upload =
1. Download the plugin to your computer from [our website](https://www.events-optimizer.com/) (Pro) or from the WordPress Plugin Directory
2. Unzip the zip file, which will extract the 'events-optimzer' directory
3. Upload the 'events-optimzer' directory (including all subdirectories) to the /wp-content/plugins/ directory in your web space
4. Activate the plugin from the Plugins dashboard

= Where will the plugin menu be displayed? =
The plugin page can be accessed via 'Dashboard' -> 'Events Optimizer' 

= Additional Requirements for Pro Version =
To use all features of the Events Optimizer Pro version additional APIs are used. 
To setup them up have a look in the [documentation](https://www.events-optimizer.com/documentation/).

* Access to AI models for content generation, e.g. via [OpenRouter](https://openrouter.ai/) offers more than 300 models
* Location verification and enhancement: [Google Places API](https://console.cloud.google.com/marketplace/product/google/places-backend.googleapis.com)
* Automated event discovery and import: [DataForSEO](https://dataforseo.com/?aff=142846) (Affliate Link)
* URL security verification: [Google Safe Browsing](https://console.cloud.google.com/marketplace/product/google/safebrowsing.googleapis.com) 


== Changelog ==

= 2.1.1 =
* Fixed minor UI issues

= 2.1.0 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* Fixed an issue where venues with inactive business operation show active businesses as well
* Updated to Freemius SDK 2.11.0

= 1.7.9 =
* 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 =
* 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 =
* 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 =
* Optimized German translation
* Fixed an issue with the new settings option from the last version

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

= 1.7.4 =
* 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 =
* 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 =
* 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 =
* 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 =
* Added Anthrophic Claude 3 models Opus, Sonnet and Haiku

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

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

= 1.6.7 =
* 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 =
* Optimized the prompt to ensure AI descriptions generated with Google Gemini 1.0 Pro are formatted in proper HTML

= 1.6.3 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* Optimized settings page for better experience

= 1.1.2 =
* 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 =
* Added option to select tone for ChatGPT generated output (e.g. informative, educational, enthusiastic)

= 1.1.0 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* Fixed a bug in the free version that crashed the plugin when checking for invalid URLs

= 1.0.12 =
* 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 =
* 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 =
* Added the option to add Rating and Current Opening Hours fields to the single organizer form

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

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

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

= 1.0.6. =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* Updated to Freemius SDK 2.5.5

= 1.0.0 =
* 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 =
* Fixed a bug that caused the list of ignored objects was not updated when an object was trashed
* Updated German translation

= 0.98 =
* 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 =
* 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 =
* Fixed a bug that caused the plugin to crash when showing an event, organizer or venue in the backend post editor

= 0.95 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* Massively increased performance when finding duplicate venues or organizers

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

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

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

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

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

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

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

= 0.79 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* Small fix in German translation
* Small fix in invalid events

= 0.73 =
* 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 =
* 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 =
* 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 =
* 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 =
* 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 =
* Further changes to support php 8.x. Fixed issue when searching for duplicate venues and organizers.

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

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

= 0.63 =
* Changes to support php 8.x

= 0.62 =
* Initial release.
