Skip to content

Commit 90453f3

Browse files
committed
Added features of CircuitBreaker, Retry, Logger, and documentation
1 parent b4342de commit 90453f3

38 files changed

Lines changed: 1533 additions & 442 deletions

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
strategy:
1818
fail-fast: false
1919
matrix:
20-
php-version: [ '8.1', '8.2', '8.3', '8.4']
20+
php-version: [ '8.2', '8.3', '8.4']
2121
steps:
2222
- uses: "actions/checkout@v4"
2323
- uses: "shivammathur/setup-php@v2"
@@ -51,7 +51,7 @@ jobs:
5151
strategy:
5252
fail-fast: false
5353
matrix:
54-
php-version: [ '8.1', '8.2', '8.3', '8.4' ]
54+
php-version: [ '8.2', '8.3', '8.4' ]
5555
steps:
5656
- uses: "actions/checkout@v4"
5757
- uses: "shivammathur/setup-php@v2"

CHANGELOG.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [4.0.0] - 2025-12
8+
### Added
9+
- Full HTTP observability tools: structured logging with token masking, per-status log levels, and custom logger support.
10+
- Reliability features: retry strategies (exponential and fixed), circuit breaker, and a combined reliability plugin.
11+
- Automatic token refresh helpers (with provider auto-creation) and documented token storage guidance.
12+
- New documentation set under `docs/` with getting started, authentication, configuration, reliability, and domain-by-domain usage examples.
13+
14+
### Changed
15+
- Raised minimum supported PHP version to 8.2.
16+
717
## [3.20.0] - 2023-04-27
818
### Added
919
- isReferenceCode() and isGeocode() methods
@@ -56,4 +66,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5666

5767
## [3.11.0] - 2020-05-22
5868
### Added
59-
- http options [from Guzzle](http://docs.guzzlephp.org/en/stable/request-options.html) added to all methods if needed (last argument)
69+
- http options [from Guzzle](http://docs.guzzlephp.org/en/stable/request-options.html) added to all methods if needed (last argument)

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
PHP project (>=8.1) with Symfony.
1+
PHP project (>=8.2) with Symfony.
22

33
This project is a PHP library for using the Geocaching API.
44
- Official API Swagger: https://api.groundspeak.com/api-docs/v1/swagger

README.md

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ You can follow changes about the documentation and the API here:
1515

1616
## Requirements
1717

18-
- PHP >= 8.1
18+
- PHP >= 8.2
1919
- [composer](https://getcomposer.org/doc/00-intro.md#system-requirements).
2020

2121
## Composer
@@ -32,13 +32,9 @@ First, you must have your API key from Groundspeak, but access to the API are no
3232

3333
You can find an example of implementation (with OAuth 2) in this repository: https://github.com/Surfoo/geocaching-api-demo
3434

35-
## Usage Guide
35+
## Documentation
3636

37-
See [`USAGE.md`](./USAGE.md) for detailed usage instructions, including:
38-
39-
- Basic usage examples
40-
- Complete API method reference
41-
- HTTP logging configuration
37+
Start with [`docs/README.md`](./docs/README.md) for getting started, authentication, configuration, reliability patterns, and domain-by-domain API examples.
4238

4339
## HTTP Request/Response Logging
4440

USAGE.md

Lines changed: 0 additions & 287 deletions
This file was deleted.

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
}
2323
},
2424
"require": {
25-
"php": "^8.1",
25+
"php": "^8.2",
2626
"monolog/monolog": "^3.0",
2727
"nyholm/psr7": "^1.8",
2828
"php-http/client-common": "^2.7",

docs/README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Geocaching PHP SDK Documentation
2+
3+
This folder collects the SDK documentation with examples for the Groundspeak Geocaching API. Each page focuses on a specific topic so you can jump straight to what you need.
4+
5+
## Contents
6+
- [Getting Started](./getting-started.md) — install the package, create an SDK client, and make your first request.
7+
- [Authentication & Tokens](./authentication.md) — work with access tokens, wire OAuth, and enable automatic refresh.
8+
- [Configuration & HTTP Clients](./configuration.md) — understand runtime options, environments, and how to plug in custom PSR clients.
9+
- [Reliability & Observability](./reliability.md) — enable structured logging, retries, and circuit breaking for resilient calls.
10+
- [API Usage by Domain](./api-usage.md) — call the main API areas (geocaches, users, adventures, trackables, lists, status) with documented examples.

0 commit comments

Comments
 (0)