Skip to content

Commit

Permalink
Release 8.0.0-BETA3 (#555)
Browse files Browse the repository at this point in the history
* Release 8.0.0-BETA3

* misc: Remove whitespace in PR template
  • Loading branch information
evansims authored Sep 3, 2021
1 parent eb759f8 commit c0168fe
Show file tree
Hide file tree
Showing 5 changed files with 59 additions and 4 deletions.
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/Bug Report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ body:
label: SDK Version
description: What version of our SDK are you running? (`composer show | grep auth0/auth0-php`)
options:
- 8.0.0-BETA3
- 8.0.0-BETA2
- 8.0.0-BETA1
- 7.9.1
Expand Down
1 change: 0 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,4 @@ Resolves #
### Contributor Checklist

- [ ] I have read the [Auth0 general contribution guidelines](https://github.com/auth0/open-source-template/blob/master/GENERAL-CONTRIBUTING.md)

- [ ] I have read the [Auth0 Code of Conduct](https://github.com/auth0/open-source-template/blob/master/CODE-OF-CONDUCT.md)
45 changes: 45 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,50 @@
# CHANGELOG

## [8.0.0-BETA3](https://github.com/auth0/auth0-PHP/tree/8.0.0-BETA3) (2021-09-03)

[Full Changelog](https://github.com/auth0/auth0-PHP/compare/7.9.0...8.0.0-BETA3)

**BEFORE YOU UPGRADE**

- This is a major release that includes breaking changes. Please see [UPGRADE.md](UPGRADE.md) before upgrading. This release will require changes to your application.
- The SDK no longer specifically relies on Guzzle for network requests. Options for supplying your libraries of choice have been added through [PSR-18](https://www.php-fig.org/psr/psr-18/) and [PSR-17](https://www.php-fig.org/psr/psr-17/) configuration options.
- PHP 7.4 is now the minimum supported PHP version, but we encourage using PHP 8.0. PHP 7.4 will be the last supported 7.x release. This library follows [the official support schedule for PHP](https://www.php.net/supported-versions.php).

**Changes Since BETA2**

- Cookie namespace prefixes are now configurable from `SdkConfiguration` interface. [#534](https://github.com/auth0/auth0-PHP/pull/534) ([Nyholm](https://github.com/Nyholm))
- Improvements to and standardization of variable filtering rules. [#535](https://github.com/auth0/auth0-PHP/pull/535) ([evansims](https://github.com/evansims))
- Fixed Management API calls incorrectly converted child arrays into objects. [#541](https://github.com/auth0/auth0-PHP/pull/541) ([evansims](https://github.com/evansims))
- Fixed explicit `SdkConfiguration` object reference passing on arguments. [#548](https://github.com/auth0/auth0-PHP/pull/548) ([Nyholm](https://github.com/Nyholm))
- Performance improvements to session/cookie transient storage. [#542](https://github.com/auth0/auth0-PHP/pull/542) ([evansims](https://github.com/evansims))
- Add new `MemoryStore` storage medium for tests. [#544](https://github.com/auth0/auth0-PHP/pull/544) ([Nyholm](https://github.com/Nyholm))
- Add new `Psr6Store` storage medium. [#549](https://github.com/auth0/auth0-PHP/pull/549) ([Nyholm](https://github.com/Nyholm))
- Delay restoring session state (no longer occurs during constructor initialization; now just-in-time.) [#550](https://github.com/auth0/auth0-PHP/pull/550) ([evansims](https://github.com/evansims))
- Improve support for custom domains with new `customDomain` option in `SdkConfiguration` [#554](https://github.com/auth0/auth0-PHP/pull/554) ([evansims](https://github.com/evansims))
- Support for Actions API endpoints in Management SDK [#551](https://github.com/auth0/auth0-PHP/pull/551) ([evansims](https://github.com/evansims))
- Expand test coverage to 100% and transition to PEST test framework [#552](https://github.com/auth0/auth0-PHP/pull/552) ([evansims](https://github.com/evansims))

**8.0 Highlights**

- Updated SDK API for more intuitive use and improved usability. Now follows fluent interface principles.
- Updated SDK API designed with PHP 8.0's named arguments as the encouraged interface method.
- New configuration object, SdkConfiguration, allows for dynamic changes within your application.
- Updated PHP language support, including typed properties and return types, are now used throughout the SDK.
- Added support for the following PHP-FIG standards interfaces:
- [PSR-6](https://www.php-fig.org/psr/psr-6/) caches are now used for caching JWKs and Management API tokens.
- [PSR-7](https://www.php-fig.org/psr/psr-7/) HTTP messages are now returned by methods that initiate network requests.
- [PSR-14](https://www.php-fig.org/psr/psr-14/) events are now raised, allowing for deeper integration into the SDK's behavior.
- [PSR-17](https://www.php-fig.org/psr/psr-17/) HTTP factories are now used during network requests for generating PSR-7 messages.
- [PSR-18](https://www.php-fig.org/psr/psr-18/) HTTP clients are now supported, allowing you to choose your network client.
- Improved Token handling system.
- Encrypted session cookies, with cookies being the default session handler. PHP sessions may be phased out in a future release.
- New Management API auto-pagination helper for iterating through API results.
- [PKCE](https://auth0.com/docs/flows/call-your-api-using-the-authorization-code-flow-with-pkce) is now enabled by default.

For a complete overview of API changes, please see [UPGRADE.md](UPGRADE.md).

For guidance on using the new configuration interface or SDK API, please see [README.md](README.md).

## [8.0.0-BETA2](https://github.com/auth0/auth0-PHP/tree/8.0.0-BETA2) (2021-08-06)

[Full Changelog](https://github.com/auth0/auth0-PHP/compare/7.9.0...8.0.0-BETA2)
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ To get started, you'll need to create a [free Auth0 account](https://auth0.com/s
The supported method of SDK installation is through [Composer](https://getcomposer.org/). From your terminal shell, `cd` into your project directory and issue the following command:

```bash
$ composer require auth0/auth0-php:8.0.0-BETA2
$ composer require auth0/auth0-php:8.0.0-BETA3
```

You can find guidance on installing Composer [here](https://getcomposer.org/doc/00-intro.md).
Expand Down Expand Up @@ -166,7 +166,8 @@ The following options are available for your configuration:
| Option Name | Allowed Types | Required | Default | Description |
| ----------------------- | ---------------------------------- | ---------------------- | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `strategy` | `string` | | `webapp` | The type of application you are integrating the SDK for: `api` (for API-only uses, like authorizing endpoints), `management` (for uses where only the Management API endpoints will be used), or `webapp` (general use of all features) are allowed. The `strategy` determines what types of configuration options will be required at initialization. See the `required` column of this table to decide what configuration options you should be passing at initialization for your use case. |
| `domain` | `string`,`null` | `api`, `webapp` | `null` | Domain, found in your Auth0 Application settings. |
| `domain` | `string`,`null` | `api`, `webapp` | `null` | Your Auth0 tenant domain, found in your Auth0 Application settings. |
| `customDomain` | `string`,`null` | | `null` | If you have configured Auth0 to use a custom domain, you should also configure it here. |
| `clientId` | `string`,`null` | `management`, `webapp` | `null` | Client ID, found in the Auth0 Application settings. |
| `clientSecret` | `string`,`null` | `webapp` | `null` | Client Secret, found in the Auth0 Application settings. |
| `audience` | `array<string>`,`null` | `api` | `null` | One or more API identifiers, found in your Auth0 API settings. The SDK uses the first value for building links. If provided, at least one of these values must match the 'aud' claim to validate an ID Token successfully. When no audiene is specified, the `clientId` will be used to verify `aud` claims. |
Expand Down
11 changes: 10 additions & 1 deletion UPGRADE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Our version 8 release includes many significant improvements:

- Adoption of [modern PHP language features](https://stitcher.io/blog/new-in-php-74) including typed properties, null coalescing assignment operators, and array spreading.
- Support for custom [PSR-18](https://www.php-fig.org/psr/psr-18/) and [PSR-17](https://www.php-fig.org/psr/psr-17/) factories for customizing network requests. [PSR-7](https://www.php-fig.org/psr/psr-7/) responses are also now returned throughout the SDK.
- The codebase has been streamlined, offering a cleaner API and improved performance.
- [PSR-4](https://www.php-fig.org/psr/psr-4/) event hooks are now supported throughout the SDK.
- [Fluent interface](https://en.wikipedia.org/wiki/Fluent_interface#PHP) throughout the SDK, offering simplified usage.
- Optional auto-pagination of Management API endpoints that support pagination.
- [PKCE](https://auth0.com/docs/flows/call-your-api-using-the-authorization-code-flow-with-pkce) is now enabled by default.
Expand All @@ -20,6 +20,10 @@ As is to be expected with a major release, there are breaking changes in this up
- 7.4 will be the final release in PHP's 7.x branch. This SDK will only support PHP 8.0+ after 7.4 leaves [supported status](https://www.php.net/supported-versions.php) in November 2022.
- We strongly encourage you to make use of PHP 8.0's new [named arguments language feature](https://stitcher.io/blog/php-8-named-arguments). Once 7.4 support ends, we will no longer consider method argument order changes to be a breaking change.

### Session Storage Chan ges Require User Reauthentication

The new default session storage medium in 8.0 are encrypted cookies. Upgrading to 8.0 from 7.x will require your application's users to re-authenticate.

### Class and Method Changes

### Potentially Breaking Changes
Expand Down Expand Up @@ -132,6 +136,11 @@ These classes were updated in SDK 8.0:
- Public method 'getHttpClient()' added.
- Public method `getResponsePaginator()` added.

- Class `Auth0\SDK\API\Management\Tenants` updated:

- Public method `get` renamed to `getSettings`.
- Public method `update` renamed to `updateSettings`.

- Class `Auth0\SDK\API\Management\GenericResource` renamed to `Auth0\SDK\API\Management\ManagementEndpoint`, and:

- Constructor updated to require an `HttpClient` instance; previously expected an `ApiClient` instance.
Expand Down

0 comments on commit c0168fe

Please sign in to comment.