github pallets/click 8.3.3

7 hours ago

This is the Click 8.3.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.

PyPI: https://pypi.org/project/click/8.3.3/
Changes: https://click.palletsprojects.com/page/changes/#version-8-3-3
Milestone: https://github.com/pallets/click/milestone/30

  • Use :func:shlex.split to split pager and editor commands into argv
    lists for :class:subprocess.Popen, removing shell=True.
    #1026 #1477 #2775
  • Fix TypeError when rendering help for an option whose default value is
    an object that doesn't support equality comparison with strings, such as
    semver.Version. #3298 #3299
  • Fix pager test pollution under parallel execution by using pytest's
    tmp_path fixture instead of a shared temporary file path. #3238
  • Treat Sentinel.UNSET values in a default_map as absent, so they fall
    through to the next default source instead of being used as the value.
    #3224 #3240
  • Patch pdb.Pdb in CliRunner isolation so pdb.set_trace(),
    breakpoint(), and debuggers subclassing pdb.Pdb (ipdb, pdbpp) can
    interact with the real terminal instead of the captured I/O streams.
    #654 #824 #843 #951 #3235
  • Add optional randomized parallel test execution using pytest-randomly and
    pytest-xdist to detect test pollution and race conditions. #3151
  • Add contributor documentation for running stress tests, randomized
    parallel tests, and Flask smoke tests. #3151 #3177
  • Show custom show_default string in prompts, matching the existing
    help text behavior. #2836 #2837 #3165 #3262 #3280
    #3328
  • Fix default=True with boolean flag_value always returning the
    flag_value instead of True. The default=True to flag_value
    substitution now only applies to non-boolean flags, where True acts as a
    sentinel meaning "activate this flag by default". For boolean flags,
    default=True is returned as a literal value. #3111 #3239
  • Mark make_default_short_help as private API. #3189 #3250
  • CliRunner's redirected streams now expose the original file descriptor
    via fileno(), so that faulthandler, subprocess, and other
    C-level consumers no longer crash with io.UnsupportedOperation.
    #2865
  • Change :class:ParameterSource to an :class:~enum.IntEnum and reorder
    its members from most to least explicit, so values can be compared to
    check whether a parameter was explicitly provided. #2879 #3248

Don't miss a new click release

NewReleases is sending notifications on new releases.