The Events Calendar/PRO/Add-ons 3.11: things to be aware of

Our upcoming launch of version 3.11 for The Events Calendar, Events Calendar PRO + all add-ons has been all about improving the quality of our plugins and that all of our plugins are seeing updates. As we were inspecting all the corners of our code for this release, we realized there are a number of changes to be aware of that we want to share with you.

1. The translations have been vastly improved. During this release cycle we released a new way for the community to contribute to the translations of the plugins with our translations site. We are packaging the latest updated translations in this release, but to get the freshest and most complete translations, you will want to grab them straight from that site. See a string that is not translated or want a plugin in your language? Register for an account and we’d love your contributions! And for a broader overview of why we made the move, you can check out Leah’s blog post on moving to GlotPress.

2. Over 100 bug fixes are shipping! We aren’t going to list them all here just yet, but we are pretty excited about the awesomeness sprinkled throughout.

3. A new iCal Importer plugin is being introduced. This plugin introduces a new import screen on the dashboard of your site that allows you to enter either an iCal feed URL or upload an iCal file. Imports can be run based on criteria such as keyword or location search. Imported events can be automatically saved to draft or published as you see fit. Events can also be imported on a one-time or automated/ongoing basis. For an overview of the plugin, see our iCal Importer new user primer.

4. Our code smells better. We are now running our code through a set of rigorous standards we call Tribal Scents. Continued consistency will not only allow us to move more quickly with features, we will also be maintaining more standard code. Quality and craftsmanship matter to us. For more on our new coding standards, see Barry’s blog post.

5. Multiple organizers are now supported. You can now have multiple organizers for your event.

6. The Events Calendar is now compatible with Posts 2 Posts. We tweaked how the event date meta values are injected into queries to reduce conflicts with other plugins.

7. Timezone conversion in Eventbrite Tickets is now optional. This has been a big pain point for certain members of the community, and we’re stoked to introduce a change that should help. Timezone conversion when importing from Eventbrite can now be disabled per event! We promised this in the last release and we missed it, so this time is for real!

8. Pagination has been improved. We now have pagination on the /all/ page. Also, pagination links for list view are now resolvable URLs rather than being hidden behind magical JS.

9. There are no more 404s on days/months/weeks without events. This has been controversial for a long time and we have decided to make this change. We are pretty sure this will be better for the majority of people.

10. The mini calendar widget has been improved. We made some visual improvements to the mini calendar widget. To avoid ugly wrapping, we are now using single letter day abbreviations.

11. A new action has been added! wootickets_generate_ticket_attendee – Tickets are no longer auto-added to a “Tickets” product category upon creation. Anyone still desiring this functionality can leverage this action.

12. New filters have been added!

  • tribe_events_pro_clean_up_old_recurring_events_sql
  • tribe_events_pro_clean_up_old_recurring_events_sql_args
  • tribe_events_register_event_post_type_labels
  • tribe_events_register_venue_post_type_labels
  • tribe_events_register_organizer_post_type_labels
  • tribe_events_register_category_taxonomy_labels

13. There is newly deprecated code.

  • camelCase methods in Tribe__Events__Date_Utils have been deprecated in favor of snake_case method names. Note: no parameters have changed – just the method name
  • Tribe__Events__Main::dateToTimeStamp has been deprecated in favor of the PHP strtotime function
  • Tribe__Events__Main::dateHelper has been deprecated in favor of the PHP date function
  • Removed some methods that have been deprecated since version 3.6 and earlier:
    • tribe_events_single_event_meta
    • Tribe__Events__View_Helpers::[getMonthOptions, getDayOptions, getYearOptions]
    • Tribe__Events__Query::posts_groupby, Tribe__Events__Main::[getRealStartDate, weekToDate, previousWeek]

14. Some old deprecated code has been removed.

  • Removed filter that has been deprecated since version 3.8 (tribe_events_add_title). Use tribe_events_title_tag instead
  • Removed filter that has been deprecated since version 3.4 (tribe_current_events_page_template). Use tribe_events_current_view_template instead
  • Removed filter that has been deprecated since version 3.4 (tribe_current_events_template_class). Use tribe_events_current_template_class instead

15. A lot of views have been updated. Notably, improved escaping has been added to nearly all of the existing views.

Each of the templates listed below have had changes other than the most trivial formatting/whitespace fixes, however particular attention should be paid to those with recommendations next to them. Most of the remainder have things like improved escaping but functionally are otherwise unchanged so we wouldn’t expect to see template overrides breaking if they were already compatible with 3.10 code.

The Events Calendar

  • day/nav.php
  • day/single-event.php
  • list/loop.php – recommended! revise override if also using pro/recurring events
  • list/nav.php
  • list/single-event.php
  • modules/meta/details.php
  • modules/meta/map.php
  • modules/meta/organizer.php – recommended! worth revising override to take advantage of fixes
  • modules/meta/venue.php
  • modules/bar.php
  • month/loop-grid.php – important! revise to ensure continued compatibility especially regarding tribejson data
  • month/mobile.php – important! revise to ensure continued compatibility
  • month/nav.php
  • month/single-day.php
  • month/single-event.php
  • tickets/email.php

Events Calendar PRO

  • pro/modules/meta/additional-fields.php
  • pro/week/loop-grid-allday.php
  • pro/week/loop-grid-hourly.php
  • pro/week/loop-grid.php
  • pro/week/nav.php
  • pro/week/single-event.php
  • pro/widgets/mini-calendar/grid.php – recommended! opportunity to take advantage of improved formatting
  • pro/widgets/mini-calendar/single-day.php
  • pro/widgets/modules/single-event.php
  • pro/widgets/countdown-widget.php
  • pro/widgets/list-widget.php

Eventbrite Tickets

  • eventbrite/hooks/ticket-form.php – important! a notable change has taken place here
  • eventbrite/add-existing-event.php
  • eventbrite/eventbrite-events-table.php
  • eventbrite/eventbrite-meta-box-extension.php
  • eventbrite/import-eventbrite-events.php
  • eventbrite/options.php

Community Events

  • community/modules/datepickers.php
  • community/modules/delete.php
  • community/modules/header-links.php
  • community/modules/image.php
  • community/modules/organizer.php
  • community/modules/recurrence.php – recommended!
  • community/modules/taxonomy.php – recommended! changes in category picker
  • community/modules/venue.php
  • community/edit-event.php
  • community/edit-organizer.php
  • community/edit-venue.php
  • community/email-template.php – recommended! edit button fix
  • community/event-list.php

Filter Bar

  • filter-bar/filter-view-horizontal.php
  • filter-bar/filter-view-vertical.php

All ticketing addons

  • tickets.php (minor – improved escaping in each case)

Users have told us that they like to see this list of high level changes to be aware of, so they can prepare their sites for update accordingly. We hope this serves you, too. If there’s anything we missed or that you think is important enough to get more explanation in this blog post, let us know and we’ll clarify as best we can. If you want to check out the code before we release, 3.11 Release Candidates are available now.

We can’t wait to get this release out the door so we can hit the ground running on 3.12, and 4.0 from there. It’s going to be a busy few months 🙂

Happy updating!