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_atsystem 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
0is 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
repeatingandrepeat_typeevent field, when theagenda_repeatingpermission 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 variablein 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_repeatspermission to show/hide the reset repeats checkbox in the edit/update event of the Agenda custom manager page - Add the
agenda_repeatingpermission 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_repeatingandagenda.default_repeat_typesystem 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_categoryandagenda.default_locationsystem 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_timezonesystem 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_timezonesystem setting is empty.
Fixed
- Use the
agenda.default_timezonesetting 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_wheresystem setting and unnecessary Cursus placeholders. - New agendaUseCursus property for AgendaEventGet, AgendaEventSet and AgendaSearch hooks to bypass the
cursus.event_wheresystem 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_downloadssystem 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_videosandagenda.use_userssystem 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_idsystem 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_contextandagenda.use_locationsystem 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
0as value forparents_calendar,parents_category,parents_eventandparents_locationsystem setting
Fixed
- Fix a date display issue in Safari
- Don't display an empty list in
AgendaCalendar/AgendaCategory/AgendaLocation, when thecalendar/category/locationproperty is empty
[1.0.0] - 2019-10-03
Added
- Initial Release