= 3.3.25 =
* Security: Cross Site Request Forgery vulnerability in Event/Location deletion. Props rezaduty/Patchstack Alliance
* Bug fix: Location handling problem when editing events where location is already set.
* Bug fix: [Pro] List JS broken when rendering non-primary-language events.
= 3.3.24.1 =
* Bug fix: minified mcjs.min.js was invalid in 3.3.24, breaking jump navigation selector.
= 3.3.24 =
* Bug fix: Don't catch non-ajax actions in navigation with JS.
* Change: Collapse template preview by default.
* Change: Change parsing of POST data when AJAX action executed.
= 3.3.23 =
* Bug fix: Don't set to default location if location already set.
* Bug fix: Add stopImmediatePropgation to click handlers to prevent other script's scroll effects
* Change: Remove .mcajax class as unneeded.
= 3.3.22 =
* Bug fix: Mismatched variable type broke default week view.
= 3.3.21 =
* Bug fix: Accidentally stripped HTML out of all event titles with search excerpt highlighting.
= 3.3.20 =
* Bug fix: Recurring month by day not propagating correctly.
* Bug fix: Available admin input settings not displaying correctly.
* Bug fix: Unset style variables array could throw PHP warning.
* Change: Improvements to structure of search results.
* Change: Change default search result template.
* Add: search_results template tag with search term highlighting.
= 3.3.19 =
* Bug fix: Missing support for 'show_recurring' parameter in shortcode builder.
* Bug fix: Checkbox input layout in shortcode builder
* Bug fix: Locations content filter needs to be restricted to main query only.
* Complete documentation of hooks.
= 3.3.18 =
* Bug fix: img and svg category icon styles applied to list items in category admin.
* Bug fix: duplicate sprintf call missing arguments.
* Bug fix: Globally review & align var type declarations with params & returns in functions & documentation.
* Bug fix: Fix some date iteration on recurring events in iCal exports.
* Change: Return http 500 if invalid URL passed to print view return URL.
* Continuing hook documentation.
= 3.3.17 =
* Security Fix: XSS flaw in print view.
* Bug fix: View full calendar could be empty if settings not edited.
* Bug fix: View full calendar text default not translatable.
* Bug fix: Allow class attribute on time element.
* Change open in new tab text to 'new tab'.
* Label error source in cases where wp_die() is used.
* Switch subscription links to webcal: protocol.
* Begin adding hook documentation at https://joedolson.github.io/my-calendar/
* Begin adding framework for future version of template handling.
= 3.3.16 =
* Bug fix: Incorrectly passed list type caused templates to encode html entities.
= 3.3.15 =
* Bug fix: CPT base values shouldn't allow URL-invalid characters.
* Bug fix: Improper variable type checking in mc_settings checkboxes.
* Bug fix: Unset search variable in auto-generated display hashes.
* New filters: Filter event object. (multilanguage support in Pro)
* New filter: Filters on single event HTML. (multilanguage support in Pro)
* Add: `language` attribute in main, today, and upcoming events shortcodes.
= 3.3.14 =
* Bug fix: Variables undefined if scripts disabled.
* Update tested to value for WP 6.0.
= 3.3.13 =
* Bug fix: Don't display empty field containers if field settings are empty.
* Bug fix: Pass version number to core stylesheet.
* Bug fix: Prevent warning from undefined GET variable in previous/next event links.
* Bug fix: Allow strong, b, and hr in shortcode output.
* Bug fix: Override masking; causing too many display problems.
* Bug fix: JS classes in main output used inverted comparisons.
* Notice: Custom JS will be disabled and removed in 3.4.
* Change: Collapsed view scripts from five files to one file.
* Change: Load new combined file minified.
= 3.3.12 =
* Bug fix: Find title and find event should use nearest event, not first event.
* Bug fix: Title replacement used event ID improperly if mc_id not passed.
* Bug fix: Seed GUID with home_url.
* Bug fix: Don't throw warnings if host/author ID no longer exists.
* Bug fix: Handle recurring event codes if passed from event importer.
= 3.3.11 =
* Bug fix: Modifying a category didn't refresh the icon SVG for that category.
* Bug fix: Contextual help should be viewable with 'view help' capability.
* Bug fix: Allow img in event title templates.
* Bug fix: 'all' category limit could be cast to an integer, breaking links.
* Change: text changes to location select label for clarification of purpose.
* Change: allow mc_bulk_actions() to take a second argument with events to modify.
= 3.3.10 =
* Bug fix: aria-current not rendered on event manager filters.
* Bug fix: published filter not marked as current by default.
* Bug fix: Cache allowed sites for CORS headers on multisite networks.
* Bug fix: fread error if no stylesheet defined.
* Bug fix: Extra closing div in single-day view.
* Bug fix: Better support for local user time.
* Change: Wrapper function for My Calendar time format: `mc_time_format()`
= 3.3.9 =
* Feature: Ability to merge duplicate locations.
* Bug fix: New locations created with events were not properly saved with the event, leading to possible location duplications.
* Bug fix: Add location to table should not be checked when copying an event.
* Bug fix: Possible fix to meta permissions.
* Bug fix: Fall back to non-fulltext queries if search term below length limit.
* Bug fix: 'search' nav item not rendering.
= 3.3.8 =
* Bug fix: Generated a duplicate location if event with location unselected location.
* Bug fix: Setting an event's all day label text to blank should not be overridden by defaults.
* Bug fix: Delete single event from front-end pointed to wrong destination.
* Bug fix: Missing help text for copying events.
* Change: Minor text change to empty location value.
* Change: Clear list items in list view (CSS)
= 3.3.7 =
* Bug fix: Fixes location admin verification error in manage locations list.
= 3.3.6 =
* Bug fix: Event template previews should only show to users who can use them.
* Bug fix: Category key icons should show background colors when configured.
= 3.3.5 =
* Bug fix: Default values for screen options were not called.
* Bug fix: Event count dots should not show in print view.
* Bug fix: PHP notice if mc_id not set on single event views.
* Bug fix: Documentation link led to removed page.
* Bug fix: Modal help links should open in parent window, not within modal.
* Bug fix: Search query sent to docs site should not be translatable.
* Bug fix: JPG or GIF custom icons should be accepted.
* Bug fix: Template attributes containing HTML stripped attributes in template manager.
* Bug fix: PHP Warning when checking for private category property and object not defined.
* Bug fix: Don't show admin grid view location dropdown if more than 200 locations.
* Bug fix: Prevent large icons from overflowing custom icon list.
* Bug fix: Fix display of custom icons in icons modal.
* Performance: only run mc_create_tags() once per event.
* Performance: cache whether icons are custom rather than inspecting directory for every icon load.
* New filter: `mc_display_location_events` on upcoming event arguments for location screen.
* Change: label My Calendar page in pages list.
= 3.3.4 =
* Bug fix: is_single() shouldn't be called in admin
* Bug fix: Prevent invalid events from breaking year dropdown.
* Bug fix: Make sure category colors are important.
* Bug fix: Set margins to 0 on input/button in nav.
* Bug fix: Decreasing font sizes in nav caused too many problems in older themes.
* Bug fix: Don't insert locations if no data passed to inserter.
* Bug fix: Delete location argument was not used.
* Bug fix: don't output empty locations.
* Bug fix: 'span' is not an attribute on 'span'.
* Bug fix: Verify validity of category relationships when parsing admin lists.
* Bug fix: $templates was undefined and broke saving templates.
* Bug fix: missing quote in 'delete template' button.
* Bug fix: custom templates sanitized incorrectly.
* Bug fix: translations link went to old translations site.
* Bug fix: Handle what happens if default category is deleted.
* Bug fix: Invalid class not reset in admin lists.
* Bug fix: date displayed in wrong timezone in admin recurring events list.
* Change: If location without any unique data is listed in admin, auto delete.
* Change: changes to add dates UI to clarify usage.
= 3.3.3 =
* Bug fix: Timezone omits positive/negative signifier in JSON LD in UTC+ timezones.
* Bug fix: Widen location autocomplete field.
* Bug fix: Fix show location shortcode templating.
* Bug fix: Recur daily by weekday did not produce valid times.
* Bug fix: Skip holidays default state filter missing.
* Bug fix: Only apply default state on special case recurrence fields on new events.
* Bug fix: Category relationships not updated correctly if category deleted.
* Bug fix: File path incorrectly referenced when finding custom icon directories.
= 3.3.2 =
* Change: Add classes representing start time and event length.
* Bug fix: Remove unneeded generic class declarations.
* Bug fix: Show stored location, not event location, in events list.
* Bug fix: Add missing elements to KSES filters for widgets.
* Bug fix: Incorrect logic to hide read more link.
* Feature: Add field to set calendar month heading.
= 3.3.1 =
* Bug fix: Bulk removal of locations broken.
* Bug fix: SVG category icons should not be queried remotely; use filesystem.
* Layout: wider max-width by default, center calendar in container.
* Bug fix: Display more information link had inverted logic & wrong label.
* Bug fix: Don't show location link if location is not post type mc-locations.
* Bug fix: Week view could end up offset incorrectly in some views due to dates getting double timezone offsets.
* Bug fix: Provide back-compatibility for tabs in older versions of My Calendar Pro
= 3.3.0 =
Backend Changes:
* Replaced date picker with the Duet Design Systems accessible date picker.
* Accessibility & usability improvements to adding additional occurrences to an event. (DB change)
* Add support for custom fields on locations. See demo at Github
* Extensive back-end user experience changes.
* Link location title to edit screen in location manager
* Improve checkbox labeling in event manager.
* Improve button labeling in nav ordering.
* Add row actions to Location manager.
* Add support for custom columns in location manager.
* Bug fix: use aria tab panels properly in settings.
* Removed upgrade cycles & associated code for upgrading from version 2.3.x (last release in 2015.)
* Support aria-sort on sortable tables.
* Locations support both descending & ascending sort.
* Bug fix: pagination when sorting in event manager.
* Update settings configuration for default calendar URL.
* New setting to control whether plugin settings are removed on uninstall.
* Text changes for clarity & simplification
* Change 'Short Description' to 'Excerpt' for clarity
* Collapse 'Event Groups' and 'Events List' into a single screen.
* Inline help pop-ups
* Show event count for category links.
* Add settings manager to My Calendar primary view page.
* Updated recurring events input method.
* Add category during event creation.
* Make event bulk actions a dropdown.
* With Google Maps API, auto query lat/lon data for locations.
* Add calendar view for navigating events in admin.
* Simplify featured image support.
* Use checkboxes to select categories in widgets & shortcode generator.
* Show warning if screen has unsaved changes
* Template tag & event template previews.
Bug fixes:
* Bug fix: Deleting a location from the location manager should not send user to the location editor.
* Bug fix: row action links not properly labeled.
* Bug fix: row action links not becoming visible on focus.
* Bug fix: PHP warning on installations without saved locations.
* Bug fix: Screen options weren't able to retrieve user settings correctly.
* Bug fix: Event manager displayed recurring event options on single event editing screens.
* Bug fix: Form overflows in responsive views.
* Bug fix: Need breaking container in map bubble after location name.
* Bug fix [a11y]: Ensure focus isn't loss in sortable lists; announce change via wp.a11y.speak.
* Bug fix: If no previous or next event, generated numerous PHP errors.
* Stylesheet previewer in Design manager.
* Only show "special scheduling options" when relevant.
* Add Help tab to explain statuses.
* Add color picker to CSS variable UI
Frontend changes:
* Add front-end location view.
* Update default custom templates.
* Support filtering by multiple locations in calendar shortcodes or by filter.
* Change: use a stateful heading for all calendar views.
* Change: Support AJAX navigation on date select form.
* Bug fix: Override custom select styles from Twenty Twenty One
* New: recurring-event classes in event lists.
* Rewrote Google Maps scripting
* New SVG category icons, sourced from Font Awesome (https://fontawesome.com/license)
* New default stylesheet: twentytwentyone.css
* Individual display settings for different calendar views
* Creates demo content on initial installation.
* Enable pretty permalinks by default on new installations
* Add accessibility fields as a default event output.
* Removed RSS feeds.
* Always show event title in pop-up.
* Update default date/time formatting.
* Support search in calendar navigation.
* Support category dropdown in calendar navigation.
* Support location dropdown in calendar navigation.
* Support accessibility feature dropdown in calendar navigation.
* Support ld+json schema.org data for events and locations.
* Changed heading structure for main calendar view.
* Add event number to list view and event number hint in mini view.
* 'Show recurring' flag in upcoming events list.
* Upcoming events list should not wrap empty value in `ul`
* New default stylesheet
Developer Changes:
* New actions: 'mc_event_happening', 'mc_event_future', 'mc_event_over' executed whenever an event is compared to the current time, usable for automatic transitions and notifications.
* Filter: 'mc_output_is_visible' to determine whether a given display feature should be shown on calendar.
* Disable sending email notifications for Spam events. Add action to optionally handle spam notifications.
* Remove the process shortcodes option. Shortcodes can be disabled using 'mc_process_shortcodes' filter.
* Published documentation to https://docs.joedolson.com/my-calendar/
* New filter to add custom permissions. 'mc_capabilities'
* New filter for event details `mc_event_detail_{value}`
* Started work on documenting filters and actions.
* Code reorganization.
* PHP 8.0 compatibility.
= 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 `