Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Important

Agenda 1.8.0 introduces a lot of new permissions to show/hide elements in the Agenda custom manager page. Make sure that the users of Agenda have at least an agenda_events or agenda_overview permission. Otherwise, the Agenda custom manager page stays almost empty.

[1.9.7] - 2026-03-24

Fixed

  • Fix the base url for new images
  • Fix an activate_at/deactivated_at validation issue

[1.9.6] - 2026-03-22

Added

  • Allow paste of a path in the file input of the image/video/download edit window

Fixed

  • Use the right prefix for extended fields in the event lists

[1.9.5] - 2026-03-20

Changed

  • Use a boolean value when the xtype of an extended field is xcheckbox

Fixed

  • Fix a fatal error when an image has no crops set
  • Fix not using the value of an extended xcheckbox field in the update window
  • Fix an ambiguous field SQL issue in the default event export

[1.9.4] - 2026-02-18

Added

  • Add the dirty property to the OnAgendaBeforeSave and OnAgendaSave event
  • Add agenda.refresh_activate_at system setting to allow clearing the resource cache, when auto activating/deactivating Agenda objects

Changed

  • Don't change the editedon field when agenda object are not changed

Fixed

  • Fix an inefficient getResources call in the Agenda chunks
  • Fix 0 is not a valid integer and may not be passed to makeUrl()

[1.9.3] - 2026-02-05

Fixed

  • Fix encountered empty IN condition with key alias
  • Fix not set repeating and repeat_type event field, when the agenda_repeating permission is disabled

[1.9.2] - 2026-02-03

Changed

  • Allow empty *Tpl snippet properties
  • Reduce database queries and parsing time when a *Tpl snippet property that references linked elements is empty

[1.9.1] - 2026-01-28

Added

  • Add agendaSortBy and agendaSortDir properties for the AgendaSearch hook

Fixed

  • Fix display issue of the startdate when creating a new event in the overview tab

[1.9.0] - 2025-12-20

Added

  • Image cropping for event images
  • Direct upload buttons for event downloads, images and videos with an event based upload path
  • Add createdon/createdby/updatedon/updatedby fields for AgendaEventCategories, AgendaFeeds, AgendaFeedCategories, AgendaEventUsers, AgendaEventUsergroups, AgendaEventCursusTrainers and AgendaModules
  • Add some system settings for the image cropping and the direct upload

Fixed

  • Fix a ONLY_FULL_GROUP_BY SQL issue in the export class
  • Fix start and end time checks in javascript and for the activate/deactivate at event fields

[1.8.3] - 2020-10-30

Fixed

  • Fixing the enter key in redactor triggers saving & closing the edit window of repeating events

[1.8.2] - 2020-10-21

Fixed

  • Do not add the first repeat date again when the first repeat date is deleted, if the event repeat type is custom

Added

  • Use the $this->modx->event->_output variable in the OnAgendaBeforeRemove/OnAgendaBeforeSave events to prevent removing/saving the Agenda object
  • Show an error message when the Agenda object is not removed/saved
  • Update the skeleton plugin event classes with $this->modx->event->_output examples

[1.8.1] - 2025-09-09

Fixed

  • Fix permission check for processors that can be executed with multiple permissions

[1.8.0] - 2025-09-05

Added

  • Add a lot of permissions to show/hide tabs in the Agenda custom manager page and to allow editing of the elements: agenda_calendars, agenda_categories, agenda_downloads, agenda_events, agenda_feeds, agenda_images, agenda_locations, agenda_overview, agenda_videos
  • Add the agenda_reset_repeats permission to show/hide the reset repeats checkbox in the edit/update event of the Agenda custom manager page
  • Add the agenda_repeating permission to show/hide the repeating event checkbox and the repeat options in the edit/update event of the Agenda custom manager page
  • Add agenda.default_repeating and agenda.default_repeat_type system setting to prepare new events as repeating event using a given repeat type

Fixed

  • Fix the repeat_enddate/repeat_lastdate calculation
  • Fix an issue in a Redactor field where the shift-enter key adds more than a <br> tag
  • Fix the reloading of the FullCalendar after editing/deleting an event

[1.7.10] - 2025-08-08

Added

  • Minutely and hourly repeat types
  • Use a count of repeats to calculate the number of repeating events, instead of using a last occurrence date
  • Add agendaSearchFields property for the AgendaSearch hook

Changed

  • Rename the system setting repeating_max_occurance to repeating_max_occurrence

Fixed

  • Fix some slow database queries in combination with Cursus
  • Fix the javascript startdate/enddate calculation in the weekday repeating type
  • Fix the javascript startdate/enddate calculation in the monthly by weekday repeating type

[1.7.9] - 2025-07-22

Fixed

  • Fix the column sorting results of some grids.
  • Remove the column sorting from grids with draggable rows.

[1.7.8] - 2025-05-21

Added

  • Add filterEventIds property to the AgendaCategories snippet to filter the listed event categories

Fixed

  • Fix the overview connector options examples
  • Fix the active property of the getoverview processor

[1.7.7] - 2025-05-06

Added

  • Add agenda.default_calendar, agenda.default_category and agenda.default_location system settings that are used for new events

Changed

  • Use Google Maps Dynamic Library Import API in the MODX backend
  • Refactor the dynamic tab creation in the overview of the custom manager page

Fixed

  • Fix geolocation of an address in the backend

[1.7.6] - 2025-02-20

Changed

  • Don't regard processor permissions when running in a cronjob
  • Use the agenda.default_timezone system setting during the import of the feed dates
  • Ignore the next start of the feed refresh when started in the feeds grid

Fixed

  • Create at least one event date with a custom repeat type
  • Don't create the first event date of a custom repeat type twice during updating the event

[1.7.5] - 2025-01-29

Fixed

  • Fix not retrieving the Google Maps zoom level in the location edit window
  • Fix retrieving the context list in the context combo with newer MySQL databases

[1.7.4] - 2025-01-21

Changed

  • Use the date_timezone MODX system setting, when the agenda.default_timezone system setting is empty.

Fixed

  • Use the agenda.default_timezone setting in the cronjob too.
  • Fix deprecated google.maps.Marker
  • Fix deprecated google.maps.event.addDomListener

[1.7.3] - 2024-12-30

Changed

  • Don't set the id column to fixed width
  • Don't show the reset warning for new events

Fixed

  • Fix generating the initial repeating event for new event or reset repeats with custom repeat type enabled

[1.7.2] - 2024-12-19

Added

  • New useCursus property for the AgendaCalendar, AgendaDetail, AgendaDetailIcal and AgendaList snippets to bypass the cursus.event_where system setting and unnecessary Cursus placeholders.
  • New agendaUseCursus property for AgendaEventGet, AgendaEventSet and AgendaSearch hooks to bypass the cursus.event_where system setting and unnecessary Cursus placeholders.

Fixed

  • Filtering excluded categories did not work
  • Styling issue in the event edit window in MODX 3.x

[1.7.1] - 2024-11-28

Added

  • Field options in extended fields: allow_blank, read_only and label_style are currently avaliable

[1.7.0] - 2024-11-27

Added

  • New AgendaFormatDate and AgendaFormatRange output filter
  • Add Downloads tab to the create/update event window
  • Add agenda.use_downloads system setting to show/hide event edit Download tab
  • New downloadTpl property for the AgendaCalendar, AgendaDetail and AgendaList snippets to list the downloads
  • New weekday property for the AgendaDetail and AgendaList snippets to filter events by weekday
  • New calendarsJunction, categoriesJunction, usersJunction, usergroupsJunction, contextsJunction and locationsJunction property for the AgendaCalendar, AgendaDetail and AgendaDetailICal snippets

[1.6.19] - 2024-11-05

Added

  • New calendarsJunction, categoriesJunction, usersJunction, usergroupsJunction, contextsJunction and locationsJunction property for the AgendaList snippet
  • Add cursus fields to the AgendaEvents::toExtendedArray method
  • Autosize for all exported Excel columns
  • Enable remote sort for all grids

Fixed

  • Log the PhpSpreadsheet debug info in the error log and not elsewhere
  • Fix for required fields in events that are not available in Cursus
  • Don't use null values in not null database fields
  • Fix wrong autoexpand column

[1.6.18] - 2024-09-16

Added

  • Allow invalid ssl certificates while importing feeds

[1.6.17] - 2024-09-03

Added

  • Support for MariaDB servers with ONLY_FULL_GROUP_BY enabled
  • Add extended event fields in the overview processor used by the overview connector

Fixed

  • Fix the clear filter button in the overview tab
  • Fix only one new line is possible in a Redactor editor

[1.6.16] - 2024-08-19

Added

  • Support for MySQL servers with ONLY_FULL_GROUP_BY enabled

[1.6.15] - 2024-06-17

Added

  • Add a purge button for not assigned categories, calendars and locations
  • Show assigned events in the category, calendar and location edit window

Fixed

  • Fix the count of events in the events grid

[1.6.14] - 2024-04-23

Added

  • Add the active property for AgendaCalendars, AgendaCategories and AgendaLocations snippets

Changed

  • Clear only the state cache of Agenda with the Reset State button

Fixed

  • Fix a fatal error during the import
  • Fix a fatal error during a csv export

[1.6.13] - 2024-03-14

Added

  • Add two methods to the event import code to be overridden in a derived class

[1.6.12] - 2024-03-02

Added

  • Use less the database queries to retrieve the events in an interval

Fixed

  • Fix showing all day events on the next day in the event list and the calendar list in some situations

[1.6.11] - 2024-02-20

Added

  • Show the active status of the location in the event list column
  • Show the inactive status of a location in the location combo

[1.6.10] - 2024-02-17

Added

  • Show the active status of events, event dates, calendars and categories in the event list column
  • Show the inactive status of a calendar in the overview hover popup
  • Show the inactive status of a calendar in the calendar combo

[1.6.9] - 2024-01-18

Added

  • Edit cursus event action column button for Cursus events (when Cursus is installed)

Fixed

  • Bugfix for a fatal error when exporting not existing extended fields

[1.6.8] - 2023-12-12

Added

  • All event placeholders are available in a row of the search result

Changed

  • Change the visibility of some set methods in the Import class to use them in extended classes

Fixed

  • Fix two accidentally swapped result placeholders in the AgendaSearch hook

[1.6.7] - 2023-11-09

Added

  • Clear the MODX cache after auto activating/deactivating events
  • Activate/Deactivate an event/event date or location in the edit window, when the 'activate at'/'deactivate at' date is set

[1.6.6] - 2023-10-26

Added

  • Add joins & selects to the AgendaEvents eventsQuery method

Fixed

  • List events in the events grid that are repeating events but which have no event dates assigned

[1.6.5] - 2023-10-13

Added

  • Set activate_at/deactivate_at/active for the first event with a custom repeat type
  • Set the auto activaction time during creating/updating an event
  • Add the active property to AgendaDetail and AgendaDetailICal snippets
  • Add the locale property to the AgendaDetailICal snippet
  • Add activate_at and deactivate_at to the allowed values of AgendaEventSet

[1.6.4] - 2023-10-06

Added

  • Toggle events by active status in the calendar overview and the events grid.

[1.6.3] - 2023-10-04

Added

  • OnAgendaValidate system events for most Agenda database classes
  • New active property for the AgendaList and the AgendaCalendar snippet
  • Add agenda.use_content, agenda.use_images, agenda.use_videos and agenda.use_users system settings to show/hide event edit tabs

Changed

  • Remove combo fields instead of hiding them in the create/update windows to avoid ACL issues

Fixed

  • Fix normalizeDate method to retrieve a valid xPDO datetime string
  • Fix sorting events with repeats in the events grid

[1.6.2] - 2023-09-07

Fixed

  • Don't check the mediasource policy of images and videos in the frontend

[1.6.1] - 2023-09-04

Fixed

  • Fix changing the mediasources of images and videos after selecting a new file

[1.6.0] - 2023-08-28

Added

  • 'Activate/Deactivate At' fields for events, repeats, locations, images, videos, categories and calendars
  • Activate/Deactivate events, repeats, locations, images, videos, categories and calendars with a plugin

Fixed

  • Allow to import CSV files without a header record line

[1.5.7] - 2023-08-01

Added

  • Validate Cursus fields
  • Direct download of the images in the images grid and edit window

Changed

  • Increased length of the description field for images, videos and locations

Fixed

  • Fix the problem that the enter key in modx-texteditor triggers saving and closing of the editing window

[1.5.6] - 2023-06-22

Added

  • Blur option to present the functionality without revealing personal data

Changed

  • Don't save empty extended fields

Fixed

  • Only future results of locations, adresses and categories in the autocomplete processor
  • Fix 'Instantiated a derived class AgendaEventDates that is not a subclass of the requested class AgendaEvents'

[1.5.5] - 2023-05-31

Added

  • Add agenda.show_id system setting to show/hide an id field in the Agenda grids

[1.5.4] - 2023-05-25

Fixed

  • Fix a critical error in the AgendaEvents class

[1.5.3] - 2023-05-02

Added

  • Add agenda.use_category, agenda.use_context and agenda.use_location system settings to show/hide event fields and grid columns
  • Import and geocode locations in the feeds

[1.5.2] - 2023-03-31

Added

  • Add methods in the import class to optionally update events and event dates data
  • Open an event edit window in the custom manager page with a URL property

Fixed

  • Fix using the wrong search property in the AgendaSearch hook
  • Fix for filterByEvents snippet property using wrong event dates

[1.5.1] - 2022-03-11

Fixed

  • Fix the settings grid issue occuring in MODX 3.0.3

[1.5.0] - 2022-03-09

Added

  • Agenda modules
  • Import and export of events (CSV, XML and Excel)
  • Add fulldescription and link values to the overview result
  • Add custom repeat type to allow adding own event dates
  • Add filterByEvents property for AgendaCalendars, AgendaCategories and AgendaLocations snippet
  • New where property for all snippets
  • State save of column visibility and sorting for the events grid
  • OnAgendaBeforeSave/OnAgendaSave/OnAgendaBeforeRemove system events for most Agenda database classes
  • Add modx-texteditor as editor type in the custom manager page
  • Add durationRound property for AgendaList, AgendaCalendar and AgendaDetail snippet

Changed

  • Move unique alias generation to the object classes
  • Unique result in the autocomplete processor
  • Only future results in the autocomplete processor

Fixed

  • Fix the autocomplete processor sanitizing too much
  • Sort the historical view reverse with the latest events first

[1.4.4] - 2022-11-10

Fixed

  • Fix boolean Agenda options

[1.4.3] - 2022-10-27

Fixed

  • Fix search query
  • Fix extended repeat fields for not repeating events

[1.4.2] - 2022-10-19

Added

  • Make the next run editable in the feed grid

Changed

  • A feed event will have an entry in the AgendaEventDates table too
  • Update composer dependencies

Fixed

  • Fix a sometimes too short feed url field
  • Fix a sometimes too short event content field
  • Fix run feed sometimes does not work in the backend

[1.4.1] - 2022-10-12

Added

  • Show repeats for not repeating events, when agenda.extended_repeat_fields is filled.

Changed

  • Do not activate hidden tabs that were previously active
  • Change the extended fields in the database to mediumtext

Fixed

  • Fix a permanent event change warning

[1.4.0] - 2022-09-28

Added

  • Compatibility with Cursus
  • System Setting agenda.manager_date_alt_formats for extended format validation in the date input
  • New ajax property for AgendaCalendar, AgendaCalendars, AgendaCategories, AgendaDetail, AgendaList and AgendaLocations snippets
  • Title & description fields for each event repeat
  • System Setting agenda.extended_repeat_fields and agenda.extended_location_fields for adding extended fields to locations and event repeats
  • System Setting agenda.extended_xtypes_script for adding new xtypes to the Agenda custom manager page
  • Example xtypes in assets/components/agenda/js/examples/xtypes.js
  • Add the event location and description to the iCal download

Changed

  • System setting agenda.manager_date_format, agenda.manager_date_format_long, agenda.manager_time_format and Setting agenda.manager_date_alt_formats replaced with lexicon based settings
  • Modified saving of repeating events: A possible reset is indicated and the reset warning will be shown before save

Fixed

  • Fix a typo in the schema
  • Fix lockfile warning
  • Fix wrong handling of agenda.category_required setting
  • Fix showing NaN dates in Safari
  • Fix not set editedon and editedby fields

[1.3.4] - 2022-02-28

Added

  • Allow calendars, categories with the same name (the alias has to be different)
  • Install the composer dependencies directly on the server

Fixed

  • Fix a location saving issue, when the Google API Key is not set

[1.3.3] - 2022-02-25

Added

  • Allow locations with the same name (the alias has to be different)
  • Add the alias field to the edit location window

Fixed

  • Fix a vendor folder issue

[1.3.2] - 2022-02-22

Changed

  • Improved compatibility with richtext editors
  • Improved compatibility with pdoPage AJAX requests

[1.3.1] - 2021-12-22

Changed

  • Update composer dependencies

Fixed

  • Downgrade Tippy.js to 5 for MODX 3 compatibility
  • Fix MODX 3 styles

[1.3.0] - 2021-12-13

Changed

  • Update FullCalendar in backend from 3.x to 5.x
  • Use Luxon instead of moment.js
  • FullCalendar language is based on MODX Manager language
  • A not repeating event will have an entry in the AgendaEventDates table too
  • Hide the repeats tab during editing not repeating events
  • Hide the images, videos and users tabs during creating events

Fixed

  • Removing only one repeat removed all future repeats of an event
  • The end time of an event was increased by one minute in the list view
  • Fix a wrong isArray check

[1.2.1] - 2021-04-09

Added

  • AgendaSearch hook for SimpleSearch
  • Autocomplete connector processor displaying/searching event names, location names and (optional) location addresses

Fixed

  • DateInterval property issue

[1.2.0] - 2021-03-29

Added

  • AgendaDetailICal snippet
  • MODX 3 compatibility
  • Refresh a feed in the custom manager page grid row

Changed

  • Code refactoring

[1.1.2] - 2021-02-03

Added

  • prev_url/next_url placeholder in the AgendaDetail output
  • prev_/next_ prefixed placeholder for the previous/next event in the AgendaDetail output

Fixed

  • Fix a wrong count placeholder value for mixed normal and repeating events

[1.1.1] - 2020-10-12

Added

  • Missing validation rules for repeat types

Fixed

  • Fix a rendering issue in the custom manager page
  • Fix the last occurrence of repeating events being increased for one day
  • Fix not deleting existing repeating events, when the repeat options are changed

[1.1.0] - 2020-08-06

Added

  • AgendaEvent FormIt Hooks
  • Extended fields for events
  • AgendaCalendar snippet
  • Log invalid date snippet properties
  • New allowedRequestKeys property for AgendaList, AgendaCalendar, AgendaDetail, AgendaCategories, AgendaCalendars and AgendaLocations snippets
  • Selected property for AgendaCategories, AgendaCalendars and AgendaLocations snippet
  • Alt click on the linked resource quickedit button opens a new full edit window
  • Show category colors/backgrounds in the overview
  • Display an add button in every half hour row in the day view of the overview
  • Calendar and category filter in the event tab
  • Fix some styling glitches in the custom manager page
  • New excludeEvents & excludeRepeats property for AgendaList snippet
  • Duplicate images, videos, users and usergroups while duplicating an event
  • French lexicon

Changed

  • Remove the edit button in the overview and make the event clickable
  • Use a more common value for the enddate/repeating enddate of an all day event
  • Don't list the event multiple in AgendaList, when it has multiple categories
  • Update composer dependencies

Fixed

  • Fixing a getPage/pdoPage count issue
  • Fixing an entity issue in the resource combo
  • Fix a css issue with the linked resource combo box
  • Fix a not localized output in the range placeholder of an event
  • Fix a not working switch of htmleditor to textarea for the event/location description
  • Fix repeating event calculations

[1.0.3] - 2019-10-30

Changed

  • Change the text input for the location address to textarea

Fixed

  • Fixing a TinyMCE RTE display issue in not initially visible tabs
  • Fixing the enter key in redactor triggers saving & closing the edit window

[1.0.2] - 2019-10-21

Changed

  • Removing the min/max restrictions of the dependent date/time inputs in event and repeating event create/edit window
  • Fill the end date with the start date value, when the end date is empty and opposite

Fixed

  • Don't show the event multiple in the overview, when it has multiple categories
  • Fixing not displaying the last day in the overview, when it ends before 9:00
  • Fixing the display of all day events duration in the overview

[1.0.1] - 2019-10-09

Changed

  • Save the context value during creating/editing an event
  • Load the Google Maps API only when the agenda.google_maps_api_key is set
  • Allow 0 as value for parents_calendar, parents_category, parents_event and parents_location system setting

Fixed

  • Fix a date display issue in Safari
  • Don't display an empty list in AgendaCalendar/AgendaCategory/AgendaLocation, when the calendar/category/location property is empty

[1.0.0] - 2019-10-03

Added

  • Initial Release