Skip to content

Kn main merge #1380

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 184 commits into
base: kn-main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
184 commits
Select commit Hold shift + click to select a range
a4734c7
fix: create JMESPATH flattenIfPossible functions for Lists (#1169)
0marperez Dec 16, 2024
7911a94
chore: release 1.3.30
aws-sdk-kotlin-ci Dec 16, 2024
7085c8a
chore: bump snapshot version to 1.3.31-SNAPSHOT
aws-sdk-kotlin-ci Dec 16, 2024
4575023
misc: enhance support for replayable instances of `InputStream` (#1197)
lauzadis Dec 18, 2024
b0a4bac
chore: release 1.3.31
aws-sdk-kotlin-ci Dec 18, 2024
80f4538
chore: bump snapshot version to 1.3.32-SNAPSHOT
aws-sdk-kotlin-ci Dec 18, 2024
e9d16a9
fix: CBOR protocol test assertions / blob serialization (#1198)
lauzadis Dec 18, 2024
48849a1
fix: correctly serialize subset of shape's members when configured (#…
lauzadis Jan 6, 2025
ded3a4b
chore: release 1.3.32
aws-sdk-kotlin-ci Jan 6, 2025
d97e8ba
chore: bump snapshot version to 1.3.33-SNAPSHOT
aws-sdk-kotlin-ci Jan 6, 2025
78f17f3
chore: add *-main to branch workflows (#1209)
ianbotsf Jan 8, 2025
d06ee0a
chore: add .kotlin/ to .gitignore (#1208)
ianbotsf Jan 8, 2025
d2e7c91
chore: smithy version bump (#1213)
0marperez Jan 10, 2025
5a2df8f
chore: release 1.3.33
aws-sdk-kotlin-ci Jan 10, 2025
003633b
chore: bump snapshot version to 1.3.34-SNAPSHOT
aws-sdk-kotlin-ci Jan 10, 2025
5f5ec8f
feat: add `AuthTokenGenerator` (#1212)
lauzadis Jan 10, 2025
3fe1b5e
chore: release 1.3.34
aws-sdk-kotlin-ci Jan 10, 2025
0bba308
chore: bump snapshot version to 1.3.35-SNAPSHOT
aws-sdk-kotlin-ci Jan 10, 2025
52e4439
misc: merge v1.4 into main (#1218)
0marperez Jan 15, 2025
e0c25d6
feat: support default checksums (#1191)
0marperez Jan 15, 2025
14e0958
chore: release 1.4.0
aws-sdk-kotlin-ci Jan 15, 2025
ed95d7b
chore: bump snapshot version to 1.4.1-SNAPSHOT
aws-sdk-kotlin-ci Jan 15, 2025
a4ace35
fix: add 0.9.x aws-crt-kotlin transform (#1220)
lauzadis Jan 16, 2025
15e5f0c
fix: Ensure `Host` header is included when signing auth tokens (#1222)
lauzadis Jan 16, 2025
447ac10
chore: release 1.4.1
aws-sdk-kotlin-ci Jan 16, 2025
0f8db44
chore: bump snapshot version to 1.4.2-SNAPSHOT
aws-sdk-kotlin-ci Jan 16, 2025
8b33693
fix: address various failing protocol tests (#1223)
lauzadis Jan 23, 2025
03badf9
misc: re-enable `kotlinWarningsAsErrors=true` (#1224)
lauzadis Jan 23, 2025
9f44cdb
fix: ignore hop-by-hop headers when signing requests (#1227)
ianbotsf Jan 28, 2025
97ac447
chore: release 1.4.2
aws-sdk-kotlin-ci Jan 28, 2025
b7e50e3
chore: bump snapshot version to 1.4.3-SNAPSHOT
aws-sdk-kotlin-ci Jan 28, 2025
e6357f9
misc: add telemetry configuration to DefaultAwsSigner (#1226)
xinsong-cui Jan 30, 2025
9d6857b
misc: gradle mirror (#1204)
0marperez Feb 4, 2025
5323882
fix: correctly check equality for CaseInsensitiveMap (#1235)
ianbotsf Feb 6, 2025
1af0e82
misc: gradle version bump (#1236)
0marperez Feb 7, 2025
120768c
fix: correct hash code calculation for case-insensitive map entries (…
ianbotsf Feb 8, 2025
d7e3603
misc: bump build plugin version (#1239)
lauzadis Feb 12, 2025
c1bcb04
fix: favor endpointUrl over endpoint discovery when provided (#1240)
ianbotsf Feb 13, 2025
4223bfa
chore: release 1.4.3
aws-sdk-kotlin-ci Feb 13, 2025
cea7b1f
chore: bump snapshot version to 1.4.4-SNAPSHOT
aws-sdk-kotlin-ci Feb 13, 2025
ad4d2a3
misc: test union member name same as union (#1241)
0marperez Feb 14, 2025
a0be9e4
fix: unions with member names matching auto-imported Kotlin symbols (…
0marperez Feb 14, 2025
00500f2
fix: bump maximum event stream message length to 24MB (#1243)
lauzadis Feb 18, 2025
7329212
chore: release 1.4.4
aws-sdk-kotlin-ci Feb 18, 2025
612c39b
chore: bump snapshot version to 1.4.5-SNAPSHOT
aws-sdk-kotlin-ci Feb 18, 2025
283ca31
misc: Remove Elastic Inference SDK ID test (#1247)
0marperez Feb 24, 2025
82b9ffe
feat: Kotlin implementation of SigV4a signing (#1246)
lauzadis Feb 24, 2025
0df4e42
chore: release 1.4.5
aws-sdk-kotlin-ci Feb 24, 2025
7430722
chore: bump snapshot version to 1.4.6-SNAPSHOT
aws-sdk-kotlin-ci Feb 24, 2025
80d395b
fix: account ID based endpoints (#1245)
0marperez Feb 25, 2025
5dbc684
chore: release 1.4.6
aws-sdk-kotlin-ci Feb 25, 2025
dc6b646
chore: bump snapshot version to 1.4.7-SNAPSHOT
aws-sdk-kotlin-ci Feb 25, 2025
09838a7
fix: replace `Span.makeCurrent()` with `Span.asContextElement()` (#1237)
lauzadis Feb 25, 2025
d06ccf3
chore: release 1.4.7
aws-sdk-kotlin-ci Feb 25, 2025
03a8e62
chore: bump snapshot version to 1.4.8-SNAPSHOT
aws-sdk-kotlin-ci Feb 25, 2025
aae827c
fix: idempotency tokens being code-generated for nested structures (#…
0marperez Feb 27, 2025
c498b42
chore: release 1.4.8
aws-sdk-kotlin-ci Feb 27, 2025
462967b
chore: bump snapshot version to 1.4.9-SNAPSHOT
aws-sdk-kotlin-ci Feb 27, 2025
72155f7
fix: correctly codegen paginators for types which require fully-quali…
ianbotsf Feb 27, 2025
0e4a7cb
chore: bump Ktor dependency (#1250)
ianbotsf Feb 27, 2025
aa02ac4
chore: release 1.4.9
aws-sdk-kotlin-ci Feb 27, 2025
8178808
chore: bump snapshot version to 1.4.10-SNAPSHOT
aws-sdk-kotlin-ci Feb 27, 2025
4b0df67
misc: remove `@InternalApi` from `SdkClientOption` extension function…
lauzadis Mar 3, 2025
6f94c6a
fix: correctly handle sequential calls to `SingleFlightGroup` (#1251)
ianbotsf Mar 3, 2025
667161b
chore: release 1.4.10
aws-sdk-kotlin-ci Mar 6, 2025
f1d5f6b
chore: bump snapshot version to 1.4.11-SNAPSHOT
aws-sdk-kotlin-ci Mar 6, 2025
bf9a200
feat: main to feature branches merge (#1254)
0marperez Mar 12, 2025
6e10c01
feat: emit accountId metrics (#1255)
xinsong-cui Mar 14, 2025
1caac30
chore: release 1.4.11
aws-sdk-kotlin-ci Mar 14, 2025
0a29a00
chore: bump snapshot version to 1.4.12-SNAPSHOT
aws-sdk-kotlin-ci Mar 14, 2025
3e307f7
misc: run merge main on push to main (#1261)
0marperez Apr 1, 2025
f6557ba
feat: sync mirror (#1260)
0marperez Apr 1, 2025
5d8d7fd
chore: reintegrate E2E smoke tests into the top-level Gradle build; m…
ianbotsf Apr 2, 2025
2109a72
misc: include `aws-crt-kotlin` as a composite build (#1263)
lauzadis Apr 3, 2025
b092fd6
chore: release 1.4.12
aws-sdk-kotlin-ci Apr 4, 2025
ce7c62d
chore: bump snapshot version to 1.4.13-SNAPSHOT
aws-sdk-kotlin-ci Apr 4, 2025
fc3837b
misc: prepare codegen packages for internal import (#1266)
lauzadis Apr 9, 2025
a5e1874
chore: release 1.4.13
aws-sdk-kotlin-ci Apr 10, 2025
f6e959c
chore: bump snapshot version to 1.4.14-SNAPSHOT
aws-sdk-kotlin-ci Apr 10, 2025
9621ad1
misc: use aws-kotlin-repo-tools show-results action (#1268)
lauzadis Apr 11, 2025
286474a
chore: upgrade aws-kotlin-repo-tools (#1270)
ianbotsf Apr 14, 2025
44d19cd
misc: add lineSeparator to Filesystem (#1267)
lauzadis Apr 14, 2025
b56b9f2
feat: release readiness check (#1264)
0marperez Apr 16, 2025
57251e1
misc: add 1.x JSON configuration (#1275)
lauzadis Apr 16, 2025
875e133
fix: merge main workflow credentials (#1274)
0marperez Apr 16, 2025
4672748
feat: add service protocol benchmarks (#1271)
xinsong-cui Apr 18, 2025
82a3004
chore: release 1.4.14
aws-sdk-kotlin-ci Apr 18, 2025
a6f248a
chore: bump snapshot version to 1.4.15-SNAPSHOT
aws-sdk-kotlin-ci Apr 18, 2025
73370d7
fix: improve handling of expected socket exceptions when using connec…
ianbotsf Apr 21, 2025
b7c7da1
chore: release 1.4.15
aws-sdk-kotlin-ci Apr 21, 2025
4ba2762
chore: bump snapshot version to 1.4.16-SNAPSHOT
aws-sdk-kotlin-ci Apr 21, 2025
fddb0fa
feat: add `authSchemePreference` configuration (#1277)
lauzadis Apr 28, 2025
1c490f0
chore: release 1.4.16
aws-sdk-kotlin-ci Apr 28, 2025
b6a032c
chore: bump snapshot version to 1.4.17-SNAPSHOT
aws-sdk-kotlin-ci Apr 28, 2025
eea5086
feat: add analytic to smithy kotlin api ref docs (#1278)
xinsong-cui May 6, 2025
378e30e
misc: downgrade "response headers didn't contain a valid checksum" to…
lauzadis May 8, 2025
60f5536
style: properly indent the dependencies in the gradle file (#1280)
sugmanue May 9, 2025
2fe1397
misc: remove erroneous changelog (#1283)
lauzadis May 14, 2025
8ac05ee
misc: deprecate private networks service (#1288)
0marperez May 21, 2025
e099cdd
misc: add release readiness to contributing.md (#1286)
0marperez May 21, 2025
d3089e6
misc: repo tools version bump (#1289)
0marperez May 22, 2025
bcad3b4
fix: add import references when needed (#1281)
sugmanue May 22, 2025
3c0da29
chore: add unit test for protocol selection behavior (#1290)
ianbotsf Jun 3, 2025
747dafb
misc: repo tools version bump (#1291)
0marperez Jun 4, 2025
aa36e75
chore: release 1.4.17
aws-sdk-kotlin-ci Jun 11, 2025
da208cd
chore: bump snapshot version to 1.4.18-SNAPSHOT
aws-sdk-kotlin-ci Jun 11, 2025
af7e5c5
misc: upgrade to Dokka 2.0.0 (#1284)
lauzadis Jun 13, 2025
729f1eb
chore: release 1.4.18
aws-sdk-kotlin-ci Jun 13, 2025
2ea3152
chore: bump snapshot version to 1.4.19-SNAPSHOT
aws-sdk-kotlin-ci Jun 13, 2025
c616efe
fix: preserve Dokka v1 module paths (#1298)
lauzadis Jun 19, 2025
98414ec
chore: release 1.4.19
aws-sdk-kotlin-ci Jun 19, 2025
c6b2074
chore: bump snapshot version to 1.4.20-SNAPSHOT
aws-sdk-kotlin-ci Jun 19, 2025
3f6fcde
misc: simplify configuration of `modulePath` (#1299)
lauzadis Jun 20, 2025
fff09ff
fix: Add `-Xjdk-release=1.8` everywhere we set `jvmTarget` (#1297)
lauzadis Jun 20, 2025
8c990fa
fix: add `explicitReceiver` parameter to `ShapeValueGenerator` (#1301)
lauzadis Jun 20, 2025
aee6ce6
chore: release 1.4.20
aws-sdk-kotlin-ci Jun 20, 2025
6b8e791
chore: bump snapshot version to 1.4.21-SNAPSHOT
aws-sdk-kotlin-ci Jun 20, 2025
31a7c82
misc: validate changelog entries (#1303)
lauzadis Jun 25, 2025
efbbddf
misc: update Gradle wrapper to 8.14.2 (#1304)
lauzadis Jun 26, 2025
44bf693
chore: upgrade to Smithy 1.60.2 (#1307)
ianbotsf Jun 27, 2025
e86d816
chore: release 1.4.21
aws-sdk-kotlin-ci Jun 27, 2025
4390455
chore: bump snapshot version to 1.4.22-SNAPSHOT
aws-sdk-kotlin-ci Jun 27, 2025
e479b3d
chore: bump aws-kotlin-repo-tools version (#1309)
ianbotsf Jul 1, 2025
a2c37d5
chore: release 1.4.22
aws-sdk-kotlin-ci Jul 2, 2025
444ff8a
chore: bump snapshot version to 1.4.23-SNAPSHOT
aws-sdk-kotlin-ci Jul 2, 2025
f6de03d
feat: add support for bedrock api key auth (#1317)
xinsong-cui Jul 15, 2025
1cae2de
chore: release 1.4.23
aws-sdk-kotlin-ci Jul 15, 2025
8e00fc6
chore: bump snapshot version to 1.4.24-SNAPSHOT
aws-sdk-kotlin-ci Jul 15, 2025
287b408
chore: v1.5-main merge (#1328)
ianbotsf Jul 17, 2025
0019542
chore: release 1.5.0
aws-sdk-kotlin-ci Jul 17, 2025
238b479
chore: bump snapshot version to 1.5.1-SNAPSHOT
aws-sdk-kotlin-ci Jul 17, 2025
93649e1
fix: correct the Brazil mapping for aws-crt-kotlin 0.10.* (#1334)
ianbotsf Jul 17, 2025
3dfc9b3
chore: release 1.5.1
aws-sdk-kotlin-ci Jul 17, 2025
b5d177c
chore: bump snapshot version to 1.5.2-SNAPSHOT
aws-sdk-kotlin-ci Jul 17, 2025
9362fa1
misc: add documentation for OkHttp4Engine when using Android with R8 …
lauzadis Jul 23, 2025
c980f10
fix typo: OkHttpEngine4 -> OkHttp4Engine (#1341)
lauzadis Jul 24, 2025
ee5f426
feat: migrate to jreleaser (#1322)
0marperez Jul 24, 2025
5fe9106
chore: release 1.5.2
aws-sdk-kotlin-ci Jul 24, 2025
503817c
chore: bump snapshot version to 1.5.3-SNAPSHOT
aws-sdk-kotlin-ci Jul 24, 2025
252bdad
feat: add support for call timeout and attempt timeout (#1343)
ianbotsf Jul 28, 2025
a35e445
misc: repo tools v0.4.35 (#1344)
0marperez Jul 28, 2025
0e0662b
chore: release 1.5.3
aws-sdk-kotlin-ci Jul 28, 2025
74772d9
chore: bump snapshot version to 1.5.4-SNAPSHOT
aws-sdk-kotlin-ci Jul 28, 2025
57fdb54
fix: skip unnecessary null checks in `equals()` methods for generated…
ianbotsf Jul 30, 2025
673e586
chore: add config for enabling Dependabot version updates (#1347)
ianbotsf Jul 31, 2025
de43b9a
chore: migrate to pull_request_target for some workflows that require…
ianbotsf Aug 4, 2025
5da39c2
chore: skip changelog verification for Dependabot PRs (#1355)
ianbotsf Aug 4, 2025
95958f1
chore(deps): bump dev.zacsweers.kctfork:core from 0.7.0 to 0.8.0 (#1353)
dependabot[bot] Aug 4, 2025
d18bd8b
chore(deps): bump io.micrometer:micrometer-core from 1.14.2 to 1.15.2…
dependabot[bot] Aug 4, 2025
1fdd38b
chore(deps): bump ktor-version from 3.1.1 to 3.2.3 (#1349)
dependabot[bot] Aug 4, 2025
7e72b40
chore(deps): bump org.jetbrains.kotlinx.binary-compatibility-validato…
dependabot[bot] Aug 4, 2025
d66d251
chore(deps): bump kotlinx-benchmark-version from 0.4.12 to 0.4.14 (#1…
dependabot[bot] Aug 4, 2025
718be05
chore(deps): bump smithy-version from 1.60.2 to 1.61.0 (#1360)
dependabot[bot] Aug 5, 2025
81fd139
chore(deps): bump junit-version from 5.13.2 to 5.13.4 (#1359)
dependabot[bot] Aug 5, 2025
d61d2dc
chore: remove manual resolution of transitive Docker dependencies (#1…
ianbotsf Aug 5, 2025
6a8e67d
chore(deps): bump com.squareup.okio:okio from 3.15.0 to 3.16.0 (#1356)
dependabot[bot] Aug 5, 2025
5af711e
chore(deps): bump com.fasterxml.jackson:jackson-bom from 2.15.3 to 2.…
dependabot[bot] Aug 5, 2025
2be96f0
chore(deps): bump org.jsoup:jsoup from 1.19.1 to 1.21.1 (#1365)
dependabot[bot] Aug 6, 2025
45eee55
feat: emit bearer business metric (#1348)
xinsong-cui Aug 7, 2025
ae505ee
Revert "chore(deps): bump com.fasterxml.jackson:jackson-bom from 2.15…
ianbotsf Aug 7, 2025
f35bfe2
chore: release 1.5.4
aws-sdk-kotlin-ci Aug 7, 2025
6663a34
chore: bump snapshot version to 1.5.5-SNAPSHOT
aws-sdk-kotlin-ci Aug 7, 2025
42d5b2e
chore(deps): bump slf4j-version from 1.7.36 to 2.0.17 (#1369)
dependabot[bot] Aug 11, 2025
1285977
chore(deps): bump org.jetbrains.kotlinx:kotlinx-serialization-json fr…
dependabot[bot] Aug 11, 2025
0eae867
chore(deps): bump otel-version from 1.45.0 to 1.52.0 (#1368)
dependabot[bot] Aug 12, 2025
8db1eda
fix: add Jsoup 1.x rule, upgrade to latest version of docker-java (#1…
lauzadis Aug 13, 2025
65188f5
Merge branch 'main' into kn-main-merge
ianbotsf Aug 13, 2025
944d1e7
switch back to `pull_request` from `pull_request_target`
ianbotsf Aug 13, 2025
0785874
restore accidentally-deleted FIXME
ianbotsf Aug 13, 2025
112d0fd
remember to build CRT Docker images before CI
ianbotsf Aug 13, 2025
a4867ee
swap to using `build` target in `all-platforms` tests
ianbotsf Aug 14, 2025
3d49d15
remove redundant `apiCheck` target since that's included in `build`
ianbotsf Aug 14, 2025
3038f86
disable Mac Docker builds; add debugging logs
ianbotsf Aug 14, 2025
d475af1
getting Git statuses for each child dir
ianbotsf Aug 14, 2025
39eccfa
more debugging logs
ianbotsf Aug 14, 2025
918c57d
spleling
ianbotsf Aug 15, 2025
a8654e7
compensate for sparse checkout
ianbotsf Aug 19, 2025
d1ca391
dump directories
ianbotsf Aug 19, 2025
6c08886
use bash to configure docker images
ianbotsf Aug 19, 2025
81299bb
fork docker image creation for Linux and Windows
ianbotsf Aug 19, 2025
86bcee3
disable docker images on Windows, install MSYS2
ianbotsf Aug 19, 2025
c243d2c
dump debug info about native platform enablement
ianbotsf Aug 19, 2025
17ff94f
configure KMP properly; handle duplicate resources
ianbotsf Aug 19, 2025
d25f392
use latest version of repo tools which includes a KMP project config fix
ianbotsf Aug 19, 2025
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
2 changes: 1 addition & 1 deletion .brazil.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"software.amazon.smithy:smithy-waiters:1.*": "Maven-software-amazon-smithy_smithy-waiters-1.x",
"software.amazon.smithy:smithy-rules-engine:1.*": "Maven-software-amazon-smithy_smithy-rules-engine-1.x",
"software.amazon.smithy:smithy-smoke-test-traits:1.*": "Maven-software-amazon-smithy_smithy-smoke-test-traits-1.x",
"org.jsoup:jsoup:1.19.*": "Maven-jsoup-1.19.x"
"org.jsoup:jsoup:1.*": "Maven-jsoup-1.x"
},
"packageHandlingRules": {
"versioning": {
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/artifact-size-metrics.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: Artifact Size Metrics
on:
pull_request_target:
pull_request:
types: [ opened, synchronize, reopened, labeled, unlabeled ]
branches:
- main
Expand Down Expand Up @@ -40,7 +40,6 @@ jobs:
- name: Put Artifact Size Metrics in CloudWatch
run: ./gradlew putArtifactSizeMetricsInCloudWatch -Prelease=${{ github.event.release.tag_name }}
size-check:
if: github.event_name == 'pull_request_target'
runs-on: ubuntu-latest
steps:
- name: Checkout Sources
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/changelog-verification.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ permissions:
id-token: write

on:
pull_request_target:
pull_request:
types: [ opened, synchronize, reopened, labeled, unlabeled ]
branches:
- main
Expand All @@ -22,4 +22,4 @@ jobs:
aws-region: us-west-2

- name: Verify changelog
uses: awslabs/aws-kotlin-repo-tools/.github/actions/changelog-verification@main
uses: awslabs/aws-kotlin-repo-tools/.github/actions/changelog-verification@main
51 changes: 47 additions & 4 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -180,14 +180,58 @@ jobs:
with:
working-directory: 'smithy-kotlin'

- name: Configure Linux CRT Docker Images
shell: bash
if: ${{ matrix.os == 'ubuntu-latest' }}
run: |
./aws-crt-kotlin/docker-images/build-images.sh linux-x64 linux-arm64

- name: Set up MSYS2
if: ${{ matrix.os == 'windows-latest' }}
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
install: >-
mingw-w64-x86_64-cmake
mingw-w64-x86_64-gcc

- name: Sanity checks
shell: bash
run: |
for dir in *; do
pushd "$dir"
echo "===================================="
echo "Status checks for $dir"
echo "===================================="
echo "Git status for $dir:"
git status
echo "Git hash:"
git rev-parse HEAD
echo "File listing:"
ls -alsh
echo "Dry run task list:"
./gradlew build --dry-run || true
echo " "
popd
done

- name: Test
if: ${{ matrix.os != 'windows-latest' }}
working-directory: ./smithy-kotlin
shell: bash
run: |
# FIXME K2. Re-enable warnings as errors after this warning is removed: https://youtrack.jetbrains.com/issue/KT-68532
# echo "kotlinWarningsAsErrors=true" >> $GITHUB_WORKSPACE/local.properties
./gradlew -Paws.kotlin.native=false apiCheck
./gradlew -Paws.kotlin.native=false test jvmTest
./gradlew build

- name: Test on Windows
if: ${{ matrix.os == 'windows-latest' }}
working-directory: ./smithy-kotlin
shell: msys2 {0}
run: |
# FIXME K2. Re-enable warnings as errors after this warning is removed: https://youtrack.jetbrains.com/issue/KT-68532
# echo "kotlinWarningsAsErrors=true" >> $GITHUB_WORKSPACE/local.properties
./gradlew build -Paws.crt.disableContainerTargets=mingw_x64

- name: Save Test Reports
if: failure()
Expand Down Expand Up @@ -243,7 +287,6 @@ jobs:
# smithy-kotlin is checked out as a sibling dir which will automatically make it an included build
path: 'aws-sdk-kotlin'
repository: 'awslabs/aws-sdk-kotlin'

- name: Configure Gradle - smithy-kotlin
uses: awslabs/aws-kotlin-repo-tools/.github/actions/configure-gradle@main
with:
Expand Down Expand Up @@ -277,4 +320,4 @@ jobs:
sed -i "s/smithy-kotlin-codegen-version = .*$/smithy-kotlin-codegen-version = \"$SMITHY_KOTLIN_CODEGEN_VERSION\"/" gradle/libs.versions.toml
./gradlew --parallel -Paws.kotlin.native=false publishToMavenLocal
./gradlew -Paws.kotlin.native=false test jvmTest
./gradlew -Paws.kotlin.native=false testAllProtocols
./gradlew -Paws.kotlin.native=false testAllProtocols
2 changes: 1 addition & 1 deletion .github/workflows/kat-transform.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Kat Transform

on:
pull_request_target:
pull_request:
types: [ opened, synchronize, reopened, labeled, unlabeled ]
branches:
- main
Expand Down
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Changelog

## [1.5.4] - 08/07/2025

## [1.5.3] - 07/28/2025

### Features
Expand Down
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ buildscript {
https://github.com/Kotlin/dokka/issues/3472#issuecomment-1929712374
https://github.com/Kotlin/dokka/issues/3194#issuecomment-1929382630
*/
classpath(enforcedPlatform("com.fasterxml.jackson:jackson-bom:2.19.2"))
classpath(enforcedPlatform("com.fasterxml.jackson:jackson-bom:2.15.3"))
}
}

Expand Down
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ kotlinx.atomicfu.enableNativeIrTransformation=false
org.gradle.jvmargs=-Xmx2G -XX:MaxMetaspaceSize=1G

# SDK
sdkVersion=1.5.4-SNAPSHOT
sdkVersion=1.5.5-SNAPSHOT

# codegen
codegenVersion=0.35.4-SNAPSHOT
codegenVersion=0.35.5-SNAPSHOT

# FIXME Remove after Dokka 2.0 Gradle plugin is stable
org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled
Expand Down
10 changes: 5 additions & 5 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@
kotlin-version = "2.2.0"
dokka-version = "2.0.0"

aws-kotlin-repo-tools-version = "0.4.30-kn"
aws-kotlin-repo-tools-version = "0.4.38"

# libs
coroutines-version = "1.10.2"
atomicfu-version = "0.29.0"
okhttp-version = "5.1.0"
okhttp4-version = "4.12.0"
okio-version = "3.16.0"
otel-version = "1.45.0"
slf4j-version = "2.0.16"
otel-version = "1.52.0"
slf4j-version = "2.0.17"
slf4j-v1x-version = "1.7.36"
crt-kotlin-version = "0.10.0"
micrometer-version = "1.15.2"
Expand All @@ -27,8 +27,8 @@ junit-version = "5.13.4"
kotest-version = "5.9.1"
kotlin-compile-testing-version = "0.8.0"
kotlinx-benchmark-version = "0.4.14"
kotlinx-serialization-version = "1.7.3"
docker-java-version = "3.4.0"
kotlinx-serialization-version = "1.9.0"
docker-java-version = "3.5.3"
ktor-version = "3.2.3"
kaml-version = "0.55.0"
jsoup-version = "1.21.1"
Expand Down
2 changes: 2 additions & 0 deletions runtime/auth/http-auth/api/http-auth.api
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ public abstract interface class aws/smithy/kotlin/runtime/http/auth/CloseableBea
public final class aws/smithy/kotlin/runtime/http/auth/EnvironmentBearerTokenProvider : aws/smithy/kotlin/runtime/http/auth/BearerTokenProvider {
public fun <init> (Ljava/lang/String;Laws/smithy/kotlin/runtime/util/PlatformProvider;)V
public synthetic fun <init> (Ljava/lang/String;Laws/smithy/kotlin/runtime/util/PlatformProvider;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public fun <init> (Ljava/lang/String;Ljava/lang/String;Laws/smithy/kotlin/runtime/util/PlatformProvider;)V
public synthetic fun <init> (Ljava/lang/String;Ljava/lang/String;Laws/smithy/kotlin/runtime/util/PlatformProvider;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public fun resolve (Laws/smithy/kotlin/runtime/collections/Attributes;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,37 @@
*/
package aws.smithy.kotlin.runtime.http.auth

import aws.smithy.kotlin.runtime.businessmetrics.SmithyBusinessMetric
import aws.smithy.kotlin.runtime.businessmetrics.emitBusinessMetric
import aws.smithy.kotlin.runtime.collections.Attributes
import aws.smithy.kotlin.runtime.collections.emptyAttributes
import aws.smithy.kotlin.runtime.collections.mutableAttributes
import aws.smithy.kotlin.runtime.time.Instant
import aws.smithy.kotlin.runtime.util.PlatformProvider

/**
* A [BearerTokenProvider] that extracts the bearer token from the target environment variable.
* A [BearerTokenProvider] that extracts the bearer token from JVM system properties or environment variables.
*/
public class EnvironmentBearerTokenProvider(
private val key: String,
private val sysPropKey: String,
private val envKey: String,
private val platform: PlatformProvider = PlatformProvider.System,
) : BearerTokenProvider {
@Deprecated("This constructor does not support a parameter for a system property key and will be removed in version 1.6.x")
public constructor(
envKey: String,
platform: PlatformProvider = PlatformProvider.System,
) : this("", envKey, platform)

override suspend fun resolve(attributes: Attributes): BearerToken {
val bearerToken = platform.getenv(key)
?: error("$key environment variable is not set")
val bearerToken = sysPropKey.takeUnless(String::isBlank)?.let(platform::getProperty)
?: platform.getenv(envKey)
if (bearerToken.isNullOrBlank()) throw IllegalStateException("""Missing values for system property "$sysPropKey" and environment variable "$envKey"""")

return object : BearerToken {
override val token: String = bearerToken
override val attributes: Attributes = emptyAttributes()
override val attributes: Attributes = mutableAttributes().apply {
emitBusinessMetric(SmithyBusinessMetric.BEARER_SERVICE_ENV_VARS)
}
override val expiration: Instant? = null
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package aws.smithy.kotlin.runtime.http.auth

import aws.smithy.kotlin.runtime.collections.emptyAttributes
import aws.smithy.kotlin.runtime.util.TestPlatformProvider
import kotlinx.coroutines.test.runTest
import kotlin.test.Test
Expand All @@ -9,27 +8,65 @@ import kotlin.test.assertFailsWith

class EnvironmentBearerTokenProviderTest {
@Test
fun testResolveWithValidToken() = runTest {
fun testResolveFromEnvVar() = runTest {
val provider = EnvironmentBearerTokenProvider(
"TEST_TOKEN",
TestPlatformProvider(mutableMapOf("TEST_TOKEN" to "test-bearer-token")),
"TEST_SYS_PROPS_TOKEN",
"TEST_ENV_TOKEN",
TestPlatformProvider(
env = mapOf("TEST_ENV_TOKEN" to "test-env-bearer-token"),
),
)

val token = provider.resolve()

assertEquals("test-bearer-token", token.token)
assertEquals("test-env-bearer-token", token.token)
}

@Test
fun testResolveFromSysProps() = runTest {
val provider = EnvironmentBearerTokenProvider(
"TEST_SYS_PROPS_TOKEN",
"TEST_ENV_TOKEN",
TestPlatformProvider(
props = mapOf("TEST_SYS_PROPS_TOKEN" to "test-sys-props-bearer-token"),
),
)

val token = provider.resolve()

assertEquals("test-sys-props-bearer-token", token.token)
}

@Test
fun testResolutionOrder() = runTest {
val provider = EnvironmentBearerTokenProvider(
"TEST_SYS_PROPS_TOKEN",
"TEST_ENV_TOKEN",
TestPlatformProvider(
props = mapOf("TEST_SYS_PROPS_TOKEN" to "test-sys-props-bearer-token"),
env = mapOf("TEST_ENV_TOKEN" to "test-env-bearer-token"),
),
)

val token = provider.resolve()

assertEquals("test-sys-props-bearer-token", token.token)
}

@Test
fun testResolveWithMissingToken() = runTest {
val provider = EnvironmentBearerTokenProvider(
"MISSING_TEST_TOKEN",
TestPlatformProvider(mutableMapOf()),
"MISSING_TEST_TOKEN",
TestPlatformProvider(
env = mapOf("TEST_TOKEN" to "test-env-bearer-token"),
props = mapOf("TEST_TOKEN" to "test-sys-props-bearer-token"),
),
)

val exception = assertFailsWith<IllegalStateException> {
provider.resolve(emptyAttributes())
provider.resolve()
}
assertEquals("MISSING_TEST_TOKEN environment variable is not set", exception.message)
assertEquals("Missing values for system property \"MISSING_TEST_TOKEN\" and environment variable \"MISSING_TEST_TOKEN\"", exception.message)
}
}
25 changes: 19 additions & 6 deletions runtime/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
*/
import aws.sdk.kotlin.gradle.dsl.configurePublishing
import aws.sdk.kotlin.gradle.kmp.*
import org.gradle.kotlin.dsl.apply
import org.gradle.kotlin.dsl.withType
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.targets.native.tasks.KotlinNativeSimulatorTest

Expand All @@ -17,9 +15,6 @@ plugins {

val sdkVersion: String by project

// Apply KMP configuration from build plugin
configureKmpTargets()

// capture locally - scope issue with custom KMP plugin
val libraries = libs

Expand All @@ -33,6 +28,11 @@ subprojects {
plugin(libraries.plugins.aws.kotlin.repo.tools.kmp.get().pluginId)
}

println("Project $name: hasNative=$hasNative, NATIVE_ENABLED=$NATIVE_ENABLED")

// Apply KMP configuration from build plugin
configureKmpTargets()

configurePublishing("smithy-kotlin", "smithy-lang")
kotlin {
explicitApi()
Expand Down Expand Up @@ -64,7 +64,11 @@ subprojects {
kotlin.sourceSets.all {
// Allow subprojects to use internal APIs
// See https://kotlinlang.org/docs/reference/opt-in-requirements.html#opting-in-to-using-api
listOf("kotlin.RequiresOptIn", "kotlinx.cinterop.ExperimentalForeignApi").forEach { languageSettings.optIn(it) }
languageSettings.optIn("kotlin.RequiresOptIn")

if (!name.contains("metadata", ignoreCase = true)) {
languageSettings.optIn("kotlinx.cinterop.ExperimentalForeignApi")
}
}

tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
Expand Down Expand Up @@ -118,6 +122,15 @@ subprojects {
tasks.withType<KotlinNativeSimulatorTest> {
enabled = false
}

tasks.withType<ProcessResources> {
// FIXME this shouldn't be necessary but without it the following message is observed:
// Execution failed for task ':runtime:auth:aws-signing-tests:metadataCommonMainProcessResources'.
// > Entry aws-signing-test-suite/README.md is a duplicate but no duplicate handling strategy has been set.
// Please refer to https://docs.gradle.org/8.14.2/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:duplicatesStrategy
// for details.
duplicatesStrategy = DuplicatesStrategy.WARN
}
}

// configureIosSimulatorTasks()
Expand Down
1 change: 1 addition & 0 deletions runtime/runtime-core/api/runtime-core.api
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ public final class aws/smithy/kotlin/runtime/businessmetrics/SmithyBusinessMetri
public static final field ACCOUNT_ID_MODE_DISABLED Laws/smithy/kotlin/runtime/businessmetrics/SmithyBusinessMetric;
public static final field ACCOUNT_ID_MODE_PREFERRED Laws/smithy/kotlin/runtime/businessmetrics/SmithyBusinessMetric;
public static final field ACCOUNT_ID_MODE_REQUIRED Laws/smithy/kotlin/runtime/businessmetrics/SmithyBusinessMetric;
public static final field BEARER_SERVICE_ENV_VARS Laws/smithy/kotlin/runtime/businessmetrics/SmithyBusinessMetric;
public static final field FLEXIBLE_CHECKSUMS_REQ_CRC32 Laws/smithy/kotlin/runtime/businessmetrics/SmithyBusinessMetric;
public static final field FLEXIBLE_CHECKSUMS_REQ_CRC32C Laws/smithy/kotlin/runtime/businessmetrics/SmithyBusinessMetric;
public static final field FLEXIBLE_CHECKSUMS_REQ_SHA1 Laws/smithy/kotlin/runtime/businessmetrics/SmithyBusinessMetric;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ public enum class SmithyBusinessMetric(public override val identifier: String) :
FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED("a"),
FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED("b"),
FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED("c"),
BEARER_SERVICE_ENV_VARS("3"),
;

override fun toString(): String = identifier
Expand Down
Loading