관리-도구
편집 파일: changelog.txt
## [1.4.3] - 2022-03-08 ### Added - #1208: Security configuration enhancements in the application. - #1209: Add support for PHP 8.1. ### Changed - #1207: Replace CodeIgniter with the system directory for smaller package size and more control over the framework. - #1210: Move the change language operation into a new public controller. - #1212: Remove the Google Calendar read-only scope use as it is not needed. - #1213: Switch to go-to-latest database migration configuration for simplicity. - #1216 Replace Google Client JS with the Google Calendar Template link in the book success page enhancement. ### Fixed - #1211: The table calendar view breaks for secretaries and providers due to appointment and unavailability removals bug. - #1214: Provider and secretary users can only add unavailabilities for their authorized users bug. ## [1.4.2] - 2021-07-27 ### Added - #1004: Add support for line breaks when displaying the service description in the frontend. - #1040: Support all-day events while syncing with Google Calendar. ### Fixed - #961: Timezone/UX issue: Wrong day is selected when timezone differs by -1 day. - #966: Secretaries are getting notification emails for providers that are not assigned to them. - #980: Missing Pacific (and potentially other) timezones. - #982: The Any-Provider option might lead to double bookings, if all the providers have the same number of appointments for the selected date. - #986: Managed to replicate appointment hash collisions. - #989: Fix Critical mistake resulting in wrong date - #990: The API availabilities controller throws an error when generating availability for services with multiple attendants. - #991: Available hours generated with the "Any Provider" option in the booking page, may use the information of a provider that is not assigned to the selected service. - #993: Add support for PHP8 (vendor packages need to be updated). - #1000: Small fix for the display of the delete button in table view. - #1011: Working plan exception - details pane shows incorrect details. - #1023: Backend calendar table events missing or duplicated. - #1026: The timepicker sliders do not work when using an iOS device. - #1029: Enhance SMTP functions of PHPMailer. - #1043: Unavailable events do not block time from services with multiple attendants. - #1046: Make sure that saving the modifications of a single break does not cancel any pending break edits. - #1068: Set minimum service duration field value to honor the value of EVENT_MINIMUM_DURATION. - #1073: Update PHPMailer dependencies. - #1074: In case of deletion of one appointment, system sends email to admins anyway even if they have email notifications disabled. - #1092: Javascript RangeError on appointment change causing disabled calendar dates. ## [1.4.1] - 2020-12-14 ### Added - #952: Add timezone support in the REST API, when managing users. - #955: Display confirmation modal when disabling a connected Google Calendar Sync. ### Fixed - #945: Google Calendar sync throws an error with all day Google Calendar Events. - #946: Typo in JavaScript code leads to a broken calendar view, when loading unavailability events with note contents. - #948: Multiple attendant services may lead to double booking. - #950: Cannot create provider without services via the API, some values (other endpoints) are optional too. - #953: Current time indicator in fullcalendar is showing time in local timezone and not in the user selected timezone. - #954: The password must be provided via the API when creating new users. ## [1.4.0] - 2020-12-09 ### Added - #203: Appointment location / 12-hour format / sync notes and location in Google Calendar. - #221: Fixed/Improved sort breaks increasingly by hour within day. - #247: Add new system-wide setting for removing the "Any Provider" option of the booking page. - #251: Automatically populate the appointment end datetime in API. - #301: Automatically reload the backend calendar events. - #313: How to set the timezone from the user booking the appointment. - #365: Only allow appointments for a few weeks in advance. - #431: Add support for working plan exceptions. - #471: Add new system-wide setting that enable users to choose the first day of the week. - #496: Add pagination on every backend page in order to make filter requests faster. - #501: Integrate script for assets minification. - #502: Config::DEBUG value toggles the use of normal or minified asset files. - #546: Add appointment edit link in the backend customers page. - #550: Multi-Lang Front-End selection popup not working on mobile. - #551: Front-End booking calendar not syncing with business logic working plan. - #572: Ensure the database structure is compatible to at least MySQL 5.5. - #576: Appointment cancelled exception not showing properly. - #610: Token based authentication for the Rest API. - #648: Add a warning when customers delete their personal information. - #655: Creating an appointment requires user to enter their phone number enhancement. - #659: Automatically detect browser language enhancement. - #663: Language selector not working under legacy iOS (v.10.3.1). - #680: Generate new password in the generate_random_string function may create duplicate passwords, plus it is not secure enough. - #739: Enhance the table view mode by replacing the tables with fullcalendar instances. - #770: Store customer's language and use it with notifications or when the customer manages and existing appointment. - #889: Notify admins and secretaries on appointment changes. ### Changed - #386: Service price should be optional. - #428: Enable book advance timeout values in days. - #568: Sort providers alphabetically in the booking page. - #745: Add appointment notes preview in the event popover. ### Fixed - #171: Google calendar sync - wrong timezone for appointments. - #195: Fix Google calendar sync activation error (JavaScript). - #298: Provider availability issue when selecting the "Any Provider" option. - #396: Start and end time do not update correctly during calendar time selection on iPad (and other Safari based devices). - #447: Captcha error using docker (500 error). - #506: Working plan created in version v1.2.1 wrongly displayed in backend with version v1.3.1. - #507: Need to manually clean the cache when migrating from v1.2.1 to v1.3.1. - #541: Can't remove (empty) customer notes field. - #549: Querying appointments API endpoint with the q parmeter produces PHP warnings. - #557: App not connecting to MySQL with fresh docker run. - #562: Unavailability periods with length of more than 1 day are not handled correctly. - #563: Description field overflows with long text. - #600: Unable to select Language on mobile phones. - #611: Double replacement when using translation to other languages. - #664: Easy!Appointments v1.3.2 allows sensitive information disclosure (username and password hash). - #687: Errors when the provider modifies an appointment. - #705: The alert notification of the installation is not being displayed on error. - #757: Corrected display of datetimepickers when editing events. - #801: Invalid time duration during appointment registration could lead to DOS of the service. - #813: Hyperlinks are not being displayed correctly inside legal contents (they are escaped). - #839: Provider is missing on appointment modal opened after a click on the link sent with the provider email confirmation. - #840: Start/end datetime are not correctly initialized on Safari when the appointment modal is opened after a click in the backend calendar. - #883: Appointment date is wrongly changed to today in some case. - #903: Notification not working when creating/updating/deleting an appointment from the REST API. ## [1.3.2] ## Fixed - #480: Make the app GDPR - new EU privacy regulations compliant. - #485: Make REST API search check with "q" parameter case insensitive. - #489: REST API response headers must use the Content-Type application/json value. - #500: Performance optimization in backend calendar page, after the user clicks the insert appointment button. - #510: Providers should not be able to create appointments for other providers in the backend calendar page. - #512: Only show appointments of the currently logged in provider.