v27.0.01 -------- Bug Fixes Admissions: fixed submission emails and acceptance emails not sending as expected Admissions: fixed required field logic checking in Form Builder Admissions: fixed "Do not include a second parent" being accidentally checked by default Admissions: fixed username and password missing from re-sent Acceptance Email Attendance: fixed handling of Count Class as School setting in Students Not Onsite/Students Not Present reports Messenger: fixed error redirect for New Message sending users to a non-existing page v27.0.00 -------- Headlines A fresh UI update for the Library module with customisable shelves Added an auto-save system when creating new lesson plans Changes With Important Notices System: updated Google OAuth Client SSO to handle granular permissions (required by Google for June 17, 2024) System: if you use Gmail SMTP relay, be sure to update your settings to use an App Password (before June 17, 2024) System: updated JQuery(2.2.4 -> 3.7.1) and JQuery Migrate(1.4.1 -> 3.4.0) files to latest versions System: updated date localisation to use the PHP Intl library, removed deprecated strftime Security System: improved the input sanitization and output encoding of URLs Tweaks & Additions System: automatically hyperlink any urls included in Custom Field descriptions System: removed raw exception message output from the interface System: added facilities as one of the searchable options with the fast finder System: added departments as one of the searchable options with the fast finder System: improved randomness of password salt generation System: added an IP address to failed login attempt notifications System: added additional filtering for invalid characters in uploaded files Activities: added notification events for activity enrolment changes Activities: added a Left status to activity enrolment, to retain a history of previous enrolments Activities: added bulk actions to the activity enrolment page Admissions: added a notification event for student form group changes Behaviour: added notifications for positive behaviour records Behaviour: added the ability to view other students involved in multiple behaviour records Behaviour: updated the view so that followups are displayed as conversational logs and stored in a separate table Behaviour: added the ability to able to link a behaviour record to some other existing behaviour record Behaviour: added positive behaviour records to the Daily Behaviour Summary CLI script Behaviour: added a my_permission so that teachers are restricted to only view behaviours created by them Departments: added an Edit Enrolment link to the Department Class page for users with enrolment access Finance: added a fees list and notes column to the Export option in Manage Invoices Library: added ui changes to Library module browsing through library shelves and improved search page Library: added automatic shelf generation by search term, automatic shelf updates, and auto-shuffling Library: added autocomplete to the Vendor and Location Detail fields in Add/Edit under Manage Catalogue Library: updated child records to use the same Vendor field as parent records in Manage Catalogue Markbook: removed non-numeric entries from cumulative totals Messenger: added search form and school year navigator to Manage Groups page for quicker group browsing Messenger: added an index to the Message Target table to speed up the recipients query Messenger: added the ability to post a Wall Message between a start date and an end date Messenger: added the ability to optionally share a Send Report link with other users Messenger: added the ability to detect and remove emojis from the message body Reports: updated report writing to also show left class enrolments with the Show Left Students tool Reports: added uploadable Image as a field type in Manage Criteria Types Reports: added a check for the correct .twig.html extension in Manage Assets School Admin: added the ability to toggle facilities between active and inactive Staff: added anchor links for Job Openings page, enabling easier external linking Staff: added status filter to Staff Absence and Coverage Summaries to display only Full staff by default Staff: added a notification to inform staff of first aid qualification that are expiring soon Students: added an Upcoming Students option to the Students by House report Students: added year group next to form group name in student history details Timetable: added activities to the timetable in View Timetable by Facility Timetable: added basic information table to the View Timetable by Facility report Timetable: added timetable iCal Export buttons to staff and student profiles Timetable: enabled facilities for Off Timetable classes to be re-booked in Manage Facility Bookings User Admin: added an option to disable the display of privacy options, so they can be managed internally User Admin: increased the field length for Departure Reason to 100 characters System Admin: enabled Generic OAuth to specify the scopes and username field requested System Admin: added an option to Upload Photos & Files to not delete existing files System Admin: added an importer for Behaviour Records Bug Fixes System: fixed PHP 8+ compatibility in CustomFieldIDs migration file System: fixed input serialization of form data in Import from File page System: fixed the file uploader to handle exif image rotation from mobile devices System: fixed login access required message to always display the login form System: fixed the bug so that staff and student name are displayed in messages System: fixed bug in FileUploader that did not allow Chinese and Latin characters System: fixed incorrect directory separator character in XAMPP installation System: fixed Ivory Coast name and country code in list of countries Activities: fixed highlight colour for Waiting List activities in View Activities Activities: fixed missing Waiting List option when adding activity enrolment Admissions: fixed Form Group at Entry field when not using it as Office Only Admissions: ensure form submission email goes to the admissions account email address rather than parent1 Admissions: fixed the tense of the notification string when a student withdraws from the school Attendance: fixed handling of double periods in Set Future Absence tool Attendance: fixed timestamp of attendance taken for double periods in Take Attendance by Class Attendance: fixed onsite school absences not showing blue in Attendance by Form Group Attendance: fixed Consecutive Absences report not returning any results Attendance: fixed checklist names for existing absences in Set Future Attendance Attendance: fixed the attendance counts in Attendance Summary by Date when grouping by Form Group Behaviour: fixed descriptor dropdown for Positive types in Find Behaviour Patterns Planner: fixed incorrect To Do list highlight when both teacher and student recorded homework exist Planner: fixed missing homeworkTimeCap field when duplicating a lesson plan Planner: fixed year group filter in View Resources Markbook: fixed the Markbook Entry importer so that it supports username, email or student ID Markbook: fixed the Term Added field in the Markbook Column importer Messenger: fixed blank read receipt text when editing a draft message Messenger: fixed visual bug when messages are wider than the message wall Reports: fixed missing sequenceNumber in duplicated Reporting Cycles Reports: fixed students from non-reporting-cycle year groups displaying in Write Reports School Admin: fixed missing Public Application Form setting in Admissions Settings page Staff: fixed My Coverage page showing coverage from past years Students: fixed the view all option in the Students by Form Group report System Admin: fixed category and module for Student Enrolment importer User Admin: fixed HTML being removed from Language Options blurb in Student Application Form Deprecations System: replaced session call through $gibbon->session to $session. "$gibbon->session" is now deprecated System: removed fetchFromString from View class, added a Sandbox class for rendering template data