Skip to content

Release 2026-08-19 - #69

Open
amazeAmazing wants to merge 2 commits into
aws:mainfrom
amazeAmazing:2026-08-19
Open

Release 2026-08-19#69
amazeAmazing wants to merge 2 commits into
aws:mainfrom
amazeAmazing:2026-08-19

Conversation

@amazeAmazing

@amazeAmazing amazeAmazing commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Mark amzn-nova-forge deprecated: pyproject classifier + import-time DeprecationWarning pointing to sagemaker>=3.19.0; bump version to 1.4.10.
  • Scope SMTJ / Bedrock / Glue and iam:GetRole / iam:PassRole permissions to account- and region-specific ARNs instead of wildcard *.
  • Extract get_caller_account_id into util/aws_utils.py and reuse it across the runtime managers.
  • Validator now raises ValueError with a skip-IAM hint (validation_config={'iam': False}) when a resource lambda cannot be evaluated because the runtime manager is None.
  • Rewrite README.md into a migration guide to the SageMaker Python SDK V3.

Testing

  • pip install -e . succeeds.
  • python -m pytest tests/unit → 3157 passed, 36 subtests passed, 0 failures.

Release notes — amzn-nova-forge 1.4.10

⚠️ DEPRECATED

This package (amzn-nova-forge) is deprecated and will no longer receive feature updates.

Please use the SageMaker Python SDK V3 (pip install "sagemaker>=3.19.0") for Amazon Nova model customization.

SageMaker SDK sample notebook: GitHub Python Notebook

The README contains a migration guide on how to use the SageMaker Python SDK: https://github.com/aws/nova-forge-sdk/blob/main/README.md

Enhancements

Security / IAM

  • Scoped the IAM permissions requested by all runtime managers (SMTJ, SMTJ Data Prep, SMTJ Serverless, Bedrock, Glue) to account- and region-specific ARNs instead of wildcard * — e.g. sagemaker:CreateTrainingJob, bedrock:*ModelCustomizationJob, glue:*Job*, and iam:GetRole/iam:PassRole now target arn:aws:...:<account>:<region>:... resources for least-privilege access.

Documentation

  • Rewrote the README as a step-by-step migration guide from the Nova Forge SDK to the SageMaker Python SDK V3, including a concept-mapping table and before/after examples for training (SFT/CPT/DPO/RLVR), data mixing, monitoring, evaluation, and deployment.

Bug Fixes

  • IAM validation now raises a clear ValueError when a resource ARN cannot be evaluated (runtime manager is None), with guidance to skip IAM checks via validation_config={'iam': False}, instead of silently recording an error and continuing.

@amazeAmazing amazeAmazing changed the title Deprecate SDK, scope IAM permissions to account/region ARNs Release 2026-08-19 Aug 19, 2026
- Mark amzn-nova-forge deprecated (pyproject classifier + import-time
  DeprecationWarning) pointing to sagemaker>=3.19.0; bump to 1.4.142
- Scope SMTJ/Bedrock/Glue and iam:GetRole/PassRole permissions to
  account- and region-specific ARNs instead of wildcard '*'
- Extract get_caller_account_id into util/aws_utils.py and reuse across
  runtime managers
- Validator raises ValueError with a skip-IAM hint when a resource lambda
  cannot be evaluated (infra is None)
- Add unit tests for aws_utils and lambda resource specs

Update README and docs/spec + docs/user-guides accordingly.
cmahima
cmahima previously approved these changes Aug 19, 2026
Comment thread README.md Outdated

### RFT Multiturn Module
Manages infrastructure for reinforcement fine-tuning with multi-turn conversational tasks.
evaluator.stream_logs()

@eliseharvey eliseharvey Aug 19, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: evaluator is not defined above. not a huge issue since this is a readme change, but other constructs do have some reference included?

edit: it is actually defined lower, is it worth adding above here? or adding a note?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed the reference since it's not defined, as the comment already calls out that it can be used on the evaluator

Comment thread README.md Outdated
```

### 9. Validation
## What's Different (Summary)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: is it worth adding this at the top?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved to the top!

eliseharvey
eliseharvey previously approved these changes Aug 19, 2026
@amazeAmazing
amazeAmazing dismissed stale reviews from eliseharvey and cmahima via 6f08ebc August 19, 2026 19:43
eliseharvey
eliseharvey previously approved these changes Aug 19, 2026
…evaluator ref

- Move 'What's Different (Summary)' to the top of the migration guide
  (right after 'Why Migrate'), removing the duplicate at the end
- Trim the log-streaming snippet to trainer.stream_logs() so no
  undefined 'evaluator' is referenced
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants