Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 10 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
name: CI
on:
push:
branches-ignore:
- 'generated'
- 'codegen/**'
- 'integrated/**'
- 'stl-preview-head/**'
- 'stl-preview-base/**'
branches:
- '**'
- '!integrated/**'
- '!stl-preview-head/**'
- '!stl-preview-base/**'
- '!generated'
- '!codegen/**'
- 'codegen/stl/**'
pull_request:
branches-ignore:
- 'stl-preview-head/**'
Expand All @@ -17,7 +19,7 @@ jobs:
timeout-minutes: 15
name: lint
runs-on: ${{ github.repository == 'stainless-sdks/courier-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')

steps:
- uses: actions/checkout@v6
Expand All @@ -44,7 +46,7 @@ jobs:
contents: read
id-token: write
runs-on: ${{ github.repository == 'stainless-sdks/courier-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')

steps:
- uses: actions/checkout@v6
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
.prism.log
.stdy.log
.gradle
.idea
.kotlin
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "4.10.0"
".": "4.11.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 83
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/courier%2Fcourier-19330fca8fa9bbae835ec9d9f83b37b3df364d9b462090b9623bfc9b6eae99c2.yml
openapi_spec_hash: 0bc6889464c9ac2542b4837f569c1837
config_hash: 1ae49ed522c8423378d9463cdd0fb880
configured_endpoints: 100
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/courier%2Fcourier-b3dde937486812f8db805a423a30ba5d3f80cc95803e13ab66958589366a5f06.yml
openapi_spec_hash: a249df035d7f5bf57c66084cd94e8841
config_hash: c51fa2bafdf96f2c1e409ccc295b7359
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,37 @@
# Changelog

## 4.11.0 (2026-04-01)

Full Changelog: [v4.10.0...v4.11.0](https://github.com/trycourier/courier-java/compare/v4.10.0...v4.11.0)

### Features

* **api:** add create/retrieve/archive/publish/replace methods, event_id param to notifications ([358631e](https://github.com/trycourier/courier-java/commit/358631e09af79a2e56e5b4288876e4e0e2607400))
* **api:** add ElementalHtmlNodeWithType model, rename unionMember7 to htmlNodeWithType ([0dc22ef](https://github.com/trycourier/courier-java/commit/0dc22efec476f5683a8e228fcdf22bfe3965c2b3))
* **api:** add providers CRUD endpoints and catalog ([419447b](https://github.com/trycourier/courier-java/commit/419447b8cc5ca1ea3087316f3a1efdd12520221e))
* **api:** add routing strategies resource ([9f329c9](https://github.com/trycourier/courier-java/commit/9f329c99cfe8439e7bec445491e8899e6dff18e2))
* **api:** add UnionMember7 variant to ElementalNode ([6746b6c](https://github.com/trycourier/courier-java/commit/6746b6c0e0d54c6f7c5329957a7ebdb81dd14915))


### Bug Fixes

* **client:** allow updating header/query affecting fields in `toBuilder()` ([70b3261](https://github.com/trycourier/courier-java/commit/70b3261bbfad022f214911ebc59e9bd0fd012f19))


### Chores

* **ci:** skip lint on metadata-only changes ([a55e12c](https://github.com/trycourier/courier-java/commit/a55e12c7b01fd705297d77e31917f420d1b63239))
* **internal:** bump ktfmt ([fabae89](https://github.com/trycourier/courier-java/commit/fabae89dc835ea37f424d9b7c1abbd29b96f41e2))
* **internal:** tweak CI branches ([9103b5e](https://github.com/trycourier/courier-java/commit/9103b5e9e1ac35ba2864920f1c445018a4ecc738))
* **internal:** update gitignore ([0c97939](https://github.com/trycourier/courier-java/commit/0c9793956c168087be4ab867d9e3a563666fccde))
* **internal:** update retry delay tests ([41453e1](https://github.com/trycourier/courier-java/commit/41453e1486ea0a27a268ffdc6f1220ceab69db8d))


### Documentation

* add AGENTS.md for AI coding assistants ([#96](https://github.com/trycourier/courier-java/issues/96)) ([873304d](https://github.com/trycourier/courier-java/commit/873304dfb2534679904292a2ad49dadc46234050))
* sync README from mintlify-docs (2026-03-23 19:31 UTC) ([#95](https://github.com/trycourier/courier-java/issues/95)) ([8efc854](https://github.com/trycourier/courier-java/commit/8efc8542cbe37b8ba7673d53a37995625e574785))

## 4.10.0 (2026-03-12)

Full Changelog: [v4.9.1...v4.10.0](https://github.com/trycourier/courier-java/compare/v4.9.1...v4.10.0)
Expand Down
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ repositories {

allprojects {
group = "com.courier"
version = "4.10.0" // x-release-please-version
version = "4.11.0" // x-release-please-version
}

subprojects {
Expand Down
2 changes: 1 addition & 1 deletion buildSrc/src/main/kotlin/courier.kotlin.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ tasks.withType<Test>().configureEach {

val ktfmt by configurations.creating
dependencies {
ktfmt("com.facebook:ktfmt:0.56")
ktfmt("com.facebook:ktfmt:0.61")
}

fun registerKtfmt(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ import com.courier.services.blocking.ListService
import com.courier.services.blocking.MessageService
import com.courier.services.blocking.NotificationService
import com.courier.services.blocking.ProfileService
import com.courier.services.blocking.ProviderService
import com.courier.services.blocking.RequestService
import com.courier.services.blocking.RoutingStrategyService
import com.courier.services.blocking.SendService
import com.courier.services.blocking.TenantService
import com.courier.services.blocking.TranslationService
Expand Down Expand Up @@ -62,6 +64,8 @@ interface CourierClient {

fun audiences(): AudienceService

fun providers(): ProviderService

fun auditEvents(): AuditEventService

fun auth(): AuthService
Expand All @@ -84,6 +88,8 @@ interface CourierClient {

fun notifications(): NotificationService

fun routingStrategies(): RoutingStrategyService

fun profiles(): ProfileService

fun tenants(): TenantService
Expand Down Expand Up @@ -119,6 +125,8 @@ interface CourierClient {

fun audiences(): AudienceService.WithRawResponse

fun providers(): ProviderService.WithRawResponse

fun auditEvents(): AuditEventService.WithRawResponse

fun auth(): AuthService.WithRawResponse
Expand All @@ -141,6 +149,8 @@ interface CourierClient {

fun notifications(): NotificationService.WithRawResponse

fun routingStrategies(): RoutingStrategyService.WithRawResponse

fun profiles(): ProfileService.WithRawResponse

fun tenants(): TenantService.WithRawResponse
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ import com.courier.services.async.ListServiceAsync
import com.courier.services.async.MessageServiceAsync
import com.courier.services.async.NotificationServiceAsync
import com.courier.services.async.ProfileServiceAsync
import com.courier.services.async.ProviderServiceAsync
import com.courier.services.async.RequestServiceAsync
import com.courier.services.async.RoutingStrategyServiceAsync
import com.courier.services.async.SendServiceAsync
import com.courier.services.async.TenantServiceAsync
import com.courier.services.async.TranslationServiceAsync
Expand Down Expand Up @@ -62,6 +64,8 @@ interface CourierClientAsync {

fun audiences(): AudienceServiceAsync

fun providers(): ProviderServiceAsync

fun auditEvents(): AuditEventServiceAsync

fun auth(): AuthServiceAsync
Expand All @@ -84,6 +88,8 @@ interface CourierClientAsync {

fun notifications(): NotificationServiceAsync

fun routingStrategies(): RoutingStrategyServiceAsync

fun profiles(): ProfileServiceAsync

fun tenants(): TenantServiceAsync
Expand Down Expand Up @@ -123,6 +129,8 @@ interface CourierClientAsync {

fun audiences(): AudienceServiceAsync.WithRawResponse

fun providers(): ProviderServiceAsync.WithRawResponse

fun auditEvents(): AuditEventServiceAsync.WithRawResponse

fun auth(): AuthServiceAsync.WithRawResponse
Expand All @@ -145,6 +153,8 @@ interface CourierClientAsync {

fun notifications(): NotificationServiceAsync.WithRawResponse

fun routingStrategies(): RoutingStrategyServiceAsync.WithRawResponse

fun profiles(): ProfileServiceAsync.WithRawResponse

fun tenants(): TenantServiceAsync.WithRawResponse
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,12 @@ import com.courier.services.async.NotificationServiceAsync
import com.courier.services.async.NotificationServiceAsyncImpl
import com.courier.services.async.ProfileServiceAsync
import com.courier.services.async.ProfileServiceAsyncImpl
import com.courier.services.async.ProviderServiceAsync
import com.courier.services.async.ProviderServiceAsyncImpl
import com.courier.services.async.RequestServiceAsync
import com.courier.services.async.RequestServiceAsyncImpl
import com.courier.services.async.RoutingStrategyServiceAsync
import com.courier.services.async.RoutingStrategyServiceAsyncImpl
import com.courier.services.async.SendServiceAsync
import com.courier.services.async.SendServiceAsyncImpl
import com.courier.services.async.TenantServiceAsync
Expand Down Expand Up @@ -63,6 +67,10 @@ class CourierClientAsyncImpl(private val clientOptions: ClientOptions) : Courier
AudienceServiceAsyncImpl(clientOptionsWithUserAgent)
}

private val providers: ProviderServiceAsync by lazy {
ProviderServiceAsyncImpl(clientOptionsWithUserAgent)
}

private val auditEvents: AuditEventServiceAsync by lazy {
AuditEventServiceAsyncImpl(clientOptionsWithUserAgent)
}
Expand Down Expand Up @@ -101,6 +109,10 @@ class CourierClientAsyncImpl(private val clientOptions: ClientOptions) : Courier
NotificationServiceAsyncImpl(clientOptionsWithUserAgent)
}

private val routingStrategies: RoutingStrategyServiceAsync by lazy {
RoutingStrategyServiceAsyncImpl(clientOptionsWithUserAgent)
}

private val profiles: ProfileServiceAsync by lazy {
ProfileServiceAsyncImpl(clientOptionsWithUserAgent)
}
Expand All @@ -126,6 +138,8 @@ class CourierClientAsyncImpl(private val clientOptions: ClientOptions) : Courier

override fun audiences(): AudienceServiceAsync = audiences

override fun providers(): ProviderServiceAsync = providers

override fun auditEvents(): AuditEventServiceAsync = auditEvents

override fun auth(): AuthServiceAsync = auth
Expand All @@ -148,6 +162,8 @@ class CourierClientAsyncImpl(private val clientOptions: ClientOptions) : Courier

override fun notifications(): NotificationServiceAsync = notifications

override fun routingStrategies(): RoutingStrategyServiceAsync = routingStrategies

override fun profiles(): ProfileServiceAsync = profiles

override fun tenants(): TenantServiceAsync = tenants
Expand All @@ -169,6 +185,10 @@ class CourierClientAsyncImpl(private val clientOptions: ClientOptions) : Courier
AudienceServiceAsyncImpl.WithRawResponseImpl(clientOptions)
}

private val providers: ProviderServiceAsync.WithRawResponse by lazy {
ProviderServiceAsyncImpl.WithRawResponseImpl(clientOptions)
}

private val auditEvents: AuditEventServiceAsync.WithRawResponse by lazy {
AuditEventServiceAsyncImpl.WithRawResponseImpl(clientOptions)
}
Expand Down Expand Up @@ -213,6 +233,10 @@ class CourierClientAsyncImpl(private val clientOptions: ClientOptions) : Courier
NotificationServiceAsyncImpl.WithRawResponseImpl(clientOptions)
}

private val routingStrategies: RoutingStrategyServiceAsync.WithRawResponse by lazy {
RoutingStrategyServiceAsyncImpl.WithRawResponseImpl(clientOptions)
}

private val profiles: ProfileServiceAsync.WithRawResponse by lazy {
ProfileServiceAsyncImpl.WithRawResponseImpl(clientOptions)
}
Expand Down Expand Up @@ -240,6 +264,8 @@ class CourierClientAsyncImpl(private val clientOptions: ClientOptions) : Courier

override fun audiences(): AudienceServiceAsync.WithRawResponse = audiences

override fun providers(): ProviderServiceAsync.WithRawResponse = providers

override fun auditEvents(): AuditEventServiceAsync.WithRawResponse = auditEvents

override fun auth(): AuthServiceAsync.WithRawResponse = auth
Expand All @@ -262,6 +288,9 @@ class CourierClientAsyncImpl(private val clientOptions: ClientOptions) : Courier

override fun notifications(): NotificationServiceAsync.WithRawResponse = notifications

override fun routingStrategies(): RoutingStrategyServiceAsync.WithRawResponse =
routingStrategies

override fun profiles(): ProfileServiceAsync.WithRawResponse = profiles

override fun tenants(): TenantServiceAsync.WithRawResponse = tenants
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,12 @@ import com.courier.services.blocking.NotificationService
import com.courier.services.blocking.NotificationServiceImpl
import com.courier.services.blocking.ProfileService
import com.courier.services.blocking.ProfileServiceImpl
import com.courier.services.blocking.ProviderService
import com.courier.services.blocking.ProviderServiceImpl
import com.courier.services.blocking.RequestService
import com.courier.services.blocking.RequestServiceImpl
import com.courier.services.blocking.RoutingStrategyService
import com.courier.services.blocking.RoutingStrategyServiceImpl
import com.courier.services.blocking.SendService
import com.courier.services.blocking.SendServiceImpl
import com.courier.services.blocking.TenantService
Expand Down Expand Up @@ -63,6 +67,10 @@ class CourierClientImpl(private val clientOptions: ClientOptions) : CourierClien
AudienceServiceImpl(clientOptionsWithUserAgent)
}

private val providers: ProviderService by lazy {
ProviderServiceImpl(clientOptionsWithUserAgent)
}

private val auditEvents: AuditEventService by lazy {
AuditEventServiceImpl(clientOptionsWithUserAgent)
}
Expand Down Expand Up @@ -91,6 +99,10 @@ class CourierClientImpl(private val clientOptions: ClientOptions) : CourierClien
NotificationServiceImpl(clientOptionsWithUserAgent)
}

private val routingStrategies: RoutingStrategyService by lazy {
RoutingStrategyServiceImpl(clientOptionsWithUserAgent)
}

private val profiles: ProfileService by lazy { ProfileServiceImpl(clientOptionsWithUserAgent) }

private val tenants: TenantService by lazy { TenantServiceImpl(clientOptionsWithUserAgent) }
Expand All @@ -112,6 +124,8 @@ class CourierClientImpl(private val clientOptions: ClientOptions) : CourierClien

override fun audiences(): AudienceService = audiences

override fun providers(): ProviderService = providers

override fun auditEvents(): AuditEventService = auditEvents

override fun auth(): AuthService = auth
Expand All @@ -134,6 +148,8 @@ class CourierClientImpl(private val clientOptions: ClientOptions) : CourierClien

override fun notifications(): NotificationService = notifications

override fun routingStrategies(): RoutingStrategyService = routingStrategies

override fun profiles(): ProfileService = profiles

override fun tenants(): TenantService = tenants
Expand All @@ -155,6 +171,10 @@ class CourierClientImpl(private val clientOptions: ClientOptions) : CourierClien
AudienceServiceImpl.WithRawResponseImpl(clientOptions)
}

private val providers: ProviderService.WithRawResponse by lazy {
ProviderServiceImpl.WithRawResponseImpl(clientOptions)
}

private val auditEvents: AuditEventService.WithRawResponse by lazy {
AuditEventServiceImpl.WithRawResponseImpl(clientOptions)
}
Expand Down Expand Up @@ -199,6 +219,10 @@ class CourierClientImpl(private val clientOptions: ClientOptions) : CourierClien
NotificationServiceImpl.WithRawResponseImpl(clientOptions)
}

private val routingStrategies: RoutingStrategyService.WithRawResponse by lazy {
RoutingStrategyServiceImpl.WithRawResponseImpl(clientOptions)
}

private val profiles: ProfileService.WithRawResponse by lazy {
ProfileServiceImpl.WithRawResponseImpl(clientOptions)
}
Expand Down Expand Up @@ -226,6 +250,8 @@ class CourierClientImpl(private val clientOptions: ClientOptions) : CourierClien

override fun audiences(): AudienceService.WithRawResponse = audiences

override fun providers(): ProviderService.WithRawResponse = providers

override fun auditEvents(): AuditEventService.WithRawResponse = auditEvents

override fun auth(): AuthService.WithRawResponse = auth
Expand All @@ -248,6 +274,8 @@ class CourierClientImpl(private val clientOptions: ClientOptions) : CourierClien

override fun notifications(): NotificationService.WithRawResponse = notifications

override fun routingStrategies(): RoutingStrategyService.WithRawResponse = routingStrategies

override fun profiles(): ProfileService.WithRawResponse = profiles

override fun tenants(): TenantService.WithRawResponse = tenants
Expand Down
Loading
Loading