Skip to content

Commit ef8f764

Browse files
committed
Bump version to 0.4.0
1 parent 1e8ab2a commit ef8f764

File tree

10 files changed

+59
-11
lines changed

10 files changed

+59
-11
lines changed

CHANGELOG.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.4.0] - 2026-03-12
11+
1012
### Added
1113

14+
- Claude Agent SDK agent pattern (`patterns/claude-agent-sdk/`) with single-agent and multi-agent variants
15+
- AgentCore client library (`frontend/src/lib/agentcore-client/`) with SSE streaming and parsers for Strands, LangGraph, and Bedrock Converse agents
16+
- Inline tool call rendering with message segments approach in the frontend
17+
- Markdown rendering with syntax highlighting and copy button for chat messages
18+
- Tool renderer registry and default `ToolCallDisplay` component for extensible tool output rendering
19+
- Streaming documentation update (`docs/STREAMING.md`) with new parser architecture and event flow
20+
- Local Docker testing for AgentCore with Docker Compose support (`docker/`)
21+
- GitHub repo-stats workflow for daily traffic tracking
22+
- ASH (Automated Security Helper) scan workflows for PR and full repository scanning
23+
- Dependabot auto-merge and PR labeler GitHub Actions workflows
24+
- JS/TS and Python linting workflows for pull requests
25+
- Prettier configuration and formatting for frontend source files
26+
- Prettier added to Makefile lint pipeline and frontend dev dependencies
27+
- READMEs for strands, langgraph, and claude-agent-sdk agent patterns
28+
- Permission boundary for CodeBuild temporary IAM role
1229
- VPC deployment mode (`network_mode: VPC`) for deploying AgentCore Runtime into an existing user-provided VPC for private network isolation
1330
- VPC configuration in `config.yaml` with `vpc_id`, `subnet_ids`, and optional `security_group_ids`
1431
- VPC configuration validation in `ConfigManager` for required fields when VPC mode is enabled
@@ -17,6 +34,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1734
- CodeBuild-based deployment script (`scripts/deploy-with-codebuild.py`) that enables deploying FAST without requiring Docker
1835
- [Terraform] Full Terraform infrastructure alternative to CDK (`infra-terraform/`) with modules for Amplify Hosting, Cognito, and Backend (Runtime, Gateway, Memory, Feedback API, SSM)
1936
- [Terraform] Support for both Docker and Zip deployment types via `deployment_type` variable
37+
- [Terraform] OAuth2 Credential Provider support
38+
- [Terraform] VPC deployment mode with input/output parity to CDK
2039
- [Terraform] Dedicated scripts for frontend deployment (`deploy-frontend.py`, `deploy-frontend.sh`), Docker image build (`build-and-push-image.sh`), and agent testing (`test-agent.py`)
2140
- [Terraform] S3 backend configuration example (`backend.tf.example`) for remote state management
2241
- [Terraform] Version bump playbook (`TF_VERSION_BUMP_PLAYBOOK.md`) with independent versioning scheme
@@ -32,6 +51,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3251

3352
### Changed
3453

54+
- Removed `userId` from client invocation — user identity now extracted server-side from JWT to prevent impersonation via prompt injection
55+
- Split claude-agent-sdk into single-agent and multi-agent pattern variants
56+
- Frontend switched from `access_token` to `id_token` for AgentCore authentication (`access_token` lacks required `aud` claim)
57+
- Removed old JS service files, replaced by new `agentcore-client` library
3558
- Migrated Gateway authentication to AgentCore SDK `@requires_access_token` decorator
3659
- Simplified agent code in `patterns/strands-single-agent/basic_agent.py` and `patterns/langgraph-single-agent/langgraph_agent.py`
3760
- Use `cr.Provider` pattern for OAuth2 provider to avoid IAM propagation delays
@@ -41,6 +64,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4164
- Moved Secrets Manager permissions from base `AgentCoreRole` utility class to backend-stack.ts for better separation of concerns
4265
- Updated `README.md` to reference new architecture diagram and clarify OAuth2 M2M authentication flow descriptions
4366
- Updated `test-scripts/README.md` to remove Docker container testing documentation
67+
- Updated contributing docs to use `main` branch instead of `develop`
4468

4569
### Removed
4670

@@ -50,16 +74,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5074
- Manual token fetching logic from agent code
5175
- Direct Secrets Manager access from agents
5276
- Wildcard Secrets Manager IAM permissions from base `AgentCoreRole` utility class
77+
- Old JS service files (replaced by `agentcore-client` library)
5378

5479
### Fixed
5580

81+
- LangGraph plain string content handling in `AIMessageChunk`
82+
- Test-agent `user_id` bug, added streaming parser and dynamic tool name lookup to test scripts
83+
- Frontend build issues: unused `sessionId` param and excluded test directory from `tsc`
84+
- Repo-stats workflow failing on forks
85+
- Real VPC/subnet IDs replaced with placeholders in `config.yaml`
86+
- Backend agent entrypoints
87+
- Docker Compose v2 syntax and outdated `userId` references in docs
88+
- JWT auth compatibility, Vite host binding, and credential docs
5689
- Stale token errors in agents by implementing fresh token retrieval on MCP Gateway reconnection (Strands) and per-request (LangGraph)
5790
- IAM permission scoping to prevent overly broad wildcard access
91+
- Removed `iam:PutRolePolicy` from CodeBuild permission boundary, added `cdk bootstrap`, fixed region detection
92+
- Resolved all ESLint warnings in frontend
93+
- CI: pinned `tj-actions/changed-files` to SHA and bumped Node to 20
5894

5995
### Security
6096

6197
- Enhanced security by delegating OAuth2 token management to AgentCore Identity service
6298
- Improved token lifecycle management with automatic refresh and error handling via Token Vault
99+
- Bumped `hono` from 4.11.9 to 4.12.7 in frontend
100+
- Bumped `@hono/node-server` in frontend
101+
- Bumped `rollup` from 4.56.0 to 4.59.0 in frontend
102+
- Bumped `minimatch` in frontend and `aws-cdk-lib` in infra-cdk
103+
- Bumped `fast-xml-parser` and `@aws-sdk/xml-builder` in frontend and infra-cdk
104+
- Bumped `qs` from 6.14.1 to 6.14.2 in frontend
105+
- Bumped `langgraph` in patterns/langgraph-single-agent
106+
- Bumped `@aws-sdk/client-bedrock-agentcore` in infra-cdk
63107

64108
## [0.3.1] - 2026-02-11
65109

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.3.1
1+
0.4.0

frontend/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frontend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "fullstack-agentcore-solution-template-frontend",
3-
"version": "0.3.1",
3+
"version": "0.4.0",
44
"private": true,
55
"scripts": {
66
"dev": "vite",

frontend/src/components/chat/ChatMessage.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ interface ChatMessageProps {
1313
onFeedbackSubmit: (feedbackType: "positive" | "negative", comment: string) => Promise<void>
1414
}
1515

16-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
1716
export function ChatMessage({
1817
message,
1918
sessionId: _sessionId,

infra-cdk/lib/fast-main-stack.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export class FastMainStack extends cdk.Stack {
1818

1919
constructor(scope: Construct, id: string, props: FastAmplifyStackProps) {
2020
const description =
21-
"Fullstack AgentCore Solution Template - Main Stack (v0.3.1) (uksb-v6dos0t5g8)"
21+
"Fullstack AgentCore Solution Template - Main Stack (v0.4.0) (uksb-v6dos0t5g8)"
2222
super(scope, id, { ...props, description })
2323

2424
// Step 1: Create the Amplify stack to get the predictable domain

infra-cdk/package-lock.json

Lines changed: 7 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

infra-cdk/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "fast-cdk",
3-
"version": "0.3.1",
3+
"version": "0.4.0",
44
"bin": {
55
"fast-cdk": "bin/fast-cdk.js"
66
},

infra-terraform/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.3.1-tf.0
1+
0.4.0-tf.0

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "fullstack-agentcore-solution-template"
7-
version = "0.3.1"
7+
version = "0.4.0"
88
description = "Fullstack AgentCore Solution Template - A template for building AgentCore applications"
99
readme = "README.md"
1010
license = { text = "Apache-2.0" }

0 commit comments

Comments
 (0)