-
Notifications
You must be signed in to change notification settings - Fork 308
/
CHANGELOG.txt
1848 lines (1731 loc) · 128 KB
/
CHANGELOG.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
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
=========
v29.0.00
--------
Headlines
Changes With Important Notices
Security
Tweaks & Additions
Bug Fixes
v28.0.00
--------
Headlines
An exciting front-end refresh powered by HTMX and Alpine.js
Updated icons, menus, alerts and navigation elements
Improved forms with a quick-save shortcut and better validation
A new Activity registration system with a visual Explore Activities page
A Mailing List feature in Messenger to collect external email recipients
Changes With Important Notices
Additional modules may need updated to v28 compatible versions
Security
User Admin: applied input and output filtering to all email address fields
Tweaks & Additions
System: set Greek as an active language
System: added Putonghua as a language option in dropdown menus
System: added IDD codes for Republic of Korea and Democratic People's Republic of Korea
System: added Nicaraguan Córdoba C$ as a currency option
System: refactored the Fast Finder using HTMX and Alpine
System: updated Core modules to have Gibbon Foundation as author
System: updates the timetable navigation to use AJAX reloading rather than page refresh
System: moved the login form to the bottom of the page when viewing subpages and not logged in
System: added a password strength checker and improved password policy display
System: updated all Date fields to use the browser native date picker
Attendance: added an index to the attendance log to help speed up attendance pages
Attendance: added an indicator to Student Not Present/Onsite when attendance logs conflict
Activities: updated Activity Attendance to always count participants for dates in the past
Behaviour: added a permission for students to view their own Behaviour Records (off by default)
Formal Assessment: allowed users with edit access to edit grouped Internal Assessment columns
Markbook: updated markbook columns to grey out students who joined after the Go Live date
Messenger: limited the individual message target to a maximum of 50 people
Messenger: updated preferences to ensure signatures are displayed on a white background
Planner: improved default selected course in Unit Planner sidebar menu
Planner: added an Add Block to All option in Deploy Working Copy
Reports: added a Progress by Department report for viewing class criteria progress
Rubrics: updated Edit Rubric page to allow HTML in rubric cells
Staff: updated Manage Staff to override required custom fields when manually editing a staff member
Staff: updated family page on Staff Profile to exclude personal details and addresses
Staff: added the option to exclude staff from internal coverage or set a coverage priority
Staff: updated the weightings in the Daily Coverage Planner to include overall weekly teaching load
Students: added a notification event when student notes are edited
Students: removed birthday icon from student view of class lists
User Admin: added the names of users who made changes to the User Status Log
User Admin: updated Manage Users to override required custom fields when manually editing a user
User Admin: updated Personal Documents to enable required Residency/Visa dropdown
Bug Fixes
Admissions: fixed the search results on the Manage Application page to include json data
Admissions: fixed missing Previous Schools section in Application Form view and print pages
Admissions: fixed custom field validation for second parent in Application Form
Behaviour: fixed users notified of behaviour records unable to add follow up
Finance: fixed bulk exporting invoice fees for Pending invoices
Form Groups: fixed Year Group Summary list when looking at non-current school years
Individual Needs: fixed an error on the IN Archive page that prevented access to it
Markbook: fixed SQL error in Markbook when using external assessments for a baseline
Planner: fixed next lesson plan date not auto populating in Add Lesson Plan
Reports: fixed Send Report option to enable sending to students without needing parent details
Reports: fixed Scan Asset Directories not working on Windows servers
Reports: fixed Scan Asset Directories failing to create template folder if it does not exist
Timetable: fixed permission checking before displaying user status info in View Timetables list
System Admin: fixed the sanitization rules for application form fields to allow HTML
Deprecations
System: replaced the legacy Thickbox library with an AJAX-based modal window
System: replaced the legacy LiveValidation library with Alpine.js validation
System: replaced the legacy jQuery tooltip with Alpine.js
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
Staff: added the ability for staff members to cancel an absence before it occurs
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