Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update minor updates (master) #74

Merged
merged 2 commits into from
May 23, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented May 23, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
astropy 6.0.1 -> 6.1.0 age adoption passing confidence
pytest (changelog) ^8.1.1 -> ^8.2.1 age adoption passing confidence
ruff (source, changelog) 0.4.1 -> 0.4.5 age adoption passing confidence

Release Notes

astropy/astropy (astropy)

v6.1.0

Compare Source

==========================

New Features

astropy.coordinates
^^^^^^^^^^^^^^^^^^^

  • BaseCoordinateFrame now has a position_angle() method, which is the
    same as the position_angle method of SkyCoord instances. [#​15737]

  • By default the SkyCoord and BaseCoordinateFrame separation()
    methods now emit a warning if they have to perform a coordinate transformation
    that is not a pure rotation to inform the user that the angular separation can
    depend on the direction of the transformation.
    It is possible to modify this behaviour with the new optional keyword-only
    origin_mismatch argument.
    Specifying origin_mismatch="ignore" allows any transformation to
    succeed without warning, which has been the behaviour so far.
    origin_mismatch="error" forbids all transformations that are not
    pure rotations. [#​16246]

astropy.io.ascii
^^^^^^^^^^^^^^^^

  • Clearer error message in reading ASCII tables when there is
    a mismatch between converter type and column type. [#​15991]

astropy.io.registry
^^^^^^^^^^^^^^^^^^^

  • The module astropy.io.typing has been added to provide type annotations for
    I/O-related functionality. [#​15916]

astropy.samp
^^^^^^^^^^^^

  • SAMP web profile CORS HTTP server implements Private Network Access proposal <https://wicg.github.io/private-network-access>_. [#​16193]

astropy.table
^^^^^^^^^^^^^

  • Table now has a setdefault() method, analogous to
    dict.setdefault(). [#​16188]

astropy.units
^^^^^^^^^^^^^

  • Added a new module astropy.units.typing that provides support for type annotations related to
    astropy.units. [#​15860]

  • Added a new CGS unit Oersted. [#​15962]

  • Added "surface brightness", "surface brightness wav", "photon surface brightness", and "photon surface brightness wav" to recognized physical types. [#​16032]

  • Added magnetic helicity as a physical type. [#​16101]

astropy.utils
^^^^^^^^^^^^^

  • For gufuncs on Masked instances, add support for the axes argument. [#​16121]

  • Masked instances now support the various numpy array set operations, such
    as np.unique and np.isin. [#​16224]

astropy.wcs
^^^^^^^^^^^

  • Added support for slicing WCS objects containing cpdis or det2im distortions, which previously were ignored. [#​16163]

API Changes

astropy.coordinates
^^^^^^^^^^^^^^^^^^^

  • The astropy.coordinates.transformations module has been refactored into a module.
    There should be no user-visible changes, but if you notice any, please open an
    Issue. [#​15895]

  • Changed the default value of the copy argument in
    astropy.coordinates.representation.CylindricalDifferential.__init__ from
    False to True, which is the intended behaviour for all subclasses of
    astropy.coordinates.representation.BaseDifferential. [#​16198]

astropy.cosmology
^^^^^^^^^^^^^^^^^

  • Cosmology and its subclasses are now frozen dataclass objects. [#​15484]

  • The argument verbose in the function z_at_value is now keyword-only. [#​15855]

astropy.io.ascii
^^^^^^^^^^^^^^^^

  • The io.ascii Python and C table readers were updated to use a 64-bit integer field by
    default when reading a column of integer numeric data. This changes the default behavior
    on Windows and potentially 32-bit architectures. Previously on those platforms, table
    columns with any long integers which overflowed the 32-bit integer would be returned
    as string columns. The new default behavior is consistent with numpy v2 and pandas. [#​16005]

  • The parallel fast-reader parser for reading ASCII files has been removed.
    Since astropy v4.0.4 requesting this option has issued a warning that
    this option is broken and that the serial parser will be used.
    The parallel key in the fast_reader argument for reading
    ASCII tables is no longer available. [#​16103]

astropy.table
^^^^^^^^^^^^^

  • show_in_notebook is deprecated and it is recommended to use dedicated
    tools in the Jupyter ecosystem to create interactive plots in notebooks. [#​15905]

  • A warning is now emitted when Quantity values are inserted into empty Column objects
    via Table.insert_row or Table.add_row. [#​16038]

  • show_in_browser is deprecated (pending feedback from the community).
    Please https://github.com/astropy/astropy/issues/160676067 if you are
    actively using the function. [#​16068]

  • TableColumns.setdefault() and TableColumns.update() methods (which
    would typically be called as Table.columns.setdefault() and
    Table.columns.update()) have been deprecated because they can easily
    corrupt the Table instance the TableColumns instance is attached to.
    The Table.setdefault() and Table.update() methods are safe. [#​16154]

astropy.time
^^^^^^^^^^^^

  • TIME_FORMATS and TIME_DELTA_FORMATS in astropy.time.formats
    are changed from OrderedDict to Python dict. [#​15491]

  • A FutureWarning is now emitted when mutating Time.location post-initialization. [#​16063]

  • Following the removal of np.ndarray.ptp in Numpy v2, Time.ptp is now
    deprecated in favor of np.ptp. [#​16212]

astropy.units
^^^^^^^^^^^^^

  • If any iterable such as a list of tuple was input to Quantity, a check was
    done to see if they contained only quantities, and, if so, the quantities were
    concatenated. This makes sense for list and tuple, but is not necessarily
    logical for all iterables and indeed was broken for those that do not have a
    length (such as array_api array instances). Hence, the check will now be
    done only for values where it makes sense, i.e., instances of list and tuple. [#​15752]

  • Units now exposes get_converter which returns a function that
    will convert a scalar or array from one unit to another. This can be
    useful to speed up code that converts many quantities with the same
    unit to another one, especially if the quantity has not many elements,
    so that the overhead of creating a conversion function is relatively large. [#​16139]

astropy.utils
^^^^^^^^^^^^^

  • Deprecate importing ErfaError and ErfaWarning from astropy.utils.exceptions.
    They should be imported directly from erfa instead. [#​15777]

  • introspection.isinstancemethod() and introspection.find_mod_objs() are
    deprecated. [#​15934]

  • astropy.utils.console.terminal_size is now deprecated in favour of
    shutil.get_terminal_size from the standard library. [#​16045]

  • indent() is deprecated.
    Use textwrap.indent() from Python standard library instead. [#​16223]

  • Unmasked Masked scalar instances are now considered hashable, to match the
    implicit behaviour of regular arrays, where if an operation leads to a scalar,
    a hashable array scalar is returned. [#​16224]

astropy.visualization
^^^^^^^^^^^^^^^^^^^^^

  • Renamed the min_cut and max_cut keywords in simple_norm and
    fits2bitmap to vmin and vmax. The old names are deprecated. [#​15621]

  • If vmin == vmax, the ImageNormalize class now maps the input
    data to 0. If vmin > vmax, the ImageNormalize class now raises a
    ValueError. [#​15622]

Bug Fixes

astropy.convolution
^^^^^^^^^^^^^^^^^^^

  • Avoid a segfault when calling astropy.convolution.convolve on an empty array.
    An exception is now raised instead. [#​15840]

astropy.coordinates
^^^^^^^^^^^^^^^^^^^

  • Previously passing a SkyCoord instance to the BaseCoordinateFrame
    separation() or separation_3d() methods could produce wrong results,
    depending on what additional frame attributes were defined on the SkyCoord,
    but now SkyCoord input can be used safely. [#​15659]

  • Distance now accepts as parallax any angle-like value.
    This includes types like Column which have a unit but are not Quantity subclasses. [#​15712]

  • The new default for the class method SkyCoord.from_name()
    is to look for coordinates first in SIMBAD, then in NED, and then in VizieR,
    instead of having no specific order. [#​16046]

  • Fix Angle.to_string() for angles in degrees represented in 'hms' and angles in hours represented in 'dms'. [#​16085]

  • Fix a bug where SkyCoord.spherical_offsets_by would crash when a wrap
    was needed. [#​16241]

  • search_around_3d() now always raises a UnitConversionError if the units
    of the distances in coord1 and coord2 and the unit of distlimit do
    not agree.
    Previously the error was not raised if at least one of the coordinates was
    empty. [#​16280]

astropy.cosmology
^^^^^^^^^^^^^^^^^

  • Fixed a bug where the attribute ParametersAttribute.attr_name could be None
    instead of a string. [#​15882]

astropy.io.ascii
^^^^^^^^^^^^^^^^

  • Reading of CDS header files with multi-line descriptions where the continued line started with a number was broken. This is now fixed. [#​15617]

  • Ensure that the names of mixin columns are properly propagated as
    labels for the MRT format. [#​15848]

  • Fixed reading IPAC tables for long column type on some platforms, e.g., Windows. [#​16005]

astropy.io.fits
^^^^^^^^^^^^^^^

  • Avoid WinError 1455 in opening some large files with memory
    mapping on windows. [#​15388]

  • Fix TDISP parsing for floating numbers. [#​16007]

  • Fix a crash when calling FITS writeto methods with stdout as the output stream. [#​16008]

  • Fix TDISP parsing for floating numbers in formats ES / EN. [#​16015]

  • Fix conversion of Table to BinTableHDU with character_as_bytes=True. [#​16358]

  • Improved error message when instantiating a fits table with an ill-formed array. [#​16363]

astropy.io.misc
^^^^^^^^^^^^^^^

  • Reading an empty table stored in parquet format now creates an empty
    table instead of raising an unexpected error. [#​16237]

astropy.io.votable
^^^^^^^^^^^^^^^^^^

  • When reading a VOTable, if some user-requested columns were not present then the
    resulting error message previously listed all the requested column names.
    Now only columns that are actually missing are shown. [#​15956]

astropy.stats
^^^^^^^^^^^^^

  • Fix a spurious warning when calling sigma_clipped_stats on a MaskedColumn. [#​15844]

astropy.table
^^^^^^^^^^^^^

  • Fix a Table bug when setting items (via slice or index list) in a bytes type
    MaskedColumn would cause the column mask to be set to all False. A common way to
    trigger this bug was reading a FITS file with masked string data and then sorting the
    table. [#​15669]

  • Fix slicing logic for Row.
    Previously, slicing a astropy.table.row.Row object would incorrectly return a column,
    now it correctly returns a list of values from that row. [#​15733]

  • Fix a ValueError raised by table.join when fed with large tables.
    This would typically happen in situations when the result joined table would be
    too large to fit in memory. In those situations, the error message is now much more
    clearly about the necessary memory size. [#​15734]

  • Fix an unintended exception being raised when attempting to compare two unequal Table instances. [#​15845]

  • Ensure that if a Column is initialized with a Quantity it will use by
    default a possible name defined on the quantity's .info. [#​15848]

  • Fix a bug where columns with dtype=object wouldn't be properly deep-copied using copy.deepcopy. [#​15871]

  • Fix hasattr(Table, "iloc") raising an exception, preventing use of tables e.g. with scikit-learn. [#​15913]

  • Calling Table.group_by on an empty table no longer raises an exception. [#​16093]

  • The unit conversion convert_unit_to with MaskedColumn was
    broken as it was storing the old unit in a dictionary attached
    to underlying np.ma.MaskedArray. This fixes it by overwriting
    the old unit after unit conversion. [#​16118]

  • astropy.table.vstack will no longer modify the input list even when it
    contains non-Table objects like astropy.table.Row. [#​16130]

  • Update old dataTables.js version.
    This should not affect the end user. [#​16315]

astropy.time
^^^^^^^^^^^^

  • Fix comparing NaN Quantity with TimeDelta object. [#​15830]

  • Scalar Time instances are now hashable if they are not masked, also if one
    uses Masked internally, matching the behaviour prior to astropy 6.0 (and
    the current behaviour when masking using np.ma.MaskedArray). [#​16224]

astropy.units
^^^^^^^^^^^^^

  • Fix rare signature incompatibilities between helper and helped array functions.
    Most involve cases where the corresponding numpy function has had its
    arguments renamed between numpy versions. Since all those generally changed
    the first arguments, which are typically passed as positional arguments,
    this should not affect user code.
    Affected functions:

    • numpy.array_str
    • numpy.choose
    • numpy.convolve
    • numpy.correlate
    • numpy.histogram
    • numpy.histogramdd
    • numpy.histogram2d
    • numpy.isin
    • numpy.inner
    • numpy.nanmedian
    • numpy.unique
    • numpy.matrix_rank
    • numpy.unwrap
    • numpy.vdot
    • numpy.lib.recfunctions.unstructured_to_structured [#​15710]
  • Fix an issue with unicode string representations of units shown as
    superscripts (like degree) when raised to some power. Like for
    LaTeX representations, now the superscript unicode character is
    replaced by the literal short name before adding the power. [#​15755]

  • Fix a missing Sun unit in the list of VOUnits simple_units. [#​15832]

  • Fix an unhelpful TypeError when attempting truediv, lshift (<<) or mul (*) or truediv (/) with a Unit for right operand and a numpy array with non-numerical dtype for left operand. [#​15883]

  • Fix write/read roundtrips with empty Table dumped to ECSV. [#​15885]

  • Fix a bug where LaTeX formatter would return empty strings for unity (1) input. [#​15923]

  • Fix extraneous space in LaTeX repr for Quantity objects with superscript
    units (e.g. angles or temperatures in degree Celsius). [#​16043]

  • Ensure powers of units are consistently as simple as possible. So, an
    integer if possible, otherwise a float, or a fraction if the float is
    really close to that. This also ensures the hash of a unit is unique
    for any given unit (previously, the same power could be represented as
    float, int or fraction, which made the hash different). [#​16058]

  • Ensure that find_equivalent_units only returns actual units, not units
    that raised to some power match the requested one. With this fix,
    (u.m**-3).find_equivalent_units() properly finds nothing, rather than all
    units of length. [#​16127]

  • Using a dimensionless Quantity as an exponent works anew.
    In astropy 6.0.1 an exception was erroneously raised. [#​16261]

astropy.utils
^^^^^^^^^^^^^

  • Fix rare signature incompatibilities between helper and helped array functions.
    These typically cover corner cases and should not affect user code.
    Some arguments weren't being re-exposed correctly or at all, depending on
    numpy's version.
    Affected functions:

    • numpy.broadcast_arrays
    • numpy.median
    • numpy.quantile
    • numpy.empty_like
    • numpy.ones_like
    • numpy.zeros_like
    • numpy.full_like [#​16025]
  • Fix a bug where astropy.utils.console.Spinner would leak newlines for
    messages longer than terminal width. [#​16040]

  • Update report_diff_values so the diff no longer depends on the
    console terminal size. [#​16065]

  • Fix support in Masked for generalized ufuncs with more than a
    single core dimension (such as erfa.rxp). [#​16120]

  • Masked array instances now deal more properly with structured dtypes,
    combining field masks to get element masks for generalized ufuncs, and
    allowing .view() any time the mask can be viewed as well. This allows a
    larger number of erfa routines to work with masked data. [#​16125]

astropy.visualization
^^^^^^^^^^^^^^^^^^^^^

  • WCSAxes will correctly set certain defaults when wcs.world_axis_physical_types contains custom: prefixes. [#​15626]

  • Fix an edge case where quantity_support would produce duplicate tick labels for small data ranges. [#​15841]

  • Fix a bug where AngleFormatterLocator and ScalarFormatterLocator wouldn't respect matplotlib.rc's axes.unicode_minus parameter. [#​15902]

  • Fixed a bug in CoordinateHelper.grid method to properly handle draw_grid=False and draw_grid=None,
    ensuring grid lines are controlled correctly even when not explicitly called. [#​15985]

astropy.wcs
^^^^^^^^^^^

  • Updated bundled WCSLIB version to 8.2.2. This update fixes character buffer
    overflows in the comment string for the longitude and latitude axes triggered
    by some projections in wcshdo(), and also the formatting for generic
    coordinate systems. For a full list of changes - see
    http://www.atnf.csiro.au/people/mcalabre/WCS/CHANGES or
    astropy/cextern/wcslib/CHANGES [#​15795]

  • Fixed a bug in fit_wcs_from_points that does not set the default value of the cdelt of the returned WCS object. [#​16027]

  • Fixed a bug in DistortionLookupTable (which implements cpdis and det2im projection corrections to a WCS) in which image pixels received an incorrect distortion value, from a location in the lookup table incorrectly offset by about 1 table pixel. [#​16163]

Other Changes and Additions

  • Update minimum supported Python version to 3.10 [#​15603]

  • The minimum required NumPy version is now 1.23 and the minimum required SciPy version is 1.8. [#​15706]

  • Fix loading parser tabs on pyc-only installations.

    Fix a bug in the wrappers for the lex and yacc wrappers that are
    used for parsing Astropy units so that they work on pyc-only
    installations.

    According to the Python module loading
    flow chart <https://peps.python.org/pep-3147/#flow-chart>_, when evaluating
    import foo and foo.py is not found, Python then reads foo.pyc.

    One can take advantage of this fact to strip source files and leave only Python
    bytecode files for deployment inspace-constrained execution environments such
    as AWS Lambda. Astropy is now compatible with pyc-only deployments. [#​16159]

  • Change the default value of copy arguments in public APIs from False to
    None if Numpy 2.0 or newer is installed.
    For details, see the "Copy semantics" section on the What's New page for Astropy 6.1 . [#​16181]

  • astropy is now compiled against NumPy 2.0, enabling runtime compatibility
    with this new major release. Compatibility with NumPy 1.23 and newer
    versions of NumPy 1.x is preserved through this change. [#​16252]

pytest-dev/pytest (pytest)

v8.2.1

Compare Source

pytest 8.2.1 (2024-05-19)

Improvements

  • #​12334: Support for Python 3.13 (beta1 at the time of writing).

Bug Fixes

  • #​12120: Fix [PermissionError]{.title-ref} crashes arising from directories which are not selected on the command-line.
  • #​12191: Keyboard interrupts and system exits are now properly handled during the test collection.
  • #​12300: Fixed handling of 'Function not implemented' error under squashfuse_ll, which is a different way to say that the mountpoint is read-only.
  • #​12308: Fix a regression in pytest 8.2.0 where the permissions of automatically-created .pytest_cache directories became rwx------ instead of the expected rwxr-xr-x.

Trivial/Internal Changes

  • #​12333: pytest releases are now attested using the recent Artifact Attestation support from GitHub, allowing users to verify the provenance of pytest's sdist and wheel artifacts.

v8.2.0

Compare Source

pytest 8.2.0 (2024-04-27)

Deprecations

  • #​12069: A deprecation warning is now raised when implementations of one of the following hooks request a deprecated py.path.local parameter instead of the pathlib.Path parameter which replaced it:

    • pytest_ignore_collect{.interpreted-text role="hook"} - the path parameter - use collection_path instead.
    • pytest_collect_file{.interpreted-text role="hook"} - the path parameter - use file_path instead.
    • pytest_pycollect_makemodule{.interpreted-text role="hook"} - the path parameter - use module_path instead.
    • pytest_report_header{.interpreted-text role="hook"} - the startdir parameter - use start_path instead.
    • pytest_report_collectionfinish{.interpreted-text role="hook"} - the startdir parameter - use start_path instead.

    The replacement parameters are available since pytest 7.0.0.
    The old parameters will be removed in pytest 9.0.0.

    See legacy-path-hooks-deprecated{.interpreted-text role="ref"} for more details.

Features

  • #​11871: Added support for reading command line arguments from a file using the prefix character @, like e.g.: pytest @&#8203;tests.txt. The file must have one argument per line.

    See Read arguments from file <args-from-file>{.interpreted-text role="ref"} for details.

Improvements

  • #​11523: pytest.importorskip{.interpreted-text role="func"} will now issue a warning if the module could be found, but raised ImportError{.interpreted-text role="class"} instead of ModuleNotFoundError{.interpreted-text role="class"}.

    The warning can be suppressed by passing exc_type=ImportError to pytest.importorskip{.interpreted-text role="func"}.

    See import-or-skip-import-error{.interpreted-text role="ref"} for details.

  • #​11728: For unittest-based tests, exceptions during class cleanup (as raised by functions registered with TestCase.addClassCleanup <unittest.TestCase.addClassCleanup>{.interpreted-text role="meth"}) are now reported instead of silently failing.

  • #​11777: Text is no longer truncated in the short test summary info section when -vv is given.

  • #​12112: Improved namespace packages detection when consider_namespace_packages{.interpreted-text role="confval"} is enabled, covering more situations (like editable installs).

  • #​9502: Added PYTEST_VERSION{.interpreted-text role="envvar"} environment variable which is defined at the start of the pytest session and undefined afterwards. It contains the value of pytest.__version__, and among other things can be used to easily check if code is running from within a pytest run.

Bug Fixes

  • #​12065: Fixed a regression in pytest 8.0.0 where test classes containing setup_method and tests using @staticmethod or @classmethod would crash with AttributeError: 'NoneType' object has no attribute 'setup_method'.

    Now the request.instance <pytest.FixtureRequest.instance>{.interpreted-text role="attr"} attribute of tests using @staticmethod and @classmethod is no longer None, but a fresh instance of the class, like in non-static methods.
    Previously it was None, and all fixtures of such tests would share a single self.

  • #​12135: Fixed issue where fixtures adding their finalizer multiple times to fixtures they request would cause unreliable and non-intuitive teardown ordering in some instances.

  • #​12194: Fixed a bug with --importmode=importlib and --doctest-modules where child modules did not appear as attributes in parent modules.

  • #​1489: Fixed some instances where teardown of higher-scoped fixtures was not happening in the reverse order they were initialized in.

Trivial/Internal Changes

  • #​12069: pluggy>=1.5.0 is now required.
  • #​12167: cache <cache>{.interpreted-text role="ref"}: create supporting files (CACHEDIR.TAG, .gitignore, etc.) in a temporary directory to provide atomic semantics.
astral-sh/ruff (ruff)

v0.4.5

Compare Source

Ruff's language server is now in Beta

v0.4.5 marks the official Beta release of ruff server, an integrated language server built into Ruff.
ruff server supports the same feature set as ruff-lsp, powering linting, formatting, and
code fixes in Ruff's editor integrations -- but with superior performance and
no installation required. We'd love your feedback!

You can enable ruff server in the VS Code extension today.

To read more about this exciting milestone, check out our blog post!

Rule changes
  • [flake8-future-annotations] Reword future-rewritable-type-annotation (FA100) message (#​11381)
  • [pycodestyle] Consider soft keywords for E27 rules (#​11446)
  • [pyflakes] Recommend adding unused import bindings to __all__ (#​11314)
  • [pyflakes] Update documentation and deprecate ignore_init_module_imports (#​11436)
  • [pyupgrade] Mark quotes as unnecessary for non-evaluated annotations (#​11485)
Formatter
  • Avoid multiline quotes warning with quote-style = preserve (#​11490)
Server
  • Support Jupyter Notebook files (#​11206)
  • Support noqa comment code actions (#​11276)
  • Fix automatic configuration reloading (#​11492)
  • Fix several issues with configuration in Neovim and Helix (#​11497)
CLI
  • Add --output-format as a CLI option for ruff config (#​11438)
Bug fixes
  • Avoid PLE0237 for property with setter (#​11377)
  • Avoid TCH005 for if stmt with elif/else block (#​11376)
  • Avoid flagging __future__ annotations as required for non-evaluated type annotations (#​11414)
  • Check for ruff executable in 'bin' directory as installed by 'pip install --target'. (#​11450)
  • Sort edits prior to deduplicating in quotation fix (#​11452)
  • Treat escaped newline as valid sequence (#​11465)
  • [flake8-pie] Preserve parentheses in unnecessary-dict-kwargs (#​11372)
  • [pylint] Ignore __slots__ with dynamic values (#​11488)
  • [pylint] Remove try body from branch counting (#​11487)
  • [refurb] Respect operator precedence in FURB110 (#​11464)
Documentation
  • Add --preview to the README (#​11395)
  • Add Python 3.13 to list of allowed Python versions (#​11411)
  • Simplify Neovim setup documentation (#​11489)
  • Update CONTRIBUTING.md to reflect the new parser (#​11434)
  • Update server documentation with new migration guide (#​11499)
  • [pycodestyle] Clarify motivation for E713 and E714 (#​11483)
  • [pyflakes] Update docs to describe WAI behavior (F541) (#​11362)
  • [pylint] Clearly indicate what is counted as a branch (#​11423)

v0.4.4

Compare Source

Preview features
  • [pycodestyle] Ignore end-of-line comments when determining blank line rules (#​11342)
  • [pylint] Detect pathlib.Path.open calls in unspecified-encoding (PLW1514) (#​11288)
  • [flake8-pyi] Implement PYI059 (generic-not-last-base-class) (#​11233)
  • [flake8-pyi] Implement PYI062 (duplicate-literal-member) (#​11269)
Rule changes
  • [flake8-boolean-trap] Allow passing booleans as positional-only arguments in code such as set(True) (#​11287)
  • [flake8-bugbear] Ignore enum classes in cached-instance-method (B019) (#​11312)
Server
  • Expand tildes when resolving Ruff server configuration file (#​11283)
  • Fix ruff server hanging after Neovim closes (#​11291)
  • Editor settings are used by default if no file-based configuration exists (#​11266)
Bug fixes
  • [pylint] Consider with statements for too-many-branches (PLR0912) (#​11321)
  • [flake8-blind-except, tryceratops] Respect logged and re-raised expressions in nested statements (BLE001, TRY201) (#​11301)
  • Recognise assignments such as __all__ = builtins.list(["foo", "bar"]) as valid __all__ definitions (#​11335)

v0.4.3

Compare Source

Enhancements
Preview features
  • [refurb] Use function range for reimplemented-operator diagnostics (#​11271)
  • [refurb] Ignore methods in reimplemented-operator (FURB118) (#​11270)
  • [refurb] Implement fstring-number-format (FURB116) (#​10921)
  • [ruff] Implement redirected-noqa (RUF101) (#​11052)
  • [pyflakes] Distinguish between first-party and third-party imports for fix suggestions (#​11168)
Rule changes
  • [flake8-bugbear] Ignore non-abstract class attributes when enforcing B024 (#​11210)
  • [flake8-logging] Include inline instantiations when detecting loggers (#​11154)
  • [pylint] Also emit PLR0206 for properties with variadic parameters (#​11200)
  • [ruff] Detect duplicate codes as part of unused-noqa (RUF100) (#​10850)
Formatter
  • Avoid multiline expression if format specifier is present (#​11123)
LSP
  • Write ruff server setup guide for Helix (#​11183)
  • ruff server no longer hangs after shutdown (#​11222)
  • ruff server reads from a configuration TOML file in the user configuration directory if no local configuration exists (#​11225)
  • ruff server respects per-file-ignores configuration (#​11224)
  • ruff server: Support a custom TOML configuration file (#​11140)
  • ruff server: Support setting to prioritize project configuration over editor configuration (#​11086)
Bug fixes
  • Avoid debug assertion around NFKC renames (#​11249)
  • [pyflakes] Prioritize redefined-while-unused over unused-import (#​11173)
  • [ruff] Respect async expressions in comprehension bodies (#​11219)
  • [pygrep_hooks] Fix blanket-noqa panic when last line has noqa with no newline (PGH004) (#​11108)
  • [perflint] Ignore list-copy recommendations for async for loops (#​11250)
  • [pyflakes] Improve invalid-print-syntax documentation (#​11171)
Performance
  • Avoid allocations for isort module names (#​11251)
  • Build a separate ARM wheel for macOS (#​11149)

v0.4.2

Compare Source

Rule changes
  • [flake8-pyi] Allow for overloaded __exit__ and __aexit__ definitions (PYI036) (#​11057)
  • [pyupgrade] Catch usages of "%s" % var and provide an unsafe fix (UP031) (#​11019)
  • [refurb] Implement new rule that suggests min/max over sorted() (FURB192) (#​10868)
Server
  • Fix an issue with missing diagnostics for Neovim and Helix (#​11092)
  • Implement hover documentation for noqa codes (#​11096)
  • Introduce common Ruff configuration options with new server settings (#​11062)
Bug fixes
  • Use macos-12 for building release wheels to enable macOS 11 compatibility (#​11146)
  • [flake8-blind-expect] Allow raise from in BLE001 (#​11131)
  • [flake8-pyi] Allow simple assignments to None in enum class scopes (PYI026) (#​11128)
  • [flake8-simplify] Avoid raising SIM911 for non-zip attribute calls (#​11126)
  • [refurb] Avoid operator.itemgetter suggestion for single-item tuple (#​11095)
  • [ruff] Respect per-file-ignores for RUF100 with no other diagnostics (#​11058)
  • [ruff] Fix async comprehension false positive (RUF029) (#​11070)
Documentation
  • [flake8-bugbear] Document explicitly disabling strict zip (B905) (#​11040)
  • [flake8-type-checking] Mention lint.typing-modules in TCH001, TCH002, and TCH003 (#​11144)
  • [isort] Improve documentation around custom isort sections (#​11050)
  • [pylint] Fix documentation oversight for invalid-X-returns (#​11094)
Performance
  • Use matchit to resolve per-file settings (#​11111)

Configuration

📅 Schedule: Branch creation - "every 4th week on Thursday before 10am" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

Copy link
Contributor Author

renovate bot commented May 23, 2024

Branch automerge failure

This PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.


  • Branch has one or more failed status checks

@jvansanten jvansanten merged commit 10f23b4 into master May 23, 2024
11 checks passed
@jvansanten jvansanten deleted the renovate/master-minor-updates branch May 23, 2024 06:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant