All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Update
azure_core
,azure_identity
to 0.21.
- Change
IdentityRef
id
to be optional- Discovered that in some returned values this field is not present.
Any code accessing this field now needs to wrap it in an
Option
, or deal with the returned value being wrapped in anOption
.
- Discovered that in some returned values this field is not present.
Any code accessing this field now needs to wrap it in an
- Change
IdentityRef
unique_name
to be optional- Discovered that in some returned values this field is not present.
Any code accessing this field now needs to wrap it in an
Option
, or deal with the returned value being wrapped in anOption
.
- Discovered that in some returned values this field is not present.
Any code accessing this field now needs to wrap it in an
- Update
search_code
example to demonstrate use of filters.
- Fix datetime model fields being serialized when empty, causing invalid JSON to be sent to ADO for some requests
- Fix clippy failure with empty doc comments.
- Cleanup vsts-api-patcher structure.
- Update
autorust
code generator to latest version fromazure-sdk-for-rust
.
- Add missing
distributed_task
submodules:events
logs
oidctoken
records
- Add missing
artifacts
SBOM-related data structures.
- Update
azure_core
,azure_identity
to 0.20.- Change example code
util::get_credential
return type fromCredential
toResult<Credential>
, asDefaultAzureCredentialBuilder::build()
is now fallible. - Reinstate wasm build in CI pipeline.
- Fix
telemetry
code wasm build.
- Change example code
- Update
vsts-rest-api-specs
to latest version- Additional parameters in
approvals_and_checks::ApprovalQueryParameters
approver_status
top
user_ids
- Additional fields in
build::PipelineGeneralSettings
builds_enabled_for_forks
enable_shell_tasks_args_sanitizing_audit
enforce_job_auth_scope_for_forks
enforce_no_access_to_secrets_from_forks
fork_protection_enabled
is_comment_required_for_pull_request
require_comments_for_non_team_member_and_non_contributors
require_comments_for_non_team_members_only
- Additional field in
build::PullRequestTrigger
pipeline_trigger_settings
- Additional field in
git::IdentityRefWithVote
is_reapprove
- Additional parameters in
- Fix clippy failures
- Implement
Response
methodsinto_raw_response()
andas_raw_response
for all operations, even if they do not return a value. - Replace deprecated
time::Instant
withstd::time::Instant
.
- Implement
- Add new
telemetry
module with a request logger - New example:
telemetry_git_repo_get
- Remove
Option
wrappers fromgit::models::ItemContent
fields:content
contentType
- New example:
git_push
- Change
TeamProjectReference
to make several fields optional, to allow projects to be created. Any existing code using the following fields will need to be changed to extract the value from theOption
.id
state
lastUpdateTime
- Change
GitCommitRef
to makecommit_id
optional.- Previously
String
, nowOption<String>
- Any existing code using
commit_id
will need to be changed to extract the value from theOption
.
- Previously
- Change definitions of
GitChange
andChange
to reinstate some optional fields that were previously removed in the mistaken belief that they were unused.GitChange
:change_id
new_content_template
original_path
Change
:new_content
source_server_item
url
- Upgrade
azure_core
,azure_identity
to 0.19 - Change
ADO_SCOPE
definition to add/.default
, asTokenCredential::get_token(...)
has changed to take a scope rather than a resource
- Fix response type for
git::items::get_items_batch()
- New example:
git_items_get_items_batch
- New
headers
module with Azure DevOps custom rate-limiting response header definitions.
- Upgrade
azure_core
,azure_identity
to 0.18- Note:
AutoRefreshingTokenCredential
is no longer required (and has been removed fromazure_identity
), as token refreshing is now built in to each credential provider
- Note:
- New value added to git
ChangeType
enum:edit, rename
- New value added to git
ChangeType
enum:delete, sourceRename
- New examples:
git_repo_download_zip
build_source_providers_list
- Updated example:
git_items_get
now includes downloading entire repo as a zip archive
- Enable configuration of per-retry policies on all client builders:
- new
ClientBuilder
method:per_retry_policies(...)
- new
- New example:
work
- New example:
wit_wiql
- Upgrade
azure_core
,azure_identity
to 0.17
- Add support for WASM builds
- Upgrade
azure_core
,azure_identity
to 0.16
- Upgrade
azure_core
,azure_identity
to 0.15
- Update
GitPullRequestUpdateOptions
to add new fieldautoCompleteSetBy
- Update
GitCommitRef
to makecommitId
andurl
fields optional
- Upgrade
azure_core
,azure_identity
to 0.14 - Update
vsts-rest-api-specs
to latest version- Picks up API and docs updates
- Adds new modules:
approvals_and_checks
favorite
security_roles
- Removes module:
clt
- Added missing
IntoFuture
implementations for operations that return an empty response - Upgrade
azure_core
,azure_identity
to 0.13
- New
tokens
module - Upgrade
azure_core
,azure_identity
to 0.12
- Specify correct token scope for ADO by default
- Fixed multiple
policy
API issues
- Fixed definition of git
PolicyConfiguration
- Fixed pipeline
Run
required fields- Changed
finishedDate
andresult
to optional, as they are not present if run is in progress
- Changed
- Change pipeline
Repository
fields to be optional:id
,type
- Upgrade
azure_core
,azure_identity
to 0.11 - New examples:
member_entitlement_management
git_policy_config_list
- Fixed definition of wit
IdentityReference
- New example:
wit_work_item_queries
- New example:
test_plan
- Wrapped
WorkItemTrackingResource
links
in anOption
- Updated dependencies:
azure_core
to 0.10azure_identity
to 0.10
- Renamed
wit
examples:wit
=>wit_work_item_get
wit_create_work_item
=>wit_work_item_create
- Improved
wit_work_item_get
to display all work item relations - Improved
wit_work_item_get
to demonstrateget_work_items_batch()
- Fix creating and updating work items
- New example:
wit_create_work_item
- New example:
- Improved
RequestBuilder
documentation
- Implemented
std::future::IntoFuture
for request builder objects.- Removes need to call
into_future()
to finalize request builders.await
will implicitly call theIntoFuture::into_future()
method. This simplifies request calls. IntoFuture
support requires Rust 1.64.0 or higher, so this is now enforced by settingrust-version
inCargo.toml
.
- Removes need to call
- Examples: created new
utils
module with common authentication code.- Updated example authentication code to use
AutoRefreshingTokenCredential
andDefaultAzureCredentialBuilder
.
- Updated example authentication code to use
- Updated dependency versions.
-
New examples:
git_items_list
git_items_get
build_list_sync
-
New features:
enable_reqwest
[default]enable_reqwest_rustls
- Both of the above enable the corresponding feature in
azure_core
- New examples:
git_repo_get_raw_rsp
artifacts_list
build_list_continuation_token
release_logs
wiki_pages_create_or_update
search_repositories
permissions_report
- Added new fields to
GitPullRequestCreateOptions
merge_options
completion_options
- Fix
distributedTask
variableGroupProjectReferences
deserialization ofnull
value - Fix
extensionManagement
parsing offlags
fields- Change type from an
enum
to aString
, as field value is a comma-separated list
- Change type from an
- Revert all
GraphSubjectBase
fields to be wrapped inOption
- Upgrade
azure_core
to 0.5,azure_identity
to 0.6AzureCliCredential
must now be created viaazure_identity::AzureCliCredential::new()
- Upgrade
autorust
code generator- New
send()
function on operations that enables access to full response details (headers, raw body data)
- New
- Add missing
distributedTask
ElasticPool
operations - Patch
hooks
spec:InputValidation
fieldsminValue
andmaxValue
need to benumber
/float
Subscription
fieldprobationRetries
needs to beinteger
/int32
- New examples:
code_search
hooks_list
ims_query
extension_management_list
test_rust_list
- Fixed up
GitCommitRef
change_counts
field type - Added back some required
build
structure Option wrappers - Fixed formatting of date-time URL parameters
- Added
ims
(Identity Management) example:ims_query
- Fixed Pull Request create function
git::pull_requests::create()
- Added
git_pr_create
example
- Implement custom date-time serde module to gracefully handle
0001-01-01T00:00:00
- Fixed response types for git::commits::get_changes()
- If response deserialization fails, include response content in error
- Removed Option wrappers on selected structs in
wit
andstatus
- Example improvements:
- New examples:
- wit (work items)
- status
- client_pipeline_policy
- policy
- Updated examples to use
ClientBuilder
, eliminating default client arguments - Added logging via
env_logger
- New examples:
- Added
Credential::Unauthenticated
to enable unauthenticated operations
- Upgraded to latest
autorust
code generator fromazure-sdk-for-rust
- Removed
operation
modules - all operations move up one level in the module hierarchy. - Second-level client functions changed to have a
_client
suffix, e.g.client.repositories().get_repository(...)
=>client.repositories_client().get_repository(...)
.
- New
options
(azure_core::ClientOptions
) parameter required when creating clients, which allows the HTTP pipeline to be customised with middleware. - Fields declared in the spec as
date-time
format now parsed into Rusttime::OffsetDateTime
types rather thanString
.
- Removed
- Updated some struct fields to remove Option wrappers to make the values easier to use.
- Updated some
links
fields to have a struct with known fields, rather than a JsonValue
.
pipeline_preview
example
- API documentation: autogenerate builder function descriptions.
- Upgrade Azure SDK dependencies:
- azure_core: 0.3
- azure_identity: 0.4
- Move
Credential
definition fromauth
module to root, to separate it from all the feature modules.auth
module is now private.- To migrate change
use azure_devops_rust_api::auth::Credential
touse azure_devops_rust_api::Credential
- To migrate change
- API documentation: autogenerate function description and parameter descriptions from fields in the OpenAPI spec.
- Credentials now need to be provided via a new type
auth::Credential
that supports both PAT and TokenCredential types. For more details see examples and docs.rs.
- Support for PAT authentication
- Remove use of
unwrap()
from examples.
0.1.3 - 2022-07-29
- Remove
--no-deps
flag for docs.rs documentation generation.
0.1.2 - 2022-07-29
- Set
--no-deps
flag for docs.rs documentation generation.
0.1.1 - 2022-07-29
- Enable
all-features
flag for docs.rs documentation generation.
0.1.0 - 2022-07-29
- Initial release.