Autotransform

Latest version: v1.1.1.post3

Safety actively analyzes 688578 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

1.0.3

Migrations
- GithubRunner has been updated to work with the new workflows included in examples. This requires use of the schema_map.json file and having the workflows use the schema names, rather than JSON encoded schemas. This ensures that any schema run by the bot is present in the repo. Replace existing workflows with new workflows in `examples/workflows`.
- Updated migration commands.
- atmigrate-1.0.1 to migrate Manager for 1.0.1 changes.
- atmigrate-1.0.3 to migrate Scheduler/Schema Map for 1.0.3 changes.

Documentation
- Added documentation for creating and using custom components, including an example PR.

New Components
- Added ExtraDataBatcher that allows batching items using the extra_data field of the items.
- Added FileRegexBatcher that allows using regexes against file contents to produces batches with metadata.

Features
- Added a max_submissions option to schema configs and scheduling to allow slower rollouts for changes that can prevent overwhelming code review.
- Update Change to have get_schema_name() that is used for Condition. This allows GithubChange to pull schema name from the branch.
- Add a schema_map.json file and some associated functionality to run command so that workflows can be moved to rely on information in the repo when determining schemas and no longer pass JSON encoded schemas around.
- Make run github workflow use the schema name.
- Added in/not in comparisons.

Fixes
- Fix workflows to checkout the repo as the supplied bot, rather than as github-actions bot. This should prevent issues involving branch protection rules and force-pushes appearing under the wrong name.

1.0.2

New Components
- InlineInput for inlining Items.
- InlineFileInput for inline FileItems.
- InlineGenericInput for inlining Items using keys.
- LibCSTTransformer for libcst based transformations. Check out https://github.com/Instagram/LibCST for info on libcst.
- JSCodeshiftTransformer for jscodeshift based transformations. Check out https://github.com/facebook/jscodeshift for info on JSCodeshift.

Features
- Update GithubRepo to use a dataclass for metadata to improve type safety/checking.
- Update GithubRepo to allow Pull Requests from forks.
- Updated debug logging to be more readable and include appropriate information.

1.0.1

This update focuses on improvements to managing changes, increasing the power of actions and adding many more actions.

Migrations
- autotransform.scripts.migrations.manager migration script for migrating Manager JSON files.
- Run `atmigrate-manager` to migrate Manager JSON files.
- Step components now return a List of Actions, which are now fully-fledged NamedComponents. This is simply moving from an enum to a class for most cases.
- Step components now have a method to check if management should be continued.
- Changed comparison enum values, migrate with the migration script for Manager files.
- Conditional steps now take a list of actions instead of an action name. Old JSON will maintain compatability until v1.1.

Features
- Updated repos to check for outstanding changes before running a Batch. If an outstanding change is found (the branch already exists for Git/Github), transformation is skipped.
- Made Actions fully-fledged components to enable Actions with parameters.

New Components
- AddReviewersAction added.
- AddOwnersAsReviewersAction added.
- AddOwnersAsTeamReviewersAction added.
- AddLabelsAction added.
- CommentAction added.
- RemoveLabelAction added.
- ReviewersCondition added.
- TeamReviewersCondition added.
- LabelsCondition added.

1.0.0

AutoTransform is officially available for production use cases. See our documentation at autotransform.readthedocs.io to learn more about how it works and how it can save your organization thousands of developer hours.

Components
- Renamed base_branch_name to base_branch for GitRepo

0.3.1

Components
- Added reviewer functionality to GithubRepo
- Renamed required_labels to labels for GithubRepo

Misc
- Moved off of python dataclasses to Pydantic
- Modified scheduler file format to have "target" instead of "schema" for the path/builder name of the scheduled schemas
- Converted AutoTransformSchema and SchemaConfig to use ComponentModel base

Scripts
- Moved config setting/viewing to settings command which will include all settings
- Added custom components to settings command
- Added manager to settings command
- Added scheduler to settings command
- Added schema to settings command
- Made files options for schedule/manage commands, no longer positional arguments

0.3.0

API Changes
- Updating all components to inherit from Component class to unify logic for many pieces in one place
- Eliminated params from components, components are now dataclasses
- Component bundles use "name" instead of "type" now to avoid confusion between the class type and the identifier
- Custom components are now imported via JSON files
- Schedule/manage/config files all converted to JSON based on new dataclasses

New Components
- Added EmptyInput for schemas that operate on the entire codebase at once

Scripts
- Added init command to set up user configuration/repos
- Replaced config command with one that allows the user to navigate through prompts

Misc
- Updated default config fetcher to pull repo and cwd relative configs
- Made EnvironmentVariableConfigFetcher use DefaultConfigFetcher as a fallback when no environment variable is present
- Updated directory structure to src/python/autotransform
- Broke docs apart for better browsing rather than 1 large readme
- Added utility functions for the init script involving user input/console output

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.