Merged
Conversation
25a1510 to
ddee734
Compare
a08baa9 to
eb52b17
Compare
eb52b17 to
92311ac
Compare
ad18db8 to
888071b
Compare
10c3b61 to
bcdee0e
Compare
baszalmstra
approved these changes
Apr 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
>=0.19,<0.19.1→>=0.19,<0.19.20.19.4(+1)==8.2.1→==8.3.2>=0.31.1,<0.32→>=0.32.6,<0.33>=0.109.1,<0.110→>=0.112.1,<0.1130.112.2>=0.20,<0.21→>=0.23,<0.24>=3.13,<3.14→>=3.14,<3.15>=0.61.4,<0.62→>=0.62,<0.630.62.2(+1)>=0.61.4,<0.62→>=0.62,<0.630.62.2(+1)>=0.61.4,<0.62→>=0.62,<0.630.62.2(+1)>=0.18,<0.19→>=0.19,<0.20>=0.14.0,<0.15→>=0.15.10,<0.160.15.11>=0.13.0,<0.14→>=0.14,<0.15>=0.10.0,<0.11→>=0.11,<0.12>=0.13,<0.14→>=0.14,<0.15Release Notes
EmbarkStudios/cargo-deny (cargo-deny)
v0.19.1Compare Source
Fixed
--filter-platformwhen collecting cargo metadata if only a single target was requested either in the config or via the command line.--frozenwould not disable fetching of the advisory DB, resolving #759.krateswas updated to resolve two issues with crates being pruned from the graph used when running checks. Resolving these two issues may mean that updating cargo-deny may highlight issues that were previously hidden.libtarget renamed by the package author.Changed
gixin favor of shelling out togit. This massively improves build times and eases maintenance asgixbumps minor versions quite frequently. If cargo-deny is used in an environment that for some reason allows internet access but doesn't havegitavailable, the advisory database would need to be updated before calling cargo-deny.rustsecin favor of manually implemented advisory parsing and checking, with a nightly cron job that checks that the implementation exactly matches rustsec on the official rustsec advisory db.pallets/click (click)
v8.3.2Compare Source
Released 2026-04-02
flag_valuewhenis_flag=Falseto allow such options to beused without an explicit value. :issue:
3084:pr:3152Sentinel.UNSETvalues asNonewhen usinglookup_default().:issue:
3136:pr:3199:pr:3202:pr:3209:pr:3212:pr:3224_NamedTextIOWrapperfrom closing streams owned byStreamMixer.:issue:
824:issue:2991:issue:2993:issue:3110:pr:3139:pr:3140CliRunnerstream lifecycle, coveringlogging interaction, multi-threaded safety, and sequential invocation
isolation. Add high-iteration stress tests behind a
stressmarkerwith a dedicated CI job. :pr:
3139flag_valuebeing instantiated when used as a default viadefault=True. :issue:3121:pr:3201:pr:3213:pr:3225v8.3.1Compare Source
Released 2025-11-15
subprocess.Popen. :issue:3039:pr:
3055Sentinel.UNSETdefault values byNoneas they're passed throughthe
Context.invoke()method. :issue:3066:issue:3065:pr:3068Sentinel.UNSEThappening too early, which caused incorrectbehavior for multiple parameters using the same name. :issue:
3071:pr:3079Sentinel.UNSETvalues asNonewhen looking up for other parametersthrough the context inside parameter callbacks. :issue:
3136:pr:3137promptandconfirmparameterprompt_suffixisempty. :issue:
3019:pr:3021Sentinel.UNSETis found during parsing, it will skip calls totype_cast_value. :issue:3069:pr:3090v8.3.0Compare Source
Released 2025-09-17
Improved flag option handling: Reworked the relationship between
flag_valueand
defaultparameters for better consistency:defaultparameter value is now preserved as-is and passed directlyto CLI functions (no more unexpected transformations)
default=Truemaintain backward compatibilityby defaulting to their
flag_valuedefaultparameter can now be any type (bool,None, etc.)1992:issue:2514:issue:2610:issue:
3024:pr:3030Allow
defaultto be set onArgumentfornargs = -1. :issue:2164:pr:
3030Show correct auto complete value for
nargsoption in combination with flagoption :issue:
2813Fix handling of quoted and escaped parameters in Fish autocompletion. :issue:
2995:pr:3013Lazily import
shutil. :pr:3023Properly forward exception information to resources registered with
click.core.Context.with_resource(). :issue:2447:pr:3058Fix regression related to EOF handling in CliRunner. :issue:
2939:pr:2940v8.2.2Compare Source
Released 2025-07-31
default,flag_valueandtypeparameters forflag options, as well as parsing and normalization of environment variables.
:issue:
2952:pr:2956BadParameterandMissingParameterexceptions for theparameter
param_hintthat did not allow for a sequence of string where theunderlying function
_join_param_hintsallows for it. :issue:2777:pr:2990Enumchoices to render their default value in helpscreen. Refs :issue:
2911:pr:3004zsh) for completion items containingcolons. :issue:
2703:pr:28462971:pr:2972click.testing.StreamMixer's finalization that manifestedas a
ValueErroron close in a multi-threaded test session.:issue:
2993:pr:299115r10nk/inline-snapshots (inline-snapshot)
v0.32.6Compare Source
Fixed
NewType-typed fields now generate correct snapshots that wrap the field value with theNewTypeconstructor (e.g.Something(some_id=SomeID(1))instead ofSomething(some_id=1)). This could only be fixed for Python >= 3.10.v0.32.5Compare Source
Fixed
v0.32.4Compare Source
Added
context_managersparameter toExample.run_inline(), allowing tests to inject context managers (e.g.unittest.mock.patch) that are active duringshow_report().Fixed
UsageError("unmanaged values can not be compared with snapshots")raised during session teardown when using-kto filter tests (#355). This was caused by inline-snapshot trying to update snapshots that were never compared. This is a rare edge case that caused problems when matchers were used, so it has been removed.v0.32.3Compare Source
Changed
snapshot()by using lazy evaluation.Fixed
builder.create_call().v0.32.2Compare Source
Fixed
v0.32.1Fixed
Fixed handling of
datetimeandtimeobjects with timezone information. Thetzinfoparameter is now properly included in snapshots, andtimezone.utcis represented with the correct import (from datetime import timezone).Fixed customize hook registration to properly check if objects are functions before inspecting the
inline_snapshot_implattribute, preventing potential attribute errors when scanning conftest modules.v0.32.0Removed
Added
pathlib.Path/PurePathvalues are now never stored asPosix/WindowsPathor their Pure variants, which improves the writing of platform independent tests.Support for import statement generation for all types and user-customized code.
Added a new way to customize snapshot creation with
@customize.Added a plugin system which allows you to reuse customizations across multiple projects.
Added support for conditional external storage to automatically store values in external files based on custom criteria (e.g., string length, data size).
Added built-in handlers for
datetime.datetime,date,time, andtimedeltathat generate clean snapshots with proper imports.Generates
__file__instead of the filename string of the current source file.Uses dirty-equals
IsNow()instead of the current datetime when the time value equals the current time.Deprecated
@customize_reprwhich can be replaced with@customize.Fixed
raisescatches BaseException instead of Exception. This ensures that SystemExit and KeyboardInterrupt are also caught.pytest --color flag is now respected
nushell/nushell (nushell)
v0.112.1Compare Source
This is the 0.112.1 release of Nushell. You can learn more about this release here: https://www.nushell.sh/blog/2026-04-11-nushell_v0_112_1.html
(We skipped release 0.112.0 due to issue when releasing to crates.io.)
For convenience, we are providing full builds for Windows, Linux, and macOS. Be sure you have the requirements to enable all capabilities: https://www.nushell.sh/book/installation.html#dependencies
This release was made possible by PR contributions from @0xRozier, @amaanq, @andrewgazelka, @app/, @app/dependabot, @ayax79, @Bahex, @Benjas333, @blackhat-hemsworth, @blindFS, @Bortlesboat, @ChrisDenton, @CloveSVG, @cmtm, @coravacav, @cosineblast, @cptpiepmatz, @Dexterity104, @dxrcy, @fdncred, @galuszkak, @guluo2016, @hustcer, @ian-h-chamberlain, @Juhan280, @kiannidev, @kx0101, @Moayad717, @musicinmybrain, @niklasmarderx, @pickx, @preiter93, @rayzeller, @rbran, @Rohan5commit, @seroperson, @sholderbach, @smartcoder0777, @stuartcarnie, @tauanbinato, @Tyarel8, @weirdan, @WindSoilder, @WookiesRpeople2, @xtqqczze, @ymcx, @ysthakur, @zhiburt
v0.111.0Compare Source
This is the 0.111.0 release of Nushell. You can learn more about this release here: https://www.nushell.sh/blog/2026-02-28-nushell_v0_111_0.html
For convenience, we are providing full builds for Windows, Linux, and macOS. Be sure you have the requirements to enable all capabilities: https://www.nushell.sh/book/installation.html#dependencies
This release was made possible by PR contributions from @132ikl, @Ady0333, @amaanq, @andrewgazelka, @app/dependabot, @astral-l, @ayax79, @Bahex, @benblank, @blindFS, @BluewyDiamond, @cablehead, @ChrisDenton, @cptpiepmatz, @cuiweixie, @evolvomind, @fdncred, @fennewald, @fmotalleb, @hovancik, @hustcer, @InnocentZero, @it-education-md, @jlcrochet, @Juhan280, @kaathewisegit, @KaiSforza, @maxim-uvarov, @monigarr, @moooooji, @NotTheDr01ds, @pickx, @pyz4, @sgvictorino, @smartcoder0777, @stuartcarnie, @teddygood, @veeceey, @weirdan, @WindSoilder, @ysthakur
v0.110.0Compare Source
This is the 0.110.0 release of Nushell. You can learn more about this release here: https://www.nushell.sh/blog/2026-01-17-nushell_v0_110_0.html
For convenience, we are providing full builds for Windows, Linux, and macOS. Be sure you have the requirements to enable all capabilities: https://www.nushell.sh/book/installation.html#dependencies
This release was made possible by PR contributions from @andrewgazelka, @app/dependabot, @astral-l, @atahabaki, @ayax79, @blackhat-hemsworth, @blindFS, @ChrisDenton, @cptpiepmatz, @DevAldrete, @dhr412, @Dorumin, @Ecorous, @fdncred, @hustcer, @IvolliousElectrolux, @Jan9103, @kaathewisegit, @KaiSforza, @kouhe3, @migraine-user, @NotTheDr01ds, @playwmadness, @reubeno, @sgvictorino, @splintersuidman, @tom-lubenow, @Tyarel8, @WindSoilder, @yanek, @ysthakur
conda/rattler (py-rattler)
v0.23.2: py-rattler v0.23.2Compare Source
Added
WhlPackageRecordto Python by @Anshgrover23 in #2221Changed
Fixed
v0.23.1: py-rattler v0.23.1Compare Source
Added
v0.23.0: py-rattler v0.23.0Compare Source
Added
timeoutparameter toClient(#2151)default_clientwith built-in retry, OCI, GCS, and S3 middleware (#2106)archspecin virtual package overrides (#2019)PackageRecordtypes (#2046)Changed
*Errorsuffix (#2083)nameinMatchSpecnon-optional (#2132)jlap_enabledis now deprecated and ignored inFetchRepoDataOptionsandSourceConfig(#2038); ifconditional dependency syntax withwhenkey (e.g.,foo[when="python >=3.6"]instead offoo; if python >=3.6) to align with the conda CEP; the old syntax now raises an error (#2007)v3top-level key with per-archive-type sub-maps (conda,tar.bz2,whl), replacing the separatepackages.whlkey, to align with the conda CEPs for repodata v3, conditional dependencies, and wheel support (#2093)Arc<RepoDataRecord>throughout the gateway and Python bindings, eliminating redundant copies when passing records between Python and Rust (e.g., parsing repodata and feeding it to the solver); also release the GIL duringSparseRepoDataconstruction to allow parallel channel loading (#2061).condaextraction with fully asyncastral-async-zip, improving package download and extraction performance (#1855)Fixed
channelsargument ofEnvironment(#2062)PrefixRecordinstead of always writingHardLink(#2169)BarrierCellby usingcompare_exchangeinstead offetch_max(#2101)OCIUrl::newwith proper error handling (#2162)$HOMEin file backend (#2065)Performance
v0.22.0Compare Source
v0.21.0Compare Source
prefix-dev/rattler-build (rattler-build)
v0.62.0✨ Highlights
The biggest change of this release is that we now clean environment variables before executing the build script.
This makes build scripts more reproducible and also matches what conda-build is doing.
However, we went for a more strict approach than conda-build since we also re-map the home directory to the working directory.
Both the CLI and Python API allow to opt for the conda-build behaviour or no environment variable isolation instead.
With the CLI a new flag
--env-isolationis available which takesstrict(default),conda-buildornoneas option.Added
Documentation
Fixed
New Contributors
astral-sh/ruff (ruff)
v0.15.10Compare Source
Released on 2026-04-09.
Preview features
flake8-logging] Allow closures in except handlers (LOG004) (#24464)flake8-self] MakeSLFdiagnostics robust to non-self-named variables (#24281)flake8-simplify] Make the fix forcollapsible-ifsafe inpreview(SIM102) (#24371)Bug fixes
E502fixes in f-strings and t-strings (#24410)dedent_to(#24381)pyupgrade] Fix panic caused by handling of octals (UP012) (#24390)Rule changes
ruff] Treat f-string interpolation as potential side effect (RUF019) (#24426)Server
Documentation
Contributors
v0.15.9Compare Source
Released on 2026-04-02.
Preview features
pyflakes] Flag annotated variable redeclarations asF811in preview mode (#24244)ruff] Allow dunder-named assignments in non-strict mode forRUF067(#24089)Bug fixes
flake8-errmsg] Avoid shadowing existingmsgin fix forEM101(#24363)flake8-simplify] Ignore pre-initialization references inSIM113(#24235)pycodestyle] FixW391fixes for consecutive empty notebook cells (#24236)pyupgrade] FixUP008nested class matching (#24273)pyupgrade] Ignore strings with string-only escapes (UP012) (#16058)ruff]RUF072: skip formfeeds on dedent (#24308)ruff] Avoid re-using symbol inRUF024fix (#24316)ruff] Parenthesize expression inRUF050fix (#24234)Rule changes
flake8-simplify] SuppressSIM105forexcept*before Python 3.12 (#23869)pyflakes] ExtendF507to flag%-format strings with zero placeholders (#24215)pyupgrade]UP018should detect more unnecessarily wrapped literals (UP018) (#24093)pyupgrade] FixUP008callable scope handling to support lambdas (#24274)ruff]RUF010: Mark fix as unsafe when it deletes a comment (#24270)Formatter
nested-string-quote-styleformatting option (#24312)Documentation
flake8-bugbear] Clarify RUF071 fix safety for non-path string comparisons (#24149)flake8-type-checking] Clarify import cycle wording forTC001/TC002/TC003(#24322)Other changes
|(#24343)Contributors
v0.15.8Compare Source
Released on 2026-03-26.
Preview features
ruff] New ruleunnecessary-if(RUF050) (#24114)ruff] New ruleuseless-finally(RUF072) (#24165)ruff] New rulef-string-percent-format(RUF073): warn when using%operator on an f-string (#24162)pyflakes] Recognizefrozendictas a builtin for Python 3.15+ (#24100)Bug fixes
flake8-async] Use fully-qualifiedanyio.lowlevelimport in autofix (ASYNC115) (#24166)flake8-bandit] Check tuple arguments for partial paths inS607(#24080)pyflakes] Skipundefined-name(F821) for conditionally deleted variables (#24088)E501/W505/formatter: Exclude nested pragma comments from line width calculation (#24071)%foo?parsing in IPython assignment expressions (#24152)analyze graph: resolve string imports that reference attributes, not just modules (#24058)Rule changes
eradicate] ignorety: ignorecomments inERA001(#24192)flake8-bandit] Treatsys.executableas trusted input inS603(#24106)flake8-self] RecognizeSelfannotation andselfassignment inSLF001(#24144)pyflakes]F507: Fix false negative for non-tuple RHS in%-formatting (#24142)refurb] Parenthesize generator arguments inFURB142fixer (#24200)Performance
Server
Documentation
extend-ignoreandextend-selectsettings documentation (#24064)Other changes
Contributors
v0.15.7Compare Source
Released on 2026-03-19.
Preview features
noqahover for non-Python documents (#24040)Rule changes
pycodestyle] Recognizepyrefly:as a pragma comment (E501) (#24019)Server
Documentation
pylint] Improve phrasing (PLC0208) (#24033)Other changes
Contributors
v0.15.5Compare Source
Released on 2026-03-05.
Preview features
perflint] ExtendPERF102to comprehensions and generators (#23473)refurb] FixFURB101andFURB103false positives when I/O variable is used later (#23542)ruff] Add fix fornone-not-at-end-of-union(RUF036) (#22829)ruff] Fix false positive forre.splitwith empty string pattern (RUF055) (#23634)Bug fixes
fastapi] Handle callable class dependencies with__call__method (FAST003) (#23553)pydocstyle] Fix numpy section ordering (D420) (#23685)pyflakes] Fix false positive for names shadowing re-exports (F811) (#23356)pyupgrade] Avoid inserting redundantNoneelements inUP045(#23459)Documentation
Other changes
Contributors
v0.15.4Compare Source
Released on 2026-02-26.
This is a follow-up release to 0.15.3 that resolves a panic when the new rule
PLR1712was enabled with any rule that analyzes definitions, such as many of theANNorDrules.Bug fixes
pyflakes] Suppress false positive inF821for names used beforedelin stub files (#23550)Documentation
import-headingexample (#23568)Contributors
v0.15.3Compare Source
Released on 2026-02-26.
Preview features
Drop explicit support for
.qmdfile extension (#23572)This can now be enabled instead by setting the
extensionoption:Include configured extensions in file discovery (#23400)
[
flake8-bandit] Allow suspicious imports inTYPE_CHECKINGblocks (S401-S415) (#23441)[
flake8-bugbear] AllowB901in pytest hook wrappers (#21931)[
flake8-import-conventions] Add missing conventions from upstream (ICN001,ICN002) (#21373)[
pydocstyle] Add rule to enforce docstring section ordering (D420) (#23537)[
pylint] Implementswap-with-temporary-variable(PLR1712) (#22205)[
ruff] Addunnecessary-assign-before-yield(RUF070) (#23300)[
ruff] Support file-level noqa inRUF102(#23535)[
ruff] Suppress diagnostic for invalid f-strings before Python 3.12 (RUF027) (#23480)[
flake8-bandit] Don't flagBaseLoader/CBaseLoaderas unsafe (S506) (#23510)Bug fixes
I002andPYI025(#23352)pyflakes] Fix false positive for@overloadfromlint.typing-modules(F811) (#23357)pyupgrade] Fix false positive forTypeVardefault before Python 3.12 (UP046) (#23540)pyupgrade] Fix handling of\Nin raw strings (UP032) (#22149)Rule changes
Render sub-diagnostics in the GitHub output format (#23455)
[
flake8-bugbear] Tag certainB007diagnostics as unnecessary (#23453)[
ruff] Ignore unknown rule codes inRUF100(#23531)These are now flagged by
RUF102instead.Documentation
pydocstyle] Fix double comma in description ofD404(#23440)Other changes
find_ruff_bin) for parity with uv (#23406)Contributors
v0.15.2Compare Source
Released on 2026-02-19.
Preview features
Expand the default rule set (#23385)
In preview, Ruff now enables a significantly expanded default rule set of 412
rules, up from the stable default set of 59 rules. The new rules are mostly a
superset of the stable defaults, with the exception of these rules, which are
removed from the preview defaults:
multiple-imports-on-one-line(E401)module-import-not-at-top-of-file(E402)module-import-not-at-top-of-file(E701)multiple-statements-on-one-line-semicolon(E702)useless-semicolon(E703)none-comparison(E711)true-false-comparison(E712)Configuration
📅 Schedule: (UTC)
🚦 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 was generated by Mend Renovate. View the repository job log.