GJClasses CHANGELOG
===================
v0.56.0    2026-11-08
- Removed the curl_close() calls from Join, PersonalApi, and Remote.
  PHP 8.5 deprecates curl_close(), which has done nothing since PHP
  8.0, so each call only logged a deprecation notice

v0.55.0    2026-10-18
- Added .github/dependabot.yml so Dependabot opens one grouped Composer
  update PR a month, with a 7-day cooldown, and turned on vulnerability
  alerts and automatic security fix PRs on GitHub. Consumers ignore
  this library's composer.lock, so a PR that only bumps the lock needs
  no release; one that changes a constraint in composer.json reaches
  them only with a new v0.N.0 tag
- Upgraded the dependencies that were pinned to old major versions,
  which forced every consumer onto Guzzle 6, firebase/php-jwt 4, and
  other releases with known vulnerabilities (19 Dependabot alerts,
  including one critical). The new constraints are auth0/auth0-php
  ^8.17, irazasyed/telegram-bot-sdk ^3.16, donatj/pushover ^3.2, and
  phpmailer/phpmailer ^6.0 || ^7.0, and the lock file now has no
  known advisories
- Raised the minimum PHP version to 8.2, which auth0/auth0-php 8.17
  and later require
- Rewrote the Auth0 class for auth0-php 8: the config uses its
  camelCase keys, scope and audience are passed as arrays, and a new
  GJC_AUTH0_COOKIE_SECRET constant is required. queryUserInfo is on,
  so the user profile still comes from /userinfo as it did with
  auth0-php 5, not only from the ID token. login() and logout()
  now do the redirect themselves, since the SDK only returns the URL,
  and logout() uses the SDK's https logout link instead of building
  an http one. check() now exchanges the code on the callback page,
  which auth0-php 8 no longer does inside getUser(), so callback pages
  that call check() keep working. A stale, replayed, or failed
  callback now redirects to the login page instead of throwing, and
  the session cookies are marked Secure when the callback URL is https
- Kept Pushover's "Message Failed" behaviour: donatj/pushover 3 throws
  a ResponseException on failure instead of returning false, so the
  class now catches it
- Added GJC_AUTH0_COOKIE_SECRET to examples/auth0.php

v0.54.0    2026-10-17
- Updated the copyright notices in LICENSE and README.md to 2018-2026
- Updated the composer.json homepage to the gregdotca/gjclasses GitHub repo and the author homepage to greg.ca
- Removed the outdated Scrutinizer badges from README.md
- Added CLAUDE.md with guidance for working on the library

v0.53.0    2024-08-05
- Fixed git tags (maybe?)

v0.52.0    2024-08-05
- Migrated to NPM Free Currency Exchange Rates API

v0.51.0    2024-01-03
- Added support for Free Currency Rates API

v0.50.0    2022-12-17
- Changed title to subject in PersonalApi class

v0.49.0    2022-12-17
- Removed URL encoding in PersonalApi class

v0.48.0    2022-12-17
- Ensured PersonalApi has a default priority set

v0.47.0    2022-12-17
- Made PersonalApi a stand-alone class

v0.46.0    2022-12-14
- Fixed PersonalApi API call

v0.45.0    2022-12-14
- Updated PersonalApi API call

v0.44.0    2022-12-13
- Updated PersonalApi endpoint

v0.43.0    2022-12-08
- Updated PersonalApi to accept API Key

v0.42.0    2022-11-28
- Ensured whitespace is removed before submitting PersonalApi API call

v0.41.0    2022-11-27
- Added Personal API as a push option

v0.40.0    2022-11-23
- Fixed issue with MailSmtp class

v0.39.0    2022-11-20
- Composer Updates

v0.38.0    2022-11-20
- Finished adding support for Telegram

v0.37.0    2022-11-20
- Added support for Telegram

v0.36.0    2022-10-16
- Updated PHP and PHPMailer versions

v0.35.0    2021-07-29
- Added Detect class

v0.34.0    2021-06-26
- Added exchangerate.host currency conversion support

v0.33.0    2021-06-11
- Added support for Pushover priority

v0.32.0    2021-06-11
- Updated Notify example
- Removed unnecessary pushover settings
- Fixed incorrect push provider

v0.31.0    2021-06-10
- Added push notification support for Join

v0.30.0    2021-05-27
- Added support for ExchangeRate-API
- Added support for Fixer.io
- Added support for Interzoid
- Added API Key support for Exchange Rates API

v0.29.0    2020-05-09
- Removed ext- composer dependencies

v0.28.0    2020-05-03
- Removed the Free Currency Converter API

v0.27.0    2019-02-08
- Updated Money class
- Updated Money class example
- Renamed Money class to Currency class
- Changed insert_time default to unix epoch time

v0.26.0    2019-02-03
- Updated Composer

v0.25.0    2019-02-03
- Added Sanitize class
- Added Sanitize class example
- Added Unsanitize class
- Added Unsanitize class example

v0.24.0    2018-11-21
- Updated Auth0 class
- Updated Auth0 class example

v0.23.0    2018-11-20
- Updated Auth0 class
- Updated Auth0 class example

v0.22.0    2018-11-19
- Added auth0/auth0-php ~5.0 to Composer requirements
- Added Auth0 class
- Added Auth0 class example

v0.21.0    2018-11-11
- Separated Email & Push Subjects (Notify Class)

v0.20.0    2018-11-10
- Added Notify class
- Added Notify class example

v0.19.0    2018-11-10
- Added donatj/pushover to Composer requirements
- Added Pushover class
- Added Pushover class example
- Added Pushover support to Push class
- Cleaned up Pushbullet Class and example

v0.18.0    2018-11-08
- Updated project dependencies

v0.17.0    2018-11-08
- Removed logging from all classes but Log
- Removed unused $file_title from getFileContents
- Code cleanup

v0.16.0    2018-11-03
- Added Time class example
- Added Export class example
- Code cleanup

v0.15.0    2018-10-28
- Added System class
- Added Format class
- Added Format class example
- Added Push class
- Added Push class example
- Added Pushbullet class
- Added Pushbullet class example

v0.14.0    2018-10-28
- Added Mail class
- Added Mail class example
- Added MailPhp class
- Added MailPhp class example
- Updated named constant names
- Updated class examples
- Cleaned up MailSmtp send code

v0.13.0    2018-10-27
- Renamed Smtp class to MailSmtp
- Updated MailSmtp class
- Updated MailSmtp class example

v0.12.0    2018-10-26
- Added Smtp class
- Added Smtp class example
- Renamed named constants in init.inc.php

v0.11.0    2018-10-25
- Added Final Destination Domain Apex to the results

v0.10.0    2018-10-24
- Updated HttpHeader rules

v0.9.0    2018-10-22
- Updated HttpHeader rules

v0.8.0    2018-10-19
- Updated HttpHeader class

v0.7.0    2018-10-18
- Added HttpHeader class
- Added HttpHeader class example

v0.6.0    2018-09-10
- Added Ping class
- Added Ping class example
- Added composer.lock file
- Added GJC_DIR_TEMP declaration to init.inc.php
- Updated location of log file

v0.5.0    2018-04-13
- Added convertAmount method to Money class

v0.4.0    2018-04-13
- Changed PHP version requirement from 5.3 to 5.4
- Added PHPMailer (5.2.*) requirement via Composer
- Added Pushbullet for PHP (3.*) requirement via Composer
- Added Remote class
- Added Money class
- Added Money class example

v0.3.0    2018-04-13
- Add Log class
- Add Log class table SQL
- Add Log class example
- Add Time class
- Add Export class
- Add init.inc.php

v0.2.0    2018-04-12
- Add Database class

v0.1.0    2018-04-11
- Initial release
