= 3.2.19 = * Resolve svn problem causing missing files. = 3.2.18 = * Security: Fixes reflected XSS flaw in admin. Props to @erwinr and WPScan. = 3.2.17 = * Bug fix: Add parameter for required fields handling to ignore during imports. * Add filter handling calendar URLs when using Polylang or WPML. = 3.2.16 = * Bug fix: Check for undefined objects in localization, not for undefined object props. * Change: Set parameter for location autocomplete switchover to 50 instead of 25 locations. * Change: Tweak directory removal process slightly. = 3.2.15 = * Bug fix: Hide event details section if no fields are visible for section. * Bug fix: Update localization to correct usage of l10n parameter. * Bug fix: Location AJAX query executed function that only existed in Pro. = 3.2.14 = * Bug fixes: Misc. type casting issues. * Add filters `mc_filter_events` to filter results of main event queries. * Add $args array to `mc_searched_events` filter parameters. * Avoid running My Calendar core functionality through My Calendar's own hooks. * When using REST API, variables are not submitted in a POST query. * [Performance] Move custom location query into object creation to reduce DB calls. * Use try/catch in mc-ajax.js to handle case where href does not contain a full URL. * Autocomplete support for locations in admin. * Reset select elements in My Calendar nav to inline. * Minor refactoring in settings pages. = 3.2.13 = * Bug fix: Using embed targets is more complicated than expected; disable by default. Enable with 'mc_use_embed_targets' filter. * Bug fix: Strip embed from parameters when building links (when embed target enabled.) = 3.2.12 = * Bug fix: Don't use embed target link when AJAX disabled. * Improvement: Add AJAX navigation into browser history & address bar. = 3.2.11 = * Bug fix: switching to week view display broken. * Bug fix: links to template help pointed to old location for help. * Bug fix: AJAX nav pulled height from first rendered calendar, not current navigating calendar. * Change: filter to pass custom notices for front end submissions and editing. * Remove fallback function for is_ssl() * Improve conflicting event errors when the conflicting event is still unpublished. * Add custom template to pass a calendar that's embeddable via iframe. * Bug fix: Multisite environments need to use navigation on current site, not from remote site. = 3.2.10 = * Change: Fallback text should have a stylable wrapper. * Bug fix: Missing translatable string. * Bug fix: When multiple categories selected, events in more than one category would appear multiple times. * Bug fix: Missing space in MySQL filters in event manager. * Bug fix: PHP Notice thrown in location manager. * Bug fix: Add note to open events link field if no URI configured. * Layout fix: Ensure there's always a space between date & time. = 3.2.9 = * Bug fix: Additional of required fields testing erased error messages generated prior to required fields testing. * Bug fix: If an individual occurrence title is edited, event permalinks show the single change on all events. * Bug fix: Prev/next event links don't include unique event IDs. * Bug fix: Remove irrelevant arguments from prev/next event link generation. * Bug fix: Ignore templates if no data passed. = 3.2.8 = * Bug fix: Extraneous screen-reader-text summary generated in event views. * Bug fix: Fixes to missing parameters in Schema.org microdata. * Bug fix: Incorrect type comparison caused custom templates not to render in single event view. * New feature: Default location. = 3.2.7 = * Bug fix: Prevent events from being created without categories. * Bug fix: Ensure category relationships are deleted when related events are deleted. * Add handling for seeing & managing events that are invalid. * Add styles for invalid rows. = 3.2.6 = * Added filter to change date format on calendar grid. * New filter for modifying user selection output. * Bug fix: only check for get_magic_quotes_gpc() if below PHP 7.4 * Bug fix: invalid query in mc_get_locations() if arguments passed as array. = 3.2.5 = * Bug fix: CSV exported text fields contained newline characters. = 3.2.4 = * Bug fix: Permissions issue caused by variable type mismatch. = 3.2.3 = * Bug fix: 3.2.2 created multiple post types with the same slug, triggering 404 errors. * Bug fix: Templates could return the name of the template if template empty/missing. = 3.2.2 = * Bug fix: Curly brace offset access deprecated * Bug fix: Make next/prev post link arguments optional. * Bug fix: Template queries could return an empty template. * Change: Remove trashed events from default events list. = 3.2.1 = * PHP Notice: undefined variable. * Bug fix: screen options not saving. * Bug fix: Accidental auto-assigning of first category to events when editing. = 3.2.0 = * Auto-toggle admin time format if display time format set to European format. * Show API endpoint when API enabled. * Add alternate alias for API endpoint. * Add style variables with category colors to style output. * Add color output icon with CSS variables in style editor. * Add new default stylesheet: Twentytwenty.css * Move permalink setting to general settings panel. * Change event timestamps to use a real UTC timestamp for reference. * Switch from using date() to gmdate(). * Update Pickadate to 3.6.4. Resolves some bugs, but introduces an accessibility issue. * Customizations to Pickadate 3.6.4 to repair accessibility * don't move focus to picker * add 'close' button to time picker. * Switch Pickadate to classic theme (modified). * Improvements to output code layout. * Eliminate empty HTML wrappers in content. * New filter: mc_get_users. Use custom arguments to get users. * New filters: mc_header_navigation, mc_footer_navigation * New template tags: {userstart}, {userend} - date/time in local users timezone. * Bug fix: Misc. ARIA/id relationships broken. * Bug fix: remote locations sometimes pulled from local database. * Bug fix: Long-standing issues in user input settings. * Bug fix: Don't duplicate .summary values. * Bug fix: Only render one close button in mini calendar. * Collapse 'View Calendar' and 'Add Event' adminbar menus into a single menu. * Remove upgrade path from 2.2.10. * Remove .mc-event-visible from style output. Unused since 2011. * Remove numerous deprecated functions. * Conformance with latest WordPress PHPCS ruleset. = 3.1.18 = * Add filters to 'Add to Google Calendar' link: mc_gcal_location & mc_gcal_description * Add 'nofollow' to links to past events. * Include recurrence info in post meta box. * Change limit on adding occurrences from 20 to 40. * Minor code refactoring. = 3.1.17 = * Bug fix: comma misplaced in mc_list_title_title. * Provide special handling in cases where multiple categories are enabled but selector is passed a non-array value. = 3.1.16 = * Bug fix: restricting styles & JS to specific pages broken by strict type checks. * New filter: mc_list_title_title = 3.1.15 = * Bug fix: List of access features produced empty UL if no results. * Bug fix: Always produce a class on event accessibility selection list. * Bug fix: Docs error in describing custom files directory. * Add: support passing multiple site IDs into the calendar shortcode in multisite. = 3.1.14 = * Bug fix: Unescaped event title in HTML output. * Bug fix: Improper saving of Edit All Categories permissions in user profile. * New: [my_calendar_next] shortcode. = 3.1.13 = * Bug fix: If plugin name is translated, script references were broken. * Bug fix: If no holiday category assigned, Today's Events widget will return empty when category limits set. * New filter: allow events post type to be made searchable. (Not recommended.) * New: Support 'search' parameter in shortcode & URL parameters for main view. * Remove option to disable max contrast category names. = 3.1.12 = * Bug fix: User-specific category permissions didn't handle unset (default) values. * Bug fix: missing row closure element when weekends not displayed. = 3.1.11 = * New filter on mc_user_permissions operated on wrong variable. = 3.1.10 = * SECURITY FIX: Unauthenticated XSS scripting vulnerability. Update immediately. Thanks to Andreas Hell. * Support for defining individual categories as having no category icon. = 3.1.9 = * Undefined variable notice. * Disable Yoast canonical URL output on single events * Use same time variable in templates & in main layout. * Using default title template and empty time text, don't display unneeded colon. = 3.1.8 = * Bug fix: 'event_begin' is not always a string, so 'mc_event_date' not always registered correctly. * Update 'sortable' code to be prepared for My Calendar Pro 1.9.0. * Add 'mc_date_format()' function to get appropriate date format * Minor settings design changes. = 3.1.7 = * Add meta field '_mc_event_date' for use in My Tickets * Add option to disable output link using an explicit option. * Change the JS so popups are only attached to links. * Better UI with custom & deleted occurrences in recurring events. * Bug fix: sessions should only be started if a search has been performed. = 3.1.6 = * Bug fix: If a category name was blank, it would automatically be filtered to by upcoming events lists. * Bug fix: Show print view as list if main view is list. * Bug fix: Strip HTML tags from aria-label attributes * Bug fix: .details needs position: relative in twentyfifteen stylesheet * Adjust tested to value to 5.1 = 3.1.5 = * Bug fix: PHP error checking broken due to session creation = 3.1.4 = * Bug fix: typo in category string parameter for ical output = 3.1.3 = * New filter: 'mc_list_titles_separator' * Bug fix: Help support data not displayed. * Override content overflow in Twentynineteen * Add support for iCal format in API exports = 3.1.2 = * Bug fix: Twentyeighteen styles missing from template directory * Bug fix: Declare width on th as well as td * Bug fix: optgroup close element broken * Bug fix: Shortcode generator fixes. * Bug fix: Handle case where hidden categories are not an array in event manager. * Bug fix: If template tag value contains only whitespace, do not render before & after attributes. * Bug fix: Handle form restrictions in KSES introduced in WP 5.0.1. * Bug fix: check whether PHP sessions are enabled before attempting to start * Change: Only render export links in search results if enabled in main settings * Change: [UI] Move stylesheet selector into sidebar * Change: Allow target attribute on links. * Change: Add label to links that open in new tab. = 3.1.1 = * Bug fix: unspamming event_ID passed incorrect variable name * Bug fix: Don't run spam check on users with mc_add_event * Bug fix: Users with mc_add_event should not be able to trash other's events. * Bug fix: Refine permissions; add mc_publish_events allowing users to publish own events without access to others * Bug fix: Refine permissions; don't display links that users can't use. = 3.1.0 = * Add feature (by Josef Fällman): Print & export view for search results. * New filter: mcs_check_conflicts (impacts Pro only) * Bug fix: Fix issue causing duplication in some views. * Bug fix: Time format should be filtered in initial edit view. * Bug fix: Category relationships not retained when Group editing applied. * Bug fix: aria-describedby ID mismatch. = 3.0.19 = * Bug fix: Fatal error in export API when location object included. * BUg fix: my calendar categories queried private categories instead of public. = 3.0.18 = * Bug fix: Invalid setting in bottom nav defaults. * Bug fix: Generate feeds by date added rather than fixed number. If empty, get most recent regardless. * Bug fix: Legitimate HTML escaped in visual editor in group event editor. = 3.0.17 = * Bug fix: Group event editing was broken. * Bug fix: Eliminate four PHP notices in the Today's Events widget. * Added: Filter to control whether CSS should be loaded on archives. = 3.0.16 = * Changed display UID to avoid duplicate IDs when multiple calendars shown. * Add option to display heading in details pop-up. * Unify position and size of close button in Twentyeighteen mini calendar. * Eliminate multi category parameter from CSV output (doesn't support multidimensional data) * Add GUID to export data. = 3.0.15 = * Bug fix: prevent some PHP notices when running Pro importer. * Bug fix: Display of multidate time string when crossing months or years. * Bug fix: Variable written as constant prevented event_span from saving correctly. * Bug fix: Trash counter updated with incorrect values. * Bug fix: Two cases where status counter not updated. * Change: Add DB version to debugging info = 3.0.14 = * Bug fix: incorrect value passed for instance parameter on single event shortcode. * Bug fix: hide HTML wrapper for category color when colors disabled. * Bug fix: Remove transparent background in Twenty eighteen; blocks category colors * Bug fix: Invalid ordering parameter for location lists * Feature: Ability to select multiple categories (props Josef Fällman) * Moved changelogs for 2.5 & earlier to changelog.txt = 3.0.13 = * Bug fix: missing function call when accessing custom mini templates * Bug fix: Syntax error in SQL query checking for conflicts * Change: pass short description to Akismet if long desc absent = 3.0.12 = * Bug fix: My Calendar could prevent canonical link from displaying if canonical link being filtered by another application. * Modernize & improve Akismet integration. * Add filter to disable Akismet checks. = 3.0.11 = * SECURITY: XSS - Canonical URL not properly sanitized. Affects 3.0.0 and up. = 3.0.10 = * Bug fix: invalid method used to sort location lists. * Bug fix: shortcode generator missing input value * Bug fix: datepicker did not reflect start of week settings * Stylesheet CSS change = 3.0.9 = * Bug fix: Error thrown if Akismet had previously been configured, then deleted. * Bug fix: location type was added to params if category key was set. * Bug fix: remove a couple notices * Bug fix: category relationships not carried over when recurring events split = 3.0.8 = * Bug fix: need to allow elements in mc_strip_tags so calendar linkscan point to non-calendar URLs = 3.0.7 = * Bug fix: Case where events ending at midnight (AM) of current day were displayed * Bug fix: trim spaces from values earlier when parsing filter elements * Change: don't declare font-family in older stylesheets. = 3.0.6 = * Bug fix: Shortcode for locations forms always rendered as if in a group filter. * Bug fix: If the default length 1 hr event pushes into next day, adjust length. * Bug fix: Incorrectly nested parentheses caused math error in months-by-day recurrence = 3.0.5 = * Bug fix: If only one event on a day, event title did not show in list view with show title option. * Bug fix: Incorrect array key for fallback parameter in widget * Bug fix: custom template query expected 25 chars instead of 32 * Re-allow
in event titles. = 3.0.4 = * Bug fix: aria-current test was broken for current date * Bug fix: Private categories not disambiguated in MySQL query when excluded * Improve: Rewrite my_calendar_copyr backup functions to use WP core functions. = 3.0.3 = * Bug fix: Category key needed to use a 'WHERE' not an 'AND'; broke output if limiting by category * Bug fix: Error thrown in style editor & category editor if custom directory did not exist = 3.0.2 = * 3.0.1 did not correct the right error. Correct fix. = 3.0.1 = * Bug fix: install error on update. = 3.0.0 = * Bug fix: If category deleted, set events with that category to default cat, not cat ID 1. * Bug fix: Date/time comparison used front-end date value instead of dtstamp in upcoming events. * Bug fix: Navigation issue if beginning of week is in previous month * Bug fix: Event conflict didn't catch events 100% contained inside other events. * Bug fix: Private categories should not be visible to public users in submission forms or category lists * Bug fix: aria-current key term value was translatable * Bug fix: If editing single instance, location is removed * Bug fix: don't show location control notices on front-end * Bug fix: correcting event recurrence did not always remove meta flag * Bug fix: Only output map HTML if API key provided * Bug fix: character set and collation determination on install & update * Bug fix: When changing recurring events, only change instance IDs if the date of the instance has changed. * Bug fix: Event post should not change post date on update * Bug fix: All day events should export correctly to Outlook & Apple Calendar * Bug fix: Location control accordion was not accessible. * Bug fix: Term ID was not set in category manager if term already existed. * Bug fix: Make sure that the 's' query var is not automatically added to My Calendar URLs * Add: several new filters * Add: notice to alert users if their calendar configured for remote event source. * Add: map display to back-end location manager. * Add: location search in location manager * Add: ability to filter location lists used to submit data 'mc_get_locations' * Add: Support for multiple categories on events. * Add: stylesheet (Twenty Eighteen) * Add: CSS variables support * Add: list of problem events in Manage Events sidebar * Add: add months shown in list view to shortcode parameters * Add: support for auto-refresh of cache for a variety of caching plug-ins. * Add: Option to remove event data on uninstall * Add: filter to define events as private via custom methods * Add: event preview * Add: location support to mini calendar widget * Add: CSS code editor available in Style editing * Add: HTML code editor available in Template editing * Add: Schema.org address markup * Add: Schema.org event markup * Add: Include event link in 'Add to Google Cal' content. * Add: date format for multi-day dates in grid view. * Removed: event open & event closed text settings * Removed: event_open event status (little used and confusing; replaced by My Tickets) * Removed: guessing calendar install location * Removed: event cache code * Removed: upgrade routines from 1.11.x * Removed: mc_widget_defaults option * Removed: user's guide references * Change: default image sizes from 'medium' to 'large' * Change: Remove ability to disable event approval; remap "approval" to "draft" * Change: default number of results to show in advanced event search. * Change: Switched from image to icon font for close button * Change: Major changes to event fetching * Change: Major changes to code organization * Change: Added caching on database engine query * Change: if event location set in dropdown, event will always display location as shown in location manager * Change: changed argument style for major functions to arrays of arguments * Change: move Location Manager to separate page; add location sorting. * Change: Move exif_ fallback function into utilities include * Change: Moved location & category specific settings * Change: Simplified texts in several locations * Change: Clearer UI on location input limits * Change: autotoggle end date minimum input when start date set * Change: Reorganized input fields * Change: Generate separate iCal exports for Google Calendar or Outlook * Change: Constrain tabbing within details pop-up * Change: Close details pop-up with Esc key * Change: Audited options to remove unused or unneeded options * Change: Create a referential template when shortcode generated * Change: Feeds nav panel now shows subscription links; exports are available in 'exports' panel. = 2.5.17 = * Security: Authenticated XSS vulnerability resolved. * Remove 'create_function' for PHP 7.2 compatibility. * Updated: Upgrade Notice output. = 2.5.16 = * Bug fix: Event deletion action executed when individual instance deleted from front-end * Updates: due to esc_sql function changes in WordPress 4.8.3 = 2.5.15 = * Bug fix: Jumpbox rendered October as January due to unneeded character replacement = 2.5.14 = * Bug fix: saving setting for main calendar URL from front page doesn't work * Bug fix: esc_url only in appropriate places * Bug fix: Recognize month parameter from shortcode in navigation elements * Bug fix: 404s for deleted events * Bug fix: Print styles handle date in week view better * Bug fix: Events not visible in list with list JS disabled * Bug fix: SQL query for conflict checking threw errors * New option: list all events in list view with JS = 2.5.13 = * Bug fix: Categories can not be part of the md5 hash used to identify unique tables (breaks AJAX nav for categories) * Bug fix: recurring scheduling for week-days only not functional when 7 days or greater * Bug fix: Print view location filters broken * Bug fix: Make AJAX scripting aware of which other scripts are enabled. * Bug fix: Sort scheduled dates for event by date * Bug fix: JetPack Grunion Contact form interfered with TinyMCE in contexts outside of post editor (https://github.com/Automattic/jetpack/issues/7598) * Bug fix: ensure date is retained if datepicker disabled * Bug fix: archived events filter marked as active when not = 2.5.12 = * Bug fix: missing space in conflict identification * Bug fix: internationalization of string to time created conflict when entering month abbreviations * Add filter to enable creation of a custom content editor = 2.5.11 = * Bug fix: Bottom mass action buttons outside of form * Bug fix: User select form used 'checked' instead of 'selected' = 2.5.10 = * Bug fix: allow parsing of non-English strings through strtotime() * Bug fix: trim whitespace off array keys in location controller * Bug fix: Don't display 'Add Event' menu in adminbar if remote event database is enabled * Bug fix: All day events correctly exported in iCal files * Bug fix: Footer navigation not shown on single day view * Bug fix: Execute AJAX navigation from both header and footer containers * Bug fix: {icon_html} returned broken image if category had no assigned icon * Removed obsolete PHP 4 compatibility for clone keyword * Added hook to prevent activation if PHP version below 5.3.0. * New filter: define custom target calendar URL via 'mc_get_uri' filter * New action: 'mc_insert_recurring' run while creating event instances * New filter to customize default event length: 'mc_default_event_length' * New filter: 'mc_show_week_number' to turn on column indicating displayed week's number. (props Josef Fällman) * UI Change: Duplicate navigation and search on events list at bottom of list * Miscellaneous improvements to the My Calendar Filters shortcode: set target URL & change location search type, add as widget * New widget: My Calendar event filters * Added inverse color style declaration to category color template tag = 2.5.9 = * Bug fix: class .mc-main appeared twice in day view * Bug fix: iCal output fetches no data on subsites in multisite networks * Bug fix: broken image upload script due to localization change * Bug fix: sorting events by category should sort by name, not ID * Add site name to .ics output file = 2.5.8 = * Bug fix: mc-ajax.js referred to a class that did not always exist * Bug fix: Cases missed in interpreting category class values * Bug fix: For backwards compatibility, ensure that spaces are replaced with hyphens in category classes * Bug fix: Check whether templates returned are empty & ensure fallback renders * Bug fix: revise FOUC implementation to avoid jQuery not defined errors = 2.5.7 = * Bug fix: notice in event image field if input disabled * Bug fix: class setting was based on GMT timestamp according to MySQL * Bug fix: PHP notice thrown if requested template doesn't exist * Bug fix: support for embedding videos via iFrame. * Bug fix: JS refinements to AJAX loading; changing formats can cause panel closing not to fire due to .list/.calendar switching * Bug fix: JS refinements to AJAX loading; make sure everything works when positioned in the header or are excluded * Bug fix: always provide a category class that's valid * Bug fix: If mini calendar links set to open to new page, automatically disable JS * Bug fix: If special options hidden, always set to 'true' on event save. * Added: aria-current for current date. * Improve KSES implementation * Improved URL building * Improvements to print CSS * Improvements to sortable CSS * New filter: 'mc_category_icon' * New action: 'mc_print_view_head' = 2.5.6 = * New filter: mc_user_can_see_private_events to change criteria for visibility of private events * New filter: mc_private_categories to tweak which categories are considered private * Bug fix: PHP warning due to cache query occurring when caching is not enabled * Bug fix: images entered only as URLs deleted on edit * Accessibility: aria-expanded attached to wrong element in list view * Accessibility: ornamental icon fonts exposed to screen readers = 2.5.5 = * Bug fix: notices when generating classes for upcoming events * Bug fix: RSS feed should respect private categories * Bug fix: Events happening now shortcode should respect private categories * Bug fix: iCal output should respect private categories * Bug fix: @ suppressed notices in template tag parsing. props @uscore713 * Bug fix: eliminate two notices in upcoming events class parsing * New filter: mc_draw_upcoming_event * New filter: mc_draw_todays_event * Marked as compatible with 4.7 = 2.5.4 = * Add New link on Manage Events screen * Add new link on Edit categories screen * Add new link on Edit locations screen * Changed maxlength on recurrence unit field to 2 * Eliminate two notices generate on manage events screen * Two incorrect method_exists checks; should be property_exists = 2.5.3 = * Bug fix: prevent non-object warning in check for notime text * Bug fix: missing classes from some instances of upcoming events list * Bug fix: Only show invalid format/time errors if user with permissions. * Enhancement: Include invalid format/time in error message. * Performance: In single event shortcode, break out of foreach if list of related events not being produced. = 2.5.2 = * Bug fix: Make sure that upcoming events element filters operate in all cases * Bug fix: Permit {register} template tag to pass additional attributes * Bug fix: Add class to permitted attributes on span tag = 2.5.1 = * Bug fix: Multi-word category titles not hyphenated in event classes * Bug fix: Add `{related}` template tag to documentation * Bug fix: Today's events template broken * Add 'past-event' and 'future-event' classes to related event list & main events lists = 2.5.0 = * Update hcalendar structures * Better handling when updating event taxonomies * Options to restrict management of events by category / user * UI Clean up * Don't display format toggle on mobile if automatic format switching enabled * Add custom date option to upcoming events shortcode builder * Improved error message if user creates event with an invalid recurring cycle * Updated template editor; ability to create custom templates. * Add option to add new dates for an existing event. * For single event, show closest available date if no/invalid date ID provided. * Added first occurrence data to core event object * New template tag: {related} to list other events in the same group * New loading indicator for AJAX navigation * New filter to modify event classes * New function to generate event classes * Reduce number of strings in plug-in to reduce burden on translators * Multisite: ability to display calendar for any site on any other site * in my_calendar_draw_event(), add filter to hide additional days of events * Improved HTML filtering to allow input elements and schema.org attributes. * Add support for Google Maps API key field, now required for use of Google Maps on new sites * Add 'today' keyword for the upcoming events 'to' attribute * Updates to Help documentation * Bug fix: auto assign events with no category to 'General' * Bug fix: some user select lists overwrote select list options * Bug fix: new events with no times entered need to be created as all day events * Bug fix: wrong number of arguments passed to mass delete events hook * Bug fix: Custom JS incorrectly escaped in Script manager * Bug fix: removed numerous notices * Bug fix: improved handling of missing event posts * Bug fix: allow more HTML elements & attributes * Bug fix: misc. notices Breaking Changes: * Breaking change: minor changes to classes to improve structured data in microformats * Breaking change: upcoming events widget no longer uses ID 'upcoming-events'; use class '.upcoming-events' * Breaking change: today's events widget no longer uses ID 'todays-events'; use class '.todays-events' = 2.4.21 = * Bug fix: Google Maps format change to latitude/longitude links * Bug fix: Use short description directly as {excerpt} if provided. = 2.4.20 = * Bug fix: PHP warning triggered on type conversion when toggling time views. * Bug fix: Map template tag returned raw scripts without `