Skip to content

release-3.0.0

Latest

Choose a tag to compare

@brlumen brlumen released this 27 Sep 17:55
47d368c

What's Changed

New features

  • Month view with a day list for busy days and a quick switch between the week and month views.
  • Events that span several days, shown as bands above the week grid.
  • Creating an event by selecting a time range in the week view — drag with the mouse or use two taps on a touch screen.
  • Per-event time zone: an event remembers the time zone it was scheduled in; the selector shows the UTC offset of every zone.
  • Event description and event history.
  • E-mail reminders about upcoming events: reminders of the event, personal reminders per event or personal defaults, with a per-user opt-out.
  • E-mail notifications about created, changed and deleted events and about membership changes, with a per-project recipient matrix like the one of MantisBT itself (#7).
  • Replies to invitations: members say whether they will take part — on the event page or from the link in the mail; a list of invitations awaiting a reply is reachable from the calendar header.
  • iCalendar export: every event can be downloaded as an .ics file, linked from the mails and the event page.
  • Events are coloured by project, with a project legend that switches the current project with one click.
  • Open an event by its number from the bottom toolbar of the calendar.
  • 12-hour time format (1:30 PM), a personal setting that by default follows the MantisBT date format (#105).
  • The administrator chooses where the calendar sits on the issue page — a row of the issue details, a block of its own below the notes, or each user's choice (based on #58 by @paspiz85, thank you!). The block can be collapsed and has its own 0–24 toggle.
  • Personal calendar settings moved to the "Event calendar" tab of My Account.
  • A manual check for a newer release on the plugin settings page.
  • Public API for other plugins: create events, write to the event history, read and change replies and reminders of a user, get the .ics file, ask who would be notified, and subscribe to calendar signals. The TelegramBot plugin 2.0+ uses it to manage events and deliver notifications through Telegram. See Public API for other plugins.
  • Translations updated: English, Russian, Spanish, Chinese (Simplified).

Fixes

  • Recurring events no longer shift by one hour across daylight saving time transitions (#104).
  • Access denied for non-administrators on event actions (#103).
  • Events of the displayed period are loaded with one query.
  • Access checks now follow the project of the event, and user-supplied texts are escaped everywhere they are shown.
  • Updated dependencies: rlanvin/php-rrule 3.0.0, google/apiclient 2.16.1 and its stack (phpseclib 3.0.56 with security fixes).

Upgrade notes

  • The upgrade converts recurring events: their rules are re-anchored to the time zone of the event's author, so that occurrences keep their local time across DST transitions (#104). The conversion cannot be undone — back up the database and check the time zones in the user profiles before upgrading. The upgrade asks for confirmation before any change.
  • Reminders, notifications and replies to invitations are switched off after the upgrade and are enabled on the plugin settings page.
  • The 2.7.x–2.8.x line is closed: users of 2.7.0–2.8.0 should upgrade to 3.0.0.

Requirements

  • MantisBT 2.26.0 or newer, PHP 7.4 or newer.
  • For MantisBT 2.14 – 2.25.x use v2.6.5.

Download

Calendar-v3.0.0.zip in the Assets below.

Full Changelog: v2.8.0...v3.0.0