Skip to content

v2.0.0 Release Plans #1459

@laurenyu

Description

@laurenyu

With the sunsetting of Python 2 earlier this year, we’re taking this opportunity to work on v2.0.0 and include some breaking changes that we have been considering. Our approach is that this isn’t meant to be a revolutionary overhaul. We don’t plan on rewriting everything entirely, and intend to keep the core experience largely the same as it was before. While we do have an opportunity to make breaking changes here, I do want to make sure each breaking change is meaningful, and not simply creating a different user experience for the sake of doing so.

I realize the following lists might look like a lot, but I did attempt to keep the list of changes relatively short. There are always going to be lots of changes we wish we could make to the Python SDK, but there are two categories of changes I deliberately excluded: (1) smaller improvements that can be done without incurring a breaking change and (2) bigger improvements/features that deserve their own dedicated planning.

6/4/20 edit: Due to how things have been going (and resourcing), some items have been deprioritized. I've also edited the timeline.
7/10/20 edit: Updated the timeline and added one item due to some changes in team planning.
7/28/20 edit: Updated last two dates in timeline.

Timeline

We are targeting the second half of July for a release, with release candidates starting at the end of May. More concrete dates to come as we get further along in implementation.

Timeframe Milestone
5/8/20 create branch for v2 development
5/18/20 start including warnings in v1 for upcoming changes
mid June start releasing release candidates
7/29/20 last v1 release. After this, merges to master are limited to critical/urgent changes.
8/3/20 v2.0.0 release

Major Changes

Description Issue
Deprecate Python 2 support for the Python SDK #1461
Deprecate TensorFlow "legacy mode" (in favor of "script mode") #1462
Require framework_version for frameworks. For frameworks with multiple Python versions supported, require py_version. #1465
Create new resources each time with deploy() and transformer() #1470
Create a single module for generating image URIs #1464
Separate the functionality of printing logs from attach() #1405
Refactor Session #1463
Create a script for upgrading from v1 to v2 code #1478
Move SerDe to dedicated modules #1694

Smaller Changes

Description Issue
Remove scipy from required dependencies #1471
Clean up util modules #1466
Rename unclear/inconsistent names #1473
Remove **kwargs #1474
Deprecate CLI #1476
Deprecate unused parameters #1475

Other Possibilities

This is the shortlist of items that almost made the cut. Some may end up being included, time permitting.

Project Board

https://github.com/aws/sagemaker-python-sdk/projects/1

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions