• v1.3.0 8d7b7fd65e

    v1.3.0 Stable

    Robin released this 2026-09-08 14:36:21 +02:00 | 1 commits to main since this release

    A rescue release: moving a calendar in from another plugin now works on the
    sites that actually need it, and repeats that run every few weeks finally
    respect the "every few weeks" part.

    🚚 Rescuing a calendar from another plugin

    The Import/Export screen could already read The Events Calendar and
    All-in-One Event Calendar — as long as those plugins were still running.
    That was exactly the wrong way round. The site that needs its calendar rescued
    is almost always the site where the other plugin crashed, stopped being
    compatible, or had to be switched off. On those sites the screen shrugged and
    said "not detected".

    Events, categories, tags, venues and organizers are now read straight from
    the database
    , so a dead plugin is no longer in the way. Along with that:

    • "Migrate now" does the whole thing in one click. Pick the source, click,
      and the events land in your calendar. The old download-a-JSON-then-upload-it
      route is still there for moving events to a different site, but you no
      longer have to walk it — and a big calendar no longer runs into the file
      upload limit on the way back in.
    • Recurring events stay recurring instead of arriving as hundreds of
      separate entries. Up to version 5, The Events Calendar stored a repeating
      event as one event plus a hidden copy for every single occurrence; a twelve
      event calendar could import as nine hundred. Those copies are now folded back
      into the event they belong to.
    • A repeat is carried over, or its dates are — never a guess. When this
      plugin can reproduce the original rule exactly, you get a real repeat. When it
      cannot, you get the exact list of dates the old plugin had already generated,
      cancelled dates included. The migration report tells you which events took
      that route, and that dates beyond the point the old plugin had generated are
      not part of it. A rule that is nearly right would quietly put events on the
      wrong days for years.
    • More of each event survives the trip. The currency symbol stays attached
      to the price, a venue's phone and website fill in when there is no organizer,
      the event's own map setting is kept, an event recorded with only a duration
      gets a proper end time, and all-day events keep the day they were on instead
      of drifting a day either way.
    • Your old plugin is never touched. Its events stay exactly where they are,
      so you can look over the result, and run the migration again if something
      needs adjusting first. A "Skip events already here" tick box keeps the
      second run from duplicating the first.

    ✨ Additional dates

    A new field, in both editors, for the one-off dates an event also happens
    on, on top of its normal repeat — the extra rehearsal, the make-up session. It
    is also where a migrated event keeps its dates when its original rule had no
    equivalent here, so without this field such an event looked like it did not
    repeat at all.

    🐛 Fixes

    • "Every other Tuesday" was happening every Tuesday. An event set to repeat
      every two weeks — or every three, or every four — ignored that setting
      entirely and ran weekly, quietly doubling or quadrupling its dates. If you
      have fortnightly events, open one and save it after updating: that rebuilds
      its dates with the interval respected.
    • A single date in "Exclude dates" did nothing. It was read as midnight, so
      it only cancelled anything if the event happened to start at midnight. A date
      on its own now cancels that whole day, in the event's own timezone.
    • Dates can be typed as 2026-12-25 — the format the field's own example
      had been suggesting all along, while the plugin only accepted 20261225.
    • Deleting an event left rows behind in the calendar's own tables. Nothing
      ever displayed them and no calendar was wrong, but they piled up. Updating
      clears out what was left.
    • Two event lists on one page filled the error log with a PHP warning on
      every single page view.

    Upgrading: the update tidies away the leftover rows from deleted events on
    its own — nothing to do. Two things worth a minute afterwards: re-save any event
    that repeats every few weeks so its dates get rebuilt, and flush your page cache
    if your site runs one.

    Downloads