- Simple Time Slot Mode - Already reserved date not removed from list of availability - #569
- time range is ignored in 'fastQuery' - #565
- python script to generate .ics files for testing
- add 'Get by Event UID' debugging option
- Internal Server Error: skip non
VEVENT
objects in fastQuery - #564
- Internal Server Error: fastQuery returns Postgresql blob as resource instead of string - #563
- performance improvement: use direct query(BCSabreImpl->fastQuery) instead of 'calendarQuery' >>> 'getMultipleCalendarObjects'
- fix undefined array key "zones_file" error when page is disabled
- grid: fix editing one appointment causes changes in another - #559
- More 'lead time' options - #557
- New security options: email block list and hCaptcha - #558 and #261
- New option for adding text to the 'Form Submitted Page'
- New Timezone picker(select dropdown) on the form - #370, #460, #511
- Removed legacy v1 pref DB table
- Updated NC vue dependencies
- Updated zones.js file
- Removed "Show Timezone" option because Timezone Picker is always shown now
- Moved 'Private Page' setting into Security section
- Do not use screaming message - #552
- Send confirmation email in user locale - #158
- Fixed 'select' component styles
- Simple mode: date/time picker style
- Simple mode: getTimezone request
- Remove placeholder location when location is unset - #528
- Add 'PAGE IS NOT ENABLED' indicator
- Add 'Icon' (%I) and 'Event Preset Title' (%E) options to 'Title Template' - #539 and #548
- Update Nextcloud dependencies
- Bump max version NC to 30 + fix NC 30 talk integration - #543
- Increase per request events limit in 'External Mode' - #472
- Crash on NC v28.0.9 and v29.0.5, rel: EMailTemplate::__construct(): Argument #4 ($logoWidth) must be of type ?int - #538
- Background image stuck: remove legacy(pre NC v28) theming code
- Prefill input fields with url parameters - #145 (Thanks, Gonzalo Ruiz)
- Min Nextcloud version is 28 now
- Chrome throws CSP exception when "Redirect Confirmed URL" is on a different domain - rel #465
- Conflict check only considers first day for multi-day events - #535
- Removed some unused files
- email text cutoff on older email clients - #532
- conflict check is not working for holidays calendar - #527 & #513
- "Can't find template dur" error on pages with large IDs - #526
- Ensure proper reminder email when organizer phone is not provided - #523
- Use password policy compliant generator for Talk room passwords - #520
- Fixed build dependencies
- Cleanup TalkIntegration.php
- Ensure overwrite.cli.url contains a "real" URL when adding links to reminders - #525
- Add template debugging option - #526
- LimitToGroups not working - #517
- App toolbar icon is now hidden for excluded users
- fix: cannot change title, subtitle, and text in directory item editor - #509
- Refactor prop encoder
- Location is not applied - #512
- PostgreSQL error: invalid byte sequence for encoding "UTF8" - #510
- added 'ROLE' to ATTENDEE prop in .ics attachments
- BigBlueButton integration is now available
- use 'X-APPT-DOC' instead of 'X-APPT-DATA'
- use $this->config instead of passing $config into functions
- add and refactor tests
- min-version is 27 now
- fix: type error in 'getUserTimezone()'
- fix some translation strings and remove SectionTest.vue - #506
- ensure darker email text color and left alignment - #503
- Public pages not working
- Changing "Talk room name" does not work #496
- Remove extra single quite in form.php - #494
- Timezone info is lost when dealing with "floating" events in external mode - #478
- Checkbox click propagation is not prevented
- Use current email template (instead of NC20)
- Simplify getUserSettings() calls
- Add more type declarations in PageController.php and BCSabreImpl.php
- Re-add 'talk_integration_disabled' (old: disable_talk_integration) appConfig setting
- Form css: set max-width:24em in mobile mode in case of long addresses/names
- URL handling in location field (when location is set to a valid URL)
- Default to 'AutoStyle=true' for new pages
- 'Page Tag' is not working in the 'Event Title Template' - #490
- Confirmation dialog on page delete
- Only the first extra field info is added to calendar - #488
- Removed 'request->getRequestUri()' from action_url param, possible solution for #485
- Removed leftover testing/debugging log statements from handleReminders function - #482
- Merged v2 translations
- Refactored database schema:
- New "Settings" table: oc_appointments_pref -> oc_appointments_pref_v2
- Each user page is now an independent entity (v1 had 1 main page + sub-pages)
- Updated Settings UI (using
NcSettings
component now)
- Bump NC
min
version to 26 andmax
version to 28
- Add "preset timezone" workaround via 'tz' query param - #451
- Always display "three dots" indicator in the side menu
disable_talk_integration
option can be set toyes
viaocc config:app:set
to hide the "Talk Integration" settings option- 32, 40 and 48 weeks options are now available in the 'Show appointments for next...' dropdown - #440
- 2 weeks is the default option for 'Show appointments for next...'
- Names with two letters are not accepted - #437
- Links ( and email address ) in outgoing emails are now "linkyfied" automatically and can be clicked
- Updated JS dependencies
- Bump NC max-version to v27 - #428
- Template grid starts at 00:00 (not 6:00)
- 'From' email addresses have the 'Display Name' part now - #414
- Broken NC25 related styles
- TalkIntegration: fix delete room error on NC26 - #418
- Nextcloud min version is 25 now
- Default to getProductName in 'HeaderTitle' (instead of Nextcloud)
- Auto-style: use system-wide default background color if provided
- Buffers are applied to ALL events now (instead of just "Appointments") - #328
- auto-style is applied to directory page now
- NC25 wrong auto-style background
- optimized form page - time element are created on demand now
- nextcloud max version is 26 now
- blank page on NC26 (and possibly NC25.0.5) - #406
- change minimum, appointment length from 10 -> 5 min - #384
- removed NcModel FocusTrap workaround
- re-lint some php files
- @nextcloud/vue v7.4.0 compatibility - #395
- overlap of slots from same day in different month - #401
- use static var instead of session - #399
- More debug info is returned from getRawCalendarData() - #394
- Lock "@nextcloud/vue" at "~7.3.0" for now - #395
- 'Name' label -> 'Full Name' on the main form
- Front-end missing translations module causing broken validation - #392
- Time not selectable when appointment has multiple durations - #391
- Add duration is not working unless slider is moved firsts
- 18 and 24 weeks book ahead durations - #385
- 'Auto Style' support for custom colors - #387
- Removing unused NC js files to speedup form page
- Removed unnecessary translations - #388
- Normalize 'Auto Style' fallbacks - #387
- Accessibility: add keyboard navigation to booking form - #214
- Multiple "extra" fields. Thanks @LadySolveig - #223
- Updated build dependencies
- Feature: Support for multiple custom fields - #259 (LadySolveig)
- Appointment title templating - #382
- Organizer email is not sent in some cases - #383
- Log warnings instead of errors for missing timezones
- Optimize "Auto Style" functionality (upgrade from v1.14.2 and v1.14.3 to improve performance)
- NC25 Talk integration errors - #376
- Modal info popups - #377
- "Auto Style" not working with NC 25.0.1 and guest pages
- "Auto Style" toggle to NC25
- "pageId" to email buttons urls when using embedded form - #372
- Log error details when email to organizer fails - #375
- Update "@nextcloud/vue" to v7.0.1 - #366
- Min Nextcloud version is 24 now
- Styles and icons for NC 25 - #366
- Public page title from
Nextcloud
->Appointments - Nextcloud
- #362 - Email footer uses
$theme->getEntity()
instead ofNextcloud
- Next release possible breaking changes notice (prep for NC25)
- Nextcloud 23 is min version now
- Expected parameter of type '\DateTime', 'null' provided in Talk Integration
- Wrong L10N class is passed to EMailTemplate::class constructor when custom 'mail_template_class' is used - issue #344
- Ensure 'Additional ICS file description' is included - issue #342
- 'Form Title' settings display (single page mode) - issue #343
- Use full time zone names(Eastern Daylight Time) instead of abbreviations(GMT-4) in PHP
- NC 'Locale' settings (instead of 'Language') is now used for JS i18n Dates/Times - issue #244
- HTML is now allowed in 'Additional Email Text' - issue #132
- Better error handling in extNotify function
- Update node dependencies (npm -> pnpm)
- Default reminders language indicator - issue #323
- Rudimentary notification extension system - issue #26
- Ignore "trash bin"(deleted) calendars - issue #64
- Template/grid editor header dark theme compatibility - issue #327
- Reminders test
- Nextcloud min version is 22 now (max version is 24) - issue #324
- Include 'CLASS: CONFIDENTIAL' (but not 'PRIVATE') events in conflict checks - issue #321
- Template/grid editor range is extended to start at 6:00 and end at 23:00 - issue #332
- redirect to a custom "All Done" page after confirm option - issue #315
- improve iframe embedding (window.parent.postMessage) and more examples - issue #313
- custom styles not applied to all pages - issue #313
- option to add booked/pending appointment buffers (before/after blockers)
- missing translation - issue #190
- trailing/filler empty days are not shown - issue #306
- PHP: error when "Skip email validation step" option enabled - issue #304
- Sunday is available now in "Edit Template" and "Add Appointments" - issue #13
- New "Private Page" mode: visitors must be logged-in to NC - issue #298
- Debugging: add "Sync Remote Calendar Now" option
- "Show end time" option is always ON in "weekly template mode" - issue #299
- JS: errors and "this" scope in doCopyPubLink function
- Cancellations and reminders not working in "simple" mode with dual calendars (regression from v1.11.14 ) - issue #302
- dev: updated dependencies and config files
- Confirm, Cancel and ChangeType pages now have a "confirm" button to prevent antivirus / antimalware scans from taking action automatically - issue #293
- "GDPR text only (no checkbox)" to page settings - issue #292
- Dark theme styles in "Quick Start Guide" - issue #289
- Option to add custom text to event/appointment DESCRIPTION property (the text is also added to .ics email attachment)
- Interval tree bug: lookup might report busy slot as free under certain circumstances - issue #282
- Allow non admin users to debug/dump own raw calendar data
- Log remote blockers debugging option
- Raw calendar data dump debugging option
- More logging in timezone detection
- Read-only and linked/subscription calendars are available for conflict checks in "Weekly Template" mode now.
- multiple template mode pages might throw errors if in different timezones, possibly related to #272
- max-version="22" -> max-version="23"
- Remove time zone check on apply because the logic is moved to Template Edit Screen - issue #243
- Increase hash_table.uid column length to 255 (same as calendarobjects.uid length) - issue #253
- Use calendar timezone whenever possible - issue #243
- Moved time zone indicator to Template Edit screen
- Max appointment duration in weekly template" mode - issue #230
- Removed some deprecated \OC::$server->... calls
- Vue components directory structure
- "Quick Start Guide" + some more help
- Reminders - issue #68
- Quotes escape in additional form field - issue #202
- Max text length 255->512 in additional form field - issue #202
- Remove 8 week limiter in "template mode" - issue #234
- Option to allow all day events to block - issue #226
- New translations after removal of ":" punctuation
- No emails on nc22 - issue #225
- Nextcloud min version is 21 now
- Remove ":" punctuation from the form ("Name:" -> "Name") because of nc22 l10n bug
- double booking check overlap on adjacent timeslots - issue #209
- Version info to
settings dump
- Additional logging for #217 and #209 debugging
- End-time not showing in
simple
andexternal
modes
- Updated timezone info
- Updated build tools and dependencies
- Minor CSS tweaks
- CSS layering - issue #203
- page name to emails when multiple pages are in use
- incorrect timezone under some circumstances - issue #195
- grid menus not closing
- Nextcloud min version is 20 now (v18 and v19 are not supported anymore)
- if enabled, timezone is displayed next to the date (instead of in the time cell)
- 'disableForGroups' -> 'limitToGroups'
- 'disableForGroups' occ setting
- Talk integration when 'email attendee' is disabled
- 'email attendee' options are 'On' by default now
- DebugController
- max-version is 21 now
- Issue #184 part 2
- Infinite loop in 'external mode' issue #184
- Daylight savings and start_date detection in 'weekly template' mode
- Talk 10.1.* integration - issue #179
- Add recurrence blocking in external mode - issue #168
- Add more 'leadtime' options - issue #135
- Past dates are shown in week template
- Access array offset on value of type null for additional pages
- Upgrade failed issue #173 (POSTGRESQL ?)
- Template Mode
- Appointment slots can overlap now in the editor
- Use own DB table for settings, instead of 'oc_preferences'
- Modals on wide screens
- Doctrine3 type strings
- 'null' array in extra fields
- define 'more_html' at the start
- translations
- Extra input field option - issue #24
- Removed "floating" timezones support
- Change triple dot to ellipsis PR #144
"Uninitialized string offset: 0 at BackendUtils.php#665" possibly related to issue #149
- display option for 8 and 12 weeks pull #138
- translation release - issue# 142 ?
- Meeting type change capabilities - issue# 140
- Issue #139, NC20 talk integration.
- Issue #141, NC20 email template error.
- Issue #136, wrong location when additional pages are used.
- NC19 email template regression
- "Meeting Type" form field for Talk integration
- Use NC18 email template even on NC19
- CSS for dark themes
- Talk App integration
- issue #120
- issue #123
- issue #124
- Multi-page support
- Email confirm/cancel buttons depend on an attendee's PARTSTAT parameter
- Use "mailto" scheme in .ics attachments instead of "acct"
- issue #116
- "Show end time" option
- "Show timezone" option
- spinner to "Book now" button
- pending appointments are not cancelled in "simple mode" with dual calendars
- swipe and mobile style to the public page
- moved calendar selectors to "Calendars" section
- internal code cleanup and optimization
- issue #112 (nginx)
- finalize issue #111
- Lodash security update
- issue #111
- Stale calendar info
- "Auto-fix" option for "External Mode"
- Ability to show appointment's title in the form
- Minimum prep/lead time
- "Appointment" category is optional in "External Mode"
- External Mode to timeslot management
- Cancellation link to confirmation emails
- "Sunday" is red now
- Hash table cleanup when deleting old appointments.
- Text to "Public Page URL" dialog buttons
- Setup cancellation link for confirmation emails (awaiting translations)
- css for XL screens
- Saturday to "add appointments" grid
- Grouped calendar options into 'Manage Appointment Slots'
- Moved 'Attendee Cancels' options to 'Manage Appointment Slots > Advanced Options'
- Moved 'Copy public link' to 'Public Page [...]' menu
- Options for additional email text
- Added 'Remove Old Appointments' option
- Iframes support
- Option to add 'robots noindex' meta tag
- Preview for "skip email verification step" option
- frontend error check fails when date empty
- Option to skip email validation test
- Install test
- Display all existing appointments in the schedule generator
- Shared calendars support (must have edit permission)
- Translations
- Translations push
- Option to hide phone number input
- Confirm page error (regression from v1.4.8)
- Timezone info in the help section
- Longer hours in the 'Schedule Generator' issues #62
- Error reporting when 'Schedule Generator' fails
- Do not re-run old update-hook.
- Free/Busy - issue #57
- translations
- Makefile and path to timezones.json
- Minor fixes
- issue #61: emails not sent on postgres instances
- Non 'floating' times are "casted" to visitors local times if in different timezone
- issue 51: can't set calendar on some instances
- Safari wrong time issue 59
- Make default email default issues 52 53
- Moved "User/Organization" settings to navigation area
- "Add Appointments" -> "Add Appointment Slots"
- "Help/Tutorial" is a toggle now
- Timezone abbreviation for non "floating" time appointments in emails
- Options for sending "update/cancel" emails to attendees when appointments are updated or deleted via the calendar or other external app
- Appointment booked/confirmed/canceled notifications for organizer
- Reset option for cancelled appointments.
- "appointments.use.default.email" config.php option for servers that do not provide email addresses for all users
- Advanced public page customization options
- BackendManager class and IBackendConnector interface
- DavListener class to send email on "updateCalendarObject" and "deleteCalendarObject" events
- "appointments_hash" table to keep track of active appointments
- "Copy public link" button for older versions of Safari
- Minor style tweaks
- Webpath for custom install directories
- GDPR checkbox style
- Fetch public link from server if empty
- Minor stability issues
- GDPR Compliance
- NC16 Compatibility
- Issue #29
- acorn security alert
- Mixed timezones in date/time picker
- Timezone support
- Custom form title option
- Add phone number to .ics files
- Max range verified
- Daylight savings grid drift
- Extra empty week
- Empty days text
- Max range is 5 weeks now
- Help/Tutorial
- Public page settings propagation
- Address in the appointment location filed
- .ics file attachment option
- New public page date/time picker UI
- New appointment generator UI
- Daylight savings 1 hour shift
- L10N compatibility
- Issue #9 (PostgreSQL related)
- L10N compatibility (partial)
- Mostly style tweaks
- PHP 5 token encode error
- Dark theme
- Persist tokens after update
- Token verify bug
- Multi-user access
- Token verification
- Initial Release