Skip to content

Latest commit

 

History

History
286 lines (196 loc) · 15.7 KB

CHANGELOG.md

File metadata and controls

286 lines (196 loc) · 15.7 KB

Change Log

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[Unreleased]

Added

Changed

Fixed

Fixed - ChurchTools Breaking Change

[2.1.0]

Added

  • AJAX-Api for SongArrangement comment (notes) (PR187)
  • Replace AJAX-Api with REST-API for Group and SongArrangement comments (notes) (PR216)
  • Retrieve GroupTypes (PR188, PR198)
  • Retrieve GroupTypeRoles (PR197)
  • Added new property 'postsEnabled' to the group type model (PR204)
  • Login with Session Cookie (undocumented) (PR207)

Changed

  • Add PHP coding styling (PR193)

Fixed

  • PHPUnit and PHP8.1 compatibility (PR181)
  • Use children endpoint for GroupHierarchie (PR192)
  • Fix action dependency issue (PR195)
  • Fix gitignore (PR213)

Fixed - ChurchTools Breaking Change

  • Fix GroupHierarchie test, Fix DB-Fields test (PR192, PR194)
  • Fix breaking changes Event-API (PR196)
  • Issue search for person (PR210)

[2.0.0]

Added

New Requests:

  • Get config request ConfigRequest:getConfig() (PR175)
  • Get SongStatistic SongStatisticRequest::all() (PR140, PR164)
  • Song-Tags ($song->requestTags()) and Group-Tags ($group->requestTags()) (PR168)
  • Get CombinedAppointment consisting of appointment, booking and event (PR174)

New Properties:

  • Add Address-Property on Appointment (PR137)
  • Group-member-fields and DBFields-API (PR147)
  • All date properties get DateTime-Getter ($vaccationAbsence->getEndDateAsDateTime()) (PR167)
  • Appointment property for calculated and base StartDate/EndDate (PR177)
  • Add ImageUrlBanner to GroupInformation data (PR136)
  • Add Image-Property to Appointment (PR174)

Configuration:

  • Add HTTP-Log to log http request data (PR137)
  • Pagination Page-Size Option CTConfig::setPaginationPageSize(400) (PR163)
  • CTSession to handle multiple ct-instances and login-tokens (PR170)

Authentication:

  • Add multi-factor authentication support (PR146)

Changed

Breaking Changes:

  • Refactor Imports to follow PSR-4 (PR165)

  • Reorganize Codebase (PR173)

  • Authenticate CT-API-Client with cookie session instead of sending api-key in every request. (PR142)

  • Authenticate with UserId and LoginToken (PR155, PR156, PR157)

Intern Changes:

  • Add integration-test that interact with a reallife churchtools instance (PR143, PR144, PR149, PR153)
  • Update Dependencies (PR154)
  • Update tested CT-Version in Docs (PR178, PR159)
  • Replace Psalm PHP with PHP-Stan (PR166)
  • Upgrade Monolog to v3 (PR171)
  • Upgrade required PHP version from 8.0 to 8.1 (PR171)

Upgrade Guide - Upgrading from v1 to v2

For version 2 we refactor the complete code base to provide a better overview and split the code in the diffrent churchtools parts (groups, events, calendars, bookings). To migrate your from version 1 to 2 please check out this upgrade guide:

High Impact Changes:

Reorganizce Coadebase and refactor imports (PR173, PR165)

Please update the imports in your code for each Request and Model. You can make use of your IDE's intellisense or refer to the documentation to find the correct namespaces.

Upgrade PHP Version to 8.1 and dump support for 8.0 (PR171)

With security support for PHP 8.0 set to expire on November 26, the focus will shift away from 8.0 in favor of embracing new language features in PHP 8.1. You can find more information about supported PHP versions at https://www.php.net/supported-versions.php.

Update your PHP Version on your system and reinstall the composer dependencies.

Medium Impact Changes:

Changed Authentication of CT-Client (PR142)

The authentication method for the churchtools API has been updated. Previously, the API-token was included in every request. Now, authentication will be based on the provided cookie session, which will significantly improve request speed. To be up to date with the authentication methods please check out the documentation. As a result of this change, the Config API has also been modified:

  • CTConfig::validateApiKey() is replaced with CTConfig::validateAuthentication()
  • CTConfig::authWithLoginToken($userId, $loginToken) now only needs loginToken as parameter, because userId is not required: CTConfig::authWithLoginToken($loginToken).
  • AuthRequest::retrieveApiToken() now needs the userId as parameter.

Low Impact Changes:

Upgrade Monolog to v3 (PR171)

We upgraded monolog to v3 to be compatible with Laravel 10. There is now action required.

Ugrade Guzzle from 7.4 to 7.7 (PR154)

No action required.

Contributors:

Special thanks to the dedicated contributors who are the driving force behind this project, advancing it, enhancing its quality, and introducing new features.

  • @stollr enhanced the person-api and implemented the capability to update data in churchtools and create new persons.
  • @devdot upgraded Monolog to ensure compatibility with Laravel 10.
  • @a-schild provided valuable input for the appointment API, included the configuration request, and introduced the CombinedAppointment request.
  • @BiKi05 provided the inspiration for the song-statistic API and the DateTime cast.
  • @piridium implemented a security fix.
  • @castilma proposed documentation for handling exceptions.

[1.3.6] - 2023-04-05

Added

  • Request Ajax-Api (AjaxApi-Trait)
  • Update Song-Arrangement (PR121)
  • Update Song (PR122)
  • Update GroupMembers (PR124)
  • CCLI-Request Lyrics and Chordsheet (PR127, PR131)
  • Extended exception handling of invalid or empty email addresses passed to the person API (PR125)
  • Group-Meetings Request (PR130)

Changed

  • Sending API key as HTTP header instead of query param in FileRequestBuilder (PR126)
  • Update ChurchTools from 3.90.0 to 3.91.1 (PR129)
  • Improved the formatting of ChurchTool's error response (PR132)
  • Breaking-Change: Wrap Song-Lyrics with Model (PR133)

[1.3.5] - 2022-09-22

Added

Changed

  • Refactor: Move generated Doc-Files to out-Folder (PR89)
  • Refactor: Cache Api-key over multiple Integration-Tests (PR113)
  • Refactor FillWithData: Cast types (PR101)
  • Refactor CTClient: transform inheritance from GuzzleClient to composition-relation (PR83)
  • Refactor: Create Abstract Model to cast id (PR118)

Fixed

  • Fix: Status-Code handling and Exception-handling (PR99)
  • Fix: Use Query-Parameters for Where-Clause (PR106)

[1.3.4] - 2022-06-22

Added

Changed

Fixed

[1.3.3] - 2022-06-03

Added

Changed

Fixed

[1.3.2] - 2022-02-11

Added

Changed

Fixed

[1.3.1] - 2022-02-11

Fixed

[1.3.0] - 2022-02-11

Added

[1.2.0] - 2022-01-12

Added

Changed

Fixed

[1.1.0] - 2021-06-10

Added

Changed

Fixed

  • File: requestFirstLink($url) filters in the attribute fileUrl not in attribute name code

[1.0.0] - 2021-04-20

Added

Changed

Fixed