0% found this document useful (0 votes)
31 views41 pages

Change Log

Gibbon is a flexible, open school platform developed by Ross Parker and the Gibbon community, offering a range of features for school management. The latest version includes UI updates, bug fixes, and new functionalities across various modules such as Admissions, Attendance, and Library. The document also outlines important notices regarding system updates, security improvements, and deprecated features.

Uploaded by

thedeshmukhdhruv
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views41 pages

Change Log

Gibbon is a flexible, open school platform developed by Ross Parker and the Gibbon community, offering a range of features for school management. The latest version includes UI updates, bug fixes, and new functionalities across various modules such as Admissions, Attendance, and Library. The document also outlines important notices regarding system updates, security improvements, and deprecated features.

Uploaded by

thedeshmukhdhruv
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 41

Gibbon: the flexible, open school platform

Founded by Ross Parker at ICHK Secondary. Built by Ross Parker, Sandra Kuipers and
the Gibbon community (https://gibbonedu.org/about/)
Copyright © 2010, Gibbon Foundation
Gibbon™, Gibbon Education Ltd. (Hong Kong)

This program is free software: you can redistribute it and/or modify


it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,


but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

CHANGELOG
=========

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

v26.0.00
--------

Headlines
System: transferred copyright from Ross Parker to the Gibbon Foundation

Changes With Important Notices


System: raised the minimum PHP version requirement to 7.4
System: raised the minimum MySQL version requirement to 5.7
System: added the PHP intl extension to the System Check list

Tweaks & Additions


System: added Return to top link to bottom right of each page
System: added Botswana Pula as currency option
System: added IDD country code for Laos
System: added .lock and .json files to htaccess denied list
System: added additional sanitization to GET variables and alerts
System: added module name to notification email subject line
System: added a system log when passwords are manually changed in User
Admin
System: added output sanitization to message wall and planner discussion
System: improved consistency of remote CLI execution
System: added new Remove Stale Notifications CLI script to remove
notifications over 3 months old
System: added index to gibbonNotification table to improve performance
Attendance: added the name of attendance last taken to Form Groups Not
Registered
Activities: updated View Activities to highlight waiting list registrations
in orange
Activities: added a warning message to Activity Registration when a timing
conflict would occur
Activities: added student date of birth to the Participants by Activity
Report
Admissions: added a warning to Edit Application when required values are
missing
Behaviour: added a list of failed email addresses to behaviour letter CLI
script
Behaviour: added a notification event for receiving behaviour notifications
about IN students
Data Updater: made email addresses in Family Data Updater copy-and-
pasteable
Library: added the option to attach copies of library items to a main
record
Library: added a confirmation step to replace the name of books using
Google Book Data
Library: enabled the borrowing record page to be used with all users
Library: updated the Library Print Record import to enable connecting
copies to parent records
Library: added an option to search location detail and all fields in Manage
Catalog
Library: added department and type filters to View Overdue Items report
Library: added an On Order status for books that are not yet borrowable
Markbook: added Term filter to parent view, when Group Columns by Term
enabled
Markbook: adjusted Term filter in teacher view to default to current term
Messenger: updated message copies sent to sender to include an example
confirm link
Messenger: added a setting to customise the signature used in messages
Messenger: moved message signatures to a checkbox rather than in the
message body
Messenger: restored SMS credit balance to New Message screen
Messenger: made Duplicate With Members the top bulk action in Manage Groups
Messenger: moved Read Receipt links to the top of messages by default
Messenger: updated Message Wall to show most recent posts first
Planner: enabled users with viewAll permission to see the online
submissions list
Reports: added a filter to view Pending Edits on Proof Read page, pre-
selected filter in notifications
Reports: added the name of who wrote the comment to CourseCriteria data
source
Rubrics: updated visualize and historical data views so teachers can see
unpublished results
Staff: combined absence and coverage requests into the same form
Staff: improved handling of Off Timetable days when checking staff
availability
Staff: added an option to set coverage as Not Required or assign to an
unavailable teacher
Staff: added First Aid Qualified to the main overview on Staff Profile
Staff: improved the coverage time calculation for timetable coverage
Students: added First Aid as a sub page on the Student Profile
Students: added a Follow Up Contacts section with email addresses under
Emergency Contacts
Students: added a setting for additional Follow Up Contacts under Student
Settings
Students: added a separate view-only permission for First Aid records
Students: added Term filter to Markbook view in Student Profile, when Group
Columns by Term enabled
Students: updated First Aid records to be listed by school year
System Admin: added settings for notification interval for staff and other
users
Timetable: made the +1 indicator for timetable clashes a link to Manage
Exceptions
Timetable: highlighted absent non-covered classes on the timetable in a
different colour
Timetable: set timetable to preselect in View Available Teachers and View
Available Facilities, when only one timetable exists
Timetable: updated facility bookings to display even on Off Timetable days
Timetable Admin: added Reportable Yes/No option to bulk action in Course
Enrolment by Person
User Admin: added Single to marital status options in Manage Family
User Admin: enabled Student role category access to facility bookings (off
by default)

Bug Fixes
System: fixed date formatting error when Intl extension is not available
System: fixed PHP value-type error in sidebar message wall posts
System: fixed PHP regex error decoding dates from search filter text
System: fixed collapsable comment show/hide bug in nested data tables
System: fixed the fix for disabled status in toggle visibility for radios
System: fixed missing line breaks in code error alerts
System: fixed Language and Country selects to sort based on locale
System: fixed checkboxes in Custom Blocks not preloading data correctly
Admissions: fixed incorrect parent field names in application submission
email
Admissions: fixed application form prefill logic
Admissions: fixed Second Parent not being created on application acceptance
Admissions: fixed Second Parent checkbox showing the wrong state in Edit
Application
Admissions: fixed Required Documents not displaying in Documents view of
Edit Application
Admissions: fixed orphaned Required Documents when document name is changed
Attendance: fixed incorrect class count in the Daily Incomplete Attendance
by Class admin summary email
Admissions: fixed phone number in application form causing validation error
when required
Behaviour: fixed error from missing function in behaviour letter CLI script
Behaviour: fixed Add Multiple form submittable without selecting students
Crowd Assessment: fixed profile access checking for student name link
Data Updater: fixed medical updates creating a notification when no data
has changed
Form Groups: fixed Left staff showing in View Form Groups list
Finance: fixed edge case causing receipts to be sent along with reminders
Library: fixed empty timestamp field in gibbonLibraryItem that caused
errors on update
Markbook: increased Name field length to 40 characters in Add Multiple
Markbook: fixed class average row height when there is no data
Markbook: adjusted student view to ensure that cummulative average honours
term filter
Markbook: fixed term-related PHP exception in teacher view
Markbook: fixed the Term Added field to connect to the correct term in the
Markbook Column importer
Markbook: fixed no columns showing up when using the All Term selector
Markbook: fixed weighted column average errors when adding non string
values
Messenger: fixed invalid input error when editing a wall message that also
contains an email receipt
Messenger: fixed Applicants target bug impacting parents not already in
gibbonUser
Messenger: fixed Individual Naming option not adding student names to new
messages
Messenger: fixed signature removal from SMS messages
Planner: fixed duplicate lessons in Year Overview for multiple timetables
Planner: fixed input sanitization of resource quick-add values
Planner: fixed students with timetable exceptions showing up in submission
list
Planner: fixed Parent Weekly Planner CLI sending between school years
Planner: removed Left users from lesson plan Guest select
Planner: fixed Lesson Details Template populating in the homework
description
Reports: fixed handling of class vs school attendance in AttendanceByCycle
data source
Reports: fixed html entity decoding in MpdfRenderer
Reports: fixed footers on last page during bulk generation with
mPDFRenderer
Reports: fixed validation of duplicated template path in Manage Assets
Rubrics: fixed input sanitization of visualization images
Rubrics: fixed previous years data showing up in Historical data
Reports: fixed archive download access for Full parents of Left students
Staff: fixed activities outside the current term showing up in New Coverage
Request
Staff: fixed substitute availability check not including timetable
exclusions
Staff: fixed error when deleting ad hoc coverage that is not attached to a
class
Staff: fixed approved absence with user-selected coverage not re-
broadcasting substitute requests
Staff: fixed requested coverage not actionable by substitute after approval
Staff: fixed approved absences with coverage not notifying custom
recipients
Staff: fixed Add Staff user select to only include Full and Expected users
Students: fixed visibility of student status details on View Student
Profiles
System Admin: fixed line break on long values in Server Info
Timetable: fixed period showing absent in classes with multiple teachers
when one is absent
Timetable: fixed PHP deprecation issue relating to $roleCategory
Timetable: fixed staff absence display issue on timetable with multiple
teachers in a class
Timetable Admin: fixed null coalesce array error when managing enrolment
Timetable Admin: fixed Edit Timetable by Class to only include classes in
years associated with the timetable
User Admin: fixed disallowed permissions not showing as disabled in Manage
Permissions
User Admin: fixed an error in Rollover when duplicate enrolments exist
User Admin: fixed Rollover not pre-selecting correct next year group for
existing students

v25.0.01
--------

Changes With Important Notices


System: domains used in iFrames must now be approved via Security & Privacy
Settings

Security
System: added .lock and .json files to htaccess denied list
System: improved the sanitization of URL parameters and alerts
System: prevented XSS though GET variables in search forms
System: improved illegal address detection for non-php files
System: added an iFrame allowlist for filtering safe domains
System: added output sanitization to message wall and planner discussion
Bug Fixes
System: fixed date formatting error when Intl extension is not available
System: fixed PHP value-type error in sidebar message wall posts
System: fixed PHP regex error decoding dates from search filter text
System: fixed collapsible comment show/hide bug in nested data tables
System: fixed DOMDocument sanitization loop in Validator class
Admissions: fixed incorrect parent field names in application submission
email
Admissions: fixed application form prefill logic for continuing users
Admissions: fixed second parent not being created on application acceptance
Admissions: fixed second parent checkbox showing the wrong state in Edit
Application
Admissions: fixed Required Documents not displaying in Documents view of
Edit Application
Admissions: fixed orphaned Required Documents when document name is changed
Behaviour: fixed error from missing function in behaviour letter CLI script
Form Groups: fixed Left staff showing in View Form Groups list
Finance: fixed edge case causing receipts to be sent along with reminders
Markbook: fixed class average row height when there is no data
Messenger: fixed invalid input error when editing a wall message that also
contains an email receipt
Messenger: fixed Applicants target bug impacting parents without an
existing user
Planner: fixed display of duplicate lessons in Year Overview for multiple
timetables
Planner: fixed input sanitization of resource quick-add values
Reports: fixed handling of class vs school attendance in AttendanceByCycle
data source
Reports: fixed html entity decoding in MpdfRenderer
Reports: fixed footers on last page during bulk generation with
mPDFRenderer
Reports: fixed validation of duplicated template path in Manage Assets
Rubrics: fixed input sanitization of visualization images
Staff: fixed activities outside the current term showing up in New Coverage
Request
Staff: fixed substitute availability check not including timetable
exclusions
Staff: fixed error when deleting ad hoc coverage that is not attached to a
class
Staff: fixed potential division by zero error when adding ad hoc staff
coverage
Staff: added honeypot field to Staff application form
Timetable: fixed period showing absent in classes with multiple teachers
when one is absent
Timetable: fixed PHP deprecation issue relating to $roleCategory
User Admin: fixed disallowed permissions not showing as disabled in Manage
Permissions
User Admin: fixed an error in Rollover when duplicate enrolments exist

v25.0.00
--------

Headlines
Messages can now be saved as a draft and previewed before sending
Activities, staff duty and coverage now display on the timetable
The new admissions system is turned on by default and is no longer in beta
Staff coverage can now be requested for timetabled classes, activities or
duty
New visual tools have been added to help assign and manage coverage
internally

Significant Changes
System: activated the lt_LT Lietuvių Kalba - Lithuanian locale
Attendance: added the option to take future attendance for ad hoc groups
School Admin: added an Off Timetable option for special days
Staff: added a drag-drop interface for creating and managing a duty
schedule

Changes With Important Notices


Timetable Admin: changed Participant counts to Student counts in Course
Enrolment by Class, adding minimum and maximum enrolment controls to courses
System: added additional sanitization to GET variables and alerts

Tweaks & Additions


System: improved the access error message for non-logged in users
System: updated Parent Weekly Summary CLI to not send if date is outside
school year
System: improved right-to-left support in Default theme
System: added new hooks for Staff Profile and Lesson Planner
System: added Malawian Kwacha, Algerian Dinar, Uganda Shilling, Zimbabwean
Dollar as currency options
Activities: display current school attendance when taking activity
attendance
Admissions: added custom field support to Student Enrolment
Attendance: enabled taking Future attendance on the current date
Data Updater: added a search option to all Manage Update pages
Data Updater: updated Family Data Updater History to order parents by
contact priority
Finance: added Outstanding Amount total to payment log for partial paid
invoices
Form Groups: removed website column from View Form Groups page
Individual Needs: add a notification event for New Investigation
Messenger: added the ability to send confidential messages which are not
viewable by other users
Messenger: updated the Transport target to be able to handle comma-
separated transport values
Messenger: improved the success message for confirmed read receipts
Messenger: added form group name to students in Individual target list
Messenger: added the option to determine confirmation type in Send Report
Markbook: added Term filter to student view, when Group Columns by Term
enabled
Markbook: increased maxlength of Name field to 40 characters
Planner: improved the error message when unable to access classes in Unit
Planner
Planner: update Add Lesson Plan to suggest dates based on existing lesson
sequence
Planner: updated Work Summary by Form Group to account for student start
date
Planner: updated Manage Resources to clean up unused tags after editing a
resource
Planner: added a message to homework that was assigned before enrolling in
the class
Planner: enabled custom fields for Lesson Plans
Resources: differentiated the upload button from the sticky submit button
Reports: improved the UTF8 character set for DroidSansFallback to include
wider CJK support
Reports: added a school year switcher to the Generate Reports page
Reports: updated Attendance template to enable displaying present
attendance counts
School Admin: added an option to cancel activities in Special Days
School Admin: added custom field support to Departments
Staff: enabled editing the Cover Required field in Manage Absences
Staff: improved the visibility of absences requiring coverage in lists
Students: added a permission check for Family Adult comments in Student
Profile
Students: added the ability to search students by first name
System Admin: added filename to Import History in Import From File page
System Admin: added the option to configure phone number fields in Form
Builder
System Admin: removed anonymous sessions from the Active Sessions page
System Admin: added the option to set default values for Form Builder
fields
Timetable: enabled View Available Facilities for non-lesson periods
Timetable: enabled booking facilities for other users with Manage Facility
Bookings_all permission
Timetable: added an option to add a reason when booking facilities
Timetable: added an Edit Timetable by Class tool to Manage Timetables
Timetable: added class teacher names to timetable hover-over information
Timetable: added a simple Print option to student and facility timetables
User Admin: added last login timestamp and IP address to password
troubleshooting page
User Admin: added the ability to search users by first name
User Admin: updated Manage Permissions to require filtering by either
module or role

Bug Fixes
System: improved exception handling for transactions in Connection class
System: removed unused medical fields from gibbon.sql
System: fixed Form Group link under student photos on Parent Dashboard
System: fixed missing translations for module strings in dashboard tabs
System: fixed incorrect student count with multiple form groups on Staff
Dashboard
System: fixed broken View All links in Staff Dashboard Enrolment tab
System: fixed My Classes list including Left classes in DatabaseFormFactory
System: fixed links opening in new tab when using Url object in Format
class
System: fixed lesson plans not showing up on Staff Dashboard for multiple
classes with a TT exception
System: fixed dashboard hooks displaying when modules are inactive
Activities: fixed activities not viewable from profile after listing end
date
Activities: fixed activity attendance tables overlapping the page
Admissions: fixed application username check to include other applications
Admissions: fixed database error when using Add Application to create a
blank application form
Admissions: fixed missing Introduction and Post Script on application form
Attendance: fixed duplicate entries in Students Not Present and Students
Not Onsite
Attendance: fixed Students Not Onsite reports not displaying student name
on mobile
Attendance: fixed Attendance Summary by Date to use end-of-day status for
school-wide attendance
Attendance: removed print option from Attendance Summary by Date until the
form is refactored
Attendance: fixed numerical indicator on Student History for days with
partial attendance
Attendance: fixed non-attendance classes showing up for partial absence in
Set Future Absence
Data Updater: fixed incorrect top links on Edit Request pages
Data Updater: removed parent emails from Family Data Updater History when
contact email is No
Data Updater: fixed unable to remove all privacy settings via data update
Data Updater: fixed Family Data Updates not checking student start and end
dates
Library: fixed the Get Book Data From Google button in Manage Catalog
Library: fixed js issue in QR code scanner on Manage Catalogue
Markbook: fixed Left teachers showing up in "Class taught by" list
Markbook: fixed View Markbook breadcrumb when class name is blank
Planner: fixed selected course resetting when navigating between school
years
Planner: fixed CLI scripts attempting to users who are Left or have no
email address
Planner: fixed incorrect homework status when both teacher and student
recorded homework are used
Planner: fixed homework checkboxes not visible on students mobile view
Planner: fixed Concepts & Keywords tag counts in Add Unit and Edit Unit
Planner: fixed error message after duplicating a lesson into future year
Reports: fixed error when milestones are empty in Manage Reporting Cycles
Reports: fixed batch report bulk-action missing the two-sided option
Reports: fixed HTML being removed from Rich Text template sections
Reports: fixed file upload not working in Template Builder
Reports: fixed json_decode error for hooks in Write Reports By Student
Reports: fixed unable to re-send acceptance email from Edit Application
page
School Admin: fixed error in Add Attendance Code when no roles specified
School Admin: fixed possible duplicate values using Copy All To Next Year
in Manage Form Groups
Staff: fixed staff absences not showing up if outside school year dates
System Admin: fixed Form Builder submission error when subheading is the
first item on a page
System Admin: fixed calendar feed cleared when saving Third Party Settings
System Admin: fixed untranslated fields in Form Builder when viewing a form
Timetable Admin: adjusted column uniqueness interface string
Timetable Admin: fixed Copy All To Next Year to copy custom fields and
prevent duplicate values
Timetable: fixed class student counts in Manage Student Enrolment
Timetable: fixed display of room number for short periods
Timetable: fixed the position of the Add Lesson Plan tooltip
Timetable: fixed long-running periods not displaying information on the
timetable
Timetable: fixed making facility bookings on another person's behalf
Tracking: fixed Data Points export MySQL error
User Admin: fixed black user photos when using non-jpg image format

v24.0.00
--------

Headlines
New Admissions module for managing student enrolment and application forms
Added Form Builder functionality, for creating flexible application forms
Added more Email Templates to enable customizing admissions emails
Added optional Multi-Factor Authentication in user preferences

Significant Changes
Timetable: added an option to export timetables to iCal format
System Admin: added an Upload Photos & Files page, replacing the old User
Photo Upload

Changes With Important Notices


System: removed upgrade path for v19.0.00 and earlier
System: removed deprecated functions no longer used in core and additional
modules
- printPagination

Tweaks & Additions


System: added pagebreak and columnbreak tags to the allowableHTML list
System: ensured PayPal payments default to the system locale
System: updated the robots.txt to enable index access, for noindex meta tag
System: improved display of IDD country codes in phone number entry field
System: further refactoring of linkTop divs
System: added indexes to the gibbonDiscussion table to improve performance
System: added user status log entry on successful public registration
System: removed session-duration caching of index_custom.php
Behaviour: improved style consistency of View Behaviour Letters filter
Finance: improved style consistency of Manage Billing Schedules filter
Finance: refactored Manage Billing Schedules table
Formal Assessment: improved style consistency of View External Assessment
filter
Formal Assessment: improved style consistency of View Internal Assessment
filter
Individual Needs: improved style consistency of Individual Needs filter
Markbook: updated the export to include term grades, if available
Messenger: updated the Message Wall to order messages chronologically
Planner: added Create Markbook Column option when editing a lesson plan
Planner: made time cap obvious to teachers in Lesson Planner view
Planner: enabled staff with Future Years access to plan lessons for
Upcoming years in the Unit Planner
Planner: enabled adding teachers with exceptions as guests of their own
classes
Reports: added filters to the report proof reading view
Reports: enabled including Student - Left enrolments in the Course Criteria
data source
Reports: clarified the My Reporting progress count for left students
Staff: added staff house name to Staff Profile if a house has been set
Students: added honey-pot fields to applications and public registration to
reduce spam
Students: adjusted table label in View Student Profiles
System Admin: increased the length of string translations to 255 characters
System Admin: enabled using custom fields with additional modules
System Admin: adjusted "you are up to date" string in System Admin to
reduce cutesiness
System Admin: added a Code field type to Custom Fields to allow raw HTML
System Admin: improved the error reporting of the SMS test feature
System Admin: improved field label for IP Address in View Logs
Timetable: improved the error message on the timetable when multiple
lessons exist
Timetable: added a visual indicator of clashes with multiple classes in the
same period
Timetable Admin: enabled enrolling and syncing classes for Expected
students
User Admin: added selectFamiliesByAdult method to FamilyGateway

Bug Fixes
System: fixed user's personal language and theme not set after login
System: fixed the logo link on the Oh No! error page
System: fixed missing password reset link in plain-text copy of emails
Activities: fixed sidebar disappearing when opening View Details window
Attendance: fixed the Available to Roles setting in Attendance Codes
Attendance: fixed attendance for classes timetabled multiple times on the
same day
Finance: fixed online payment option not available on invoice print page
Finance: fixed reminder emails not handling comma separated company email
addresses
Library: fixed missing cost field when duplicating library item
Library: fixed items showing as overdue on the same date as the expected
return
Messenger: fixed Applicant target excluding Expected parents of edited
application forms
Planner: fixed invalid values in homeworkSubmissionDrafts in PHP 8+
Reports: fixed AttendanceByCycle data source mixing up reporting cycle
dates
Reports: fixed missing dropdown selectors on the Write Reports pages
Reports: fixed dates in templates to use i18n system date
Reports: fixed reporting cycle count in AttendanceByCycle data source
Rubrics: fixed row and column colours missing when duplicating a rubric
Reports: fixed second-pass proof reading not updating the person &
timestamp
Staff: fixed visual display of phone numbers on staff profiles
Staff: fixed non-school-day check in New Absence not properly counting days
Staff: fixed absence total in Manage Absences to include partial days
Students: fixed H4 headings in application forms with custom fields
Students: fixed missing data in Personal Document Summary report
System Admin: fixed un-unserializable logs not showing up
System Admin: fixed missing fields in Custom Fields import
Tracking: fixed typo are message type in Graphing
User Admin: fixed Force Password Reset not redirecting users
User Admin: fixed users able to change roles for Student username format

v24.0.01
--------
Security
System: fixed character encoding conversion when sanitizing input from rich
text fields

v23.0.02
--------

Security
System: fixed a session-related vulnerability and improved session defaults

Bug Fixes
System: fixed Google OAuth not correctly handling empty refresh tokens
System: fixed SQL errors in the User Status Check & Fix CLI script
System: fixed text field autocomplete issue caused by use of " in existing
values
System: fixed column order of Export to Excel option on Staff Dashboard
Attendance: fixed non-attendance classes showing up in Set Future Absence
Finance: fixed HTML being removed from notes on invoices
Markbook: fixed rubrics not displaying for large classes in Enter Data page
Messenger: fixed PHP 8+ error when sending messages to Class target
Planner: fixed PHP 8 related error messages when editing units
Reports: fixed error loading PDF previews of report templates
Reports: fixed issue in Report creation when no reporting cycles exist
Reports: fixed reports with only one page not displaying first page header
Reports: fixed date handling in Internal Assessments by Course template
Timetable: fixed bookings not displaying on timetable when calendars not in
use
Timetable: fixed TT opacity for short periods causing visual misalignment
Tracking: fixed the Chart.js library on the Graphing page
System Admin: fixed error message when exec function does not exist
System Admin: fixed import error on Step 4 when using Update & Insert
option

v23.0.01
--------

Significant Changes
System: activated the es_DO Español - República Dominicana locale

Tweaks & Additions


System Admin: added an import for School Year Terms
System Admin: improved the reliability of the uploads folder check
System Admin: improved login logs to include login method and user id

Bug Fixes
System: fixed user's personal language and theme not set after login
System: fixed string replacements with {} placeholders not working
Finance: fixed error when issuing an invoice to a Company invoicee
System Admin: fixed HTML being stripped out of the privacy policy
System Admin: fixed invalid password field in user imports in Import From
File
System Admin: fixed custom field headings not working for non-english
locales
System Admin: fixed blank User column for logins listed in View Logs
Students: fixed student ID not working on main page of student profile
Reports: fixed error in Scan Asset Directories when asset folder is missing

v23.0.00
--------
Headlines
Added support for Microsoft SSO and OAuth2-standard SSO
Added support for database-driven sessions and encrypted session data
Improved payment gateway including Stripe payment support
Refactored the installer and improved install error handling

Security
System: important improvements to sanitization and encoding of input data

Significant Changes
System: improved session timeout when using multiple tabs or windows
System: added ability to run CLI scripts remotely, with secure key
System: removed deprecated functions no longer used in core and additional
modules
- addressFormat
- dateConvert
- dateConvertBack
- dateConvertToTimestamp
- formatName
- formatPhone
- getAge
- getGibbonMailer
- getModuleEntry
- getSettingByScope
- getUserPhoto
- printUserPhoto
- returnProcess
- setLog
- setNotification
- tinymceStyleStripTags
- ynExpander
Activities: added the ability to configure activity types individually
User Admin: added a user status log to track dates and reasons for status
changes
System Admin: added a Maintenance Mode which restricts login access to
admin only
System Admin: added an Active Sessions page to see who is currently logged
in

Changes With Important Notices


Running the database updater will log out all users except the current
admin user
The allowableHTML setting has been updated, schools who have changed this
value will want to check it

Tweaks & Additions


System: updated table actions to enable additional modules to use their own
icon paths
System: improved the appearance of the fatal error message page
System: adjusted new student order in Staff Dashboard Enrolment tab
System: in forms, update the current country phone code to always display
first
System: fixed typo in Public Registration notification
System: updated the mobile responsive view to display alerts above the
login form
System: refactored all $_SESSION calls across the system
System: changed force password reset information in Preferences from error
to message
System: updated the chart.js javascript library to v3.6.0
System: adjusted Excel export to format integers as numbers
System: added CSS ID myClasses to sidebar
Attendance: added the ability to Take Ad Hoc Attendance
Attendance: added birthday icons to Take Attendance pages
Behaviour: enabled Find Behaviour Patterns to filter Positive behaviour
Departments: updated participant view so it does not require other modules
Departments: highlight department coordinator, add hover text
Finance: added ability to invoice students by class enrolment
Library: added student Form Group to View Overdue Items report
Messenger: updated New Message process to send SMS messages before emails
Messenger: improved mobile responsive size of inserted images
Planner: added facility name to Year Overview and Edit Working Copy pages,
if available
Planner: added explicit links to daily and weekly summary emails
Reports: added default value for Yes/No criteria
Rubrics: enabled visualization to use custom colours, if unique row colours
are used
School Admin: Changing the school year start date now deletes days that are
no longer within the school year
Staff: added a link to view coverage details on the Open Requests page
Students: updated student enrolment dropdown to include students with
Expected status
System Admin: enabled creating multiple different email templates per type
System Admin: added link to Import History at the top of Import from File
System Admin: updated the alarm to mute after 10 continuous seconds of
sound
System Admin: added an uploads folder status check to system overview
Timetable: added an option to click for more information in View Available
Facilities/Teachers reports
Timetable: added timetable day heading colours to View Timetable by
Facility
Timetable: added an ajax check for availability when making a facility
change
Timetable: redirect back to View Timetable by Facility when making a space
change
Timetable Admin: adjusted interface strings in timetable import

Bug Fixes
System: fixed the Validator class so sanitizeHTML is multibyte safe
System: fixed phone number format for numbers 10 digits or greater
System: added Markbook and Planner permissions to Parent and Student
Dashboard
System: fixed space before file extension causing failed file uploads
System: fixed comma key clearing fast finder inputs
System: fixed internal urls opening new tab in the nameLinked function
Activities: fixed duplicate entries in Activity Choices by Student
Activities: fixed modal view in Activity Choices by Student
Attendance: fixed table header nomenclature in Classes Not Registered
report
Finance: fixed incorrect column placement in Export Invoices
Messenger: fixed duplicate student names when using Individual Naming
Messenger: changed New Quick Wall Message information from warning to
message
Planner: fixed school closure checks when bumping lessons forward and
backward
Planner: fixed smart block deletion not working in Edit Lesson Plan
Planner: fixed planner deadlines page not filtering by class
Planner: fixed outcomes dropdown in Lesson Planner when an outcome has no
category
Reports: fixed Student Info template borders when no image is present
Reports: fixed bug when viewing uploaded reports from past years
Rubrics: fixed rubric data before the go live date visible in Historical
Data
School Admin: fixed phone numbers not formatting in Manage Facilities
Staff: fixed substitute unavailability showing previous school years
Staff: fixed manually adding/editing absences on non-school days
Staff: fixed Print action in Edit Application Form not opening in new tab
Staff: fixed Edit User link on Manage Substitutes > Edit Substitute page
Students: fixed missing Official Name fields for parents in Student
Application import
Students: fixed pagination in student view of View Student Profiles page
System Admin: fixed PHP notice in importer when skipping serialized fields
System Admin: fixed numeric field imports failing in MySQL 8.0.17 and above
System Admin: fixed alarm system to indicate if staff have been marked
absent
Timetable: fixed timetable misalignment of times below transparent
timetable blocks
Timetable: fixed bug in View Available Facilities filter causing some
spaces to appear available
Timetable: fixed calendar options not persisting when using timetable
switcher
Timetable Admin: fixed class enrolment sync when courses belong to more
than one year group
User Admin: fixed return message for image upload failure

v22.0.01
--------
Security
Messenger: fixed sanitization of text when creating new messages

Bug Fixes
System: fixed lesson plan content in demo data
System: fixed checks for existing fields in database migrations
System: fixed cookie consent message to not redirect to the dashboard
System: fixed parent dashboard hooks missing access to session object
System: removed unused package file from session timeout library
Data Updater: fixed data updates with only file uploads in personal
documents auto-accepting
Data Updater: fixed personal documents date bug
Data Updater: fixed personal documents to only use nationality list for
passport and ID documents
Data Updater: fixed submit button on data updates with no changes
Departments: fixed Left student role appearing in class list export
Individual Needs: fixed some IN columns not visible on small screens
Reports: fixed Left students showing up in the Archive by Student list
Reports: fixed missing data in CustomFields template data source
Reports: fixed error with empty milestones when creating a Reporting Cycle
Reports: fixed issue where re-sending a report will break existing report
download links
Reports: fixed file uploads not working in Template Builder
Students: fixed ID card background image alignment
System Admin: fixed importing custom fields failing when existing fields
value is null
System Admin: fixed importing custom fields that have spaces around the
values
User Admin: fixed missing document enum data in migrated personal documents

Deprecations:
System: replaced tinymceStyleStripTags function with
Validation::sanitizeRichText

v22.0.00
--------
Headlines
New core theme for Gibbon's 2021 look and feel
Ability to manage and customize personal documents
Improved custom fields system with new field types
Enabled custom fields in many different areas of the system
PHP 8 compatibility

Significant Changes
System Admin: improved support for custom themes
System Admin: added the option to select a theme colour in Display Settings
System: added an Enrolment tab to the Staff Dashboard
System: added help buttons to the top of pages linking to documentation,
when available
System: renamed the old theme to Legacy, which is not installed by default
Staff: addded a Staff Data Updater to enable requests for updates to staff
records

Changes With Important Notices


System: changed interface strings from Roll Group to Form Group
System: changed custom fields to store data as JSON rather than serialized
data (as of v21.0.00)
System: migrated all personal document data from gibbonPerson into
gibbonPersonalDocument
System: removed the vendor folder for Cutting Edge Code installations
System: renamed the gibbonPersonField table to gibbonCustomField
Students: migrated Blood Type and Tetanus fields from Medical Form into
Custom Fields

Tweaks & Additions


System: added the Getting Started info to the post-install page
System: added an Update All option to the Manage Languages page
System: updated text to use darker colours for printable report pages
System: added South Sudan as a country option
System: added Mozambique Metical as currency option
System: added hyperlinkAll method to Format class
System: added Somali as language option in dropdown menus
System: updated chart.js to v2.9.4
System: added Zulu as language option in dropdown menus
System: adjusted Public Registration to notify even when account is set to
Full immediately
System: refactored non-function-based session variable calls in all core
modules
System: replaced all usage of deprecated PHPExcel library with
PHPSpreadsheet
Students: added logging for partial failures in application form accept
Crowd Assessment: improved the view of comments in discussion threads
Finance: removed student DOB and Gender from Export Invoices
Formal Assessment: added attainment and effort descriptor as title to
Internal Assessment view
Formal Assessment: expanded name column in Internal Assessment to 30 chars
Individual Needs: no longer require cognition field in IN investigations
Library: added new Telephone type, with matching import
Library: migrated fields to internally use JSON data
Library: added new Rack-Mounted Server form factor type under Computer type
Messenger: updated the send report to list any emails that failed to send
Messenger: updated the send report to use the formatted email template when
resending emails
Planner: moved class chooser to the top of the sidebar
Planner: removed the calendar from the sidebar, which is already available
through the date picker
Reports: added a help tool with Data Source information to Edit Component
page
Reports: added an option to delete report files from Generate Reports page
Reports: clear report cache when editing template assets in Production
Reports: added a download option to the student list of the View by Report
page
Reports: added a duplicate action in Template Builder
Reports: added pagination to the Proof Reading page
Reports: updated so Assistance with reportable access can write reports
Reports: added names of teachers to the Proof Reading Edits notification
Reports: added a Student Name Conflicts tool to check for other student
names in report comments
Reports: updated report writing overview to clarify class teacher vs editor
School Admin: added ability to disable staff, student and parent dashboards
Students: added Medical Form custom fields to student profile
Students: updated Medical Data Summary to include medical custom fields
Students: adjusted student select in Student Enrolment Add to only show
unenrolled students
Students: automatically add Student Note on form group change
Students: added a Personal Document Summary report
Students: added departure reason to student status text when Left/Leaving
Students: added Next School to Student Withdraw process page
System Admin: added option to manually invalidate front end cache for
Cutting Edge installs
System Admin: added a Reporting Values by Roll Group import option
System Admin: updated user-related imports to enable importing by username
or email address
System Admin: added file uploader for choosing logo and background images
in System Settings
System Admin: prevent installing or updating a module that requires a newer
core version
System Admin: added Student Application Form import
User Admin: added an option to restrict Public Registration to a list of
allowed domains
User Admin: added ability to enrol student when adding a new user with
student primary role category
User Admin: added setting to include Alternate Email in Public Registration
form
Tests: migrated test suite to GitHub actions, updated testing libraries to
recent versions
Timetable Admin: added an option to overwrite existing TT dates in Tie Days
to Dates
Timetable: added green cell background, and day colour highlight, to dates
with days tied in Tie Days to Dates
Timetable: added This Week button to View Timetable by Facility
Timetable: enabled editing timetable spaces and adding facility changes
from View Timetable by Facility
Timetable: tweaked timetable to highlight the current period in green, even
if there is no lesson

Bug Fixes
System: disabled context menu in TinyMCE which interferes with right
clicking
System: fixed personal language in Preferences not resetting to system
default when blank
System: fixed double error message when viewing Notifications page and not
logged in
System: fixed translation issue in hooked Dashboard tabs
System: fixed validation of the username field in Public Registration
System: fixed installer not running migrations for cutting edge code
System: fixed blank IDs and blank date fields in the database
Attendance: fixed non-prefillable logic for Take Attendance by Roll Group
Attendance: fixed student attendance history when first weekday is Saturday
Formal Assessment: fixed courses with multiple year groups causing
duplicate Internal Assessment columns
Markbook: fixed visual error in markbook comment expandable row
Planner: fixed teachers not showing up in attendance with timetable
exceptions in multiple classes on the same day
Planner: fixed issue where sidebar calendar showed the wrong dates
Planner: fixed suggested date when adding a new lesson plan to exclude
school closures
Reports: fixed error in mPdfRenderer due to missing getPageNumber method
Reports: fixed error causing duplicate values when students move classes
Staff: fixed pagination not working on Grid and Card view of Staff
Directory
Students: fixed pre-existing comments visible on student profile Markbook
page after turning off comments
Students: fixed emergency contacts not displaying family adults when more
than one family exists
System Admin: fixed cache not clearing when switching themes
System Admin: fixed InnoDB update failing when code already up to date
Timetable: fixed error adding class enrolment when one exists already
Timetable: fixed View Available Spaces not working when room conflicts
exist

Deprecations
Messenger: removed the pop-up Messenger bubbles
Students: removed the extendedBriefProfile setting from student profiles
System: deprecated the returnProcess function

v21.0.01
--------
Tweaks & Additions
System Admin: added post_max_size and upload_max_filesize PHP settings to
System Check
System Admin: updated Manage Languages to use i18n main branch instead of
master

Bug Fixes
System: fixed import error for non-nullable numeric values
Attendance: fixed missing attendance in Not Present and Not Onside reports
Attendance: fixed non-prefillable class attendance overwriting First Class
as School Attendance logs
Planner: fixed smart block summary from replacing existing summary text in
Edit Lesson
Staff: fixed weekdays incorrect on Sundays in Weekly Absences report
System Admin: fixed clear cache button in Cache Manager not using custom
cache path

v21.0.00
--------
Headlines
Visual improvements to forms and menus
New Data Retention and Data Privacy functionality
New System Overview page showcasing available support options
Improved tools and information for System Administrators
Afrikaans and Ukrainian are now available as installable languages
MySQL 8 compatibility

Significant Changes
System Admin: added Security & Privacy Settings and optional cookie consent
banner
System Admin: added a Manage Services page to view gibbonedu.com licenses
and services
System Admin: added an Email Templates section to customize emails sent by
Gibbon
Data Updater: data updates with no changes will now be automatically
accepted
Planner: added a setting to customize what homework is called throughout
the planner
Reports: added a Send Reports tool to bulk-send templated emails with
download links
Roll Groups: added new grouped action to restrict parent viewing to their
own children's roll groups
School Admin: added Email Summary Settings to manage daily and weekly email
CLI scripts
Students: added an optional application processing fee that can be sent
manually by staff
Students: added My Student History, offering a visual overview of all
students ever taught
Students: added Reports subpage to student profile for users with View by
Student permissions
Timetable Admin: added ability to duplicate Timetable Columns and Days

Changes With Important Notices


System: the new cookie consent message is enabled by default and will
display for all users
System: renamed CLI script planner_parentWeeklyEmailSummary.php to
schoolAdmin_parentWeeklyEmailSummary.php
Staff: removed roles-as-type in Manage Staff, reducing option to Teaching
and Support and setting all non-Teaching users to Support

Security
Updated TinyMCE Editor to version 5.6.2

Tweaks & Additions


System: added Romanian Leu as currency option
System: updated complete homework to display in green on the Parent
Dashboard
System: added text labels to Print and Export options on report pages
System: removed the unused gibbonPersonMedicalSymptoms table
System: improved the error page when the database connection fails
System: improved the update process and added a migration system to handle
complex updates
System: improved consistency in storage of colors in the database
System: added ability to set first day of week to Saturday
System: lengthened module Category field to 12 characters
System: added a fallback to translateN for systems that don't have gettext
System: added a server-side hard limit for session durations
System: adjusted robots meta tag to dissuade Google from indexing Gibbon
installs
System: moved Public Registration link into a homepage tile
Attendance: added an Offsite - Late option for attendance codes
Crowd Assessment: changed error to message in conversation view
Departments: improved course/class naming in Class view
Data Updater: enabled address fields to be read only or hidden in Data
Updater Settings
Data Updater: adjusted language in user messages to focus on process not
approval
Finance: added a setting to customize Payment Type options
Finance: added error logging to the email reminder process
Finance: improved the layout of invoice emails, reminders and receipts
Formal Assessment: added a bulk action for External Assessment Data
Individual Needs: removed Notes & Review from parent view of individual
needs information
Library: added ID column to View Overdue Items report
Library: enabled printing and exporting the Manage Catalog table
Library: replaced borrowable column with responsible user in Manage Catalog
Markbook: added error logging for failed file uploads on Enter Data page
Markbook: enabled users with Edit Markbook_multiple and Edit
Markbook_everything to edit grouped columns
Messenger: tied messages to school year, added gibbonSchoolYearID for
existing messages
Messenger: added code to convery copy-pasted divs to paragraphs in New
Quick Wall Message
Messenger: messages sent by role or role category will honour user start
and end dates
Planner: updated the attendance list to exclude students with a timetable
exception
Planner: added smart block clarification to the Edit Working Copy page
Planner: added a common template for all Upcoming Deadlines sections
Planner: refactored the All Homework tables and added row colouring
Planner: refactored the Parent Weekly Email Summary to match homework
colouring
Planner: replaced "Compulsory" with "Required" in relation to homework
Planner: removed lessons with timetable exceptions from Today's Lessons on
the dashboard
Planner: adjusted the display of homework lists to account for class
enrolment dates
Planner: enabled homework to be submitted for lessons that already exist
during a school closure
Planner: brought student birthday icon display into line with class and
form group view
Planner: any staff can take attendance in the planner if they have
Attendance by Class permission
Planner: added the ability to set a time cap for homework
Planner: changed error alert to message alert colour in chat view
Reports: updated batch PDFs to display the download link once completed
Reports: added full course name to the report writing page
Reports: added a bulk delete action in the Edit Reporting Scopes page
Reports: enabled plain text and numeric fields in Criteria Types
Reports: removed Reports Available notification, replaced by Send Reports
action
Rubrics: added an option to colour rubric column and row headings
School Admin: added Manage Medical Conditions action
School Admin: added optional introductory text setting for the Medical
Conditions section
School Admin: added color picker to Manage Alert Levels page
School Admin: updated library background colour selection to use colour
picker
Staff: removed the display of addresses in the Staff Profile
Staff: restricted access to Emergency Contacts to users with Manage
Staff_confidential
Staff: added first aid information to Personal sub-page of staff profile
Staff: added an optional First Aid Qualification field
Staff: changed staff application email sender from System Administrator to
HR Officer
Students: updated application acceptance message to reflect automatically
created medical record
Students: added uniqueness checks for Student ID field
Students: send notifications for student notes to the Head of Year, if
available
Students: adjusted the font size to scale down for names on Student ID
cards
Students: removed Student ID from View Student Profile_brief
Students: added optional attachments to the medical condition section
Students: added notifications for High and Medium medical conditions
Students: added notifications for accepted applications with SEN/Medical
needs
Students: application forms accepted to upcoming years will set students to
Expected
Students: added Official Name to Left Students and New Students reports
Students: improved the layout of Student Application acceptance emails
School Admin: added optional descriptions for medical conditions
System Admin: added a Cache Manager page to configure and clear template
cache
System Admin: added a Server Info page to view server configuration values
System Admin: adjusted View Log to show only current year's log entries
System Admin: added a Purge Logs action to the View Logs page
System Admin: added a flag to import types to enable updating non-unique
rows
System Admin: moved Not Installed modules list before Installed modules
Timetable: improved role ordering in class tables
Timetable Admin: added a dateEnrolled and dateUnenrolled to class
enrollments
Timetable Admin: hide teachers listed as non-reportable from teacher lists
Timetable Admin: added color picker to Edit Timetable Day section
User Admin: added Guardian and Grandmother/Grandfather to emergency
relationships
User Admin: improved the layout of the Rollover form
User Admin: moved Day Type Options from User Settings to Student Settings

Bug Fixes
System: fixed missing organization name on welcome page
System: fixed date picker not using the First Day of the Week setting
System: fixed validation not working for paginated bulk action forms
System: fixed wrapping of long summaries in Today's Lessons
System: fixed public registration failing for non-unique email when
uniqueEmailAddress is not active
System: fixed theme names with spaces from breaking background image
Attendance: fixed sortable Class column in Student Not In Class report
Data Updater: fixed passport expiry fields not properly hiding
Departments: fixed attendance link not prefilling the current date
Finance: fixed invoicee ordering bug in Add Invoice
Finance: fixed table width in invoice email formatting
Formal Assessment: removed Back link from delete modal
Individual Needs: fixed description of Reason field in Manage
Investigations
Library: fixed broken delete function in Manage Catalog
Markbook: fixed rubric data not visible for students set to Left in a class
Messenger: fixed SMTP debug settings in New Message process page
Messenger: fixed copy-pasted div/paragraph replacement in sender's copy of
emails
Messenger: fixed issue where read receipts weren't clickable until all
messages sent
Reports: fixed AttendanceByCycle data source counting school attendance as
class attendance
Reports: fixed MpdfRenderer not resetting headers when generating batch
single files
Reports: fixed Reporting Cycle Duplicate copying criteria from year to year
Reports: fixed AttendanceByCycle incorrectly calculating with
countClassAsSchool turned on
Reports: fixed reporting cycle selection missing from Add Report
Planner: fixed Outcomes by Course for courses with multiple year groups
Planner: fixed alignment of birthday icon in attendance on Lesson page
Planner: fixed empty My Class drop down in Deadlines for parents
Staff: fixed alternate email address causing an error on Personal subpage
Staff: fixed pagination for Grid and Card views of Staff Directory
Staff: fixed SQL error submitting application form when logged in
Students: fixed parent support link in application acceptance email
Students: fixed students able to see other students in class lists
Students: fixed issue preventing timetable edit link from working with Left
students and allStudent flag
Students: fixed missing alert bar in Markbook and Internal Assessment sub-
pages in student profile
System Admin: fixed PHP deprecation errors in CSV importer
System Admin: fixed empty numeric values importing as 0 rather than null
Timetable: fixed View Available Facilities not counting bookings on Fridays
Timetable: fixed last week/next week links for facilities involved in
multiple TTs
Tracking: fixed Data Points export when internal or external data points
set, but not both
Tests: added fallback environment variables if .env is not defining DB
details
Tests: fixed HTTP to HTTPs, so SSL enabled environments don't fail
Tests: fixed install suite admin username and password to be compliant with
the default password requirements

v20.0.00
--------
Headlines
Messenger emails now send faster by using a background process
View Logs feature to browse Gibbon event logs
Added Español - Mexico as an available locale
Compatible with PHP 7.4

Significant Changes
Students: added a Withdraw Student page with the option to notify staff
Reports: added an option to bulk upload existing report PDFs

Tweaks & Additions


System: added Argentine Peso and Ukrainian Hryvna as currency options
System: updated Tailwind 1.2.0 dependencies via npm
System: updated SessionTimeout with translation support and jQuery/jQuery
UI dependency removed
System: added target option to Alert Bar
System: added a DetailsView table for displaying data
System: updated the pre-login homepage to use a card layout
System: added a comment editor and code editor to the Form library
System: improved translation support in forms and tables throughout the
system
Departments: added drag-drop ordering to Departments in School Admin
Finance: added Student ID, where set, to invoices and receipts
Finance: applied email template to invoices, receipts, and reminders
Messenger: added Parent and Student options to Applicants target in New
Message
Planner: enhanced Smart Block display in Lesson Planner
Planner: removed bold from Chat comment in lesson plan view
Reports: added a Proof Read by Form Group option
Reports: added an option to select the PDF rendering library in Template
Builder
Reports: added hooks for custom criteria types in the report writing screen
Reports: added the ability to select fonts in Template Builder
Reports: added the option to generate single reports for Left students
Reports: added alerts to student details in Write Reports
Reports: added auto resize to comment text boxes in Write Reports
Reports: changed criteria status to Locked/Unlocked for better clarity
Reports: added a progress bar to the sidebar in Write Reports
Reports: added himself/herself to the pronoun checker
Reports: added a live-reload to report generating progress bar
School Admin: changed names in Edit Attendance Code to readonly
Staff: added an option to edit or delete staff coverage dates
Staff: added Family and Activities subpages to Staff Profile
Staff: added notificaton events for New and Left staff
Students: added an Exclude Left Students checkbox to Student Enrolment
Trends, off by default
Students: added option allowing the referee email field in the Application
Form to be set to option
Students: added a grid view of student's teachers to Student Profile
Timetable: added Bookings into View Available Facilities report
User Admin: added rich text editors to the Application Form Settings
User Admin: added an option to enter a departure reason for final year
students in Rollover
User Admin: added an option to create a linked staff record for new users
User Admin: added no record warning to View Role
User Admin: switched from warning to message in Edit User

Bug Fixes
System: fixed module uninstall to also remove notification events
System: fixed Quick File Upload trimming filename by first period
System: fixed paragraph spacing in copy-pasted Messenger emails
System: fixed hourly cache refresh for pinned messages
System: fixed the first and last day of the selected school year
Activities: fixed Attendance History by Activity table scroll
Attendance: fixed Attendance Summary by Date displaying "no results" before
form submitted
Finance: fixed fee name bug in issued Invoices where fee name changed
Finance: fixed invoices not viewable by student
Planner: changed spelling of Publically to Publicly
Planner: removed debug code from homework submission
Planner: removed ability for students and parents to be granted Lesson
Planner_viewAllEditMyClasses
Staff: fixed Left staff appearing in Weekly Absences report
Staff: fixed Staff Directory only exporting first 50 staff members
Staff: fixed staff directory export when viewing grid or card view
Students: fixed emergency data report not showing parents column
Students: fixed Tutors and EAs set to Left showing on Student Profile
Students: fixed past enrolments showing up in Students by Form Group
Students: adjusted Add Student Enrolment to allow Full and Expected
students to be selected and enroled
Students: ensure alert bar in Student Profile does not display for Parents
or Students
Reports: fixed Course scope Per Group criteria not saving per-class
Reports: suppressed TCPDF deprecation messages when generating PDFs
Reports: fixed pronoun switching not applied globally in some browsers
Reports: fixed Student Info template to omit empty student photos
Reports: fixed AttendanceByCycle data source and updated it to apply
countClassAsSchool setting
Reports: fixed grade scale drown-downs for Per Group reporting criteria
Reports: fixed bug in Internal Assessment data source
Reports: adjusted student lists to honour Reportable flag
Reports: applied gibbonCourseClassPerson reportable flag to queries
Reports: fixed uniqueness check in Manage Reports to include school year
Reports: fixed stylesheet missing when generating batch PDFs
Roll Groups: fixed link to print action from Roll Group details page
System Admin: fixed File Permission display issue in System Check
System Admin: fixed issue causing string replacement preventing update
highlighting in Manage Modules
Timetable: escaped calendar event names in timetable tooltips
Timetable: incremented gibbonTTImport course and class name field lengths
Timetable Admin: implemented bulk Tie Days to Dates duplicate checking
Timetable Admin: fixed Course Enrolment by Class unable to delete duplicate
entries
Timetable Admin: fixed missing Back to Search links in course enrolment
pages

v19.0.00
--------
Headlines
Reports module enables users to write reports, proof read comments,
generate PDFs, and view report archives
Individual Needs Investigations functionality allows data gathering around
students with individual needs
Messages can now be pinned to the top of the message wall, and optionally
displayed above the dashboard
Expanded Staff Directory replaces View Staff Profiles
Activated German as an available language

Changes With Important Notices


System: added a redirect to the Update page when database updates are
required
System: split Daily Attendance CLI into separate form group and class
scripts
System: upgrade path limited to v14.0.00 and higher

Significant Changes
System: added Year Switcher to staff homepage sidebar
Planner: added "View Only" sub-action to Lesson Planner
User Admin: added a View Role page in Manage Roles to display all actions
and users per role

Tweaks & Additions


System: added Maldivian Rufiyaa and Malagasy Ariary as a currency options
System: updated DatePicker to use gibboni18n date format
System: updated SpreadsheetRenderer to write cell contents as plain text
System: updated TinyMCE allowable HTML to include details, summary and code
blocks
System: improved the display of checkbox and radio list items in forms
System: added Malagasy and Maldivian as selectable languages
System: added a sticky header to refactored data tables
System: refactored the Sound Alarm system
System: added a setting to toggle background processing
System: added a general-purpose DiscussionGateway class
Activities: added a Year Group filter in Manage Activities
Attendance: added an option to record the first class attendance in a day
as school-wide attendance
Attendance: added an option to disable prefilling by attendance code,
applied to Present - Late by default
Attendance: added Consecutive Absence report to list all students who have
been absent for the last N school days
Attendance: updated Student History to still display class attendance when
countClassAsSchool in N
Attendance: added a Students Not In Class report
Behaviour: added a Copy To Notes feature
Behaviour: added settings to toggle notifications for Tutors and Education
Assistants
Form Groups: added staff-only summary of Year Groups after Form Group
listing
Messenger: added a Copy to Next Year bulk-option for Manage Groups
Messenger: eliminated non-recipient siblings from Send Report
Messenger: addition of student name(s) to emails sent to parents
Messenger: adjusted the default sending options for non-staff users
Messenger: low SMS credit notification when fewer than 1,000 credits remain
Messenger: added ability to pin messages to the top of the message wall
Messenger: added a setting to display pinned messages above the dashboard
Messenger: allow access to View Message Wall for roles with category Other
School Admin: renamed IN Settings to Individual Needs Settings
School Admin: removed the prefix Manage from settings pages
Staff: added a Weekly View and Daily View to Substitute Availability report
Staff: added a Substitute Information setting for displaying text on My
Coverage page
Staff: added a Staff Coverage Summary report with total days covered per
substitute
Staff: added template setting for Absence Comment field
Students: improved display of Teachers' emails in student profile
Students: added extra permission allowing editing and deleting of all Notes
Students: adjusted Privacy options to display even if blurb is not set
Students: adjusted Application Form to allow showing of Language Selection
blurb without fields
Students: added template setting for Description field in First Aid Record
Students: turned First Aid Record Followup into a non-editable log
Timetable Admin: included student reportable flag in student enrolment
Timetable Admin: enabled users who can search All Users to also see Left
students
User Admin: increased Student ID field max length to 15
User Admin: added Citizenship 1 and Citizenship 2 Passport Expiry date
fields
User Admin: added a Login Troubleshooting section to Reset Password page

Bug Fixes
System: fixed installer bug where passwords are unnecessarily encoded
System: fixed date picker validation error for Polish language
System: fixed Notification Events to only send to users who have status
Full
System: adjusted date formats for German language
System: fixed translatability issue of Public Registration text
System: fixed pagination setting so it correctly controls table size
System: fixed Dashboard error for users with role category Other
System: fixed Fast Finder bug on mobile when entering search text
Activities: improved interface string advising users of disabled external
activity registration
Activities: fixed bug preventing viewing activity details in Activity
Choices by Student when listing closed
Activities: fixed permission error for View action in Activity Choices By
Student and Student Profile
Attendance: fixed missing data in printable view of Student History
Attendance: fixed Set Future Absence to only allow future dates
Departments: fixed permission check causing Export to Excel to fail
Departments: fixed Export to Excel to work on iOS devices
Finance: fixed missing payment info in invoice receipt email for multiple
partial payments
Finance: fixed missing Other category for installs with no demo data
Finance: fixed Manage Invoices bulk actions not refreshing after changing
filters
Finance: fixed inactive fees showing up in dropdown lists
Library: set Bookable to No by default on Add record screen
Library: fixed Status field not being set when not borrowable
Markbook: implemented unit ordering and date ordering for unit and lesson
fields
Messenger: fixed bug when sending parent and student SMS for Attendance
status
Messenger: fixed bug where users could create a message with no available
delivery options
Planner: fixed non-functional Smart Block Template setting
Planner: fixed Unit Planner bug causing actions to appear in Classes table
for newly created units
Planner: implemented unit ordering field in Lesson Planner
Rubrics: fixed bug where non-english locales displayed rubric visualization
as gray
School Admin: fixed Browse Library BG Image field length bug
School Admin: fixed typo to use instead instead of isntead
Staff: fixed Cancel Coverage button not available for future coverage
Staff: fixed Delete Staff Absence to also delete any related coverage
Staff: limited open coverage requests to the type of sub requested
Staff: fixed staff coverage date not removed when deleting absence date
Staff: fixed multi-day coverage only showing one day on the timetable
Staff: fixed View Absences to only show the current year by default
Staff: fixed Left staff not accessible from View Staff Profiles page
Students: adjusted official name size in ID card for long-named students
Students: fixed timetable chooser not working on student profile pages

Deprecations
System: removed Smart Workflow Help feature

v18.0.01
--------
Bug Fixes
System: fixed installer bug causing 'A database connection couldn't be
established' error

v18.0.00
--------
Headlines
Mobile responsive layouts and improved navigation on all screen sizes
Responsive HTML email templates for outgoing notifications and messages
New staff absence tracking feature, including approval and reports
New tools for booking substitute coverage and notifying users
Activated Urdu and Croatian as available languages
Added Burmese as a development language

Changes With Important Notices


System: removed Likes/Stars feature
Messenger: messages targeted to Applicants now only go to Accepted

Significant Changes
System: added Tailwind CSS and a webpack-based build process
Attendance: replaced the attendance pre-fill settings with Count Class
Attendance as School Attendance
Attendance: updated the Student History page to be responsive, added
tooltip information
Data Updater: allow fields to be required, read-only or hidden based on
role in Data Updater Settings
Rubrics: added ability to export Visualise chart to PNG

Tweaks & Additions


System: added an option to select SMTP encryption in Third Party Settings
System: added Omani Rial, Albanian Lek & Zambian Kwacha as a currency
option
System: added a nicer Arabic font, improved RTL layouts
System: improved the form validation highlighting of invalid fields
System: improved translation of data table columns and date/time values
System: made disabled checkboxes more visible
System: refactored all breadcrumb navigation links
System: updated Google login scopes to remove plus.me, based on Google API
changes
System: updated the Google login button to be responsive and translatable
Attendance: added ability to set future absence for multiple students
Attendance: updated Take Attendance by Person logs to separate class and
school wide attendance
Form Groups: hide student count from non-staff in View Form Groups
Individual Needs: added an Individual Needs Overview report with chart
Markbook: added a Reset Order button in View Markbook
Planner: improved icon consistency to Concept Explorer
School Admin: increased field lengths for Roll Group name and nameShort
School Admin: updated action categories Assessment to Assess
School Admin: updated action categories Teaching & Learning to Learn
Students: added link from student profile to Individual Needs edit screen
System Admin: added a clear cache option under System Check
System Admin: updated importer to add Skip Non-Required Fields option when
importing partial data
Timetable: updated View Timetable by Person to access Expected users when
All Users filter is enabled
User Admin: added staff absence and coverage settings to Manage Staff
Settings
User Admin: moved Manage Student Settings into User Admin module
User Admin: updated username validation to allow latin and CJK characters

Bug Fixes
System: fixed errant HTML issue in Smart Workflow on Deadlines page
System: fixed index_custom.php content not loading on first login
System: fixed issue leading to no theme on login if a personal theme has
been removed from the system
System: fixed missing globals in custom index scripts
System: fixed non-rendering HTML issue in Welcome text on logged-out index
System: fixed PHP fatal error when gettext not installed
System: fixed SQL key integer length in database tables to ensure
referential integrity
System: fixed template cache to automatically disable when upgrading the
core
System: fixed typos and improved interface string consistency
Finance: fixed spelling error in Manage Invoices
Library: fixed bug leading to loss of main user/owner field value in item
edit
Library: removed lending icon for items that are not borrowable
Markbook: fixed bug preventing parents and students from viewing the
markbook with work submitted to a lesson plan
Markbook: fixed column order not persisting when more than 25 columns
Markbook: fixed column title showing term's name when the term filter is
applied in View Markbook
Markbook: fixed column widths when modified assessment is enabled
Staff: fixed staff photo not displaying on Facilities sub-page in staff
profile
Staff: fixed translation of facilities table in Staff profile
System Admin: fixed typo in Google integration settings
Timetable Admin: fixed Course Enrolment by Class to count students before
their start date as Expected
Timetable Admin: fixed malformed translatable interface strings
Timetable: fixed some staff not showing up in View Timetable by Person
User Admin: fixed issue preventing action names from being translated in
Manage Permissions

Deprecations
Planner: removed Unit embed
Planner: removed Smart Block to Lesson outcome mapping
Planner: removed Unit hook
Planner: removed Star Block

v17.0.00
--------
Headlines
Added data visualisation to Rubrics through the Markbook View
Added an improved set of file import options to System Admin
Languages can now be installed and updated through Manage Languages in
System Admin
Activated Hebrew and Turkish as available languages
Improved the display of right-to-left languages
Added ability to select an SMS gateway: OneWaySMS, Twilio, Nexmo,
Clockwork, TextLocal, and Mail to SMS

Changes With Important Notices


System: increased minimum PHP version to 7.0
System: added the Twig templating engine as part of our ongoing refactoring
for the core
System: moved PHP elements of /lib to /vendor
System: moved files in /assets to /resources/assets

Significant Changes
System: refactored many of the tables and reports, which now support
pagination, sorting and filtering
System: removed upgrade path for v11.0.00 and below

Tweaks & Additions


System: added ability to set background image
System: added country code and correct spelling of Vietnam and Russia
System: added Eastern Caribbean Dollars and Guatemalan Quetzal as
currencies
System: added Sinhala to list of languages
System: added Sri Lankan Rupee as a currency option
System: added the ability to set the current language with an i18n URL
parameter
System: added the option to display all records in a paginated table
System: increased the max email length to 75 chars for all forms
System: updated robots.txt to disallow all indexing
System: updated vis.js library to v4.21.0
Behaviour: added a notification event for Updated Behaviour Record
Data Updater: added a Family Data Updater History report
Data Updater: added parent email to Family Data Updater History
Data Updater: added school year navigation to Manage Updates
Data Updater: implemented cutoff date prefill in Personal Updater History
report
Departments: added Student ID field to class participants export
Finance: added default check to Company email checkbox when editing an
invoice
Finance: adjusted email checkbox list in Edit Invoice to only show parents
with status of Full
Finance: adjusted Student filter in Manage Invoices to show Left students
Markbook: added a search option to the filters in Markbook View
Markbook: added school wide-option allowing teachers to specify "Modified
Assessment" for student with individual needs
Messenger: added an option in Messenger Settings to bcc all messenger
emails to a set of recipients
Messenger: added cache refresh on success in New Message and New Quick Wall
Message
Messenger: added missing Group target information into Manage Messages view
Messenger: added row colouring to By Roll Group report, and made it default
view
Messenger: amended default confirmLink text in New Message
Messenger: updated the Year Group target for Staff to only include tutors
and teachers of courses in the same year group
Planner: added SMTP persistence to weekly summary CLI script
Planner: improved accessibility of link from Scope & Sequence to Dump Unit
Planner: improved field labelling in Lesson Planner Add and Edit screens
Planner: improved link logic in lesson plan participant grid
Roll Groups: improved link logic in roll group grid
Staff: added a Mark as Left bulk action to Manage Staff
Students: added the option to enter a username and student ID in the For
Office Use section of the Application Form
Students: adjusted Student Enrolment/course enrolment sync logic to mark
students as left instead of deleting them
Students: updated how the Privacy section is displayed in application and
data updater forms
Timetable Admin: increase length of Course Short Name and Class Name and
Short Name fields
Timetable: added a facility booking button to the timetable in View
Timetable by Facility
User Admin: added a separate permission for Manage Users without the
ability to delete user data
User Admin: added ability to include custom fields in public registration
form
User Admin: added an option in Manage Roles to toggle login access for all
users of a particular role
User Admin: added missing custom field description into OOified forms
User Admin: added the ability to change usernames which will check to
ensure it's still unique

Bug Fixes
System: fixed an issue with hidden fields in bulk action forms after
pagination
System: fixed demo data issue causing FL07 demo unit not to show in Unit
Planner
System: fixed IE incompatibility with javascript and select inputs
System: fixed incorrect return value in Public Registration when user is
below the minimum age
System: fixed term date issue in gibbon.sql
Activities: fixed incorrect count in Registered column in Activity
Enrolment Summary
Activities: post-OOification fix to include All Users in Staff selection
for in Manage Activities
Attendance: fixed an error in the parent view of Student History for PHP
7.1+
Attendance: fixed bug which breaks table count in Students Not Onsite and
Students Not Present report print view
Attendance: fixed date links in View Daily Attendance opening a new tab
Attendance: fixed error message text for attendance taken in the future
Crowd Assessment: fixed bug preventing student seeing their own work when
Submitter is only student option selected
Data Updater: fixed comment bug in Medical Updates
Data Updater: fixed country-specific field label bug in Manage Personal
Data Updates
Data Updater: fixed dashboard issue on servers with
sql_mode=only_full_group_by
Data Updater: fixed gibbonMedicalConditionID as name bug in medical
conditions and updates
Data Updater: fixed interface string issue in Data Update request screens
Data Updater: fixed non-compliance indicator bug in Updater History reports
Departments: fixed bug displaying Left classes under My Classes in sidebar
Finance: fixed inability to comment on an expense request for users with
Write access
Finance: fixed Left parents displaying in invoices and receipts
Finance: fixed the bug that prevented saving the value of the field
"status" in the table "gibbonFinanceBudgetCycle" when the current Gibbon language
is other than English
Formal Assessment: fixed unclickable link in View Internal Assessments
Individual Needs: removed Submit button when viewing and archived IEP
Markbook: fixed bug in handling personalised attainment targets when using
scales other than class scale
Markbook: fixed inconsistent naming of class teachers
Markbook: fixed shifted table cells in Markbook View class average when
cumulative averages are enabled
Messenger: fixed a PHP error in Edit Message related to message targets
permissions
Messenger: fixed empty target type in gibbonMessengerReceipt when Group
target is used
Messenger: fixed messages not displaying on Message Wall for Transport and
Group targets
Messenger: fixed minor post-OOification bug causing unnecssary display of
Parent 2 resent checkbox in send report
Messenger: removed Body column from Canned Response table
Messenger: restricted Manage Groups view to display groups from the current
school year only
Planner: fixed multibyte string issue when dumping unit resources
Planner: fixed no records error message in Parent view of planner
Planner: fixed row stripping in Access Control field in Add and Edit
Planner: fixed school year name on Edit Unit page
Planner: supressed autocomplete in Lesson Planner date fields
School Admin: increased School Year name field length to 15 characters
Students: fixed displayed name of First Aider in Edit First Aid Record
Students: fixed pre-select of Student when adding medical form from Student
Profile
Students: fixed searching by parent email address in View Student Profile
Students: removed non-students from New Students report, when Ignore Status
in use
System Admin: fixed bug which turned custom alarm into general alarm
Timetable Admin: fixed course sync for courses with multiple year groups
Timetable: fixed logic to correctly display Back To Search Results for
parents in View Timetable by Person
Timetable: fixed unable to turn Bookings checkbox off in View Timetable by
Person
Timetable: removed All Users filter option for non-Staff in View Timetable
by Person
User Admin: fixed bug preventing correct display of existing Privacy and
Student Agreement options in user edit
User Admin: fixed name display bug in Enrol New Students (Status Full)
section of Rollover

Deprecations
System: deprecated getGibbonMailer function, replaced with Mailer wrapper
Markbook: removed WordPress Comment Push functionality

v16.0.01
--------
Tweaks & Bug Fixes
System: fix PHP5.5 incompatibility in FormatResolver class

v16.0.00
--------
Headlines
Activated Simplified Chinese and Polish as available languages
Added Croatian and Estonian as development languages
Added a My Data Updates overview and settings to redirect users to Data
Updater on login
New Messenger Groups action for custom mailing lists
Added new object-oriented table API, and implemented across 30% of the
system

Changes With Important Notices


System: added tool for InnoDB database table storage engine migration: if
you are already running InnoDB remove lines 906 and 907 from CHANGEDB.php before
upgrading
System: fixed Cutting Edge detect/set issue in installer, impacting Cutting
Edge installs from v15-16 (which may need to be reinstalled)

Tweaks & Bug Fixes


System: improved IP address handling in setLog function
System: added United Arab Emirates Dirham, Colombian Peso, Fijian Dollar
and West African Francs as currencies
System: adjusted notifications icon so it is clickable even when there are
no notifications
System: fixed error with deleting a record when multiple tabs are open for
the same session
System: moved Russian Ruble from PayPal to Other section in currency
listing
System: added Afaan Oromo as development language
System: made translation credits in footer fairer
System: simplified UI text in Parent Dashboard
System: fixed a user photo upload issue involving usernames with a dot in
them
System: fixed issue preventing timezone string field description from being
translated
System: added timezones strings to translatable string list
System: improved timezone selection process by using select instead of text
field
System: moved footer logo style into theme CSS
System: restored Cutting Edge status message to installer
System: added setting of HELO value when sending mail with SMTP
System: improved selection mechanism in Module Menu when sidebar is hidden
Activities: added notifications when students are bumped up into an
activity on self unenrolment
Activities: added logging of student activity changes in order to track
sign up history
Activities: added Activity Choices by Roll Group for ease of looking up
student's activity times
Activities: added Media bar to Description field in add and edit screens
Activities: fixed bug causing non-students enroled in activities to go
missing from Manage Enrolment view
Attendance: added option for redirect to message wall after self
registration has been taken
Attendance: added year group selectors to reports for not present and not
onsite
Attendance: added ability for students to view their own attendance data
for the current year
Attendance: added ability to delete attendance with Manage Attendance Logs
permission in Attendance by Person
Attendance: fixed date format for links in View Daily Attendance
Data Updater: added links to Manage Update pages to easily find and edit
the associated records
Finance: added logging for failed bulk email sends
Finance: add a Mark as Paid bulk action in Manage Invoices
Finance: add Credit Card payment type to gibbonPayment table
Finance: added ability to issue reminders (individually and in bulk) for
invocies with status Paid - Partial
Form Groups: added link to print listing of students in form group detail
view
Form Groups: fixed bug offering non-permissioned users the opportunity to
print
Formal Assessment: fixed PHP Notice and interface string issues
Library: simplified interface for Duplicate in Manage Catalog
Library: fixed PHP warning in Library's type-specific fields AJAX script
Markbook: fixed multi-byte string length issue causing automatic comment
expansion in Markbook view
Markbook: fixed parent/student access issues when viewing markbook columns
Messenger: added the ability to resend in By Roll Group view in View Send
Report
Messenger: added ability for uses with Manage Messages_all to resend on
behalf of others
Messenger: fixed bug causing non-Accepted applicant names to display with
an error in Send Report
Messenger: added SMS send logging to allow missing messages to be tracked
Messenger: improvement to protection against big/slow email sends
Messenger: removed caching for messanger count on homepage, so count is
always accurate
Messenger: added email send failure logging to allow missing emails to be
tracked
Messenger: added connection persistence to SMTP sending
Planner: added "Notify" feature to lesson creating and editing
Planner: fixed module name substitution in links in Lesson Planner
Planner: added Smart Blocks tab to Unit Overview in Lesson Planner
Planner: added indexes to gibbonLike database table to improve performance
Planner: fixed translatable string error in Lesson Planner
Staff: fixed bug in parameter passing in Add in Manage Staff
Students: added sibling and family information to Letters Home by Roll
Group
Students: added Comment field to medical form, linked to student
application form.
Students: added View option to Students by Form Group report, allowing
Basic or Extended view
Students: changed School Attendance sub page to Attendance to improve UI
consistency
Students: adjusted logic in student enrolment visualisation to include
students who are not 'Full'
Students: adjusted layout of Uploaded Response link in Markbook in Student
Profile view
School Admin: updated Finance Settings email to default to organisation
email if blank
School Admin: extend length of name field in Manage Houses to 30 chars
School Admin: added Head of Year to Manage Year Groups and integrated into
Students
School Admin: fixed breadcrumb text issue in Manage Finance Settings
System Admin: fixed bug causing theme names with spaces to break the theme
installer
System Admin: fixed spelling error in Department settings
System Admin: fixed typo in Third Party Settings
Timetable: added This Week link to timetable date navigation in Timetable
by Person
Timetable: added highlight to the current day column in Timetable by Person
and Facility
Timetable: fixed error is specification of gibbonTT database table
Timetable: added index on gibbonPersonID for table gibbonCourseClassPerson
Timetable: added the special day name to the timetable for school closures
Timetable Admin: added school year selector to Sync Course Enrolment
Timetable Admin: made search persistent on return from course delete
User Admin: fixed Child's Name list in Edit Family to include all students
User Admin: fixed bug preventing some family links from showing up in
Manage Users
User Admin: removed Back link from child and adult delete modals in Manage
Families
User Admin: tweaked user CLI to better handle parents in multiple families
User Admin: added staff import feature
User Admin: added an alphanumeric requirement for usernames in Add User
User Admin: added fix to prevent the logged in user from deleting
themselves.
User Admin: fixed typo in description for Day-Type Text setting
User Admin: fixed gibbonPersonID int length in gibbonFamilyAdult and
gibbonFamilyChild

v15.0.01
--------
Security
Fixed privacy-related issue in Student Profile permissions

v15.0.00
--------
Headlines
Code base refactoring of all interface forms
Timetable Admin: added ability to map classes to Roll Group, sync
enrolments, and auto-enrol new students
Activated Brazilian Portuguese as complete languages

Changes With Important Notices


Planner: integrated Resources into the Planner module (/modules/Resources
needs to be manually removed)

Security
System: fixed security vulnerability in the installer
System: added validation and output escaping to Personal Background URL in
Preferences

Tweaks & Bug Fixes


System: fixed erroneous Georgian language code
System: added Greek and Amharic as development languages
System: added South African Rand, Trinidad & Tobago Dollar, Swedish Krona,
Chinese Renminbi and Russian Ruble as currencies
System: fixed missing form validation for dropdowns created with User
Custom Fields
System: updated Google OAuth library to latest version (v2.2.0)
System: fixed Sign In With Google to fix missing token refresh issue
System: fixed timezone not being set in CLI scripts
System: fixed bug preventing activity day from being correctly shown in
Parent Dashboard
System: added login options to Login with Google button
System: added mbstring extension to the system requirements list
System: fixed text alginment in module menu
System: fixed long-string and large image issue causing content to bleed
under sidebar
System: fixed bug causing two entries in a module menu to be highlighted as
active in some cases
System: added Enable Smart Workflow Help option to Preferences
System: removed personal settings form from Preferences when force reset in
effect
System: adjusted Today's Classes in Student and Parent dashboard to show on
non-school days
System: shortened abbreviation of core system roles
Activities: added new payment fields to activities (cost type and cost
status)
Activities: fixed database field length issue in gibbonActivityStaff
Activities: fixed minor display issue in Terms column in View Activities
Activities: fixed term display bug in Manage Activities
Attendance: fixed GROUP BY issue in moduleFunctions.php when MySQL is using
only_full_group_by
Attendance: adjusted attendance checking CLI script to only include lessons
whose start time has already passed
Attendance: show staff dashboard link to attendance only if user has access
to Form Group attendance
Attendance: added count column to Students Not Present and Students Not
Onsite reports
Attendance: granted like to those students who successfully self register
Attendance: added selective auto-redirect to move students to self-
registration page under certain conditions
Attendance: added a warning to Attendance by Class when not currently
timetabled for the selected date
Behaviour: fixed typo in three settings
Behaviour: fixed broken link to Edit in Step 2 of adding a behaviour record
in Manage Behaviour
Departments: fixed bug preventing students from seeing other students in a
class
Departments: fixed sidebar heading size issue
Finance: set name of outgoing email to school name, not user's name
Finance: fixed missing email address issue in Company invoices and receipts
Individual Needs: added ability to record educational assistants for a
student
Library: added Optical Media as item type
Library: added replacement fields to import
Markbook: fixed multibyte character error in comment summary
Messenger: fixed multibyte substring issue in homepage widget
Messenger: added username to Individual select, to distinguish people with
the same name
Planner: updated attendance to only hide the reason and comment fields if
Present is the default attendance
Planner: added optional Markbook section (off by default) to weekly planner
summary email
Planner: fixed bug preventing Add icon from appearing for teachers under
date view in Lesson Planner
Roll Groups: fixed bug preventing alerts from showing
Rubrics: reduced wait time on rubric load for schools with lots of rubric
data
School Admin: updated Manage School Years to prevent removing or unsetting
the current School Year
School Admin: added an Assign Houses tool to bulk assign students to houses
by Year Group
Staff: fixed entryURL for full version of View Staff
Students: fixed School History section in Student Profile to exclude
upcoming years
Students: fixed Application Form for logged in users not selecting a family
by default (if one exists)
Students: fixed interface string issue in student details screen
Students: fixed display of Other Fields heading for parents in Application
Form
Students: added a notification event for Application Form Accepted
Students: added an option for logged-in users to link new Application Forms
to an existing user or family
Students: added ability to delete files and upload multiple files in Edit
Application Form
Students: amended Academic alert to account only for data in the last 60
days
Students: when Timetable is disabled, View Student Details now displays
list of classes in Overview
Students: adjusted Application Form acceptance emails to students and
parents to come from admissions administrator, not system administrator
System Admin: increased length of Absolute URL and Absolute Path to 100
characters
System Admin: updated version check to handle semantic version numbers
Timetable: added ability to set and display text and background colour for
timetable day headers
Timetable: adjusted font size for shorter lessons to allow display or
facility name
Timetable: adjusted timetable on homepage to show next week if today is a
Sunday with no school
Timetable: fixed rendering issue when week starts Sunday but Sunday is not
a school day (and similar cases)
Timetable Admin: added link from course view in Manage Courses & Classes to
edit class enrolment
Timetable Admin: updated Course Enrolment Rollover to prevent duplicates
and not copy users set to Left
Timetable Admin: fixed Course Enrolment by Person to allow staff category
without All Users checked
Timetable Admin: removed Left users from class participant count in edit
view in Manage Courses
User Admin: improved usability of feedback in Step 3 of the rollover
User Admin: made Pending Approval option in Status in edit User appear only
if Public Registration is enabled
User Admin: updated Add User and Edit User to allow PDF files for ID
documents
User Admin: added ability to set username formats by role in User Settings
User Admin: added a button to generate usernames in Add User
User Admin: added an Available Years of Entry setting to select which years
are available in the student application
User Admin: added a setting to require a user's primary email address to be
unique
User Admin: added a settings to adjust the formatting of staff names in
Manage Staff Settings

v14.0.01
--------
Security
Fixed role switcher privilege escalation issue

v14.0.00
--------
Headlines
Object oriented form API
Added the ability to manage system notifications and send specific notices
to different users
Activated Albanian, Thai and Vietnamese as complete languages

Changes With Important Notices


Attendance: fixed default reason from Pending to blank, reset all reasons
for existing Present, Pending logs
Attendance: dropped legacy tables gibbonPlannerEntryAttendance,
gibbonPlannerEntryAttendanceLog

Significant Changes
System: added unit and acceptance testing environments for Gibbon
developers

Security
System: fixed PHP code execution vulnerability
System: fixed infinite nested index reload bug
System: tightened rules for valid elements in TinyMCE text fields
System: removed Allowable HTML from System Settings interface
System: updated PHPMailer to latest version
System: removed all code samples from /lib libraries
System: fixed SVG code execution vulnerability
System: added input sanitization to public forms

Tweaks & Bug Fixes


System: improved Fast Finder student search permissions
System: added Albanian and Thai as development languages
System: added Moroccan dirham as a currency option
System: upgraded jQuery to v2.2.4 and jQuery Migrate to v1.4.1
System: fixed bug preventing jQuery Chained from working properly
System: allow user login with either username or email, if email is unique
System: added Myanmar, Burmese, Filipino to list of languages, fixed
Croatian, Ukrainian, Swedish spelling
System: added logging to Google OAuth login
System: fixed broken Credits link in footer
System: removed Media plugin from tinyMCE
System: added timestamp update when incrementing notification count
System: fixed error messages and failed login redirect on Google login page
System: added ability to set mysql port through config.php
System: moved registration link from main panel to sidebar
System: fixed issue preventing Excel export from root level files
System: fixed PHP notice for undefined default staff dashboard tab
System: fixed string issue in Behaviour section of Staff Dashboard
Activities: added optional permission for activity organisers to manage
their activities enrolment
Activities: fixed PHP Notice error (repeated many times) in activity add
and edit interfaces
Activities: added optional permission for activity organisers to take
attendance only within their activities
Activities: added term filter to manage view
Activities: fixed PHP warnings in Edit Activity Enrolment when access via
My Activities.
Activities: added upper limit to number of columns in Printable Attendance
Sheet
Activities: fixed total attendance counts to exclude left students
Activities: fixed PHP notice in Manage Enrolment
Activities: fixed PHP notice on status field in Activity Spread by Roll
Group
Attendance: added ability (off by default) for students to register
themselves as Present, when within a set of IP addresses
Attendance: added explicitly stored context recording where attendance was
taken
Attendance: added settings to determine pre-filling of attendance in
different contexts
Attendance: added settings to determine default type in different contexts
Attendance: added dynamic legend for Student History report
Attendance: added extra role to allow form group attendance to be
restricted to own form group
Attendance: updated Take Attendance by Class to exclude students with
timetable exceptions
Attendance: fixed pre-filled attendance to always display the most recent
attendance log
Attendance: updated pre-filled class attendance to not pre-fill for another
class
Crowd Assessment: fixed parent role determination error
Data Updater: made various fields optional when user has _any privileges
Data Updater: fixed PHP notice for empty array in Student Data Updater
History
Data Updater: fixed PHP notice for address country fields in Personal Data
Updater
Finance: added ability to bulk issue invoices without sending email
Finance: tweaked interface for display of payment log to make it more
usable
Finance: added ability to view and print receipts for refunded invoices
Finance: fixed bug preventing reminder emails from being sent
Finance: fixed bug leading to invoice values changing (in print view only)
after issue
Finance: added reminder number to Email Reminder section header in overdue
invoice edit view
Finance: removed incorrectly applied currency label from expense export
Finance: fixed PHP notices for unset IDs in Manage Expenses and My Expense
Requests
Formal Assessment: improved layout of Internal Assessment view
Formal Assessment: fixed incorrect string wrapping for translation in
Internal Assessment import
Formal Assessment: fixed visual issue in column header of Write view in
Internal Assessment
Library: added new type to store Audio/Visual equipment
Library: fixed button label in Edit view in Lending & Activity Log
Library: fixed empty Link field when in Edit view in Manage Catalog
Markbook: added a class average row to the bottom of markbook views (when
Weighting is enabled)
Markbook: fixed order for first markbook column not saving properly
Markbook: allow decimal values for markbook column attainment raw max
Markbook: fixed custom Attainment label for Total Mark field
Markbook: added a markbook setting to enable display of cumulative marks on
View Markbook and Student Profile pages
Markbook: added a permission for teachers to only view their own markbook
information
Messenger: fixed issue leaking custom Messenger bubble background onto
screen
Messenger: fixed duplicate course names for message target
Messenger: removed call to isSMTP in message process when not using SMTP
Planner: adjusted permissions to allow teachers with
Planner_viewAllEditMyClasses rights to view Unit Overview for classes they don't
teach
Planner: fixed bug causing incorrect Satisfactory count in Work Summary by
Form Group report
Planner: fixed PHP notice issue when listing lessons with unit that no
longer exists
Planner: added resources from unit outline to the resources tab in Unit
Dump
Planner: fixed PHP notice on completion checkbox in Planner Deadlines
School Admin: fixed timezone issue in display of dates in Special Days view
School Admin: fixed bug in Manage School Days involving active days not
having timings set
Staff: fixed PHP notice in Application Form edit Status field
Students: added ability to store internal documents against student
application forms
Students: fixed bug preventing upload of application form documents when
cookies disabled
Students: fixed bug preventing some application form language/citizenship
fields from not being saved
Students: added settable thresholds for issuing academic alerts
Students: added settable thresholds for issuing behaviour alerts
Students: added extra action to allow deleting of application forms to be
disabled
Students: added optional permission for students to only view their profile
Students: added data visualisation for student enrolment over time
Students: fixed auto-assign houses potentially failing on Application Form
acceptance if houses are empty
Students: fixed PHP notice for gibbonPersonID in Add Medical Form
Students: fixed link to Add Medical Form in Student Profile
Students: updated Edit Application Form to handle spaces in privacy options
csv
Timetable: fixed TT not being navigable if user is not involved in any
timetable
Timetable Admin: fix bulk checking bug in Tie Days to Dates
Timetable Admin: widened listing of staff in Course Enrolment by Person to
include all staff (not just Teaching staff)
Timetable: added option to display either Day Of The Week or Timetable Day
Short Name in column header of timetables
Timetable: added name of person making a facility booking to timetable view
by Person
Timetable: added optional permission for users to only view their own
timetable
Timetable: added optional permission for parents to only view their
children's timetables
Timetable: increased list of students in Manage Student Enrolment to
include all current students
Timetable: fixed PHP notice in renderTTDay module function
Tracking: fixed bugs leading to repeated and mixed display of columns
User Admin: fixed bug preventing some custom fields appearing when
individual had multiple categories in multiple roles
User Admin: fixed PHP Notice error caused when no additional roles chosen
in user edit
User Admin: added ability to restrict which roles can be assigned in Manage
Users
User Admin: reduced Transport auto suggest to students enroled in the
current year
User Admin: added settings to enable/disable scholarships, payment and SEN
sections in Application Form
User Admin: fixed issue preventing inactive students from showing up when
family link is clicked
User Admin: added row highlighting in Manage Permissions

v13.0.02 and earlier


--------
Removed to reduce file size

You might also like