Skip to content

OpenCATS v0.11.1

Latest

Choose a tag to compare

@github-actions github-actions released this 03 Sep 11:01
· 1 commit to master since this release
d83e426

OpenCATS v0.11.1 is a security and maintenance release containing 20 commits since v0.11.0.

This release continues the PHP 8.4.1 / PHP 8.5 modernisation work, with additional security hardening, Career Portal fixes, installer improvements and expanded regression testing.

Security

Security-related changes in this release include:

  • Hardened CSV import field mapping by validating destination fields against the existing OpenCATS import definitions before they are used in database queries.
  • Hardened mass-import temporary file deletion by verifying files with the existing FileUtility::isUploadFileSafe() checks before deletion.
  • Hardened candidate duplicate/merge handling by consistently using the existing OpenCATS database escaping and integer-validation helpers when constructing SQL.
  • Added stricter validation of installer timezone input and database updates.
  • Improved output escaping in advanced-search handling for HTML attributes and JavaScript values.
  • Tightened validation of checkbox extra-field values.

Associated GitHub Security Advisories will be published separately.

Career Portal and email fixes

  • Fixed questionnaire submissions which could fail during Career Portal applications.
  • Added regression coverage for Career Portal questionnaire submissions.
  • Prevented the confusing candidate ownership notification email from being sent to applicants submitting through the Career Portal.
  • Fixed Career Portal job descriptions so stored HTML is rendered correctly.
  • Removed the forced OpenCATS footer from outgoing email.

Installer and upgrade reliability

  • Added automated integration testing of upgrades from an OpenCATS 0.9.4-era database through to the current schema.
  • Improved handling of legacy database migrations.
  • Fixed relative SystemUtility.php includes in the installer AJAX endpoint so they no longer depend on the current working directory.

The additional legacy-upgrade coverage is intended to reduce the risk of future changes breaking upgrades from older, long-running OpenCATS installations.

Other fixes

  • Fixed the Queue CLI success status when there is no queue log output.
  • Improved validation and display of checkbox extra fields.
  • Updated CAPTCHA dependency to Gregwar Captcha 2.1.1.
  • Pinned CKEditor to the final open-source CKEditor 4 release while a future editor replacement is considered.
  • Restored generation of full GitHub release packages containing production dependencies.

Development and contributing

The contributing documentation has been substantially expanded, including:

  • supported PHP versions
  • OpenCATS coding and development principles
  • testing requirements
  • guidance for contributors
  • links to the OpenCATS modernisation roadmap

Testing

OpenCATS v0.11.1 has been tested on:

  • PHP 8.4.1
  • PHP 8.5

The release pipeline includes:

  • PHPUnit unit tests
  • PHPUnit integration tests
  • default Behat scenarios
  • security Behat scenarios
  • legacy database upgrade testing

Full release archives containing production dependencies are available in both .tar.gz and .zip formats.

Upgrading

As always, take a complete backup of your OpenCATS database and attachments before upgrading.

Users upgrading from older OpenCATS releases should use the normal installer/upgrade process so any required database migrations can be applied.

Thanks to everyone who reported issues, contributed fixes and helped test this release.