Ado-wrapper

Latest version: v1.41.0

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

Scan your dependencies

Page 3 of 8

1.29.0

Added

- The requirement to elevate privileges through a new context manager `with ado_client.elevated_privileges():` for creation and deletion of projects.
- When using `BuildTimeline`s, the parent job and stages (where appropriate)'s id and name are automatically added to the item's attributes.

Changed

- `Run.run_and_wait_until_completion()` and it's sibling functions will now capture the error if it fails to fetch, rather than killing all the runs.
- `ProjectVisibilityType, TemplateTypes, ProjectStatus, ProjectRepositorySettingType` are all added to typing_info.py
- `VoteOptions` is also added to typing_info.py.
- Remove `Run`'s `get_task_parents` in favour of using `.parent_job_name` and `parent_stage_name` (as properties, less fetches).

---

1.28.0

Added

- `BuildTimeline.get_tasks_by_name(ado_client, <build_id>, <task_name>)` which returns all tasks with that task name.
- The polling interval for runs via run_and_wait_until_complete and sibling functions is now configurable by passing in a new arg to the ado_client object (run_polling_interval_seconds)
- The polling rate for a run can be temporarily changed using the new context manager, ado_client.temporary_polling_interval(<interval_in_seconds>)
- ado_client.assume_project(<project_name>) which can be used to assume a different ADO project, changing where function calls are made from.

Changed

- `BuildTimeline`s now hide a lot more of it's attributes in strs/reprs.
- `examples.md` now show dictionary types, and unpacks tuples for you.
- `BuildTimeline` now has a new alias, `get_by_build_id`.
- Slightly optimised `BuildTime.get_all_by_types()`

---

1.27.0

Added

- AgentPools.create are now creatable and no longer raises NotImplementedError, as does delete_by_id.
- Added all the gitignore templates to Commits, and also to repo creation as a new argument.
- MergePolicyDefaultReviewer now converts from origin_ids to local_ids, which internally means it'll work on side projects/orgs.
- When creating a run with run variables, it'll now warn you if the projects repo settings prevents runtime vars.
- Teams can not be created and deleted rather than raising NotImplementedError (and are state manageable).

Changed

- AgentPool.get_by_name now works properly, and doesn't filter by id anymore.
- Commit.create now defaults to "Add" change_type, and a default commit message.
- More assert statements have been replaced with full error handling and messages.

---

1.26.0

Added

- Can now create an empty branch, so it will no longer point you to Commit.create instead.
- Creating a build_definition without passing in agent_pool_id will use the Azure AgentPools
- Creating a release without passing in agent_pool_id will use the Azure AgentPools
- Groups are now creatable, and deletable and won't raise NotImplementedError
- AdoUsers now have a few more utility functions, like getting by id, or search string.
- VariableGroups can now be fetched by value, using `get_variable_group_contents`, but this takes 20-60 seconds to run.
- Runs now have a function which is ran with the current run everytime the run is polled (which can be used for logging or dispatching)

Changed

- Improved functions which call the Hierarchy endpoints to use a new builder, making that code better
- Optimised client startup time (don't fetch org anymore, or perms, but now fetch project pipeline settings)
- When calling Build.get_build_log_content with invalid stages, it now tells you the possible options
- Build's `get_root_stage_names` is now also in Runs.

---

1.25.0

Added

- `remove_ansi_codes`, a utils function to removr all ansi colour codes from a string, uses `ANSI_RE_PATTERN`.
- Project's now have `visibility` and `creation_status` when fetching by id or name.
- Improved StateManger.load_all_resources_with_prefix_into_state to include more resources, and work over all better
- Added the ability to allow a variable group to be used for a build build_definition
- Added the ability to create a build definition with Hierarchy, which allows additional functionality.
- Added HierarchyCreatedBuildDefinition to corrospond with the informaton above
- Projects are now creatable, and deletable.
- You can also get and set a project's pipeline settings
- Also able to get and set a project's repository settings

Changed

- `Removed` all plan logic, this was never fully implemented and was making things more complicated.
- Fixed `StateManagedResource._create`'s refetch argument.
- BuildDefinition.get_all_stages() now has better errors for creation without Hierarchy mode.
- Build.create no longer takes the `permit_use_of_var_groups` argument.
- Build's `approve_environment_for_pipeline` now has better error messages.
- `ansi_re_pattern` and `datetime_re_pattern` have been renamed to `ANSI_RE_PATTERN` and `DATETIME_RE_PATTERN` respectively.
- If search is not enabled for a project, it'll now error when trying to do a new search.

---

1.24.0

Added

- `Build`'s get_environment_approvals now doesn't supply pipelines with dependencies anymore (to prevent an issue).
- Ability to get `Build.get_root_stage_names()` to get all stages with no dependencies, at root level.

Changed

- `Run.create()` with stages_to_run now no longer mutates the list it takes, instead shadowing it and discarding at the end.
- Improved error message in `Run.get_task_parents`.

---

Page 3 of 8

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.