Change Log
Change Log
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)
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
Security
System: improved the input sanitization and output encoding of URLs
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
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
--------
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
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
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
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
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
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
Security
Updated TinyMCE Editor to version 5.6.2
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
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
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
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
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
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
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
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
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
Security
System: fixed security vulnerability in the installer
System: added validation and output escaping to Personal Background URL in
Preferences
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
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