diff --git a/CHANGELOG.md b/CHANGELOG.md index abb287d22..83410ebb7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,22 @@ All notable changes to this project will be documented in this file. +## [0.29.0] - 2026-09-11 + +### Added +- feat(schema): add ap-south-2 (HYD) and us-west-1 (SFO) to region allowlist (#2132) (543a6da3) +- feat(capacity-provider): complete CLI DevEx for journeys 2-4 (attach, volumes, TUI wizard, J4 delete-session) (#2133) (cbce8621) +- feat(capacity-provider): restore Journey 1 (#2114) (df5a4061) + +### Fixed +- fix(security): harden Windows subprocess argument handling (#2252) (d7c0add1) + +### Other Changes +- Bump aws-opentelemetry-distro to ~= 0.18.0 in Python templates (#2287) (86f9ae0b) +- Move PR-review Slack notifications to CodeBuild runner (#2261) (5b7a0405) +- Bump agentcore-devx-devtools reusable workflow pin (#2260) (f0c0ceaf) +- ci(release): placeholder release-prepare workflow so refactor's can be dispatched (#2226) (31e98b7a) + ## [0.28.1] - 2026-08-27 ### Added diff --git a/package.json b/package.json index 293622248..4be8f4155 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@aws/agentcore", - "version": "0.28.1", + "version": "0.29.0", "description": "CLI for Amazon Bedrock AgentCore", "license": "Apache-2.0", "repository": { diff --git a/preview-version.json b/preview-version.json index e9195fcd7..2826b2ca8 100644 --- a/preview-version.json +++ b/preview-version.json @@ -1,3 +1,3 @@ { - "version": "1.0.0-preview.29" + "version": "1.0.0-preview.30" } diff --git a/schemas/agentcore.schema.v1.json b/schemas/agentcore.schema.v1.json index e0b7c9ed2..860e07f44 100644 --- a/schemas/agentcore.schema.v1.json +++ b/schemas/agentcore.schema.v1.json @@ -535,6 +535,32 @@ }, "required": ["s3FilesAccessPoint"], "additionalProperties": false + }, + { + "type": "object", + "properties": { + "capacityProviderVolume": { + "type": "object", + "properties": { + "volumeName": { + "type": "string", + "minLength": 1, + "maxLength": 48, + "pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,47}$" + }, + "mountPath": { + "type": "string", + "minLength": 6, + "maxLength": 200, + "pattern": "^\\/mnt\\/[a-zA-Z0-9._-]+\\/?$" + } + }, + "required": ["volumeName", "mountPath"], + "additionalProperties": false + } + }, + "required": ["capacityProviderVolume"], + "additionalProperties": false } ] } @@ -740,6 +766,22 @@ "required": ["to"], "additionalProperties": false } + }, + "capacityProviderConfiguration": { + "type": "object", + "properties": { + "capacityProviderArn": { + "type": "string", + "pattern": "^arn:[^:]+:bedrock-agentcore:[a-z0-9-]+:\\d{12}:capacity-provider\\/[a-zA-Z][a-zA-Z0-9_]{0,47}-[a-zA-Z0-9]{10}$" + }, + "capacityProviderName": { + "type": "string", + "minLength": 1, + "maxLength": 48, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,47}$" + } + }, + "additionalProperties": false } }, "required": ["name", "build", "entrypoint", "codeLocation"], @@ -3127,6 +3169,181 @@ "additionalProperties": false } }, + "capacityProviders": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "minLength": 1, + "maxLength": 48, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,47}$" + }, + "description": { + "type": "string", + "minLength": 1, + "maxLength": 4096 + }, + "operatorRoleArn": { + "type": "string", + "minLength": 1, + "maxLength": 2048, + "pattern": "^arn:[^:]+:iam::([0-9]{12})?:role\\/.+$" + }, + "computeConfiguration": { + "type": "object", + "properties": { + "ec2Configuration": { + "type": "object", + "properties": { + "launchTemplateSource": { + "type": "object", + "properties": { + "launchParameters": { + "type": "object", + "properties": { + "operatingSystem": { + "type": "string", + "enum": ["LINUX_X86_64", "LINUX_ARM64"] + }, + "instanceRequirements": { + "type": "object", + "properties": { + "allowedInstanceTypes": { + "minItems": 1, + "maxItems": 30, + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 255 + } + } + }, + "required": ["allowedInstanceTypes"], + "additionalProperties": false + }, + "instanceProfileArn": { + "type": "string", + "pattern": "^arn:[^:]+:iam::[0-9]{12}:instance-profile\\/.+$" + } + }, + "required": ["operatingSystem", "instanceRequirements"], + "additionalProperties": {} + } + }, + "required": ["launchParameters"], + "additionalProperties": false + }, + "vpcConfiguration": { + "type": "object", + "properties": { + "subnets": { + "minItems": 1, + "maxItems": 16, + "type": "array", + "items": { + "type": "string", + "pattern": "^subnet-[0-9a-zA-Z]{8,17}$" + } + }, + "securityGroups": { + "minItems": 1, + "maxItems": 16, + "type": "array", + "items": { + "type": "string", + "pattern": "^sg-[0-9a-zA-Z]{8,17}$" + } + } + }, + "required": ["subnets", "securityGroups"], + "additionalProperties": false + }, + "volumes": { + "maxItems": 5, + "type": "array", + "items": { + "type": "object", + "properties": { + "ebsConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "minLength": 1, + "maxLength": 48, + "pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,47}$" + }, + "sizeGiB": { + "type": "integer", + "minimum": 1, + "maximum": 65536 + }, + "volumeType": { + "type": "string", + "enum": ["standard", "io1", "io2", "gp2", "sc1", "st1", "gp3"] + }, + "encrypted": { + "type": "boolean" + }, + "kmsKeyId": { + "type": "string", + "pattern": "^arn:[^:]+:kms:[a-z0-9-]+:[0-9]{12}:key\\/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" + } + }, + "required": ["name", "sizeGiB"], + "additionalProperties": {} + } + }, + "required": ["ebsConfiguration"], + "additionalProperties": false + } + }, + "lifecycleConfiguration": { + "type": "object", + "properties": { + "idleInstanceTimeout": { + "type": "integer", + "minimum": 60, + "maximum": 1209600 + }, + "maxLifetime": { + "type": "integer", + "minimum": 60, + "maximum": 1209600 + } + }, + "additionalProperties": false + } + }, + "required": ["launchTemplateSource", "vpcConfiguration"], + "additionalProperties": {} + } + }, + "required": ["ec2Configuration"], + "additionalProperties": false + }, + "tags": { + "type": "object", + "propertyNames": { + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^[\\p{L}\\p{N}\\s_.:/=+\\-@]*$" + }, + "additionalProperties": { + "type": "string", + "maxLength": 256, + "pattern": "^[\\p{L}\\p{N}\\s_.:/=+\\-@]*$" + } + } + }, + "required": ["name", "computeConfiguration"], + "additionalProperties": false + } + }, "httpGateways": { "maxItems": 0, "type": "array", diff --git a/src/assets/__tests__/__snapshots__/assets.snapshot.test.ts.snap b/src/assets/__tests__/__snapshots__/assets.snapshot.test.ts.snap index 836260fc0..7de70cd78 100644 --- a/src/assets/__tests__/__snapshots__/assets.snapshot.test.ts.snap +++ b/src/assets/__tests__/__snapshots__/assets.snapshot.test.ts.snap @@ -711,7 +711,7 @@ exports[`Assets Directory Snapshots > CDK assets > cdk/cdk/package.json should m "typescript": "~5.9.3" }, "dependencies": { - "@aws/agentcore-cdk": "0.1.0-alpha.50", + "@aws/agentcore-cdk": "0.1.0-alpha.53", "aws-cdk-lib": "~2.261.0", "constructs": "~10.7.0" } diff --git a/src/assets/cdk/package.json b/src/assets/cdk/package.json index 8454b827f..74c8bfb59 100644 --- a/src/assets/cdk/package.json +++ b/src/assets/cdk/package.json @@ -23,7 +23,7 @@ "typescript": "~5.9.3" }, "dependencies": { - "@aws/agentcore-cdk": "0.1.0-alpha.50", + "@aws/agentcore-cdk": "0.1.0-alpha.53", "aws-cdk-lib": "~2.261.0", "constructs": "~10.7.0" }