fix(deps): update all dependencies #2
Reference in New Issue
Block a user
No description provided.
Delete Branch "renovate/all"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
4.2.1->4.5.530.6.2->0.6.50.2.20->0.19.0v0.6.0->v0.19.70.6.8->0.6.12v0.0.0-20230406144450-c44ea3d9ff41->v0.2.01.7.3->1.12.20.11.16->0.12.01.0.17->1.0.271.0.95->1.0.1451.27.0->1.48.00.2.4->0.2.5Release Notes
clap-rs/clap (clap)
v4.5.53Compare Source
Features
default_values_if,default_values_ifsv4.5.52Compare Source
Fixes
args_conflicts_with_subcommandsconflicts with anArgGroupv4.5.51Compare Source
Fixes
ArgAction::Countv4.5.50Compare Source
Features
CowwhereStringand&strare acceptedv4.5.49Compare Source
Fixes
v4.5.48Compare Source
Documentation
typed_derivecookbook entryv4.5.47Compare Source
Features
impl FromArgMatches for ()impl Args for ()impl Subcommand for ()impl FromArgMatches for Infallibleimpl Subcommand for InfallibleFixes
clapv4.5.46Compare Source
Features
StyledStr::push_strv4.5.45Compare Source
Fixes
ValueEnumvariants now use the full doc comment, not summary, forPossibleValue::helpv4.5.44Compare Source
Features
Command::mut_subcommandsv4.5.43Compare Source
Fixes
v4.5.42Compare Source
Fixes
--helpv4.5.41Compare Source
Features
Styles::contextandStyles::context_valueto customize the styling of[default: value]like notes in the--helpv4.5.40Compare Source
Features
arg!()macro (e.g.arg!("check-config": ...))v4.5.39Compare Source
Fixes
v4.5.38Compare Source
Fixes
--or-v4.5.37Compare Source
Features
ArgMatches::try_clear_id()v4.5.36Compare Source
Fixes
v4.5.35Compare Source
Fixes
help_headingv4.5.34Compare Source
Fixes
flatten_help(true)and subcommands without argumentsv4.5.33Compare Source
Fixes
v4.5.32Compare Source
Features
Error::removeDocumentation
humantimetojiffInternal
pulldown-cmarkv4.5.31Compare Source
Features
ValueParserFactoryforSaturating<T>v4.5.30Compare Source
Fixes
num_args(0..=1)to be used withSetTruetakes_valuesassertionsv4.5.29Compare Source
Fixes
ArgMatches::args_presentso not-present flags are considered not-present (matching the documentation)v4.5.28Compare Source
Features
unstable-markdownv4.5.27Compare Source
Documentation
v4.5.26Compare Source
Fixes
suggestionsfeaturev4.5.25Compare Source
Fixes
v4.5.24Compare Source
Fixes
ignore_errors(true)and when a suggestion is provided for an unknown argumentv4.5.23Compare Source
Fixes
allow_negative_numbers, allowEagainv4.5.22Compare Source
Fixes
v4.5.21Compare Source
Fixes
ignore_errors(true)v4.5.20Compare Source
Features
CommandExtv4.5.19Compare Source
Internal
v4.5.18Compare Source
Features
Arg::get_display_orderandCommand::get_display_orderv4.5.17Compare Source
Fixes
v4.5.16Compare Source
Fixes
derivefeature is missingv4.5.15Compare Source
Compatiblity
Arg::removechanged return typesFixes
Arg::removereturn the removed itemv4.5.14Compare Source
Features
Arg::addfor attaching arbitrary state, like completion hints, toArgwithoutArgknowing about itv4.5.13Compare Source
Fixes
#[flatten]ing an optional#[group(skip)]v4.5.12Compare Source
v4.5.11Compare Source
v4.5.10Compare Source
v4.5.9Compare Source
Fixes
v4.5.8Compare Source
Fixes
v4.5.7Compare Source
Fixes
num_argsv4.5.6Compare Source
v4.5.5Compare Source
Features
default_values_if,default_values_ifsv4.5.4Compare Source
Fixes
v4.5.3Compare Source
Fixes
v4.5.2Compare Source
Fixes
ArgMatches::args_presentso not-present flags are considered not-present (matching the documentation)v4.5.1Compare Source
Internal
v4.5.0Compare Source
Compatibility
v4.4.18Compare Source
Fixes
usagefeature, ensure the list of required arguments is uniquev4.4.17Compare Source
Fixes
panic!when mixingargs_conflicts_with_subcommandswithArgGroup(which is implicit withderive) introduced in 4.4.15v4.4.16Compare Source
Fixes
v4.4.15Compare Source
Fixes
args_conflicts_with_subcommandsargs_conflicts_with_subcommandswhen using subcommand short and long flagsv4.4.14Compare Source
Documentation
findcookbook entry to allow repeats of flags/optionsFeatures
num_args(0)on options which allows making them emulate being a flag for position-tracking flagsv4.4.13Compare Source
Documentation
v4.4.12Compare Source
Performance
TypedValueParserfor possible values if neededv4.4.11Compare Source
Features
Command::mut_groupv4.4.10Compare Source
Documentation
v4.4.9Compare Source
Fixes
Command::aboutunder flattened headingshidewhen flattening subcommandsv4.4.8Compare Source
Features
Command::flatten_helpto allowgit stash -hlike help for subcommandsv4.4.7Compare Source
Performance
v4.4.6Compare Source
Internal
anstreamv4.4.5Compare Source
Fixes
nameorlong_flag, allow ambiguous-looking matches that unambiguously map back to the same commandlong_flag, don't panicv4.4.4Compare Source
Internal
terminal_sizeto 0.3v4.4.3Compare Source
Documentation
v4.4.2Compare Source
Performance
once_celldependencyv4.4.1Compare Source
Fixes
usagefeature, ensure the list of required arguments is uniquev4.4.0Compare Source
compatibility
v4.3.24Compare Source
Fixes
--helpwith custom templatesv4.3.23Compare Source
Fixes
UnknownArgumentValueParserto not error on flag's absencev4.3.22Compare Source
Features
UnknownArgumentValueParserfor injecting errors for improving the experience with errorsv4.3.21Compare Source
Features
TryMapValueParserso the type can be namedv4.3.20Compare Source
Features
Command::mut_argsfor modifying all arguments en massev4.3.19Compare Source
Fixes
value_terminatoreven in the presence of later multiple-value positional argumentsv4.3.18Compare Source
Fixes
--in fewer places where it won't workv4.3.17Compare Source
Fixes
PossibleValuedescriptions in--helpv4.3.16Compare Source
Fixes
v4.3.15Compare Source
Features
anstyleDocumentation
v4.3.14Compare Source
Features
ArgAction::HelpShortandArgAction::HelpLongfor explicitly specifying which style of help to displayFixes
[OPTIONS]in usage if a help or versionArgActionis usedv4.3.13Compare Source
v4.3.12Compare Source
Fixes
v4.3.11Compare Source
Features
num::Wrapping,Box, orArcBox<str>,Box<OsStr>, andBox<Path>v4.3.10Compare Source
Performance
v4.3.9Compare Source
Fixes
Command::ignore_errorsno longer masks help/versionv4.3.8Compare Source
Fixes
infer_long_arg, rather than arbitrarily picking one, matching the documentation and subcommand's behaviorv4.3.7Compare Source
Documentation
v4.3.6Compare Source
Documentation
cliov4.3.5Compare Source
ColorChoice::possible_valuesis added to simplify things for builder usersFixes
ColorChoice::to_possible_valueno longer includes descriptions, encouraging shorter help where possiblev4.3.4Compare Source
Features
Error::exit_codev4.3.3Compare Source
Features
Command::deferfor delayed initialization of subcommands to reduce startup times of large applications like denov4.3.2Compare Source
Fixes
--helpwith custom templatesv4.3.1Compare Source
Fixes
value_terminatoreven in the presence of later multiple-value positional argumentsv4.3.0Compare Source
Fixes
lastassertionvalue_terminatorhas higher precedence thanallow_hyphen_values--helpv4.2.7Compare Source
Fixes
ArgMatchesv4.2.6Compare Source
Features
impl Eq<std::any::TypeId> for clap_builder::util::AnyValueIdv4.2.5Compare Source
Fixes
v4.2.4Compare Source
Documentation
Command::stylev4.2.3Compare Source
Features
Command::stylesfor theming help/errors (behindunstable-styles)v4.2.2Compare Source
Internal
eyre-rs/eyre (color-eyre)
v0.6.5Compare Source
v0.6.4Compare Source
v0.6.3Compare Source
dagger/dagger (dagger-sdk)
v0.19.7Compare Source
Added
--eager-runtimeflag todagger functionsby @TomChv in https://github.com/dagger/dagger/pull/11413Fixed
Contributors
Special thanks to our external contributors this release!
What to do next?
v0.19.6Compare Source
Fixed
Contributors
Special thanks to our external contributors this release!
What to do next?
v0.19.5Compare Source
Fixed
Contributors
Special thanks to our external contributors this release!
What to do next?
v0.19.4Compare Source
Added
Function calls now have configurable caching behavior, including TTLs. Function calls with cached results can skip execution, which often significantly speeds up your workflows. Instructions and more details on the configuration options can be found in the docs.
🚨 Modules initialized before v0.19.4 will need to explicitly opt-in to the new caching behavior.
GitRepository.uncommitedAPI to get changeset of dirty changes in the working directory by @jedevc in https://github.com/dagger/dagger/pull/11241engine clientsAPI by @matipan in https://github.com/dagger/dagger/pull/11308Fixed
Dependencies
Contributors
Special thanks to our external contributors this release!
What to do next?
v0.19.3Compare Source
Added
This is for instance really useful from inside self-chainable blocks (using with) where an error can't be returned.
Changeset.isEmptyAPI by @jedevc in https://github.com/dagger/dagger/pull/11237Fixed
Directory.diffon identical directories by @jedevc in https://github.com/dagger/dagger/pull/11268Dependencies
What to do next?
v0.19.2Compare Source
Fixed
What to do next?
v0.19.1Compare Source
Added
User defaults: persist any dagger function argument to .env by @shykes in https://github.com/dagger/dagger/pull/11034
This feature allows user to save arguments to their dagger functions to a local file, instead of re-typing them at every call. This way, the sandboxing of functions is preserved without sacrificing end-user convenience.
To use this feature, simply add variables to a local
.envfile reachable from your working directory. The format of the variables should be as follows:v0.19.0Compare Source
🔥 Breaking Changes
GitRepository.branch/GitRepository.tag/GitRepository.commitnow only accept valid branches/tags/commits by @jedevc in https://github.com/dagger/dagger/pull/11038GitRepository'swithAuthTokenandwithAuthHeaderare now no-ops by @jedevc in https://github.com/dagger/dagger/pull/11032Instead authentication should only be provided at the top-level
gitquery, since it's now queried immediately.Host.setSecretFilemethod by @jedevc in https://github.com/dagger/dagger/pull/11115Use the
file://secret provider instead.LocalCache.keepBytesfield by @jedevc in https://github.com/dagger/dagger/pull/11115Instead use the more specific
LocalCache.reservedSpace, which it was an alias for.Container.buildAPI by @jedevc in https://github.com/dagger/dagger/pull/11118Use
Directory.dockerBuildinstead.Added
engine.jsonby @matipan in https://github.com/dagger/dagger/pull/11040Fixed
What to do next?
v0.18.19Compare Source
Added
addressAPI: a unified address to load containers, directories, secrets, etc by @shykes in https://github.com/dagger/dagger/pull/10770Changeset.exportfunction to allow exporting changesets from the API by @jedevc in https://github.com/dagger/dagger/pull/11064Fixed
Directory.withFileswhich set the wrong path by @jedevc in https://github.com/dagger/dagger/pull/11087What to do next?
v0.18.18Compare Source
Added
EnvFiletype by @shykes in https://github.com/dagger/dagger/pull/10949~/.config/dagger/ca-certificatesto engine by @jedevc and @matipan in https://github.com/dagger/dagger/pull/11019Changesettype by @vito in https://github.com/dagger/dagger/pull/10946Directory.findUpperforms a find-up search in a directory snapshotHost.findUp(): performs a find-up search in the host filesystemFixed
originon git checkouts by @jedevc in https://github.com/dagger/dagger/pull/11031defaultPathvalues to contain/by @jedevc in https://github.com/dagger/dagger/pull/11048What to do next?
v0.18.17Compare Source
🔥 Breaking Changes
Automatically apply
.gitignorepatterns on directory loading for module call by @TomChv and @jedevc in https://github.com/dagger/dagger/pull/10883 \Add
NoGitAutoIgnoreargument toHost.Directoryto disable this behavior.Added
Host.containerImageAPI to load images from the host container image store by @jedevc in https://github.com/dagger/dagger/pull/10810Container.combinedAPI to get both standard output and standard error afterwithExecby @eunomie https://github.com/dagger/dagger/pull/10924GitRepository.urlAPI to get the fully resolved URL of a git repository by @jedevc in https://github.com/dagger/dagger/pull/10959Containers,Directorys and runningServicesby @jedevc in https://github.com/dagger/dagger/pull/10867.netrcfile by @jedevc in https://github.com/dagger/dagger/pull/10957Fixed
gitnow automatically determines the protocol when using a scheme-less URL (instead of defaulting tohttps://) by @jedevc in https://github.com/dagger/dagger/pull/10960What to do next?
v0.18.16Compare Source
What to do next?
v0.18.15Compare Source
Added
container.Existsanddirectory.ExistsAPI for testing if a file exists, and optionally type (e.g. file or directory) by @alexcb in https://github.com/dagger/dagger/pull/10449containerpodmannerdctlfinchgitRef.commonAncestorAPI to find the common ancestor between two references by @jedevc in https://github.com/dagger/dagger/pull/10849Fixed
httpandgitstdlib commands by @helderco in https://github.com/dagger/dagger/pull/10845includeDeprecatedarg by @jedevc in https://github.com/dagger/dagger/pull/10889Contributors
Special thanks to our external contributors this release!
What to do next?
v0.18.14Compare Source
Fixed a regression causing the LLM to see malformed non-string scalar responses.
What to do next?
v0.18.13Compare Source
Added
GitRepository.latestVersionfield to get a git ref of the latest semver tag by @jedevc in https://github.com/dagger/dagger/pull/10679Fixed
~), commonly used in Bitbucket Server for user-scoped repositories (e.g.,extranet.example.com/bitbucket/scm/~user/repo.git) by @grouville in https://github.com/dagger/dagger/pull/10692What to do next?
v0.18.12Compare Source
Changed
OrbStack users were by default ending up with a custom CA in their engine and automatically installed in each container, adding overhead. We now ignore that CA cert by default to improve performance in the default case.
Fixed
What to do next?
v0.18.11Compare Source
🔥 Breaking Changes
value) for SDKs that support enum members (see SDK-specific release notes).
This may break loading modules (including in compat mode) that were
previously setting enum default values in function signatures, if those values
weren't valid - these would only trigger an error on calling that function,
while now it's triggered during module initialization.
namespaceargument fromCacheVolumeby @sipsma in https://github.com/dagger/dagger/pull/10586This arg was only ever meant for internal usage within the API's
implementation, but previously couldn't be hidden from the public API. Now it
is properly internal-only and thus not accessible to external clients. Any use
of the arg should just be removed.
sweepengine option name tosweepSizeby @jedevc in https://github.com/dagger/dagger/pull/10560This option was previously incorrectly named - the docs were correct, but the
code was not properly updated.
Added
New top-level
cloudAPI for getting information about the dagger cloud session by @marcosnils in https://github.com/dagger/dagger/pull/10580This includes the
cloud.traceURLfield for getting the current trace URL.Allow
--no-mod/-Mflag in more places to disable automatic module loading by @jedevc in https://github.com/dagger/dagger/pull/10595Propagate exit codes properly in shell by @helderco in https://github.com/dagger/dagger/pull/10438
The
.exitbuiltin was added.The
.waitbuiltin now accepts a list of job ids to wait for. For example:The above example should exit with status code 1 because
.waitreturnsthe exit of the first command that failed. This is different from Bash
which returns the exit status of the last command in the list, even if
it succeeded when others have failed.
Add
httpAuthUsernameparameter togitto allow basic auth with usernames by @grouville in https://github.com/dagger/dagger/pull/10605Additionally this field is populated from the client's git credential helper,
similarly to passwords.
You can now set
$DAGGER_PROGRESSto configure your preferred progress format globally, instead of passing the--progressflag every time by @vito in https://github.com/dagger/dagger/pull/10617Added a new
dotsprogress format, which is a much quieter alternative toplainsuitable for use in CI by @vito in https://github.com/dagger/dagger/pull/10617This format focuses on printing logs and reduces everything else to just
green dots and red Xes for success/failure, similar to test runners like RSpec.
Demo
Changed
.help <module>by @helderco in https://github.com/dagger/dagger/pull/10487ExecErrorso you can see the stdout/stderr and exit code programmatically by @vito in https://github.com/dagger/dagger/pull/10585Fixed
In one scenario this reduced heap usage from 14GB to 7GB.
In the same scenario as the high log volume fix, this further reduced heap usage from 7GB to 1.4GB.
plainprogress format being way more verbose than intended by @vito in https://github.com/dagger/dagger/pull/10636Directory.withSymlinkaccidentally escaping from the selected sub-directory by @alexcb in https://github.com/dagger/dagger/pull/10563What to do next?
v0.18.10Compare Source
Added
Improved TUI progress visualizer by @vito in https://github.com/dagger/dagger/pull/10468
Added
Ehotkey in TUI for-E/--no-exitat runtime by @vito in https://github.com/dagger/dagger/pull/10511Add support for using engine-wide default GC policy when triggering manual local cache prunes by @sipsma in https://github.com/dagger/dagger/pull/10505
The manual prune API now supports an optional arg to enable honoring the engine-wide default automatic GC configuration. e.g.
dagger core engine local-cache prune --use-default-policy
New
container.WithSymlinkanddirectory.WithSymlinkAPI for creating symbolic links by @alexcb in https://github.com/dagger/dagger/pull/10435Unbundle the SDK interface to support partial implementation by @TomChv in https://github.com/dagger/dagger/pull/10525
When you implement a custom SDK, you can now choose to just implement part of the
SDKinterface depending on your needs.That means:
dagger developno longer fails if your SDK just implement theRuntimeinterface, it will simply not callCodegenif not defined.dagger callanddagger functionsgive a clear error message if it's not supported by the SDK.See https://github.com/dagger/dagger/issues/7707 for more information.
Fixed
Dependencies
What to do next?
v0.18.9Compare Source
Added
gc.sweepSizesetting forengine.jsonby @jedevc in https://github.com/dagger/dagger/pull/10420This setting allows controlling how much data to clear in a single GC sweep.
Changed
noCachearg toHost.directoryto auto reload contextual directories in persistent shell/prompt sessions by @cwlbraa in https://github.com/dagger/dagger/pull/10342Fixed
_prefix not being reserved for interpreter builtins by @helderco in https://github.com/dagger/dagger/pull/10452What to do next?
v0.18.8Compare Source
Fixed
What to do next?
v0.18.7Compare Source
Fixed
gitAPI calls consistently respect proxy settings by @jedevc in https://github.com/dagger/dagger/pull/10352Added
Query.httpby @jedevc in https://github.com/dagger/dagger/pull/10317nameallows overriding the filename to downloadpermissionsallows setting the permissions on the resulting fileauthHeaderallows passing a secret in theAuthorizationHTTP headerWhat to do next?
v0.18.6Compare Source
🔥 Breaking Changes
Cache URI-based secrets based on their plaintext value rather than the URI by @sipsma in https://github.com/dagger/dagger/pull/10311
Previously, the "cache key" for URI-based secrets (e.g.
env://FOO,file:///some/path, etc.) was the URI string. This meant that operations including the secret (e.g. as an environment variable in a Container) would be cached based on the URI value. If two secrets from different clients had the same URI but different plaintext values, cache for operations that include them would be shared.In many cases, even when URIs were the same, the plaintext of secrets could be meaningfully different, which made this behavior surprising and lead to unexpected results.
Now, URI-based secrets are cached based on secure hashes of their plaintext value. Two secrets that have the same URI but different plaintext values will be cached separately, and operations that include them will not share cache.
However, there are cases where users do want secrets with different plaintexts to share cache, e.g. secrets that rotate in plaintext value frequently but aren't meaningfully different and thus shouldn't bust the cache of operations that include them.
To continue supporting those use cases, there is a new optional
cacheKeyargument toSecretthat can be used to specify a custom cache key. If provided, the cache key will be used instead of the default plaintext-based cache key, allowing any secrets sharing that cache-key to be cached together.SDKs can provide this as an optional argument to the
Secretconstructor. Other example usages:dagger shell:
dagger shell -c "some-function --secret-arg $(secret env://FOO --cache-key my-cache-key)"dagger call (supports a special syntax that sets the cache key via a query param in the URI):
dagger call some-function --secret-arg env://FOO?cacheKey=my-cache-keyAdded
GitRepository.branchesAPI by @jedevc in https://github.com/dagger/dagger/pull/10250Filetop-level field added to allow easier creation ofFileobjects by @jedevc in https://github.com/dagger/dagger/pull/10290Fixed
GitRepository.tagspatternsarg is now respected for local git repositories by @jedevc in https://github.com/dagger/dagger/pull/10250dagger callby @helderco in https://github.com/dagger/dagger/pull/10305Container.buildwith a Dockerfile that isFROM scratchby @sipsma in https://github.com/dagger/dagger/pull/10332What to do next?
v0.18.5Compare Source
Added
deptharg toGitRef.treeto control the depth of a clone by @jedevc in https://github.com/dagger/dagger/pull/9980GitRef.reffield for resolving the full ref string for a reference by @jedevc in https://github.com/dagger/dagger/pull/9980Fixed
Git.treecheckouts by @jedevc in https://github.com/dagger/dagger/pull/9980withExecwhen secrets created bySetSecretin function calls are included by @sipsma in https://github.com/dagger/dagger/pull/10260What to do next?
v0.18.4Compare Source
Fixed
DirectoryandFileflags by @helderco in https://github.com/dagger/dagger/pull/10169CurrentModuleAPI during SDK module initialization by @sipsma in https://github.com/dagger/dagger/pull/10213llm.withModelfrom a module function by @sipsma in https://github.com/dagger/dagger/pull/10230.plaintexton a URI-based secret from a module w/ cache hit by @sipsma in https://github.com/dagger/dagger/pull/10223setSecretprovided empty plaintext value and passed between function calls by @sipsma in https://github.com/dagger/dagger/pull/10223Experimental
What to do next?
v0.18.3Compare Source
Added
--recursiveflag fordagger developby @jedevc in https://github.com/dagger/dagger/pull/9860Container.buildandDirectory.dockerBuildby @sipsma in https://github.com/dagger/dagger/pull/10088ttlfor local secret caching for vault by @rajatjindal in https://github.com/dagger/dagger/pull/9997Fixed
Experimental
What to do next?
v0.18.2Compare Source
Changed
with-execpositional arguments by @helderco in https://github.com/dagger/dagger/pull/10063Fixed
What to do next?
v0.18.1Compare Source
Added
addressAPI: a unified address to load containers, directories, secrets, etc by @shykes in https://github.com/dagger/dagger/pull/10770Changeset.exportfunction to allow exporting changesets from the API by @jedevc in https://github.com/dagger/dagger/pull/11064Fixed
Directory.withFileswhich set the wrong path by @jedevc in https://github.com/dagger/dagger/pull/11087What to do next?
v0.18.0Compare Source
Changed
Fixed
What to do next?
v0.17.2Compare Source
Added
Directory.filterAPI for improved ergonomics by @rajatjindal in https://github.com/dagger/dagger/pull/9976This was previously possible by doing
Query.directory.withDirectory("", dir), but this breaks the chain.Changed
What to do next?
v0.17.1Compare Source
dag.Llm. To fix, simply change todag.LLMWhat to do next?
v0.17.0Compare Source
Added
Stabilized Dagger Shell by @helderco in https://github.com/dagger/dagger/pull/9896
Find out more at https://docs.dagger.io/features/shell/
New top-level
LLMAPI to allow integrating LLMs with native Dagger types in https://github.com/dagger/dagger/pull/9628Find out more at https://docs.dagger.io/ai-agents/
Changed
/run/dagger/engine.sockby @sipsma in https://github.com/dagger/dagger/pull/9866The previous socket path still exists for backwards compatibility but may be removed in a future version.
Directory.globandDirectory.entriesnow return a trailing slash to distinguish from regular files by @jedevc in https://github.com/dagger/dagger/pull/9118What to do next?
v0.16.3Compare Source
Added
Directory.asGitAPI for converting a directory into a git repository by @jedevc in https://github.com/dagger/dagger/pull/9730dagger callforGitRepositoryandGitReftypes by @jedevc in https://github.com/dagger/dagger/pull/9844Container.asTarballby @jedevc in https://github.com/dagger/dagger/pull/9395Changed
Dependencies
What to do next?
v0.16.2Compare Source
Added
Directory.namefield to retrieve current directory name by @TomChv in https://github.com/dagger/dagger/pull/9617Fixed
dagger callordagger functionscalled in directory with no modules - it now errors cleanly by @sipsma in https://github.com/dagger/dagger/pull/9658dagger.jsonby @sipsma in https://github.com/dagger/dagger/pull/9659Dependencies
What to do next?
v0.16.1Compare Source
Fixed
cannot sub-select 1th item from *dagql.PostCallTypedby @sipsma in https://github.com/dagger/dagger/pull/9634What to do next?
v0.16.0Compare Source
🔥 Breaking Changes
To match automatic configuration,
insecure-entitlementsnow includessecurity.insecurewhen configuring the engine manually by @jedevc in https://github.com/dagger/dagger/pull/9513Module load performance is improved and related API refactored by @sipsma in https://github.com/dagger/dagger/pull/9505
Loading of modules (the
load modulestep shown in progress output) is faster now in many cases. In particular:Users of modules with large numbers of dependencies or in large git repositories are expected to see the most immediate benefit.
For some concrete numbers, here are
load moduletimes for thedagger-dev's module in Dagger's repository under different scenarios:dagger call --helpon new engines with an empty cachedagger call --helpwith no file changes in the repo:dagger call --helpafter making a change to a random source code file in the repo:These improvements in cache utilization are also setup for future improvements not only in
load moduletimes but function call times more generally.This improvement comes with a few breaking changes that are not expected to impact most users. However, the changes require that users upgrade their CLI to v0.16.0 in order to connect to v0.16.0 engines. Older CLIs will error when connecting to newer engines.
In terms of the breaking changes, impacted users are those who:
They may need to update their dagger.json configuration file to add an explicit
"include"setting to ensure those extra files or directories are loaded with the module. This is because numerous files previously implicitly loaded are now skipped by default, which contributes to the performance improvements.For example, if your module code is in
.daggerand relies on thego.modfile in the parent directory, you would add the following to yourdagger.jsonfile:The values in the
"include"array are relative to the directory containingdagger.json. They can be also be glob patterns (e.g."**/*.txt"). To explicitly exclude some files matched by a previous include pattern, you can prepend the include pattern with a!character (e.g."!**/foo.txt").excludesetting existed but has now been superseded by prefixing an include pattern with a!character. However, this is backwards-compatible, so existingexcludesettings will be automatically turned into equivalent!-prefixed include settings when runningdagger develop. No user intervention is needed.The core API's
ModuleSourceandModuletypes have also undergone some cleanup that includes breaking changes. Most users do not interact with these APIs, but any that do may need some minor adjustments to their code. In particular:Module.initializeno longer needs to be called; the module is initialized on creationResolveFromCallerno longer needs to be called for local module sources; context is automatically loaded and resolved efficiently as needed by other API callsAdded
dag.Hostoperations by @jedevc in https://github.com/dagger/dagger/pull/9610What to do next?
v0.15.4Compare Source
Added
dagger.jsonsdkfield tosdk.sourceby @rajatjindal in https://github.com/dagger/dagger/pull/9454Fixed
What to do next?
v0.15.3Compare Source
Added
Note: the precision of float is limited to float64 inside the engine.
Fixed
Container.WithFilesby @jedevc in https://github.com/dagger/dagger/pull/9457Dependencies
What to do next?
v0.15.2Compare Source
Added
dagger updatecommand to update dependencies indagger.jsonby @rajatjindal in https://github.com/dagger/dagger/pull/8839$schemaproperty indagger.jsonby @JacobLey in https://github.com/dagger/dagger/pull/9069Changed
CacheVolumesare now namespaced between different modules by @rajatjindal in https://github.com/dagger/dagger/pull/8724CACHEDoperations for--progress=plainoutput by @marcosnils in https://github.com/dagger/dagger/pull/9344Fixed
AsServiceby @marcosnils in https://github.com/dagger/dagger/pull/9247Container.terminalby @jedevc in https://github.com/dagger/dagger/pull/9338Container.upbehaves as identically as possible toContainer.AsService.upby @jedevc in https://github.com/dagger/dagger/pull/9231dagger installalways inserts dependencies in the right order by @jedevc in https://github.com/dagger/dagger/pull/9052What to do next?
v0.15.1Compare Source
Fixed
What to do next?
v0.13.7Added
expectarg forContainer.withExecby @jedevc in https://github.com/dagger/dagger/pull/8466This enum arg allows specifying valid return statuses for which the command
can return without failing immediately.
Container.exitCodefield to get the exit code of the lastwithExecby @jedevc in https://github.com/dagger/dagger/pull/8466Changed
The new policies attempt to co-operate with other applications using the disk
and will adjust its cache usage accordingly.
Previously, when a function chain in
dagger callended in an object, we'dprint all functions that return a simple value and don't have any arguments.
Now, only object fields will be included, not all functions.
Fixed
withExecs using theExperimentalPrivilegedNestingflag by @sipsma in https://github.com/dagger/dagger/pull/8776What to do next?
v0.11.9Compare Source
Fixed
What to do next?
v0.9.8Compare Source
🔥 Breaking Changes
Added
What to do next?
v0.3.3Compare Source
v0.3.2Compare Source
v0.3.1Compare Source
v0.3.0Compare Source
v0.2.22Compare Source
Changelog
Changes
286d86d: Fix regression when printing 0.1 compat error msg (@marcosnils)5213e0d: Manually flush events in case of exiting without returning from (@marcosnils)c423fcd: Send telemetry event when plan does not evaluate (@marcosnils)0ce2907: feat(universe): add codecov uploader to alpha (@sagikazarmark)455e318: feat: add python aws cdk package (@Butterneck)5b27724: feat: add support for HTTP, HTTPS proxy (@samalba)a855c66: feat: restore code to generate docs from a package name (@samalba)49956f4: feat: restore doc generation for the whole library + index (@samalba)33bf208: feat: support parsing and providing Pulumi outputs as secret (#2745) (@rawkode)3e5f13a: fix: prevent auth panic and handle auth race condition (@marcosnils)f640234: universe: bash: #RunSimple (@shykes)Full Changelog: https://github.com/dagger/dagger/compare/v0.2.21...v0.2.22
What to do next?
v0.2.21Compare Source
Changelog
Changes
a54b635: Add a possible configuration to use dagger in TravisCi (@jjuarez)0b24557: Avoid to make more complex the build command adding the cache stuff (@jjuarez)7be1a51: Change to follow the style in the original guide (@jjuarez)d456665: Effectively use embedding (@Butterneck)7404748: Fixes a markdown issue (@)d3796b8: Fixes a somekind of markdown issue (@)2e707d2: [Docs] Categories UI improvement (@crjm)f0b86d6: [Docs] Fix hyperlinks rendering inside admonitions (@crjm)9bc90e2: enforce configuration mount (@Butterneck)d958b46: feat: add support for aws sso credentials and container credentials relative (@Butterneck)3127b4a: fix: Correct case for private definition per style (#2691) (@jpadams)2b1ad9d: fix: Correct case for private definition per style (#2691) (@jpadams)2d6cd10: fix: Correct docs routes (@jpadams)5e04ea5: fix: redirect better visually (@jpadams)08c9f60: fix: visual fix (@)992fe08: print Dagger Cloud URL when starting plan (@marcosnils)ccf81d7: revert useless image configurations (@Butterneck)bc64ebc: universe: php: composer: Allow container to accept a docker.#image (@rob-vanderlee-jvs)07c5397: universe: php: composer: Formatted code (@rob-vanderlee-jvs)7b40538: universe: php: composer: Make image and repository configurable (@rob-vanderlee-jvs)3355703: universe: php: composer: Pulled apart image and container to seperate file and made package more extensible (@rob-vanderlee-jvs)d95417a: universe: php: composer: Removed string as argument for repository (@rob-vanderlee-jvs)386d74a: universe: php: composer: Use env directly and restructure output to be one entry (@rob-vanderlee-jvs)Full Changelog: https://github.com/dagger/dagger/compare/v0.2.20...v0.2.21
What to do next?
dagger/dagger-go-sdk (dagger.io/dagger)
v0.19.7Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.19.7. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.19.7
Dependencies
What to do next
v0.19.6Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.19.6. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.19.6
Dependencies
Contributors
Special thanks to our external contributors this release!
What to do next
v0.19.5Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.19.5. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.19.5
Dependencies
Contributors
Special thanks to our external contributors this release!
What to do next
v0.19.4Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.19.4. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.19.4
Dependencies
Contributors
Special thanks to our external contributors this release!
What to do next
v0.19.3Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.19.3. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.19.3
Dependencies
What to do next
v0.19.2Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.19.2. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.19.2
Dependencies
What to do next
v0.19.1Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.19.1. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.19.1
Dependencies
What to do next
v0.19.0Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.19.0. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.19.0
Dependencies
What to do next
v0.18.19Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.18.19. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.18.19
Dependencies
What to do next
v0.18.18Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.18.18. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.18.18
Dependencies
What to do next
v0.18.17Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.18.17. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.18.17
Dependencies
What to do next
v0.18.16Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.18.16. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.18.16
Dependencies
What to do next
v0.18.15Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.18.15. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.18.15
Dependencies
What to do next
v0.18.14Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.18.14. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.18.14
Dependencies
What to do next
v0.18.13Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.18.13. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.18.13
Dependencies
What to do next
v0.18.12Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.18.12. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.18.12
Dependencies
What to do next
v0.18.11Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.18.11. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.18.11
Added
ignoreby @jedevc in https://github.com/dagger/dagger/pull/10594Dependencies
What to do next
v0.18.10Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.18.10. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.18.10
Dependencies
What to do next
v0.18.9Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.18.9. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.18.9
Dependencies
What to do next
v0.18.8Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.18.8. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.18.8
Dependencies
What to do next
v0.18.7Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.18.7. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.18.7
Dependencies
What to do next
v0.18.6Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.18.6. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.18.6
Dependencies
What to do next
v0.18.5Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.18.5. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.18.5
Dependencies
What to do next
v0.18.4Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.18.4. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.18.4
Added
Dependencies
What to do next
v0.18.3Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.18.3. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.18.3
Dependencies
What to do next
v0.18.2Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.18.2. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.18.2
Dependencies
What to do next
v0.18.1Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.18.19. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.18.19
Dependencies
What to do next
v0.18.0Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.18.0. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.18.0
Dependencies
What to do next
v0.17.2Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.17.2. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.17.2
Dependencies
What to do next
v0.17.1Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.17.1. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.17.1
Dependencies
What to do next
v0.17.0Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.17.0. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.17.0
Added
sdk.config.goprivatesetting indagger.jsonfor go modules by @rajatjindal in https://github.com/dagger/dagger/pull/9323This setting allows configuring the
GOPRIVATEenv var in the context of building+running the module code, so that private dependencies can be loaded.insteadOfdirectives into go module runtime by @rajatjindal in https://github.com/dagger/dagger/pull/9323In combination with
goprivate, this can be used to load private dependencies.Dependencies
What to do next
v0.16.3Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.16.3. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.16.3
Dependencies
What to do next
v0.16.2Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.16.2. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.16.2
Dependencies
What to do next
v0.16.1Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.16.1. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.16.1
Dependencies
What to do next
v0.16.0Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.16.0. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.16.0
Dependencies
What to do next
v0.15.4Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.15.4. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.15.4
Dependencies
What to do next
v0.15.3Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.15.3. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.15.3
Dependencies
What to do next
v0.15.2Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.15.2. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.15.2
Dependencies
What to do next
v0.15.1Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.15.1. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.15.1
Dependencies
What to do next
v0.15.0Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.15.0. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.15.0
🔥 Breaking Changes
Enum values must now be accessed with the name prefixed by the name of the
enum type - for example,
dagger.Sharedbecomesdagger.CacheSharingModeLocked.ExecErr.Errorno longer contains the values ofStdoutorStderrby @vito in https://github.com/dagger/dagger/pull/9033When comparing error values for expected output, use the more specific values.
Dependencies
What to do next
v0.14.0Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.14.0. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.14.0
Dependencies
What to do next
v0.13.7Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.13.7. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.13.7
Changed
Enum values should now be accessed with the name prefixed by the name of the
enum type - for example,
dagger.Sharedshould becomedagger.CacheSharingModeLocked.Dependencies
What to do next
v0.13.6Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.13.6. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.13.6
Dependencies
What to do next
v0.13.5Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.13.5. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.13.5
Dependencies
What to do next
v0.13.4Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.13.4. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.13.4
Dependencies
What to do next
v0.13.3Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.13.3. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.13.3
Dependencies
What to do next
v0.13.2Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.13.2. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.13.2
Dependencies
What to do next
v0.13.1Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.13.1. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.13.1
Dependencies
What to do next
v0.13.0Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.13.0. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.13.0
🔥 Breaking Changes
If there's a Module dependency that has a non-null Function argument with a default value,
it will change from required to optional, in the generated client bindings.
Dependencies
What to do next
v0.12.7Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.12.7. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.12.7
Dependencies
What to do next
v0.12.6Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.12.6. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.12.6
Fixed
This previously could result in function argument doc-strings not being
correctly found, and would interferet st with pragma parsing (e.g.
// +optionaland
// +default).Dependencies
This allows using go 1.23 in modules.
What to do next
v0.12.5Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.12.5. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.12.5
What to do next
v0.12.4Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.12.4. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.12.4
What to do next
v0.12.3Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.12.3. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.12.3
Dependencies
What to do next
v0.12.2Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.12.2. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.12.2
Dependencies
What to do next
v0.12.1Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.12.1. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.12.1
Dependencies
What to do next
v0.12.0Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.12.0. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.12.0
🔥 Breaking Changes
Voidby @helderco in https://github.com/dagger/dagger/pull/7773Modules must now use
*dagger.Container(and similar) instead of*Containerdirectly.Dependencies
What to do next
v0.11.9Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.11.9. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.11.9
Dependencies
What to do next
v0.11.8This SDK uses 🚙 Engine + 🚗 CLI version
v0.11.8. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.11.8
Dependencies
What to do next
v0.11.6Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.11.6. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.11.6
Dependencies
What to do next
v0.11.5Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.11.5. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.11.5
Dependencies
What to do next
v0.11.4Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.11.4. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.11.4
Dependencies
What to do next
v0.11.3Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.11.3. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.11.3
Fixed
Dependencies
What to do next
v0.11.2Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.11.2. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.11.2
Fixed
Dependencies
What to do next
v0.11.1Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.11.1. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.11.1
Fixed
internal/telemetrydirectory to generated.gitignorefiles by @yann-soubeyrand in https://github.com/dagger/dagger/issues/7019Dependencies
What to do next
v0.11.0Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.11.0. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.11.0
Dependencies
What to do next
v0.10.3Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.10.3. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.10.3
Dependencies
What to do next
v0.10.2Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.10.2. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.10.2
Dependencies
What to do next
v0.10.1Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.10.1. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.10.1
Dependencies
What to do next
v0.10.0Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.10.0. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.10.0
Dependencies
What to do next
v0.9.11Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.9.11. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.9.11
Dependencies
What to do next
v0.9.10Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.9.10. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.9.10
Dependencies
What to do next
v0.9.9Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.9.9. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.9.9
Dependencies
What to do next
v0.9.8Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.9.8. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.9.8
Dependencies
What to do next
v0.9.7Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.9.7. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.9.7
Dependencies
What to do next
v0.9.6Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.9.6. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.9.6
Added
Dependencies
What to do next
v0.9.5Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.9.5. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.9.5
Dependencies
What to do next
v0.9.4Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.9.4. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.9.4
Dependencies
What to do next
v0.9.3Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.9.3. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.9.3
Dependencies
What to do next
v0.9.2Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.9.2. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.9.2
Dependencies
What to do next
v0.9.1Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.9.11. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.9.11
Dependencies
What to do next
v0.9.0Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.9.0. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.9.0
🔥 Breaking Changes
Dependencies
What to do next
v0.8.8Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.8.8. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.8.8
Dependencies
What to do next
v0.8.7Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.8.7. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.8.7
Dependencies
What to do next
v0.8.6Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.8.6. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.8.6
Fixed
Dependencies
What to do next
v0.8.5Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.8.5. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.8.5
Dependencies
What to do next
v0.8.4Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.8.4. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.8.4
Dependencies
What to do next
v0.8.3Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.8.3. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.8.3
Dependencies
What to do next
v0.8.2Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.8.2. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.8.2
Fixed
~to home when using custom CLI path by @wingyplus in https://github.com/dagger/dagger/pull/5555Dependencies
What to do next
v0.8.1Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.8.1. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.8.1
Dependencies
What to do next
v0.8.0Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.8.0. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.8.0
Added
Dependencies
What to do next
v0.7.4Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.6.4. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.7.4
Added
Withmethod to more types by @helderco in https://github.com/dagger/dagger/pull/5447Dependencies
What to do next
v0.7.3Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version
v0.6.3. See what changed in that release.🐹 https://pkg.go.dev/dagger.io/dagger@v0.7.3
Dependencies
What to do next
v0.7.2Compare Source
v0.7.1Compare Source
v0.7.0Compare Source
v0.6.3Compare Source
v0.6.2Compare Source
v0.6.1Compare Source
kjuulh/shuttle (github.com/kjuulh/shuttle)
v0.2.0Compare Source
rust-lang/regex (regex)
v1.12.2Compare Source
===================
This release fixes a
cargo docbreakage on nightly when--cfg docsrsisenabled. This caused documentation to fail to build on docs.rs.
Bug fixes:
Switches the
doc_auto_cfgfeature todoc_cfgon nightly for docs.rs builds.v1.12.1Compare Source
===================
This release makes a bug fix in the new
regex::Captures::get_matchAPIintroduced in
1.12.0. There was an oversight with the lifetime parameterfor the
Matchreturned. This is technically a breaking change, but giventhat it was caught almost immediately and I've yanked the
1.12.0release,I think this is fine.
v1.12.0Compare Source
===================
This release contains a smattering of bug fixes, a fix for excessive memory
consumption in some cases and a new
regex::Captures::get_matchAPI.Improvements:
Add
Capture::get_matchfor returning the overall match withoutunwrap().Bug fixes:
Fixes a panic in the lazy DFA (can only occur for especially large regexes).
Fixes a memory usage regression for large regexes (introduced in
regex 1.9).Fix universal start states in sparse DFA.
Fixes a panic when deserializing a corrupted dense DFA.
Make
regex_automata::meta::Regex::findconsistently returnNonewhenWhichCaptures::Noneis used.v1.11.3Compare Source
===================
This is a small patch release with an improvement in memory usage in some
cases.
Improvements:
Improve memory usage by trimming excess memory capacity in some spots.
v1.11.2Compare Source
===================
This is a new patch release of
regexwith some minor fixes. A larger numberof typo or lint fix patches were merged. Also, we now finally recommend using
std::sync::LazyLock.Improvements:
Switch recommendation from
once_celltostd::sync::LazyLock.Add
DFA::set_prefiltertoregex-automata.Bug fixes:
Remove
stddependency fromperf-literal-multisubstringcrate feature.Clarify the meaning of
(?R)$in the documentation.Remove
fuzz/andrecord/directories from published crate on crates.io.v1.11.1Compare Source
===================
This is a new patch release of
regexthat fixes compilation on nightlyRust when the unstable
patterncrate feature is enabled. Users on nightlyRust without this feature enabled are unaffected.
Bug fixes:
Fix the
Patterntrait implementation as a result of nightly API breakage.v1.11.0Compare Source
===================
This is a new minor release of
regexthat brings in an update to theUnicode Character Database. Specifically, this updates the Unicode data
used by
regexinternally to the version 16 release.New features:
Add new
regex::SetMatches::matched_allmethod.Update to Unicode Character Database (UCD) version 16.
v1.10.6Compare Source
===================
This is a new patch release with a fix for the
unstablecrate feature thatenables
std::str::Patterntrait integration.Bug fixes:
Fix the
Patterntrait implementation as a result of nightly API breakage.v1.10.5Compare Source
===================
This is a new patch release with some minor fixes.
Bug fixes:
Escape invalid UTF-8 when in the
Debugimpl ofregex::bytes::Match.v1.10.4Compare Source
===================
This is a new patch release with some minor fixes.
Fixes a bug with compiling a reverse NFA automaton in
regex-automata.Clarifies that when
Cow::Borrowedis returned from replace APIs, it isequivalent to the input.
v1.10.3Compare Source
===================
This is a new patch release that fixes the feature configuration of optional
dependencies, and fixes an unsound use of bounds check elision.
Bug fixes:
Set
default-features=falsefor thememchrandaho-corasickdependencies.Fix unsound bounds check elision.
v1.10.2Compare Source
===================
This is a new patch release that fixes a search regression where incorrect
matches could be reported.
Bug fixes:
Revert broadening of reverse suffix literal optimization introduced in 1.10.1.
v1.10.1Compare Source
===================
This is a new patch release with a minor increase in the number of valid
patterns and a broadening of some literal optimizations.
New features:
Loosen ASCII-compatible rules such that regexes like
(?-u:☃)are now allowed.Performance improvements:
Broader the reverse suffix optimization to apply in more cases.
v1.10.0Compare Source
===================
This is a new minor release of
regexthat adds support for start and endword boundary assertions. That is,
\<and\>. The minimum supported Rustversion has also been raised to 1.65, which was released about one year ago.
The new word boundary assertions are:
\<or\b{start}: a Unicode start-of-word boundary (\W|\Aon the left,\won the right).\>or\b{end}: a Unicode end-of-word boundary (\won the left,\W|\zon the right).
\b{start-half}: half of a Unicode start-of-word boundary (\W|\Aon theleft).
\b{end-half}: half of a Unicode end-of-word boundary (\W|\zon theright).
The
\<and\>are GNU extensions to POSIX regexes. They have been addedto the
regexcrate because they enjoy somewhat broad support in other regexengines as well (for example, vim). The
\b{start}and\b{end}assertionsare aliases for
\<and\>, respectively.The
\b{start-half}and\b{end-half}assertions are not found in anyother regex engine (although regex engines with general look-around support
can certainly express them). They were added principally to support the
implementation of word matching in grep programs, where one generally wants to
be a bit more flexible in what is considered a word boundary.
New features:
Add support for
\<and\>word boundary assertions.DFAs now have a
start_statemethod that doesn't use anInput.Performance improvements:
Unicode character class operations have been optimized in
regex-syntax.Make patterns containing lots of literal characters use less memory.
Bug fixes:
Fix a bug that could result in incorrect match spans when using a Unicode word
boundary and searching non-ASCII strings.
Fix panics that can occur in
Ast->Hirtranslation (not reachable fromregexcrate).
Remove guarantees in the API that connect the
uflag with a specific HIRrepresentation.
regex-automatabreaking change release:This release includes a
regex-automata 0.4.0breaking change release, whichwas necessary in order to support the new word boundary assertions. For
example, the
Lookenum has new variants and theLookSettype now usesu32instead of
u16to represent a bitset of look-around assertions. These areoverall very minor changes, and most users of
regex-automatashould be ableto move to
0.4from0.3without any changes at all.regex-syntaxbreaking change release:This release also includes a
regex-syntax 0.8.0breaking change release,which, like
regex-automata, was necessary in order to support the new wordboundary assertions. This release also includes some changes to the
Asttype to reduce heap usage in some cases. If you are using the
Asttypedirectly, your code may require some minor modifications. Otherwise, users of
regex-syntax 0.7should be able to migrate to0.8without any code changes.regex-literelease:The
regex-lite 0.1.1release contains support for the new word boundaryassertions. There are no breaking changes.
v1.9.6Compare Source
==================
This is a patch release that fixes a panic that can occur when the default
regex size limit is increased to a large number.
Fix a bug where computing the maximum haystack length for the bounded
backtracker could result underflow and thus provoke a panic later in a search
due to a broken invariant.
v1.9.5Compare Source
==================
This is a patch release that hopefully mostly fixes a performance bug that
occurs when sharing a regex across multiple threads.
Issue #934
explains this in more detail. It is also noted in the crate
documentation.
The bug can appear when sharing a regex across multiple threads simultaneously,
as might be the case when using a regex from a
OnceLock,lazy_staticorsimilar primitive. Usually high contention only results when using many threads
to execute searches on small haystacks.
One can avoid the contention problem entirely through one of two methods.
The first is to use lower level APIs from
regex-automatathat require passingstate explicitly, such as
meta::Regex::search_with.The second is to clone a regex and send it to other threads explicitly. This
will not use any additional memory usage compared to sharing the regex. The
only downside of this approach is that it may be less convenient, for example,
it won't work with things like
OnceLockorlazy_staticoronce_cell.With that said, as of this release, the contention performance problems have
been greatly reduced. This was achieved by changing the free-list so that it
was sharded across threads, and that ensuring each sharded mutex occupies a
single cache line to mitigate false sharing. So while contention may still
impact performance in some cases, it should be a lot better now.
Because of the changes to how the free-list works, please report any issues you
find with this release. That not only includes search time regressions but also
significant regressions in memory usage. Reporting improvements is also welcome
as well! If possible, provide a reproduction.
Bug fixes:
Fix a performance bug where high contention on a single regex led to massive
slow-downs.
v1.9.4Compare Source
==================
This is a patch release that fixes a bug where
RegexSet::is_match(..)couldincorrectly return false (even when
RegexSet::matches(..).matched_any()returns true).
Bug fixes:
Fix a bug where a prefilter was incorrectly configured for a
RegexSet.v1.9.3Compare Source
==================
This is a patch release that fixes a bug where some searches could result in
incorrect match offsets being reported. It is difficult to characterize the
types of regexes susceptible to this bug. They generally involve patterns
that contain no prefix or suffix literals, but have an inner literal along with
a regex prefix that can conditionally match.
Bug fixes:
Fix a bug with the reverse inner literal optimization reporting incorrect match
offsets.
v1.9.2Compare Source
==================
This is a patch release that fixes another memory usage regression. This
particular regression occurred only when using a
RegexSet. In some cases,much more heap memory (by one or two orders of magnitude) was allocated than in
versions prior to 1.9.0.
Bug fixes:
Fix a memory usage regression when using a
RegexSet.v1.9.1Compare Source
==================
This is a patch release which fixes a memory usage regression. In the regex
1.9 release, one of the internal engines used a more aggressive allocation
strategy than what was done previously. This patch release reverts to the
prior on-demand strategy.
Bug fixes:
Change the allocation strategy for the backtracker to be less aggressive.
v1.9.0Compare Source
==================
This release marks the end of a years long rewrite of the regex crate
internals. Since this is
such a big release, please report any issues or regressions you find. We would
also love to hear about improvements as well.
In addition to many internal improvements that should hopefully result in
"my regex searches are faster," there have also been a few API additions:
Captures::extractmethod for quickly accessing the substringsthat match each capture group in a regex.
R, which enables CRLF mode. This makes.match anyUnicode scalar value except for
\rand\n, and also makes(?m:^)and(?m:$)match after and before both\rand\n, respectively, but neverbetween a
\rand\n.RegexBuilder::line_terminatorwas added to further customize the lineterminator used by
(?m:^)and(?m:$)to be any arbitrary byte.stdCargo feature is now actually optional. That is, theregexcratecan be used without the standard library.
regex 1.9may make binary size and compile times even worse, anew experimental crate called
regex-litehas been published. It prioritizesbinary size and compile times over functionality (like Unicode) and
performance. It shares no code with the
regexcrate.New features:
One can opt into CRLF mode via the
Rflag.e.g.,
(?mR:$)matches just before\r\n.Multi-pattern searches with offsets can be done with
regex-automata 0.3.stdis now an optional feature.regexmay be used with onlyalloc.RegexBuilder::line_terminatorconfigures how(?m:^)and(?m:$)behave.Anchored search APIs are now available in
regex-automata 0.3.Add new
Captures::extractmethod for easier capture group access.Add
regex-litecrate with smaller binary sizes and faster compile times.Add
TryFromimplementations for theRegextype.Performance improvements:
Added a one-pass DFA engine for faster capture group matching.
Inner literals are now used to accelerate searches, e.g.,
\w+@​\w+will scanfor
@.PERF #891:
Makes literal optimizations apply to regexes of the form
\b(foo|bar|quux)\b.(There are many more performance improvements as well, but not all of them have
specific issues devoted to them.)
Bug fixes:
Fix matching bugs related to
\Band inconsistencies across internal engines.Fix matching bug with capture groups.
Fix matching bug with word boundaries.
Fix bug where some regexes like
(re)+were not equivalent to(re)(re)*.Fix matching bug inconsistency between NFA and DFA engines.
Fix matching bug where literal extraction got confused by
$.Add documentation to replacement routines about dealing with fallibility.
Use corpus rejection in fuzz testing.
v1.8.4Compare Source
==================
This is a patch release that fixes a bug where
(?-u:\B)was allowed inUnicode regexes, despite the fact that the current matching engines can report
match offsets between the code units of a single UTF-8 encoded codepoint. That
in turn means that match offsets that split a codepoint could be reported,
which in turn results in panicking when one uses them to slice a
&str.This bug occurred in the transition to
regex 1.8because the underlyingsyntactical error that prevented this regex from compiling was intentionally
removed. That's because
(?-u:\B)will be permitted in Unicode regexes inregex 1.9, but the matching engines will guarantee to never report matchoffsets that split a codepoint. When the underlying syntactical error was
removed, no code was added to ensure that
(?-u:\B)didn't compile in theregex 1.8transition release. This release,regex 1.8.4, adds that codesuch that
Regex::new(r"(?-u:\B)")returns to theregex <1.8behavior ofnot compiling. (A
bytes::Regexcan still of course compile it.)Bug fixes:
Fix a bug where
(?-u:\B)was allowed in Unicode regexes, and in turn couldlead to match offsets that split a codepoint in
&str.v1.8.3Compare Source
==================
This is a patch release that fixes a bug where the regex would report a
match at every position even when it shouldn't. This could occur in a very
small subset of regexes, usually an alternation of simple literals that
have particular properties. (See the issue linked below for a more precise
description.)
Bug fixes:
Fix a bug where a match at every position is erroneously reported.
v1.8.2Compare Source
==================
This is a patch release that fixes a bug where regex compilation could panic
in debug mode for regexes with large counted repetitions. For example,
a{2147483516}{2147483416}{5}resulted in an integer overflow that wrappedin release mode but panicking in debug mode. Despite the unintended wrapping
arithmetic in release mode, it didn't cause any other logical bugs since the
errant code was for new analysis that wasn't used yet.
Bug fixes:
Fix a bug where regex compilation with large counted repetitions could panic.
v1.8.1Compare Source
==================
This is a patch release that fixes a bug where a regex match could be reported
where none was found. Specifically, the bug occurs when a pattern contains some
literal prefixes that could be extracted and an optional word boundary in the
prefix.
Bug fixes:
Fix a bug where a word boundary could interact with prefix literal
optimizations and lead to a false positive match.
v1.8.0Compare Source
==================
This is a sizeable release that will be soon followed by another sizeable
release. Both of them will combined close over 40 existing issues and PRs.
This first release, despite its size, essentially represents preparatory work
for the second release, which will be even bigger. Namely, this release:
aho-corasickto the recently released 1.0version.
regex-syntaxto the simultaneously released0.7version. The changes toregex-syntaxprincipally revolve around arewrite of its literal extraction code and a number of simplifications and
optimizations to its high-level intermediate representation (HIR).
The second release, which will follow ~shortly after the release above, will
contain a soup-to-nuts rewrite of every regex engine. This will be done by
bringing
regex-automataintothis repository, and then changing the
regexcrate to be nothing but an APIshim layer on top of
regex-automata's API.These tandem releases are the culmination of about 3
years of on-and-off work that began in earnest in March
2020.
Because of the scale of changes involved in these releases, I would love to
hear about your experience. Especially if you notice undocumented changes in
behavior or performance changes (positive or negative).
Most changes in the first release are listed below. For more details, please
see the commit log, which reflects a linear and decently documented history
of all changes.
New features:
Permit many more characters to be escaped, even if they have no significance.
More specifically, any ASCII character except for
[0-9A-Za-z<>]can now beescaped. Also, a new routine,
is_escapeable_character, has been added toregex-syntaxto query whether a character is escapable or not.Add
Regex::captures_at. This fills a hole in the API, but doesn't otherwiseintroduce any new expressive power.
Capture group names are now Unicode-aware. They can now begin with either a
_or any "alphabetic" codepoint. After the first codepoint, subsequent codepoints
can be any sequence of alphanumeric codepoints, along with
_,.,[and]. Note that replacement syntax has not changed.Add
Match::is_emptyandMatch::lenAPIs.Add an
impl Default for RegexSet, with the default being the empty set.A new method,
Regex::static_captures_len, has been added which returns thenumber of capture groups in the pattern if and only if every possible match
always contains the same number of matching groups.
Named captures can now be written as
(?<name>re)in addition to(?P<name>re).regex-syntaxnow supports empty character classes.regex-syntaxnow has an optionalstdfeature. (This will cometo
regexin the second release.)Hirtype inregex-syntaxhas had a number of simplificationsmade to it.
regex-syntaxhas support for a newRflag for enabling CRLFmode. This will be supported in
regexproper in the second release.regex-syntaxnow has proper support for "regex that nevermatches" via
Hir::fail().hir::literalmodule ofregex-syntaxhas been completelyre-worked. It now has more documentation, examples and advice.
allow_invalid_utf8option inregex-syntaxhas been renamedto
utf8, and the meaning of the boolean has been flipped.Performance improvements:
aho-corasick 1.0may improve performance in somecases. It's difficult to characterize exactly which patterns this might impact,
but if there are a small number of longish (>= 4 bytes) prefix literals, then
it might be faster than before.
Bug fixes:
Improve
Debugimpl forMatchso that it doesn't show the entire haystack.#731:
Fix a number of issues with printing
Hirvalues as regex patterns.Add explicit example of
foo|barin the regex syntax docs.Clarify that
SetMatches::lendoes not (regrettably) refer to the number ofmatches in the set.
Clarify "verbose mode" in regex syntax documentation.
#950:
Fix
CaptureLocations::getso that it never panics.Clarify documentation for
Regex::shortest_match.Fix
\p{Sc}so that it is equivalent to\p{Currency_Symbol}.Add more clarifying documentation to the
CompiledTooBigerror variant.Clarify that
regex::Regexsearches as if the haystack is a sequence ofUnicode scalar values.
Replace
__Nonexhaustivevariants with#[non_exhaustive]attribute.Optimize case folding since it can get quite slow in some pathological cases.
Reject
(?-u:\W)inregex::RegexAPIs.Add a missing
voidkeyword to indicate "no parameters" in C API.Fix
\p{Lc}so that it is equivalent to\p{Cased_Letter}.Clarify documentation for
\pXsyntax.seanmonstar/reqwest (reqwest)
v0.12.24Compare Source
v0.12.23Compare Source
ClientBuilder::unix_socket(path)option that will force all requests over that Unix Domain Socket.ClientBuilder::retry(policy)andreqwest::retry::Builderto configure automatic retries.ClientBuilder::dns_resolver2()with more ergonomic argument bounds, allowing more resolver implementations.http3_*options toblocking::ClientBuilder.RequestBuilder.v0.12.22Compare Source
v0.12.21Compare Source
socks4a://instead ofsocks4h://.Error::is_timeout()to check for hyper and IO timeouts too.Errorto again include URLs when possible.DefaultforBody.v0.12.20Compare Source
ClientBuilder::tcp_user_timeout(Duration)option to setTCP_USER_TIMEOUT.Error::is_status().v0.12.19Compare Source
cookiesfeature is enabled (by the way, it's a noop feature in wasm).v0.12.18Compare Source
socksenabled without TLS.v0.12.17Compare Source
v0.12.16Compare Source
ClientBuilder::http3_congestion_bbr()to enable BBR congestion control.ClientBuilder::http3_send_grease()to configure whether to send use QUIC grease.ClientBuilder::http3_max_field_section_size()to configure the maximum response headers.ClientBuilder::tcp_keepalive_interval()to configure TCP probe interval.ClientBuilder::tcp_keepalive_retries()to configure TCP probe count.Proxy::headers()to add extra headers that should be sent to a proxy.redirect::Policy::limit()which had an off-by-1 error, allowing 1 more redirect than specified.Response::bytes_stream().v0.12.15Compare Source
ProxyOverrideandNO_PROXY.v0.12.14Compare Source
fetch_mode_no_cors(), marking as deprecated when not on WASM.v0.12.13Compare Source
Form::into_reader()for blockingmultipartforms.Form::into_stream()for asyncmultipartforms.RequestBuilder::form()from overwriting a previously setContent-Typeheader, like the other builder methods.blocking::Request.ProxyOverrideas aNO_PROXYvalue.Error::is_timeout()to return true when from a request timeout.v0.12.12Compare Source
tokio/timeon WASM.v0.12.11Compare Source
v0.12.10Compare Source
ClientBuilder::connector_layer()to allow customizing the connector stack.ClientBuilder::http2_max_header_list_size()option.content-length) information when wrapping bodies.v0.12.9Compare Source
tls::CertificateRevocationListssupport.connection_verbose()to output read logs.multipart::Part::file()to automatically include content-length.v0.12.8Compare Source
multipart::Form::file()method for adding files easily.Body::wrap()to wrap anyhttp_body::Bodytype.v0.12.7Compare Source
impl Service<http::Request<_>>forClient.v0.12.6Compare Source
danger_accept_invalid_hostnamesforrustls.impl Service<http::Request<Body>>forClientand&'_ Client.!Syncbodies inBody::wrap_stream().hickory-dnsis used.Proxyso thatHTTP(S)_PROXYvalues take precedence overALL_PROXY.blocking::RequestBuilder::header()from unsettingsensitiveon passed header values.v0.12.5Compare Source
blocking::ClientBuilder::dns_resolver()method to change DNS resolver in blocking client.http3feature back, still requiringreqwest_unstable.rustls-tls-no-providerCargo feature to use rustls without a crypto provider.Accept-Encodingheader combinations.v0.12.4Compare Source
zstdsupport, enabled withzstdCargo feature.ClientBuilder::read_timeout(Duration), which applies the duration for each read operation. The timeout resets after a successful read.v0.12.3Compare Source
FromStrfordns::Name.ClientBuilder::built_in_webpki_certs(bool)to enable them separately.ClientBuilder::built_in_native_certs(bool)to enable them separately.content-length: 0for GET requests.content_length()to return value when timeout is configured.ClientBuilder::resolve()to use lowercase domain names.v0.12.2Compare Source
v0.12.1Compare Source
cookiesfeature is enabled (by the way, it's a noop feature in wasm).v0.12.0Compare Source
hyper,http, andhttp-bodyv1.http::Requestandhttp::Response.http2optional cargo feature, default on.charsetoptional cargo feature, default on.macos-system-configurationcargo feature, default on.ClientBuilder::interface(str)to specify the local interface to bind to.http3feature temporarily.v0.11.27
hickory-dnsfeature, deprecatingtrust-dns.Form::text()to not set octet-stream for plain text fields.v0.11.26
system-configurationupgrade, which broke MSRV on macOS.v0.11.25
Certificate::from_pem_bundle()parsing.v0.11.24
Certificate::from_pem_bundle()to add a bundle.http3_prior_knowledge()to blocking client builder.Syncbounds requirement forBody::wrap_stream().REFUSED_STREAMrequests.UrltoUrithat could panic.v0.11.23
Proxy::custom_http_auth(val)for setting the rawProxy-Authorizationheader when connecting to proxies.http://orhttps://.nodelaywhen TLS is enabled but URL is HTTP.ClientBuilder::user_agent(val).multipart::Form::headers(headers).v0.11.22
trust-dnsis enabled.v0.11.21
ClientBuilder::tls_info(bool), which will puttls::TlsInfointo the response extensions.v0.11.20
deflatedecompression back to using zlib, as outlined in the spec.v0.11.19
ClientBuilder::http1_ignore_invalid_headers_in_responses()option.ClientBuilder::http1_allow_spaces_after_header_name_in_responses()option.ALL_PROXYenvironment variable.use_preconfigured_tlswhen combined with HTTP/3.deflatedecompression from using the zlib decoder.Response::{text, text_with_charset}()to strip BOM characters.v0.11.18
RequestBuilder::json()method from overriding a previously setcontent-typeheader. An existing value will be left in place.v0.11.17
v0.11.16
Cargo.toml.v0.11.15
RequestBuildermethods to split and reconstruct from its parts.connection_verboseto logwrite_vectoredcalls.v0.11.14
Proxy::no_proxy(url)that works like the NO_PROXY environment variable.multipart::Part::headers(headers)method to add custom headers.Response::bytes_stream().v0.11.13
ClientBuilder::dns_resolver()option for custom DNS resolvers.ClientBuilder::tls_sni(bool)option to enable or disable TLS Server Name Indication.Identity::from_pkcs8_pem()constructor when usingnative-tls.redirect::Policy::limited(0)from following any redirects.v0.11.12
ClientBuilder::resolve_to_addrs()which allows a slice of IP addresses to be specified for a single host.Response::upgrade()to await whether the server agrees to an HTTP upgrade.v0.11.11
ClientBuilder.ClientBuilder::http1_allow_obsolete_multiline_headers_in_responses().impl Service<Request>forClientand&'_ Client.RequestBuilder::basic_auth().RequestBuilder::headerto not overridesensitiveif user explicitly set on aHeaderValue.v0.11.10
Error::url()to access the URL of an error.Response::extensions()to access thehttp::Extensionsof a response.rustls-native-certsto log an error instead of panicking when loading an invalid system certificate.v0.11.9
ClientBuilder::http09_responses(bool)option to allow receiving HTTP/0.9 responses.v0.11.8
v0.11.7
blocking::ClientBuilder::resolve()option, matching the async builder.From<tokio::fs::File>forBody.blockingrequest-scoped timeout applying to bodies as well.rustlsto 0.20.v0.11.6
v0.11.5
ClientBuilder::http1_only()method.tls::Versiontype, andClientBuilder::min_tls_version()andClientBuilder::max_tls_version()methods.TryFrom<Request>forhttp::Request.CloneforIdentity.NO_PROXYenvironment variable parsing to more closely match curl's. Comma-separated entries are now trimmed for whitespace, and*is allowed to match everything.https_onlyoption.Body::as_bytes()method.JsValue.v0.11.4
ClientBuilder::resolve()option to override DNS resolution for specific domains.native-tls-alpnCargo feature to use ALPN with the native-tls backend.ClientBuilder::deflate()option anddeflateCargo feature to support decoding response bodies using deflate.RequestBuilder::version()to allow setting the HTTP version of a request.rustls-tlsbackend, when the server uses TLS v1.2 or v1.3.try_clonetoRequestandRequestBuilderv0.11.3
impl From<hyper::Body> for reqwest::Body.RequestBuilder.v0.11.2
CookieStoretrait to customize the type that stores and retrieves cookies for a session.cookie::Jaras a defaultCookieStore, easing creating some session cookies before creating theClient.ClientBuilder::http2_adaptive_window()option to configure an adaptive HTTP2 flow control behavior.ClientBuilder::http2_max_frame_size()option to adjust the maximum HTTP2 frame size that can be received.IntoUrlforString, making it more convenient to create requests withformat!.v0.11.1
ClientBuilder::tls_built_in_root_certs()option to disable built-in root certificates.rustls-tlsglue to more often support ALPN to upgrade to HTTP/2.http://if no scheme is found.runtimefeature.Request::new()constructor.v0.11.27Compare Source
hickory-dnsfeature, deprecatingtrust-dns.Form::text()to not set octet-stream for plain text fields.v0.11.26Compare Source
system-configurationupgrade, which broke MSRV on macOS.v0.11.25Compare Source
Certificate::from_pem_bundle()parsing.v0.11.24Compare Source
Certificate::from_pem_bundle()to add a bundle.http3_prior_knowledge()to blocking client builder.Syncbounds requirement forBody::wrap_stream().REFUSED_STREAMrequests.UrltoUrithat could panic.v0.11.23Compare Source
Proxy::custom_http_auth(val)for setting the rawProxy-Authorizationheader when connecting to proxies.http://orhttps://.nodelaywhen TLS is enabled but URL is HTTP.ClientBuilder::user_agent(val).multipart::Form::headers(headers).v0.11.22Compare Source
trust-dnsis enabled.v0.11.21Compare Source
ClientBuilder::tls_info(bool), which will puttls::TlsInfointo the response extensions.v0.11.20Compare Source
deflatedecompression back to using zlib, as outlined in the spec.v0.11.19Compare Source
ClientBuilder::http1_ignore_invalid_headers_in_responses()option.ClientBuilder::http1_allow_spaces_after_header_name_in_responses()option.ALL_PROXYenvironment variable.use_preconfigured_tlswhen combined with HTTP/3.deflatedecompression from using the zlib decoder.Response::{text, text_with_charset}()to strip BOM characters.v0.11.18Compare Source
RequestBuilder::json()method from overriding a previously setcontent-typeheader. An existing value will be left in place.v0.11.17Compare Source
dtolnay/semver (semver)
v1.0.27Compare Source
v1.0.26Compare Source
v1.0.25Compare Source
v1.0.24Compare Source
v1.0.23Compare Source
v1.0.22Compare Source
v1.0.21Compare Source
v1.0.20Compare Source
v1.0.19Compare Source
v1.0.18Compare Source
serde-rs/json (serde_json)
v1.0.145Compare Source
v1.0.144Compare Source
v1.0.143Compare Source
v1.0.142Compare Source
v1.0.141Compare Source
v1.0.140Compare Source
v1.0.139Compare Source
v1.0.138Compare Source
v1.0.137Compare Source
v1.0.136Compare Source
v1.0.135Compare Source
v1.0.134Compare Source
RawValueassociated constants for literalnull,true,false(#1221, thanks @bheylin)v1.0.133Compare Source
v1.0.132Compare Source
v1.0.131Compare Source
Map<String, Value>and&Map<String, Value>(#1135, thanks @swlynch99)v1.0.130Compare Source
Numberfrom i128 and u128 (#1141, thanks @druide)v1.0.129Compare Source
serde_json::Map::sort_keysandserde_json::Value::sort_all_objects(#1199)v1.0.128Compare Source
v1.0.127Compare Source
v1.0.126Compare Source
v1.0.125Compare Source
v1.0.124Compare Source
v1.0.123Compare Source
v1.0.122Compare Source
json!in no-std crates (#1166)v1.0.121Compare Source
v1.0.120Compare Source
indexmapdependency (#1152, thanks @cforycki)v1.0.119Compare Source
serde_json::Map::shift_insert(#1149, thanks @joshka)v1.0.118Compare Source
v1.0.117Compare Source
v1.0.116Compare Source
v1.0.115Compare Source
v1.0.114Compare Source
v1.0.113Compare Source
swap_removeandshift_removemethods on Map (#1109)v1.0.112Compare Source
v1.0.111Compare Source
v1.0.110Compare Source
v1.0.109Compare Source
v1.0.108Compare Source
v1.0.107Compare Source
v1.0.106Compare Source
Value::as_numberaccessor (#1069, thanks @chanced)Number::as_straccessor under "arbitrary_precision" feature (#1067, thanks @chanced)v1.0.105Compare Source
v1.0.104Compare Source
v1.0.103Compare Source
v1.0.102Compare Source
v1.0.101Compare Source
v1.0.100Compare Source
-Z minimal-versionsv1.0.99Compare Source
v1.0.98Compare Source
v1.0.97Compare Source
io_error_kind()method to serde_json::Error:fn io_error_kind(&self) -> Option<std::io::ErrorKind>(#1026)v1.0.96Compare Source
to_writeronly writes valid UTF-8 strings (#1011, thanks @stepancheg)tokio-rs/tokio (tokio)
v1.48.0: Tokio v1.48.0Compare Source
1.48.0 (October 14th, 2025)
The MSRV is increased to 1.71.
Added
File::max_buf_size(#7594)ChainofAsyncReadExt::chain(#7599)SocketAddr::as_abstract_name(#7491)TcpStream::quickackandTcpStream::set_quickack(#7490)AsRef<Self>forTcpStreamandUnixStream(#7573)LocalKey::try_get(#7666)Ordfortask::Id(#7530)Changed
max_buf_sizewhen cloning aFile(#7593)clippy::unwrap_in_resultin#[tokio::main](#7651)PollEventednoise from Debug formats (#7675)Command::spawn_withto useFnOnce(#7511)SetOnce(#7554)UnsafeCell::get_mutinMutex::get_mutandRwLock::get_mut(#7569)Timeout<T>::poll(#7535)Fixed
join!andtry_join!(#7638)wake_by_ref()even if already woken (#7622)broadcast::Senderinbroadcast::Sender::new()(#7629)RwLock::try_*methods (#7587)Unstable
--cfgflags fortaskdumpandio_uring(#7655, #7621)io_uringinfs::write(#7567)io_uringwithFile::open()(#7617)io_uringwithOpenOptions(#7321)localruntime flavor (#7375, #7597)Documented
AsyncRead::poll_read(#7580)AsyncFdreadiness guards (#7583)UCred::pid()on Cygwin (#7611)set_reuseport()andreuseport()(#7628)SO_REUSEADDRis only set on Unix (#7533)Handle::block_on(#7665)Builder::global_queue_interval()(#7605)tokio::sync::watch::Receiver(#7584)SetOnce::wait(#7506)parking_lotfeature flag (#7663)UnboundedSender::send(#7661)sync::watch(#7601)spawn_localmethods (#7669)poll_proceed(#7586)v1.47.2Compare Source
v1.47.1: Tokio v1.47.1Compare Source
1.47.1 (August 1st, 2025)
Fixed
asyncio.EventinSetOncedocs (#7485)v1.47.0: Tokio v1.47.0Compare Source
1.47.0 (July 25th, 2025)
This release adds
poll_proceedandcooperativeto thecoopmodule forcooperative scheduling, adds
SetOnceto thesyncmodule which providessimilar functionality to [
std::sync::OnceLock], and adds a new methodsync::Notify::notified_owned()which returns anOwnedNotifiedwithouta lifetime parameter.
Added
cooperativeandpoll_proceed(#7405)SetOnce(#7418)sync::Notify::notified_owned()(#7465)Changed
AtomicWaker::wakeperformance (#7450)Documented
Readiness<'_>(#7415)v1.46.1: Tokio v1.46.1Compare Source
1.46.1 (July 4th, 2025)
This release fixes incorrect spawn locations in runtime task hooks for tasks spawned using
tokio::spawnrather thanRuntime::spawn. This issue only effected the spawn location inTaskMeta::spawned_at, and did not effect task locations in Tracing events.Unstable
TaskMeta::spawn_locationtracking where a task was spawned (#7440)v1.46.0: Tokio v1.46.0Compare Source
1.46.0 (July 2nd, 2025)
Fixed
TcpStream::shutdownincorrectly returning an error on macOS (#7290)Added
mpsc::OwnedPermit::{same_channel, same_channel_as_sender}methods (#7389)biasedoption forjoin!andtry_join!, similar toselect!(#7307)pope::OpenOptions::read_writeon Android (#7426)Cloneimplementation fornet::unix::SocketAddr(#7422)Changed
queue::Local<T>(#7340)LocalSet::{poll,drop}(#7372)Unstable
TaskMeta::spawn_locationtracking where a task was spawned (#7417)LocalOptionsparameter toruntime::Builder::build_local(#7346)Documented
start_seekis not used (#7366)AsyncWriteExt::flush(#7364)recv_buffer_sizemethod (#7336)RawFdinTcpSocketdocs (#7416)AsRawFddoc link to current Rust stdlib location (#7429)on_*_task_pollis unstable (#7311)time::advance(#7394)v1.45.1: Tokio v1.45.1Compare Source
1.45.1 (May 24th, 2025)
This fixes a regression on the wasm32-unknown-unknown target, where code that previously did not panic due to calls to
Instant::now()started failing. This is due to the stabilization of the first time-based metric.Fixed
v1.45.0: Tokio v1.45.0Compare Source
Added
worker_total_busy_duration,worker_park_count, andworker_unpark_count(#6899, #7276)Command::spawn_with(#7249)Changed
Unpinfor some trait impls (#7204)runtime::Handleas unwind safe (#7230)Unstable
v1.44.2: Tokio v1.44.2Compare Source
This release fixes a soundness issue in the broadcast channel. The channel
accepts values that are
Sendbut!Sync. Previously, the channel calledclone()on these values without synchronizing. This release fixes the channelby synchronizing calls to
.clone()(Thanks Austin Bonander for finding andreporting the issue).
Fixed
clone()call in broadcast channel (#7232)v1.44.1: Tokio v1.44.1Compare Source
1.44.1 (March 13th, 2025)
Fixed
block_in_placecontext (#7216)v1.44.0: Tokio v1.44.0Compare Source
1.44.0 (March 7th, 2025)
This release changes the
from_stdmethod on sockets to panic if a blocking socket is provided. We determined this change is not a breaking change as Tokio is not intended to operate using blocking sockets. Doing so results in runtime hangs and should be considered a bug. Accidentally passing a blocking socket to Tokio is one of the most common user mistakes. If this change causes an issue for you, please comment on #7172.Added
task::coopmodule (#7116)Command::get_kill_on_drop()(#7086)broadcast::Sender::closed(#6685, #7090)broadcast::WeakSender(#7100)oneshot::Receiver::is_empty()(#7153)oneshot::Receiver::is_terminated()(#7152)Fixed
Fileshould not start a background read (#7139)start_killon exited child should not fail (#7160)CTRL_CLOSE,CTRL_LOGOFF,CTRL_SHUTDOWNon windows (#7122)Changes
select!budget-aware (#7164)from_std(#7166)Changes to unstable APIs
Documented
select!alternatives (#7110)send_to(#7146)Childstdout (#7141)Child::killbehavior (#7162)ChildStdinstruct doc comment (#7192)worker_threadsinstead ofcore_threads(#7186)v1.43.3Compare Source
v1.43.2: Tokio v1.43.2Compare Source
1.43.2 (August 1st, 2025)
Fixed
v1.43.1Compare Source
v1.43.0: Tokio v1.43.0Compare Source
1.43.0 (Jan 8th, 2025)
Added
UdpSocket::peekmethods (#7068)Command::into_std()(#7014)SignalKind::infoon illumos (#6995)Fixed
set_lenbefore initializing vector inBlocking(#7054)clippy::needless_returnin#[tokio::main](#6874)Changes
unsync_load(#7073)Buf::put_bytesinRepeatread impl (#7055)Changes to unstable APIs
Documented
ReadBuf::uninitallows initialized buffers as well (#7053)TcpStream::try_write_vectoreddocs (#7067)LocalRuntimedoc links (#7074)watch::Receiver::wait_for(#7038)OnceCelldocs (#7047)v1.42.1: Tokio v1.42.1Compare Source
This release fixes a soundness issue in the broadcast channel. The channel accepts values that are
Sendbut!Sync. Previously, the channel calledclone()on these values without synchronizing. This release fixes the channel by synchronizing calls to.clone()(Thanks Austin Bonander for finding and reporting the issue).Fixed
clone()call in broadcast channel (#7232)v1.42.0: Tokio v1.42.0Compare Source
1.42.0 (Dec 3rd, 2024)
Added
AsyncFd::{try_io, try_io_mut}(#6967)Fixed
ptr->ref->ptrroundtrip in RegistrationSet (#6929)yield_nowinsideblock_in_place(#6999)Changes
Documented
tokio::net::unix::{pid_t, gid_t, uid_t}(#6791)Instantdocs (#6982)v1.41.1: Tokio v1.41.1Compare Source
1.41.1 (Nov 7th, 2024)
Fixed
netrequirement fornet::UdpSocketin docs (#6938)TcpStreaminternal comment (#6944)v1.41.0: Tokio v1.41.0Compare Source
1.41.0 (Oct 22th, 2024)
Added
global_queue_depth(#6854, #6918)SocketAddr(#6868)watch::Sender::sender_count(#6836)mpsc::Receiver::blocking_recv_many(#6867)Idapis (#6793, #6891)Added (unstable)
LocalRuntime(#6808)Changed
#[must_use]toNotified(#6828)watchcooperative (#6846)broadcast::Receivercooperative (#6870)cfg_fsforwasitarget (#6822)Fixed
Documented
OwnedFdwithAsyncFd(#6821)AsyncFdmethods (#6890)joinandtry_join(#6814, #6841)TcpSocket::set_nodelayandTcpSocket::nodelay(#6840)v1.40.0: Tokio v1.40.0Compare Source
1.40.0 (August 30th, 2024)
Added
util::SimplexStream(#6589)Command::process_group(#6731){TrySendError,SendTimeoutError}::into_inner(#6755)JoinSet::join_all(#6784)Added (unstable)
Builder::{on_task_spawn, on_task_terminate}(#6742)Changed
write_all_bufwhen possible (#6724)UnwindSafe(#6783)SleepandBatchSemaphoreinstrumentation explicit roots (#6727)NonZeroU64fortask::Id(#6733)JoinError(#6753)#[must_use]toJoinHandle::abort_handle(#6762)Documented
[build]section doesn't go in Cargo.toml (#6728)select!(#6774)v1.39.3: Tokio v1.39.3Compare Source
1.39.3 (August 17th, 2024)
This release fixes a regression where the unix socket api stopped accepting the abstract socket namespace. (#6772)
v1.39.2: Tokio v1.39.2Compare Source
1.39.2 (July 27th, 2024)
This release fixes a regression where the
select!macro stopped accepting expressions that make use of temporary lifetime extension. (#6722)v1.39.1: Tokio v1.39.1Compare Source
1.39.1 (July 23rd, 2024)
This release reverts "time: avoid traversing entries in the time wheel twice" because it contains a bug. (#6715)
v1.39.0: Tokio v1.39.0Compare Source
1.39.0 (July 23rd, 2024)
Added
AsyncSeekforEmpty(#6663)num_alive_tasks(#6619, #6667)Command::as_std_mut(#6608)watch::Sender::same_channel(#6637){Receiver,UnboundedReceiver}::{sender_strong_count,sender_weak_count}(#6661)Defaultforwatch::Sender(#6626)CloneforAbortHandle(#6621)consume_budget(#6622)Changed
ReadBuf::put_slice()(#6629)copy_bidirectionalandcopy(#6532)num_cpuswithavailable_parallelism(#6709)block_on(#6692)IntoFuturewithtimeout(#6666)IntoFuturewithjoin!andselect!(#6710)Fixed
Interval(#6612)Added (unstable)
unhandled_panicbehavior for#[tokio::main]and#[tokio::test](#6593)spawned_tasks_count(#6114)worker_park_unpark_count(#6696)Documented
tokio::io::stdoutdocumentation (#6674)join.rsandtry_join.rs(#6641)unhandled_panic(#6660)JoinSet::try_join_nextwhen all tasks are running (#6671)v1.38.2: Tokio v1.38.2Compare Source
This release fixes a soundness issue in the broadcast channel. The channel accepts values that are
Sendbut!Sync. Previously, the channel calledclone()on these values without synchronizing. This release fixes the channel by synchronizing calls to.clone()(Thanks Austin Bonander for finding and reporting the issue).Fixed
clone()call in broadcast channel (#7232)v1.38.1: Tokio v1.38.1Compare Source
1.38.1 (July 16th, 2024)
This release fixes the bug identified as (#6682), which caused timers not
to fire when they should.
Fixed
wake_upwhile holding all the locks of sharded time wheels (#6683)v1.38.0: Tokio v1.38.0Compare Source
This release marks the beginning of stabilization for runtime metrics. It
stabilizes
RuntimeMetrics::worker_count. Future releases will continue tostabilize more metrics.
Added
File::create_new(#6573)copy_bidirectional_with_sizes(#6500)AsyncBufReadforJoin(#6449)CloneforNamedPipeInfo(#6586)Notify::notify_last(#6520)mpsc::Receiver::{capacity,max_capacity}(#6511)splitmethod to the semaphore permit (#6472, #6478)tokio::task::join_set::Builder::spawn_blocking(#6578)Changed
#[tokio::test]append#[test]at the end of the attribute list (#6497)blocking_threadscount (#6551)RuntimeMetrics::worker_count(#6556)lifo_slotinblock_in_place(#6596)global_queue_intervalis zero (#6445)Semaphorefor task dumps (#6499)LocalKey::getwork with Clone types (#6433)true_whenfield inTimerShared(#6563)Fixed
Interval::poll_tick(#6487)is_emptyon mpsc block boundaries (#6603)Documented
stdindocumentation (#6581)ReadHalf::unsplit()documentation (#6498)select!(#6468)NamedPipeServerexample (#6590)SemaphorePermit,OwnedSemaphorePermit(#6477)Barrier::waitis not cancel safe (#6494)watch::Sender::{subscribe,closed}(#6490)spawn_blockingtasks (#6571)LocalSet::run_until(#6599)v1.37.0: Tokio v1.37.0Compare Source
1.37.0 (March 28th, 2024)
Added
set_max_buf_sizetotokio::fs::File(#6411)try_newandtry_with_interesttoAsyncFd(#6345)forget_permitsmethod to semaphore (#6331)is_closed,is_empty, andlento mpsc receivers (#6348)rwlock()method to ownedRwLockguards (#6418)Cloneforwatch::Sender(#6388)TaskLocalFuture::take_value(#6340)FromIteratorforJoinSet(#6300)Changed
io::splituse a mutex instead of a spinlock (#6403)Fixed
Documented
AsyncBufReadExt::fill_buf(#6431)AsyncReadExt's primitive read functions (#6337)Runtimeto#[tokio::main](#6366)enterexample deterministic (#6351)mpsc::Sender::downgradewith#[must_use](#6326)const_newbeforenew_with(#6392)Changed (unstable)
Idin taskdumps (#6328)unhandled_panicis enabled when not supported (#6410)v1.36.0: Tokio v1.36.0Compare Source
1.36.0 (February 2nd, 2024)
Added
tokio::io::Join(#6220)AsyncWriteforEmpty(#6235)UnixSocket(#6290)TcpSocket(#6311){Receiver,UnboundedReceiver}::poll_recv_many(#6236)Sender::{try_,}reserve_many(#6205)watch::Receiver::mark_unchanged(#6252)JoinSet::try_join_next(#6280)Changed
copycooperative (#6265)repeatandsinkcooperative (#6254)Documented
clear_readydocs (#6304)*Fdtraits onTcpSocketare unix-only (#6294)tokio::sync::Mutex(#6279)v1.35.1: Tokio v1.35.1Compare Source
1.35.1 (December 19, 2023)
This is a forward part of a change that was backported to 1.25.3.
Fixed
tokio::runtime::io::registration::async_io(#6221)v1.35.0: Tokio v1.35.0Compare Source
1.35.0 (December 8th, 2023)
Added
Changed
Sizedrequirements fromAsyncReadExt.read_buf(#6169)Runtimeunwind safe (#6189)Fixed
--cfg docsrswork without net feature (#6166)unsync_loadon miri (#6179)Documented
AsyncWriteExtexamples (#6149)LocalSet::run_until(#6147)v1.34.0: Tokio v1.34.0Compare Source
Fixed
clear_readinessafter io driver shutdown (#6067)take(#6080)broadcast::channellink (#6100)Changed
::corequalified imports instead of::stdinsidetokio::testmacro (#5973)Added
fs::read_dirto includeaix(#6075)mpsc::Receiver::recv_many(#6010)v1.33.0: Tokio v1.33.0Compare Source
1.33.0 (October 9, 2023)
Fixed
Interest::addwith#[must_use](#6037)watch::Receiver::wait_for(#6021)spawn_localsource location (#5984)Changed
watch(#6018)Added
tokio::fs::File(#5958)Interest::removemethod (#5906)DuplexStream(#5985)?Sizedbound to{MutexGuard,OwnedMutexGuard}::map(#5997)watch::Receiver::mark_unseen(#5962, #6014, #6017)watch::Sender::new(#5998)OnceCell::from_value(#5903)Removed
statsfeature (#5952)Documented
Child::waitis cancel safe (#5977)Semaphore(#5939, #5956, #5978, #6031, #6032, #6050)broadcastcapacity is a lower bound (#6042)const_newis not instrumented (#6002)mpsc::Sender::send(#5947)watchchannel (#5954)Unstable
v1.32.1: Tokio v1.32.1Compare Source
1.32.1 (December 19, 2023)
This is a forward part of a change that was backported to 1.25.3.
Fixed
tokio::runtime::io::registration::async_io(#6221)v1.32.0: Tokio v1.32.0Compare Source
Fixed
broadcast::Receiver(#5925)Added
Command::raw_arg(#5930)Unstable
v1.31.0: Tokio v1.31.0Compare Source
Fixed
WriteHalf::poll_write_vectored(#5914)Unstable
v1.30.0: Tokio v1.30.0Compare Source
1.30.0 (August 9, 2023)
This release bumps the MSRV of Tokio to 1.63. (#5887)
Changed
--cfg mio_unsupported_force_poll_pollflag (#5881)const_newmethods always available (#5885)Added
broadcast::Sender::new(#5824)UCredfor espidf (#5868)File::options()(#5869)Interval(#5878){ChildStd*}::into_owned_{fd, handle}(#5899)Removed
tokio_*cfgs (#5890)Documented
broadcast::send(#5820)AsyncReadExt::read_exact(#5863)Sleepas!Unpinin docs (#5916)raw_argnot showing up in docs (#5865)Unstable
v1.29.1: Tokio v1.29.1Compare Source
Fixed
block_in_placewith ablock_onbetween (#5837)v1.29.0: Tokio v1.29.0Compare Source
Technically a breaking change, the
Sendimplementation is removed fromruntime::EnterGuard. This change fixes a bug and should not impact most users.Breaking
EnterGuardshould not beSend(#5766)Fixed
fs::read_dir(#5653)JoinSet(#5693)EnterGuarddropped incorrect order (#5772)File(#5803)Changed
Added
broadcast::Receiver::blocking_recv(#5690)raw_argmethod toCommand(#5704)JoinSet::poll_join_next(#5721)Unstable
v1.28.2: Tokio v1.28.2Compare Source
1.28.2 (May 28, 2023)
Forward ports 1.18.6 changes.
Fixed
v1.28.1: Tokio v1.28.1Compare Source
1.28.1 (May 10th, 2023)
This release fixes a mistake in the build script that makes
AsFdimplementations unavailable on Rust 1.63. (#5677)v1.28.0: Tokio v1.28.0Compare Source
1.28.0 (April 25th, 2023)
Added
AsyncFd::async_io(#5542)recv_bufforUdpSocketandUnixDatagram(#5583)OwnedSemaphorePermit::semaphore(#5618)same_channelto broadcast channel (#5607)watch::Receiver::wait_for(#5611)JoinSet::spawn_blockingandJoinSet::spawn_blocking_on(#5612)Changed
read_to_endnot grow unnecessarily (#5610)RwLock(#5647)Notify(#5503)Fixed
get_peer_credon AIX (#5065)broadcastwith custom wakers (#5578)Documented
Semaphore::MAX_PERMITS(#5645)tokio::sync::watch::Senderdocs (#5587)dbrgn/tracing-test (tracing-test)
v0.2.5Compare Source
lazy_staticdependency withstd::sync::OnceCell(#36)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Renovate Bot.
cccbe2f5e1to9b5e8d1fe09b5e8d1fe0to60430a502760430a5027to5e511fcced5e511fccedtod0f97dcd5dd0f97dcd5dto78c08f344178c08f3441to8281f673b58281f673b5todf6c7f1379df6c7f1379toa85d2e3b78a85d2e3b78tod605997147d605997147toeadca0a0f4eadca0a0f4tof45868a127f45868a127to709f738170709f738170to78cb64e41e78cb64e41eto877bc98ed2877bc98ed2toa7c2688301a7c2688301to18d45a76c618d45a76c6tof19d1d5fdbf19d1d5fdbto09974218da09974218dato58729d267f58729d267ftod8e9ac83c1d8e9ac83c1tobb853afa69bb853afa69tob23ac9122cb23ac9122ctobef5d22efdbef5d22efdto71298acec871298acec8to49cc50288a49cc50288ato9f7ee210da9f7ee210datob549cdc94fb549cdc94fto5c90db221d5c90db221dto15d5fd3a4715d5fd3a47to566789d0a6566789d0a6to03d07036b103d07036b1to45abbc69b745abbc69b7to050d742dc5050d742dc5to991291afa8991291afa8toa40eb9d629a40eb9d629tobfd0604672bfd0604672to16ce6bf50516ce6bf505toe1e2bed885e1e2bed885to2d46dacc8c2d46dacc8ctocfd1e1cf30cfd1e1cf30to736d2ad9ee736d2ad9eeto44eed1952644eed19526to5b07fea69d5b07fea69dtoa347e8339ea347e8339etob513676869b513676869to23ad5baf0023ad5baf00to8da9693e678da9693e67tod996ed744bd996ed744bto504c3da99a504c3da99ato5f2eff826f5f2eff826fto071b8b2f1e071b8b2f1eto69c32a439769c32a4397tobecef3e0ccbecef3e0cctoaad5fce846aad5fce846toe6532ed3c8e6532ed3c8to175d867fc2175d867fc2to100af968b7100af968b7to9e4684ccf39e4684ccf3to426d28506c426d28506cto0ec6a275250ec6a27525to8acbc0910f8acbc0910ftofef86d66dffef86d66dfto3b2fe86ccd3b2fe86ccdtoec94522143ec94522143to312dc0ab05312dc0ab05toa3d6404fe3a3d6404fe3tofda4f95253fda4f95253to6421ba5c6c6421ba5c6ctoff24eb8ab5ff24eb8ab5to19e8d20f9a19e8d20f9ato5784d87e9f5784d87e9fto6ee96a7ba56ee96a7ba5toa5d6b91a19a5d6b91a19to640b7d70f7640b7d70f7to2cb9600a5a2cb9600a5ato3838a224283838a22428to822496f383822496f383toec1f49fa99ec1f49fa99tod1814b855bd1814b855btofdb6da2368fdb6da2368toc626a897fbc626a897fbtod6130ed120d6130ed120toa54d6212aea54d6212aeto6f307add966f307add96to5a38694ac45a38694ac4to9a0989aaf89a0989aaf8tod06a901085d06a901085to856e70ad37856e70ad37to87b098902d87b098902dtoae3365a8acae3365a8acto42287cc40e42287cc40eto8c296db2f98c296db2f9tod739cb5134d739cb5134tod567d3bc9cd567d3bc9ctodedf9ea5ccdedf9ea5cctobe7181e21cbe7181e21cto8da5494c088da5494c08to4ad7c248654ad7c24865to7679dc87f57679dc87f5toc95e3b5949c95e3b5949to8ca16aebb38ca16aebb3to094b17ad63094b17ad63to9719056ae59719056ae5to90769f829090769f8290to00c77201a000c77201a0to40acbc35a540acbc35a5toc6910e5cc2c6910e5cc2toaf3c4aa6a5af3c4aa6a5todf64fab701df64fab701to22be1e4bd322be1e4bd3to7b8383e36e7b8383e36etoeb8ad81feaeb8ad81feato5f37df2f9b5f37df2f9btoeef9dee30deef9dee30dtof7ff5ae8c7f7ff5ae8c7toc8cd60deadc8cd60deadto518a159f23518a159f23to45f350a79645f350a796toe9aec572c8e9aec572c8toc860293d6ec860293d6etob80a057bb7b80a057bb7tod6eff8b01bd6eff8b01btoae1cb27fa8ae1cb27fa8to4d4403abd94d4403abd9to8f15d3e0a28f15d3e0a2tob86d3f32a8b86d3f32a8to5523d7406b5523d7406btoae2e18048bae2e18048btob2a1679390b2a1679390to857267aafb857267aafbto13fc882af713fc882af7to484a5b8430484a5b8430to3e827e69963e827e6996to05d24e913505d24e9135to7b3a32fd1a7b3a32fd1ato08c1f4405508c1f44055to96eff320d496eff320d4to95857e4de495857e4de4to8b76238f358b76238f35to347b1994b5347b1994b5to04567b463e04567b463etob9d5075bafb9d5075bafto688e35d500688e35d500to719fc732e0719fc732e0to1861b7d84f1861b7d84fto1e8f31de9c⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
The artifact failure details are included below:
File name: Cargo.lock
1e8f31de9cto3600d8dd903600d8dd90toa7a5511433a7a5511433tob91b0125bfb91b0125bfto32234e08bb32234e08bbto2235ccbf312235ccbf31to5552be68a15552be68a1to78ac369fac78ac369facto6c5c9b9f8c6c5c9b9f8cto2aa56b25622aa56b2562tod358b7b10ed358b7b10eto9b97552e7c9b97552e7cto637feeb1d9637feeb1d9to3f7a0a3ee53f7a0a3ee5to0b1f9afa1f0b1f9afa1ftoa5e320b680a5e320b680to09c5ba0a0309c5ba0a03tof1be78333cf1be78333cto002aa4fb91002aa4fb91to12c52deef912c52deef9to51fbce267f51fbce267fto19fa36545419fa365454toe8c560669fe8c560669ftoff2c381794ff2c381794toc22e7d6fb0c22e7d6fb0tofc647ff536fc647ff536to6f3ace9c186f3ace9c18to0fc5881a050fc5881a05to63e23e102163e23e1021to18cdd687c118cdd687c1to7d5fc1b06a7d5fc1b06ato709a6b788dchore(deps): update all dependenciesto fix(deps): update all dependencies709a6b788dtoeb8f1c1936eb8f1c1936to7254ffd4407254ffd440to1a196108511a19610851to2a875c7c162a875c7c16to6dd49603736dd4960373to2bab0593262bab059326to613e0b9d15613e0b9d15to323eb66470323eb66470to34971b23bb34971b23bbtodf37bd6cf7df37bd6cf7to11db9a058c11db9a058ctocb54db55d9cb54db55d9tob37a777b10b37a777b10toc6f936c52cc6f936c52cto09d49a273d09d49a273dto6d069d39be6d069d39beto3bfac48f643bfac48f64to53df6d501153df6d5011tob9960fbe50b9960fbe50tod5421f2b70d5421f2b70to0c68d41a240c68d41a24to78d925e150View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.