|
| 1 | +v64.0.0 |
| 2 | +------- |
| 3 | + |
| 4 | + |
| 5 | +Deprecations |
| 6 | +^^^^^^^^^^^^ |
| 7 | +* #3380: Passing some types of parameters via ``--global-option`` to setuptools PEP 517/PEP 660 backend |
| 8 | + is now considered deprecated. The user can pass the same arbitrary parameter |
| 9 | + via ``--build-option`` (``--global-option`` is now reserved for flags like |
| 10 | + ``--verbose`` or ``--quiet``). |
| 11 | + |
| 12 | + Both ``--build-option`` and ``--global-option`` are supported as a **transitional** effort (a.k.a. "escape hatch"). |
| 13 | + In the future a proper list of allowed ``config_settings`` may be created. |
| 14 | + |
| 15 | +Breaking Changes |
| 16 | +^^^^^^^^^^^^^^^^ |
| 17 | +* #3265: Added implementation for *editable install* hooks (PEP 660). |
| 18 | + |
| 19 | + By default the users will experience a *lenient* behavior which prioritises |
| 20 | + the ability of the users of changing the distributed packages (e.g. adding new |
| 21 | + files or removing old ones). |
| 22 | + But they can also opt into a *strict* mode, which will try to replicate as much |
| 23 | + as possible the behavior of the package as if it would be normally installed by |
| 24 | + end users. The *strict* editable installation is not able to detect if files |
| 25 | + are added or removed from the project (a new installation is required). |
| 26 | + |
| 27 | + .. important:: |
| 28 | + The *editable* aspect of the *editable install* supported this implementation |
| 29 | + is restricted to the Python modules contained in the distributed package. |
| 30 | + Changes in binary extensions (e.g. C/C++), entry-point definitions, |
| 31 | + dependencies, metadata, datafiles, etc may require a new installation. |
| 32 | + |
| 33 | +Changes |
| 34 | +^^^^^^^ |
| 35 | +* #3380: Improved the handling of the ``config_settings`` parameter in both PEP 517 and |
| 36 | + PEP 660 interfaces: |
| 37 | + |
| 38 | + - It is possible now to pass both ``--global-option`` and ``--build-option``. |
| 39 | + As discussed in #1928, arbitrary arguments passed via ``--global-option`` |
| 40 | + should be placed before the name of the setuptools' internal command, while |
| 41 | + ``--build-option`` should come after. |
| 42 | + |
| 43 | + - Users can pass ``editable-mode=strict`` to select a strict behaviour for the |
| 44 | + editable installation. |
| 45 | +* #3392: Exposed ``get_output_mapping()`` from ``build_py`` and ``build_ext`` |
| 46 | + subcommands. This interface is reserved for the use of ``setuptools`` |
| 47 | + Extensions and third part packages are explicitly disallowed to calling it. |
| 48 | + However, any implementation overwriting ``build_py`` or ``build_ext`` are |
| 49 | + required to honour this interface. |
| 50 | +* #3412: Added ability of collecting source files from custom build sub-commands to |
| 51 | + ``sdist``. This allows plugins and customization scripts to automatically |
| 52 | + add required source files in the source distribution. |
| 53 | +* #3414: Users can *temporarily* specify an environment variable |
| 54 | + ``SETUPTOOLS_ENABLE_FEATURE=legacy-editable`` as a escape hatch for the |
| 55 | + :pep:`660` behavior. This setting is **transitional** and may be removed in the |
| 56 | + future. |
| 57 | +* #3484: Added *transient* ``compat`` mode to editable installs. |
| 58 | + This more will be temporarily available (to facilitate the transition period) |
| 59 | + for those that want to emulate the behavior of the ``develop`` command |
| 60 | + (in terms of what is added to ``sys.path``). |
| 61 | + This mode is provided "as is", with limited support, and will be removed in |
| 62 | + future versions of ``setuptools``. |
| 63 | + |
| 64 | +Documentation changes |
| 65 | +^^^^^^^^^^^^^^^^^^^^^ |
| 66 | +* #3414: Updated :doc:`Development Mode </userguide/development_mode>` to reflect on the |
| 67 | + implementation of :pep:`660`. |
| 68 | + |
| 69 | + |
1 | 70 | v63.4.3 |
2 | 71 | ------- |
3 | 72 |
|
|
0 commit comments