Releases: tbar0970/jethro-pmm
Jethro v2.36.0-RC2
Further polishing of v2.36.0-RC1
Includes a packaging fix to resolve some malformed CSS that was produced by LESSC.
Jethro v2.36.0 RC1
This is a release candidate, not yet ready for widespread production use.
Enhancements
- #1035 - Person status options are now much more flexible (see upgrade note)
- #890 - Configurable sort order for attendance recording
- #1040 - You can now hide the age bracket field in the members area
- #1075 - Ability to edit group membership is now determind by the "Groups" permission level.
Bugfixes
-
#1086 - fixed bulk update tool causing inadvertent changes to age bracket. (see upgrade note)
-
#1036 - fixed run sheet component sorting
-
#1046 - fixed family member edits
-
#1050 - fixed errors in log when displaying 'date totals' attendance
-
#1052 - improved robustness of report config for custom fields
-
#1057 - fixed an issue where sometimes roster assignees couldn't be removed
-
#1065 - removed ical feed 6-week limit
-
#1072 - fixed error when sms log file does not exist
-
#1078 - fixed situation where occasionally roster assignees did not show up
-
#1064 - fixed unwanted line break in service summary
-
#1056 - improved clarity for the roster summary
-
#1048 - fixed errors in roster summary if no roster roles included
-
#1088 - fixed premature session timeouts.
-
#1085 - PHP8 compatibility
-
#1054 - fixed contact list DOCX export
-
#1091 - fixed error when deleting a congregation under some circumstances
-
#1069 - fixed issue with notes for action attached to empty families
-
#1090 - improved layout of run sheet notes
-
Technical changes
-
2FA_ settings are hard-codable in conf.php
-
Improvements to configuration of the roster reminder script
-
Fix to premature session timeouts
-
#745 - file permissions in release
-
#1099 - PHP8 compatibility
Upgrade Procedure
- Log out of Jethro
- Take a backup of your mysql database
- Apply all applicable upgrade SQL files from the upgrades folder to your mysql database, including upgrades/2024-upgrade-to-2.36.sql
- Move away your old Jethro files (eg. rename your jethro folder to jethro_old)
- Unzip the new files into the right place (don't just overwrite the old files)
- Move your old conf.php and files/ subdirectory (if not empty) back into your jethro folder.
- Optional: Run
php upgrades/2024-upgrade-to-2.35-after.php
from the command line. Jethro will run this upgrade automatically when you log in, but you may prefer to do it from the command line in advance. - Optional: Run
php upgrades/upgradefixes/2024-2.36-check-age-brackets.php
from the command line. This script checks for person records affected by Issue #1086. Jethro will run this check when a system administrator logs into the system, but you may prefer to do it from the command line in advance. - Log in and test.
Jethro v2.35.1
This minor release does some polishing to v2.35.0
See the 2.35.0 release notes for the major new features.
Enhancements
#1028 - better display of song details in rosters
#1029 - better page titles
#1020 - enhanced layout of service content
Bug Fixes
#1033 - archived system administrators are no longer sent 2FA-related notifications
#1030 - age-bracket groupings in reports are now ordered correctly
#466 - default age bracket is applied on add-family page
#1023 - Mail merge on grouped report fixed
#1021 - Better handling of situation where 2FA_SENDER_ID is not set
Upgrade Procedure
- Log out of Jethro
- Take a backup of your mysql database
- If upgrading from a version older than 2.35.0, apply all applicable upgrade SQL files from the upgrades folder to your mysql database, including upgrades/2024-upgrade-to-2.35.sql
- Move away your old Jethro files (eg. rename your jethro folder to jethro_old)
- Unzip the new files into the right place (don't just overwrite the old files)
- Move your old conf.php and files/ subdirectory (if not empty) back into your jethro folder.
- Log in and test.
Jethro v2.35.0
New Features
- #925 - Configurable two-factor authentication for enhanced security
- #25 - Song usage report. You can now see how many times songs have been used in services and easily click through to report usage to CCLI.
- #889 - Jethro can now display the cost of sending out an SMS message based on its length and the number of recipients.
- #1011 - When Jethro sends out emails (eg for member rego, or various reminders), you can now apply a system-wide "from" address, to ensure DMARC compliance.
- #788 - Custom reports. You can save custom SQL queries on your server and view the results in Jethro.
- The bottom of a roster now shows a workload analysis - how many times each person has been allocated.
Bug Fixes
- #960 - Group names/membership status were sometimes repeated in report results
- #976 - Problem when pasting values into email address field
- #971 - "attendance days" field was hidden when editing/viewing a group
- #959 - Copy button in roster's "email all" modal was not working
- #955 - "Title" field was sometimes not shown when adding an ad-hoc run sheet item
- #956 - Service component were not visible whilst being dragged on to a run sheet
- #958 - Layout of personnel on printable run sheet was uneven
- #985 - Better handling of situation where user tries to create an HTML doc with the wrong extension
- #994 - yearless values in custom date fields were not working in recently-installed systems
- #1002 - Importer better handles situation where multiple import rows match the same existing person
- #1001 - In system config, age brackets, unticking 'is adult' did not save
- #992 - Cleaned up document download filenames
- #946 - Improved layout of attendance running total
- #1008 - Attendance headcount was not saving if nobody was marked present/absent
- #1009 - Fixed error when you ran document merge on some persons in a report
- #777 - issue with counting of sms characters
- #400 - issue with pasting rich text into sms box
- #1010 - when sms is saved as note, it had status=requires action.
- #937 - non-adult family members were wrongly able to edit other members' details; now they can't.
- #1014 - timestamp of roster assignments was being updated when they weren't changed.
- #1015 - list of reports looked funny on mobile
- #1016 - roster_reminder didn't work if USER_MOBILE was used in SMS config.
- Various page layout improvements in the members area and elsewhere.
- #1022 - error when adding family (in 2.35.0-RC)
- #1026 - errors sending automated emails (in 2.35.0-RC)
Behind-the-scenes improvements
- Version checker now checks for the latest release of Jethro.
- #936 - Improved php8 compatibility
- #947 - better handling of temp files
- #950 - Better warnings about too-large uploads
- #963 - improve mysql 8+ compatibility
- #982 - Fix handling of 'permanently deleted' people in Mailchimp audiences
- #979 - Fix error in log when viewing attendances
- #1006 - Error when sms.log first written
- #1000 - Improved error message if conf.php has wrong permissions
Upgrade Procedure
- Log out of Jethro
- Take a backup of your mysql database
- Apply all applicable upgrade SQL files from the upgrades folder to your mysql database, including upgrades/2024-upgrade-to-2.35.sql
- Move away your old Jethro files (eg. rename your jethro folder to jethro_old)
- Unzip the new files into the right place (don't just overwrite the old files)
- Move your old conf.php and files/ subdirectory (if not empty) back into your jethro folder.
- Log in and test.
Jethro 2.34.1
This maintenance release resolves various issues in 2.34.0
Bugfixes
- #947 - better cleanup of temp files on server
- #960 - Reports showing group-related columns sometimes showed repeated values
- #976 - problem pasting into email fields
- #971 - 'attendance days' field was hidden when adding/editing a group
- #959 - 'copy' button in 'email-all' popup wasn't working
- #963 - database upgrade errored on some mysql versions due to 'rank' keyword
- #955 - when editing an ad-hoc run sheet item, 'title' field was sometimes not visible
- #956 - service components weren't visible whilst being dragged to a run sheet
- #958 - layout of personnel in columns on run sheet has been improved
Enhancements
- If an uploaded photo is too big, the user is now told what the limit is.
Upgrade Procedure
- Log out of Jethro
- Take a backup of your mysql database
- If upgrading from a version older than 2.34.0, apply all applicable upgrade SQL files from the upgrades folder to your mysql database, including upgrades/2023-upgrade-to-2.34.sql
- Move away your old Jethro files (eg. rename your jethro folder to jethro_old)
- Unzip the new files into the right place (don't just overwrite the old files)
- Move your old conf.php and files/ subdirectory (if not empty) back into your jethro folder.
- Log in and test.
Jethro 2.34.0
This release resolves a long list of bugs and adds a number of small but useful features.
Enhancements
- #834 - You can now control whether each congregation is a container for persons, attendance, services, all of the above, or none of the above.
- #846 - You can now quickly SMS all assignees in a roster view
- #874 - Planned absences are now displayed when recording, displaying or reporting on attendance
- #907 - You can now set the default status for notes to be something other than 'no action required'
- #920 - When changing the status of a note from 'action required' to something else, it's now compulsory to enter a comment so there is a historical record.
- #704 - When marking attendance, a count of the number of persons marked present is now shown next to the headcount box
- #895 - When you select a roster view, your selection now persists next time you return to that page.
- #898 - If you paste an email address beginning with "mailto:", Jethro quietly strips the prefix.
- #799 - It's now easier to copy the ical URL to paste into your calendar app
- #899 - Explanation about how attendance percentages work has been extended
- #696 - In person notes/comments, URLs are now displayed as links
- #875 - Better access to roster role descriptions via the edit-roster-roles page
- #922 - When hovering over a name on a roster, other instances of that person are highlighted.
- #829 - In the personnel list above a run sheet, roles with nobody assigned are no longer shown
- #918 - When run sheet components (eg songs) are shown in a roster column, you can now click on them to see component details such as comments and CCLI number.
- #523 - When entering BIble readings, you can now enter 2-part split readings such as Matt 22:1-3, 7-8 or Matt 2:28-3:2, 5-6.
- #885 - Contact list DOCX export now avoids splitting families across page breaks
- #888 - SMS log file now includes character count, is now more detailed and in jsonlines format
- #801 - This Sunday is now highlighted in the service schedule
- #880 - Layout in the run sheet editor has been enhanced
- #732 - Styling of service details in rosters has been improved
- #876 - iCal feeds can now be enabled even if the rest of the public area is disabled, thanks to a new setting.
- In the personnel list above a run sheet, role titles are now linked to role descriptions.
- When viewing a roster role description, there is a now link to edit it
- In the top nav, the user's name is now a link to their person record
- Password strength is now checked at login, and the user is prompted to change to a stronger password if necessary.
- Mobile phone numbers can now be copied more easily
- Document merge can now be run against reports and attendance, and can display all available merge keywords before merging.
Bugfixes
- #883 - Congregations are sorted by meeting_time (time code) more consistently
- #4 - The situation where a group used for account restrictions has been archived is now better handled
- #78 - The situation where somebody tries to create several services on the same date for the same congregation is now better handled.
- #882 - fix to the email-report script
- #870 - cope better with mailchimp API's error reports
- #877 - user accounts restricted to a certain congregation could also see persons with blank congregation, now fixed
- #894 - spelling fix
- #901 - Jethro warns more clearly when a file upload is too big to handle
- #831 - planned absences are now factored in when choosing 'other' option in rosters.
- #649 - better handling of long custom field values
- #905 - fix PHP8 strict-mode error when displaying service component
- #903 - fix PHP8 strict-mode error when importing
- #921 - planned absences were sometimes missing on the final row when editing a roster. Now fixed.
- #363 - fixed error deleting group in some circumstances
- #923 - fixed error when deleting the only tag in service component tag manager
- #842 - you can no longer delete a group that is in use as the volunteer group for a roster role
- #927 - fixed error when removing the CCLI number from a service component
- #841 - after running an ad hoc report you couldn't save it, now fixed.
- When sending an SMS, "save as note" option is no longer shown if the SMS_SAVE_TO_NOTE_SUBJECT setting is blank
- #810 - pressing enter when editing a run sheet no longer submits the form
- #341 - prevent errors when saving a run sheet in some circumstances
- #928 - allow more characters in roster role titles that still work in run sheet keywords such as %Bible_reader_#1%
- #834 - prevent the deletion of a congregation with services attached. Instead, provide a way to 'retire' congregations from such duties.
- #931 - reports on home page are now ordered by name.
- #944 - Australia post postcode link has been updated (fixed during RC process)
- #942 - background colour fixed when dragging a run sheet item (fixed during RC process)
- #940 - dirty data was hindering the 2.34.0 upgrade (fixed during RC process)
- #933 - extraneous highlighting on rosters has been fixed (fixed during RC process)
Other
- Support for 'legacy format' document merge templates (from v2.27 or earlier) has been disabled by default. It can be re-enabled by adding to the conf.php file
define('MAIL_MERGE_INCLUDE_LEGACY', true);
Upgrade Procedure
- Log out of Jethro
- Take a backup of your mysql database
- Apply all applicable upgrade SQL files from the upgrades folder to your mysql database, including upgrades/2023-upgrade-to-2.34.sql
- Move away your old Jethro files (eg. rename your jethro folder to jethro_old)
- Unzip the new files into the right place (don't just overwrite the old files)
- Move your old conf.php and files/ subdirectory (if not empty) back into your jethro folder.
1 Compare your old conf.php to a new conf.php.sample.* file and add any new settings to your conf.php - Log in and test.
Credits
Thanks to @tim-pearce for document merge contributions, @jefft for contact list format fix, upgrade SQL fix and various other diagnoses and fixes, @s4069b for updated postcode link and contribution to service component details display in rosters.
Jethro v2.34.0-RC1
This release resolves a long list of bugs and adds a number of small but useful features.
Enhancements
- #834 - You can now control whether each congregation is a container for persons, attendance, services, all of the above, or none of the above.
- #846 - You can now quickly SMS all assignees in a roster view
- #874 - Planned absences are now displayed when recording, displaying or reporting on attendance
- #907 - You can now set the default status for notes to be something other than 'no action required'
- #920 - When changing the status of a note from 'action required' to something else, it's now compulsory to enter a comment so there is a historical record.
- #704 - When marking attendance, a count of the number of persons marked present is now shown next to the headcount box
- #895 - When you select a roster view, your selection now persists next time you return to that page.
- #898 - If you paste an email address beginning with "mailto:", Jethro quietly strips the prefix.
- #799 - It's now easier to copy the ical URL to paste into your calendar app
- #899 - Explanation about how attendance percentages work has been extended
- #696 - In person notes/comments, URLs are now displayed as links
- #875 - Better access to roster role descriptions via the edit-roster-roles page
- #922 - When hovering over a name on a roster, other instances of that person are highlighted.
- #829 - In the personnel list above a run sheet, roles with nobody assigned are no longer shown
- #918 - When run sheet components (eg songs) are shown in a roster column, you can now click on them to see component details such as comments and CCLI number.
- #523 - When entering BIble readings, you can now enter 2-part split readings such as Matt 22:1-3, 7-8 or Matt 2:28-3:2, 5-6.
- #885 - Contact list DOCX export now avoids splitting families across page breaks
- #888 - SMS log file now includes character count, is now more detailed and in jsonlines format
- #801 - This Sunday is now highlighted in the service schedule
- #880 - Layout in the run sheet editor has been enhanced
- #732 - Styling of service details in rosters has been improved
- #876 - iCal feeds can now be enabled even if the rest of the public area is disabled, thanks to a new setting.
- In the personnel list above a run sheet, role titles are now linked to role descriptions.
- When viewing a roster role description, there is a now link to edit it
- In the top nav, the user's name is now a link to their person record
- Password strength is now checked at login, and the user is prompted to change to a stronger password if necessary.
- Mobile phone numbers can now be copied more easily
- Document merge can now be run against reports and attendance, and can display all available merge keywords before merging.
Bugfixes
- #883 - Congregations are sorted by meeting_time (time code) more consistently
- #4 - The situation where a group used for account restrictions has been archived is now better handled
- #78 - The situation where somebody tries to create several services on the same date for the same congregation is now better handled.
- #882 - fix to the email-report script
- #870 - cope better with mailchimp API's error reports
- #877 - user accounts restricted to a certain congregation could also see persons with blank congregation, now fixed
- #894 - spelling fix
- #901 - Jethro warns more clearly when a file upload is too big to handle
- #831 - planned absences are now factored in when choosing 'other' option in rosters.
- #649 - better handling of long custom field values
- #905 - fix PHP8 strict-mode error when displaying service component
- #903 - fix PHP8 strict-mode error when importing
- #921 - planned absences were sometimes missing on the final row when editing a roster. Now fixed.
- #363 - fixed error deleting group in some circumstances
- #923 - fixed error when deleting the only tag in service component tag manager
- #842 - you can no longer delete a group that is in use as the volunteer group for a roster role
- #927 - fixed error when removing the CCLI number from a service component
- #841 - after running an ad hoc report you couldn't save it, now fixed.
- When sending an SMS, "save as note" option is no longer shown if the SMS_SAVE_TO_NOTE_SUBJECT setting is blank
- #810 - pressing enter when editing a run sheet no longer submits the form
- #341 - prevent errors when saving a run sheet in some circumstances
- #928 - allow more characters in roster role titles that still work in run sheet keywords such as %Bible_reader_#1%
- #834 - prevent the deletion of a congregation with services attached. Instead, provide a way to 'retire' congregations from such duties.
- #931 - reports on home page are now ordered by name.
Other
- Support for 'legacy format' document merge templates (from v2.27 or earlier) has been disabled by default. It can be re-enabled by adding to the conf.php file
define('MAIL_MERGE_INCLUDE_LEGACY', true);
Upgrade Procedure
- Log out of Jethro
- Take a backup of your mysql database
- Apply all applicable upgrade SQL files from the upgrades folder to your mysql database, including upgrades/2016-upgrade-to-2.34.sql
- Move away your old Jethro files (eg. rename your jethro folder to jethro_old)
- Unzip the new files into the right place (don't just overwrite the old files)
- Move your old conf.php and files/ subdirectory (if not empty) back into your jethro folder.
1 Compare your old conf.php to a new conf.php.sample.* file and add any new settings to your conf.php - Log in and test.
Credits
Thanks to @tim-pearce for document merge contributions, @jefft for contact list format fix and various other diagnoses and fixes, @s4069b for contribution to service component details display in rosters.
Jethro v2.33.0
This version adds a bunch of small enhancements, and fixes a bunch of bugs (2 of them severe).
Enhancements
- #502 - you can now include an "add note" column in a report
- #99 - reports now refresh after you edit a person
- #809 - 'notes requing action' column in reports now shows assignee, and includes family notes
- Importer now allows you to direct-paste TSV data as an alternative to uploading CSV file
- #690 - In the importer, you no longer have to include a column for non-mandatory fields
- #849 - In the config of the date_reminder script you can now specify a mobile number to send from (previously, the script couldn't send any SMS messages if the SMS gateway config includes USER_MOBILE keyword)
- date_reminder script can now send the summary to a specific address, instead of persons with a particular status (new setting SUMMARY_RECIPIENT_EMAIL in the script's config)
- #849 - date_reminder script can now send SMS messages even if the SMS gateway config refers to _USER_MOBILE. (New setting SMS_FROM in the script's config)
- Jethro now sets HTTP headers with the current user info, useful for logging (PR #851)
- #838 - printable run sheet now saves as PDF with a helpful filename
- #783 - after creating a single-person family, Jethro redirects to view-person page
- PHP8.2 compatibility improvements (PR #861)
- Attendance stats can now be copied as TSV (like reports)
Bugfixes
- #828 - error during install process blocked installation [severe]
- #845 - editing a user account caused loss of custom field data for that person [severe]
- #823 - colour issue in current-user dropdown
- #267 - border colour fix
- #835 - importer sometimes failed to match existing person
- #850 - date_reminder script: OVERRIDE_RECIPIENT_SMS setting wasn't working
- #855 - performance of task_reminder script improved
- #821 - misleading message during member-account rego process adjusted
- #480 - confusing errors when members area config was incomplete now avoided
- #836 - error after editing family details
- #825 - Person history was sometimes ending up blank. Handle this better. (PR #816)
- #844 - Fix missing heading on attendance-stats page
- #869 - Made ATTENDANCE_LIST_ORDER editable only in the config file
- #504 - MEMBER_REGO_HELP_EMAIL setting now configurable. Defunct MEMBER_REGO_EMAIL_CC setting removed.
Upgrade Procedure
- Log out of Jethro
- Take a backup of your mysql database
- Apply all applicable upgrade SQL files from the upgrades folder to your mysql database, including upgrades/2023-upgrade-to-2.33.sql
- Move away your old Jethro files (eg. rename your jethro folder to jethro_old)
- Unzip the new files into the right place (don't just overwrite the old files)
- Move your old conf.php and files/ subdirectory (if not empty) back into your jethro folder.
- If you had a custom setting for ATTENDANCE_LIST_ORDER (which is unlikely), look for the relevant line in conf.php.sample and add the setting to your conf.php file.
- Log in and test.
Credits
Thanks to @vanoudt, @tim-pearce, @jefft for their contributions, and to those who reported and diagnosed bugs.
Jethro v2.32.0
This version resolves many small issues, adds some small enhancements, and improves security.
Fixes for end-user issues
- #759 - some widgets were too wide when editing rosters
- #175 - the bulk-action for sending emails didn't function on iphone due to layout issues
- #764 - archived roster roles are now hidden correctly when definiing a roster view
- #758 - archived groups were not always hidden as they should be
- #646 - better handling of duplicate usernames for user accounts
- #591 - better handling of attempts to create duplicate age brackets with the same name
- #698 - trouble deleting some services on some systems
- #394 - archived family members are now shown greyed out
- #503 - ensure archived family members don't show up in members area
- #774 - cleaned up the layout of the members-area homeage
- #784 - the 'selected-firstnames' keyword did not work in mail merges
- #813 - error creating planned absence in members area in recently-installed system
- #812 - consistent experience for archived persons who log into the members area
- #814 - making it clear that persons without an email address can't register for the members area
- #807 - Older action plans sometimes provoked errors
Fixes for technical-level bugs
- #770 - fix support for the PHP_MAIL flag in the roster-reminder script
- #761 - trouble connecting to some SMTP servers
- #626 - more foreign keys to improve performance and ensure data validity
- #465 - ensure database values are correctly updated when a group category is deleted
- #786 - Error in db quote function under PHP8
Bugs fixed during the QA process for this release
Enhancements
- Changes to search functionality:
- #240 The system-wide search box now appears at the top of every page (except the home page, where it is in the body).
- On the home page, the search can be restricted to a particular object type if desired.
- The menu items "Persons > Search", "Families > Search" and "Groups > Search" have been removed, since the system-wide search box can be used instead.
- The "Persons > List all", "Families > List all" and "Groups > List all" pages now have a search box at the top of the page, to search within the results on the page.
- Security: Enhanced protection against XSRF attacks
- Whenever a user account is created or edited, the operator must now enter their own password.
- #815 Jethro's session cookie now has the SameSite parameter set, so the session cookie will not be included in POST requests originating from other sites.
- #734 - groups which have attendance-recording turned on now link to record attendance page
- #785 - ability to add terms of use for members area
- #53 - the accounts tab in view-person page now gives more detail about the status of member accounts
- #739 - improved layout of the global search results
Upgrade Procedure
- Log out of Jethro, and aim to do the upgrade when other users are logged out too
- Take a backup of your mysql database
- Apply all applicable upgrade SQL files from the upgrades folder to your mysql database, including upgrades/2022-upgrade-to-2.32.sql
- Move away your old Jethro files (eg. rename your jethro folder to jethro_old)
- Unzip the new files into the right place (don't just overwrite the old files)
- Move your old conf.php and files/ subdirectory (if not empty) back into your jethro folder.
- Log in and test.
Acknowledgements
Thanks to @jefft and @tim-pearce for contributions.
Jethro v2.31.2
This release adds some bugfixes and minor improvements to the previous version.
Changes:
- #744 - Borders now shown correctly on printed rosters
- #467 - Archived members now included in congregation member count
- #663 - Explanation now given for inability to delete a congregation that's used in an account restriction
- #496 - Bulk updates now correctly update family status based on member statuses
- #667 - Multi-word names can now start with lowercase letter
- #688 - Resolved errors editing an ad-hoc report under MariaDB 10
- #701 - Reports can now correctly show people who are not in any congregation
- #748 - Exporting check-ins now applies the date range correctly
- #750 - Copy-as-TSV now has clean results and can provide table output too
- Service components that have never been used are now grouped together at the top/bottom of the list
Upgrade Procedure
- Log out of Jethro
- Take a backup of your mysql database
- If upgrading from a version older than 2.31.0: Apply all applicable upgrade SQL files from the upgrades folder to your mysql database, including upgrades/2021-upgrade-to-2.31.sql
- Move away your old Jethro files (eg. rename your jethro folder to jethro_old)
- Unzip the new files into the right place (don't just overwrite the old files)
- Move your old conf.php and files/ subdirectory (if not empty) back into your jethro folder.
- Log in and test.
Credits
Thanks to @jefft for the check-ins bugfix.