<commit_before>1.4.0 (unreleased)
------------------

General
^^^^^^^

- The minimum required Python is now 3.8. [#1279]

- The minimum required Numpy is now 1.18. [#1279]

- The minimum required Astropy is now 5.0. [#1279]

- The minimum required Matplotlib is now 3.1. [#1279]

- The minimum required scikit-image is now 0.15.0 [#1279]

- The minimum required gwcs is now 0.16.0 [#1279]

New Features
^^^^^^^^^^^^

- ``photutils.aperture``

  - Added a ``copy`` method to ``Aperture`` objects. [#1304]

  - Added the ability to compare ``Aperture`` objects for equality.
    [#1304]

  - The ``theta`` keyword for ``EllipticalAperture``, ``EllipticalAnnulus``,
    ``RectangularAperture``, and ``RectangularEllipse`` can now be an
    Astropy ``Angle`` or ``Quantity`` in angular units. [#1308]

  - Added an ``ApertureStats`` class for computing statistics of
    unmasked pixels within an aperture. [#1309, #1314, #1315]

- ``photutils.background``

  - Added an ``alpha`` keyword to the ``Background2D.plot_meshes``
    method. [#1286]

Bug Fixes
^^^^^^^^^

- ``photutils.aperture``

  - Fixed a bug in ``aperture_photometry`` where an error was not raised
    if the data and error arrays have different units. [#1285].

- ``photutils.background``

  - Fixed a bug in ``Background2D`` where using the ``pad`` edge method
    would result in incorrect image padding if only one of the axes needed
    padding. [#1292]

- ``photutils.centroid``

  - Fixed a bug in ``centroid_sources`` where setting ``error``,
    ``xpeak``, or ``ypeak`` to ``None`` would result in an error.
    [#1297]

- ``photutils.segmentation``

  - Fixed a bug in ``SourceCatalog`` where a ``UFuncTypeError`` would
    be raised if the input ``data`` had an integer ``dtype`` [#1312].

API Changes
^^^^^^^^^^^

- ``photutils.aperture``

  - A ``ValueError`` is now raised if non-positive sizes are input to
    sky-based apertures. [#1295]

  - The ``BoundingBox.plot()`` method now returns a
    ``matplotlib.patches.Patch`` object. [#1305]

  - Inputting ``PixelAperture`` positions as an Astropy ``Quantity`` in
    pixel units is deprecated. [#1310]

  - Inputting ``SkyAperture`` shape parameters as an Astropy
    ``Quantity`` in pixel units is deprecated. [#1310]

- ``photutils.background``
<commit_msg>Add changelog entry<commit_after>1.4.0 (unreleased)
------------------

General
^^^^^^^

- The minimum required Python is now 3.8. [#1279]

- The minimum required Numpy is now 1.18. [#1279]

- The minimum required Astropy is now 5.0. [#1279]

- The minimum required Matplotlib is now 3.1. [#1279]

- The minimum required scikit-image is now 0.15.0 [#1279]

- The minimum required gwcs is now 0.16.0 [#1279]

New Features
^^^^^^^^^^^^

- ``photutils.aperture``

  - Added a ``copy`` method to ``Aperture`` objects. [#1304]

  - Added the ability to compare ``Aperture`` objects for equality.
    [#1304]

  - The ``theta`` keyword for ``EllipticalAperture``, ``EllipticalAnnulus``,
    ``RectangularAperture``, and ``RectangularEllipse`` can now be an
    Astropy ``Angle`` or ``Quantity`` in angular units. [#1308]

  - Added an ``ApertureStats`` class for computing statistics of
    unmasked pixels within an aperture. [#1309, #1314, #1315]

- ``photutils.background``

  - Added an ``alpha`` keyword to the ``Background2D.plot_meshes``
    method. [#1286]

Bug Fixes
^^^^^^^^^

- ``photutils.aperture``

  - Fixed a bug in ``aperture_photometry`` where an error was not raised
    if the data and error arrays have different units. [#1285].

- ``photutils.background``

  - Fixed a bug in ``Background2D`` where using the ``pad`` edge method
    would result in incorrect image padding if only one of the axes needed
    padding. [#1292]

- ``photutils.centroid``

  - Fixed a bug in ``centroid_sources`` where setting ``error``,
    ``xpeak``, or ``ypeak`` to ``None`` would result in an error.
    [#1297]

  - Fixed a bug in ``centroid_quadratic`` where inputting a mask
    would alter the input data array. [#1317]

- ``photutils.segmentation``

  - Fixed a bug in ``SourceCatalog`` where a ``UFuncTypeError`` would
    be raised if the input ``data`` had an integer ``dtype`` [#1312].

API Changes
^^^^^^^^^^^

- ``photutils.aperture``

  - A ``ValueError`` is now raised if non-positive sizes are input to
    sky-based apertures. [#1295]

  - The ``BoundingBox.plot()`` method now returns a
    ``matplotlib.patches.Patch`` object. [#1305]

  - Inputting ``PixelAperture`` positions as an Astropy ``Quantity`` in
    pixel units is deprecated. [#1310]

  - Inputting ``SkyAperture`` shape parameters as an Astropy
    ``Quantity`` in pixel units is deprecated. [#1310]

- ``photutils.background``

{'fraction_non_alphanumeric': 0.15517241379310345, 'fraction_numerical': 0.04597701149425287, 'mean_word_length': 3.548886737657309, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '284351', 'n_tokens_mistral': 1717, 'n_tokens_neox': 1485, 'n_words': 548}