# Changelog

All notable changes to `ohdear-php-sdk` will be documented in this file

## 4.6.0 - 2026-03-26

### What's Changed

* Chore | Upgrade to Saloon v4 by @Sammyjo20 in https://github.com/ohdearapp/ohdear-php-sdk/pull/70

### New Contributors

* @Sammyjo20 made their first contribution in https://github.com/ohdearapp/ohdear-php-sdk/pull/70

**Full Changelog**: https://github.com/ohdearapp/ohdear-php-sdk/compare/4.4.3...4.6.0

## Add warning state support - 2026-02-28

### What changed

- Added `CheckResult` backed string enum (`pending`, `succeeded`, `warning`, `failed`, `errored-or-timed-out`) with helper methods (`isUp()`, `isDown()`, `isPending()`, `isWarning()`)
- Added `checkResult()` method to `Check`, `Monitor`, and `CheckSummary` DTOs that returns the typed enum

## Add missing API endpoints - 2026-02-17

### What changed

#### New endpoints

- AI responses (get, list, latest)
- DNS blocklist history items (get, list)
- Ports history items (get, list)
- Domain info
- Notification destinations (team, tag, tag group — full CRUD)
- Recurring maintenance periods (full CRUD)
- Status page update templates (full CRUD)
- Tags (create, list)
- Tag groups (full CRUD)
- Additional status page endpoints (create, add/delete monitors, get updates, update updates)
- Additional monitor endpoints (get by URL, add to broken links whitelist, delete/update notification destinations, check summary)
- Application health check snooze/unsnooze
- Cron check definitions sync

#### New DTOs

- `AiResponse`, `DnsBlocklistHistoryItem`, `DomainInfo`, `PortsHistoryItem`, `RecurringMaintenancePeriod`, `StatusPageUpdateTemplate`, `Tag`, `TagGroup`

#### New properties on existing DTOs

- `Check`: added `averageResponseTimeInMs`
- `Monitor`: added `type`, `portsCheckSettings`, `dnsBlocklistCheckSettings`, `aiCheckSettings`
- `StatusPage`: added `preventIndexing`, `addHstsHeader`
- `CheckType` enum: added `DnsBlocklist`, `Ports`, `Ai`

#### Improved null-safety

- Several DTO `fromResponse` methods now use `?? null` / `?? []` defaults for fields that the API may omit, preventing errors on partial responses (`ApplicationHealthCheck`, `ApplicationHealthCheckHistoryItem`, `BrokenLink`, `DetectedCertificate`, `DnsHistoryItem`, `DowntimePeriod`, `LighthouseReport`, `StatusPage`)

#### Housekeeping

- Removed dev-only test scripts and `vlucas/phpdotenv` dev dependency
- Added `laravel/pint` as dev dependency for CI formatting
- Dropped PHP 8.1 from CI matrix
- Updated README with documentation for all new endpoints
- Removed docblock comments from `CertificateHealth` helper methods (no functional change)
- Minor refactor of `OhDearException` constructor and `ValidationException::getAllErrorMessages()`

## 4.4.1 - 2025-12-16

Bugfix: handle null status codes in BrokenLink DTO and update tests

## 4.4.0 - 2025-08-29

### What's Changed

* Monitors: Create Notification Destination by @evan-burrell in https://github.com/ohdearapp/ohdear-php-sdk/pull/63

**Full Changelog**: https://github.com/ohdearapp/ohdear-php-sdk/compare/4.3.0...4.4.0

## 4.3.0 - 2025-08-28

### What's Changed

* Add Notification Destinations to Monitors Endpoints by @evan-burrell in https://github.com/ohdearapp/ohdear-php-sdk/pull/62

### New Contributors

* @evan-burrell made their first contribution in https://github.com/ohdearapp/ohdear-php-sdk/pull/62

**Full Changelog**: https://github.com/ohdearapp/ohdear-php-sdk/compare/4.2.2...4.3.0

## 4.2.2 - 2025-08-27

### What's Changed

* fix: resolve uptime percentage as float by @owenvoke in https://github.com/ohdearapp/ohdear-php-sdk/pull/61

**Full Changelog**: https://github.com/ohdearapp/ohdear-php-sdk/compare/4.2.1...4.2.2

## 4.2.1 - 2025-08-27

### What's Changed

* fix: add missing `split` param by @owenvoke in https://github.com/ohdearapp/ohdear-php-sdk/pull/59

**Full Changelog**: https://github.com/ohdearapp/ohdear-php-sdk/compare/4.2.0...4.2.1

## 4.2.0 - 2025-08-26

### What's Changed

* feat: add `int` type hint for param by @owenvoke in https://github.com/ohdearapp/ohdear-php-sdk/pull/58
* feat: add support for Uptime API by @owenvoke in https://github.com/ohdearapp/ohdear-php-sdk/pull/56

**Full Changelog**: https://github.com/ohdearapp/ohdear-php-sdk/compare/4.1.0...4.2.0

## 4.1.0 - 2025-08-26

### What's Changed

* feat: add support for Status Page Updates API by @owenvoke in https://github.com/ohdearapp/ohdear-php-sdk/pull/57

**Full Changelog**: https://github.com/ohdearapp/ohdear-php-sdk/compare/4.0.0...4.1.0

## 4.0.0 - 2025-08-26

### What's Changed

* v4 - uses monitors endpoint - now built on Saloon by @freekmurze in https://github.com/ohdearapp/ohdear-php-sdk/pull/55

**Full Changelog**: https://github.com/ohdearapp/ohdear-php-sdk/compare/3.10.3...4.0.0

## 3.10.3 - 2024-12-18

Support added for updating a site and using the Sitemap resources via the SDK

## 3.10.2 - 2024-04-08

### What's Changed

* supress dynamic property deprecation warnings by @tobimori in https://github.com/ohdearapp/ohdear-php-sdk/pull/48

### New Contributors

* @tobimori made their first contribution in https://github.com/ohdearapp/ohdear-php-sdk/pull/48

**Full Changelog**: https://github.com/ohdearapp/ohdear-php-sdk/compare/3.10.1...3.10.2

## 3.10.1 - 2024-02-03

### What's Changed

* Drop Carbon dependency, replace with `DateTimeImmutable` by @vicdelfant in https://github.com/ohdearapp/ohdear-php-sdk/pull/47

### New Contributors

* @vicdelfant made their first contribution in https://github.com/ohdearapp/ohdear-php-sdk/pull/47

**Full Changelog**: https://github.com/ohdearapp/ohdear-php-sdk/compare/3.10.0...3.10.1

## 3.10.0 - 2023-12-05

- add extra attributes to the broken links resource

**Full Changelog**: https://github.com/ohdearapp/ohdear-php-sdk/compare/3.9.0...3.10.0

## 3.9.0 - 2023-12-05

- add support for new cron fields

**Full Changelog**: https://github.com/ohdearapp/ohdear-php-sdk/compare/3.8.0...3.9.0

## 3.8.0 - 2023-12-03

- add support for check summary

## 3.7.0 - 2023-09-25

### What's Changed

- feat: add support for Notifications by @owenvoke in https://github.com/ohdearapp/ohdear-php-sdk/pull/44
- chore(deps-dev): replace PHP-CS-Fixer locally with Pint by @owenvoke in https://github.com/ohdearapp/ohdear-php-sdk/pull/45

**Full Changelog**: https://github.com/ohdearapp/ohdear-php-sdk/compare/3.6.3...3.7.0

## 3.6.3 - 2023-09-04

### What's Changed

- chore(deps): update to use Pest 2.x by @owenvoke in https://github.com/ohdearapp/ohdear-php-sdk/pull/41

**Full Changelog**: https://github.com/ohdearapp/ohdear-php-sdk/compare/3.6.2...3.6.3

## 3.6.2 - 2023-06-10

- fixed #19 and #38

## 3.6.1 - 2023-06-06

### What's Changed

- feat: add property for broken link text by @owenvoke in https://github.com/ohdearapp/ohdear-php-sdk/pull/37

**Full Changelog**: https://github.com/ohdearapp/ohdear-php-sdk/compare/3.6.0...3.6.1

## 3.6.0 - 2023-04-06

### What's Changed

- feat: add support for Domain Monitoring by @owenvoke in https://github.com/ohdearapp/ohdear-php-sdk/pull/36

**Full Changelog**: https://github.com/ohdearapp/ohdear-php-sdk/compare/3.5.0...3.6.0

## 3.5.0 - 2023-01-30

### What's Changed

- ci: test against PHP 8.1 and 8.2 by @owenvoke in https://github.com/ohdearapp/ohdear-php-sdk/pull/32
- feat: drop support for PHP 8.0 and below by @owenvoke in https://github.com/ohdearapp/ohdear-php-sdk/pull/33
- feat: update to use Pest by @owenvoke in https://github.com/ohdearapp/ohdear-php-sdk/pull/34
- ci: update to use Pint for styling by @owenvoke in https://github.com/ohdearapp/ohdear-php-sdk/pull/35
- feat: add support for Lighthouse Reports by @owenvoke in https://github.com/ohdearapp/ohdear-php-sdk/pull/31

**Full Changelog**: https://github.com/ohdearapp/ohdear-php-sdk/compare/3.4.4...3.5.0

## 3.4.4 - 2022-06-21

- add `summary` to `Check`

## 3.4.2 - 2022-03-17

- update to enforce certificate verification (#27)
- fix Composer install for tests (#28)

## 3.4.1 - 2022-03-01

- allow `StatusPageUpdate::$text` to be nullable (#25)

## 3.4.0 - 2022-02-23

- add endpoints and resources for app health checks (#24)

## 3.3.0 - 2021-11-05

- add support for upcoming Dns endpoints

## 3.2.1 - 2021-08-12

- replace `timeFrame` with `groupBy` when retrieving performance records

## 3.2.0 - 2021-08-11

- use new performance record format

## 3.1.3 - 2021-05-15

- add sorting parameter to performance records method (#21)

## 3.1.2 - 2021-03-02

- make description optional in cron checks

## 3.1.1 - 2021-03-02

- make description optional in cron checks

## 3.1.0 - 2021-02-09

- add status page updates API (#19)

## 3.0.4 - 2021-01-09

- more fixes around performance records

## 3.0.3 - 2021-01-09

- fix transforming `PerformanceRecord` objects (#17)

## 3.0.2 - 2020-11-30

- add support for PHP 8

## 3.0.1 - 2020-08-21

- add support for Guzzle 7

## 3.0.0 - 2020-07-09

- add support for cron sync
- drop support for PHP 7.3 and below

## 2.0.0 - 2020-06-10

This release introduces 2 breaking changes in the way the dates are passed for these functions:

- `performanceRecords`
- `createSiteMaintenance`

## 1.7.0 - 2019-01-07

- add start and stop maintenance endpoints

## 1.6.0 - 2019-09-12

- add status pages

## 1.5.1 - 2018-09-20

- make api resources cacheable

## 1.5.0 - 2018-09-18

- add `label` to check

## 1.4.2 - 2018-09-18

- fix certificate health endpoint

## 1.4.1 - 2018-09-13

- fix trait name

## 1.4.0 - 2018-09-12

**THIS VERSION CONTAINS A BREAKING BUG, DO NOT USE**

- add `certificate-health` endpoint

## 1.3.1 - 2018-09-10

- fix hostname

## 1.3.0 - 2018-09-10

- add uptime and downtime methods

## 1.2.0 - 2018-09-01

- add `siteByUrl`

## 1.1.1 - 2018-08-29

- rename `apiKey` to `apiToken`

## 1.1.0 - 2018-08-29

- add methods to retrieve mixed content and broken links

## 1.0.1 - 2018-05-08

- fix bug where a successful response would not be recognized as such

## 1.0.0 - 2018-01-18

- initial release
