blob: d8b5b49147ad67db4a2eaf8901d4e2065ac68478 [file] [log] [blame]
Nan Zhang8539a2a2018-05-15 14:00:05 -07001v39.1.0
2-------
3
4* #1340: Update all PyPI URLs to reflect the switch to the
5 new Warehouse codebase.
6* #1337: In ``pkg_resources``, now support loading resources
7 for modules loaded by the ``SourcelessFileLoader``.
8* #1332: Silence spurious wheel related warnings on Windows.
9
10v39.0.1
11-------
12
13* #1297: Restore Unicode handling for Maintainer fields in
14 metadata.
15
16v39.0.0
17-------
18
19* #1296: Setuptools now vendors its own direct dependencies, no
20 longer relying on the dependencies as vendored by pkg_resources.
21
22* #296: Removed long-deprecated support for iteration on
23 Version objects as returned by ``pkg_resources.parse_version``.
24 Removed the ``SetuptoolsVersion`` and
25 ``SetuptoolsLegacyVersion`` names as well. They should not
26 have been used, but if they were, replace with
27 ``Version`` and ``LegacyVersion`` from ``packaging.version``.
28
29v38.7.0
30-------
31
32* #1288: Add support for maintainer in PKG-INFO.
33
34v38.6.1
35-------
36
37* #1292: Avoid generating ``Provides-Extra`` in metadata when
38 no extra is present (but environment markers are).
39
40v38.6.0
41-------
42
43* #1286: Add support for Metadata 2.1 (PEP 566).
44
45v38.5.2
46-------
47
48* #1285: Fixed RuntimeError in pkg_resources.parse_requirements
49 on Python 3.7 (stemming from PEP 479).
50
51v38.5.1
52-------
53
54* #1271: Revert to Cython legacy ``build_ext`` behavior for
55 compatibility.
56
57v38.5.0
58-------
59
60* #1229: Expand imports in ``build_ext`` to refine detection of
61 Cython availability.
62
63* #1270: When Cython is available, ``build_ext`` now uses the
64 new_build_ext.
65
66v38.4.1
67-------
68
69* #1257: In bdist_egg.scan_module, fix ValueError on Python 3.7.
70
71v38.4.0
72-------
73
74* #1231: Removed warning when PYTHONDONTWRITEBYTECODE is enabled.
75
76v38.3.0
77-------
78
79* #1210: Add support for PEP 345 Project-URL metadata.
80* #1207: Add support for ``long_description_type`` to setup.cfg
81 declarative config as intended and documented.
82
83v38.2.5
84-------
85
86* #1232: Fix trailing slash handling in ``pkg_resources.ZipProvider``.
87
88v38.2.4
89-------
90
91* #1220: Fix `data_files` handling when installing from wheel.
92
93v38.2.3
94-------
95
96* fix Travis' Python 3.3 job.
97
98v38.2.2
99-------
100
101* #1214: fix handling of namespace packages when installing
102 from a wheel.
103
104v38.2.1
105-------
106
107* #1212: fix encoding handling of metadata when installing
108 from a wheel.
109
110v38.2.0
111-------
112
113* #1200: easy_install now support installing from wheels:
114 they will be installed as standalone unzipped eggs.
115
116v38.1.0
117-------
118
119* #1208: Improve error message when failing to locate scripts
120 in egg-info metadata.
121
122v38.0.0
123-------
124
125* #458: In order to support deterministic builds, Setuptools no
126 longer allows packages to declare ``install_requires`` as
127 unordered sequences (sets or dicts).
128
129v37.0.0
130-------
131
132* #878: Drop support for Python 2.6. Python 2.6 users should
133 rely on 'setuptools < 37dev'.
134
135v36.8.0
136-------
137
138* #1190: In SSL support for package index operations, use SNI
139 where available.
140
141v36.7.3
142-------
143
144* #1175: Bug fixes to ``build_meta`` module.
145
146v36.7.2
147-------
148
149* #701: Fixed duplicate test discovery on Python 3.
150
151v36.7.1
152-------
153
154* #1193: Avoid test failures in bdist_egg when
155 PYTHONDONTWRITEBYTECODE is set.
156
157v36.7.0
158-------
159
160* #1054: Support ``setup_requires`` in ``setup.cfg`` files.
161
162v36.6.1
163-------
164
165* #1132: Removed redundant and costly serialization/parsing step
166 in ``EntryPoint.__init__``.
167
168* #844: ``bdist_egg --exclude-source-files`` now tested and works
169 on Python 3.
170
171v36.6.0
172-------
173
174* #1143: Added ``setuptools.build_meta`` module, an implementation
175 of PEP-517 for Setuptools-defined packages.
176
177* #1143: Added ``dist_info`` command for producing dist_info
178 metadata.
179
180v36.5.0
181-------
182
183* #170: When working with Mercurial checkouts, use Windows-friendly
184 syntax for suppressing output.
185
186* Inspired by #1134, performed substantial refactoring of
187 ``pkg_resources.find_on_path`` to facilitate an optimization
188 for paths with many non-version entries.
189
190v36.4.0
191-------
192
193* #1075: Add new ``Description-Content-Type`` metadata field. `See here for
194 documentation on how to use this field.
195 <https://packaging.python.org/specifications/#description-content-type>`_
196
197* #1068: Sort files and directories when building eggs for
198 deterministic order.
199
200* #196: Remove caching of easy_install command in fetch_build_egg.
201 Fixes issue where ``pytest-runner-N.N`` would satisfy the installation
202 of ``pytest``.
203
204* #1129: Fix working set dependencies handling when replacing conflicting
205 distributions (e.g. when using ``setup_requires`` with a conflicting
206 transitive dependency, fix #1124).
207
208* #1133: Improved handling of README files extensions and added
209 Markdown to the list of searched READMES.
210
211* #1135: Improve performance of pkg_resources import by not invoking
212 ``access`` or ``stat`` and using ``os.listdir`` instead.
213
214v36.3.0
215-------
216
217* #1131: Make possible using several files within ``file:`` directive
218 in metadata.long_description in ``setup.cfg``.
219
220v36.2.7
221-------
222
223* fix #1105: Fix handling of requirements with environment
224 markers when declared in ``setup.cfg`` (same treatment as
225 for #1081).
226
227v36.2.6
228-------
229
230* #462: Don't assume a directory is an egg by the ``.egg``
231 extension alone.
232
233v36.2.5
234-------
235
236* #1093: Fix test command handler with extras_require.
237* #1112, #1091, #1115: Now using Trusty containers in
238 Travis for CI and CD.
239
240v36.2.4
241-------
242
243* #1092: ``pkg_resources`` now uses ``inspect.getmro`` to
244 resolve classes in method resolution order.
245
246v36.2.3
247-------
248
249* #1102: Restore behavior for empty extras.
250
251v36.2.2
252-------
253
254* #1099: Revert commit a3ec721, restoring intended purpose of
255 extras as part of a requirement declaration.
256
257v36.2.1
258-------
259
260* fix #1086
261* fix #1087
262* support extras specifiers in install_requires requirements
263
264v36.2.0
265-------
266
267* #1081: Environment markers indicated in ``install_requires``
268 are now processed and treated as nameless ``extras_require``
269 with markers, allowing their metadata in requires.txt to be
270 correctly generated.
271
272* #1053: Tagged commits are now released using Travis-CI
273 build stages, meaning releases depend on passing tests on
274 all supported Python versions (Linux) and not just the latest
275 Python version.
276
277v36.1.1
278-------
279
280* #1083: Correct ``py31compat.makedirs`` to correctly honor
281 ``exist_ok`` parameter.
282* #1083: Also use makedirs compatibility throughout setuptools.
283
284v36.1.0
285-------
286
287* #1083: Avoid race condition on directory creation in
288 ``pkg_resources.ensure_directory``.
289
290* Removed deprecation of and restored support for
291 ``upload_docs`` command for sites other than PyPI.
292 Only warehouse is dropping support, but services like
293 `devpi <http://doc.devpi.net/latest/>`_ continue to
294 support docs built by setuptools' plugins. See
295 `this comment <https://bitbucket.org/hpk42/devpi/issues/388/support-rtd-model-for-building-uploading#comment-34292423>`_
296 for more context on the motivation for this change.
297
298v36.0.1
299-------
300
301* #1042: Fix import in py27compat module that still
302 referenced six directly, rather than through the externs
303 module (vendored packages hook).
304
305v36.0.0
306-------
307
308* #980 and others: Once again, Setuptools vendors all
309 of its dependencies. It seems to be the case that in
310 the Python ecosystem, all build tools must run without
311 any dependencies (build, runtime, or otherwise). At
312 such a point that a mechanism exists that allows
313 build tools to have dependencies, Setuptools will adopt
314 it.
315
316v35.0.2
317-------
318
319* #1015: Fix test failures on Python 3.7.
320
321* #1024: Add workaround for Jython #2581 in monkey module.
322
323v35.0.1
324-------
325
326* #992: Revert change introduced in v34.4.1, now
327 considered invalid.
328
329* #1016: Revert change introduced in v35.0.0 per #1014,
330 referencing #436. The approach had unintended
331 consequences, causing sdist installs to be missing
332 files.
333
334v35.0.0
335-------
336
337* #436: In egg_info.manifest_maker, no longer read
338 the file list from the manifest file, and instead
339 re-build it on each build. In this way, files removed
340 from the specification will not linger in the manifest.
341 As a result, any files manually added to the manifest
342 will be removed on subsequent egg_info invocations.
343 No projects should be manually adding files to the
344 manifest and should instead use MANIFEST.in or SCM
345 file finders to force inclusion of files in the manifest.
346
347v34.4.1
348-------
349
350* #1008: In MSVC support, use always the last version available for Windows SDK and UCRT SDK.
351
352* #1008: In MSVC support, fix "vcruntime140.dll" returned path with Visual Studio 2017.
353
354* #992: In msvc.msvc9_query_vcvarsall, ensure the
355 returned dicts have str values and not Unicode for
356 compatibility with os.environ.
357
358v34.4.0
359-------
360
361* #995: In MSVC support, add support for "Microsoft Visual Studio 2017" and "Microsoft Visual Studio Build Tools 2017".
362
363* #999 via #1007: Extend support for declarative package
364 config in a setup.cfg file to include the options
365 ``python_requires`` and ``py_modules``.
366
367v34.3.3
368-------
369
370* #967 (and #997): Explicitly import submodules of
371 packaging to account for environments where the imports
372 of those submodules is not implied by other behavior.
373
374v34.3.2
375-------
376
377* #993: Fix documentation upload by correcting
378 rendering of content-type in _build_multipart
379 on Python 3.
380
381v34.3.1
382-------
383
384* #988: Trap ``os.unlink`` same as ``os.remove`` in
385 ``auto_chmod`` error handler.
386
387* #983: Fixes to invalid escape sequence deprecations on
388 Python 3.6.
389
390v34.3.0
391-------
392
393* #941: In the upload command, if the username is blank,
394 default to ``getpass.getuser()``.
395
396* #971: Correct distutils findall monkeypatch to match
397 appropriate versions (namely Python 3.4.6).
398
399v34.2.0
400-------
401
402* #966: Add support for reading dist-info metadata and
403 thus locating Distributions from zip files.
404
405* #968: Allow '+' and '!' in egg fragments
406 so that it can take package names that contain
407 PEP 440 conforming version specifiers.
408
409v34.1.1
410-------
411
412* #953: More aggressively employ the compatibility issue
413 originally added in #706.
414
415v34.1.0
416-------
417
418* #930: ``build_info`` now accepts two new parameters
419 to optimize and customize the building of C libraries.
420
421v34.0.3
422-------
423
424* #947: Loosen restriction on the version of six required,
425 restoring compatibility with environments relying on
426 six 1.6.0 and later.
427
428v34.0.2
429-------
430
431* #882: Ensure extras are honored when building the
432 working set.
433* #913: Fix issue in develop if package directory has
434 a trailing slash.
435
436v34.0.1
437-------
438
439* #935: Fix glob syntax in graft.
440
441v34.0.0
442-------
443
444* #581: Instead of vendoring the growing list of
445 dependencies that Setuptools requires to function,
446 Setuptools now requires these dependencies just like
447 any other project. Unlike other projects, however,
448 Setuptools cannot rely on ``setup_requires`` to
449 demand the dependencies it needs to install because
450 its own machinery would be necessary to pull those
451 dependencies if not present (a bootstrapping problem).
452 As a result, Setuptools no longer supports self upgrade or
453 installation in the general case. Instead, users are
454 directed to use pip to install and upgrade using the
455 ``wheel`` distributions of setuptools.
456
457 Users are welcome to contrive other means to install
458 or upgrade Setuptools using other means, such as
459 pre-installing the Setuptools dependencies with pip
460 or a bespoke bootstrap tool, but such usage is not
461 recommended and is not supported.
462
463 As discovered in #940, not all versions of pip will
464 successfully install Setuptools from its pre-built
465 wheel. If you encounter issues with "No module named
466 six" or "No module named packaging", especially
467 following a line "Running setup.py egg_info for package
468 setuptools", then your pip is not new enough.
469
470 There's an additional issue in pip where setuptools
471 is upgraded concurrently with other source packages,
472 described in pip #4253. The proposed workaround is to
473 always upgrade Setuptools first prior to upgrading
474 other packages that would upgrade Setuptools.
475
476v33.1.1
477-------
478
479* #921: Correct issue where certifi fallback not being
480 reached on Windows.
481
482v33.1.0
483-------
484
485Installation via pip, as indicated in the `Python Packaging
486User's Guide <https://packaging.python.org/installing/>`_,
487is the officially-supported mechanism for installing
488Setuptools, and this recommendation is now explicit in the
489much more concise README.
490
491Other edits and tweaks were made to the documentation. The
492codebase is unchanged.
493
494v33.0.0
495-------
496
497* #619: Removed support for the ``tag_svn_revision``
498 distribution option. If Subversion tagging support is
499 still desired, consider adding the functionality to
500 setuptools_svn in setuptools_svn #2.
501
502v32.3.1
503-------
504
505* #866: Use ``dis.Bytecode`` on Python 3.4 and later in
506 ``setuptools.depends``.
507
508v32.3.0
509-------
510
511* #889: Backport proposed fix for disabling interpolation in
512 distutils.Distribution.parse_config_files.
513
514v32.2.0
515-------
516
517* #884: Restore support for running the tests under
518 `pytest-runner <https://github.com/pytest-dev/pytest-runner>`_
519 by ensuring that PYTHONPATH is honored in tests invoking
520 a subprocess.
521
522v32.1.3
523-------
524
525* #706: Add rmtree compatibility shim for environments where
526 rmtree fails when passed a unicode string.
527
528v32.1.2
529-------
530
531* #893: Only release sdist in zip format as warehouse now
532 disallows releasing two different formats.
533
534v32.1.1
535-------
536
537* #704: More selectively ensure that 'rmtree' is not invoked with
538 a byte string, enabling it to remove files that are non-ascii,
539 even on Python 2.
540
541* #712: In 'sandbox.run_setup', ensure that ``__file__`` is
542 always a ``str``, modeling the behavior observed by the
543 interpreter when invoking scripts and modules.
544
545v32.1.0
546-------
547
548* #891: In 'test' command on test failure, raise DistutilsError,
549 suppression invocation of subsequent commands.
550
551v32.0.0
552-------
553
554* #890: Revert #849. ``global-exclude .foo`` will not match all
555 ``*.foo`` files any more. Package authors must add an explicit
556 wildcard, such as ``global-exclude *.foo``, to match all
557 ``.foo`` files. See #886, #849.
558
559v31.0.1
560-------
561
562* #885: Fix regression where 'pkg_resources._rebuild_mod_path'
563 would fail when a namespace package's '__path__' was not
564 a list with a sort attribute.
565
566v31.0.0
567-------
568
569* #250: Install '-nspkg.pth' files for packages installed
570 with 'setup.py develop'. These .pth files allow
571 namespace packages installed by pip or develop to
572 co-mingle. This change required the removal of the
573 change for #805 and pip #1924, introduced in 28.3.0 and implicated
574 in #870, but means that namespace packages not in a
575 site packages directory will no longer work on Python
576 earlier than 3.5, whereas before they would work on
577 Python not earlier than 3.3.
578
579v30.4.0
580-------
581
582* #879: For declarative config:
583
584 - read_configuration() now accepts ignore_option_errors argument. This allows scraping tools to read metadata without a need to download entire packages. E.g. we can gather some stats right from GitHub repos just by downloading setup.cfg.
585
586 - packages find: directive now supports fine tuning from a subsection. The same arguments as for find() are accepted.
587
588v30.3.0
589-------
590
591* #394 via #862: Added support for `declarative package
592 config in a setup.cfg file
593 <https://setuptools.readthedocs.io/en/latest/setuptools.html#configuring-setup-using-setup-cfg-files>`_.
594
595v30.2.1
596-------
597
598* #850: In test command, invoke unittest.main with
599 indication not to exit the process.
600
601v30.2.0
602-------
603
604* #854: Bump to vendored Packaging 16.8.
605
606v30.1.0
607-------
608
609* #846: Also trap 'socket.error' when opening URLs in
610 package_index.
611
612* #849: Manifest processing now matches the filename
613 pattern anywhere in the filename and not just at the
614 start. Restores behavior found prior to 28.5.0.
615
616v30.0.0
617-------
618
619* #864: Drop support for Python 3.2. Systems requiring
620 Python 3.2 support must use 'setuptools < 30'.
621
622* #825: Suppress warnings for single files.
623
624* #830 via #843: Once again restored inclusion of data
625 files to sdists, but now trap TypeError caused by
626 techniques employed rjsmin and similar.
627
628v29.0.1
629-------
630
631* #861: Re-release of v29.0.1 with the executable script
632 launchers bundled. Now, launchers are included by default
633 and users that want to disable this behavior must set the
634 environment variable
635 'SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES' to
636 a false value like "false" or "0".
637
638v29.0.0
639-------
640
641* #841: Drop special exception for packages invoking
642 win32com during the build/install process. See
643 Distribute #118 for history.
644
645v28.8.0
646-------
647
648* #629: Per the discussion, refine the sorting to use version
649 value order for more accurate detection of the latest
650 available version when scanning for packages. See also
651 #829.
652
653* #837: Rely on the config var "SO" for Python 3.3.0 only
654 when determining the ext filename.
655
656v28.7.1
657-------
658
659* #827: Update PyPI root for dependency links.
660
661* #833: Backed out changes from #830 as the implementation
662 seems to have problems in some cases.
663
664v28.7.0
665-------
666
667* #832: Moved much of the namespace package handling
668 functionality into a separate module for re-use in something
669 like #789.
670* #830: ``sdist`` command no longer suppresses the inclusion
671 of data files, re-aligning with the expectation of distutils
672 and addressing #274 and #521.
673
674v28.6.1
675-------
676
677* #816: Fix manifest file list order in tests.
678
679v28.6.0
680-------
681
682* #629: When scanning for packages, ``pkg_resources`` now
683 ignores empty egg-info directories and gives precedence to
684 packages whose versions are lexicographically greatest,
685 a rough approximation for preferring the latest available
686 version.
687
688v28.5.0
689-------
690
691* #810: Tests are now invoked with tox and not setup.py test.
692* #249 and #450 via #764: Avoid scanning the whole tree
693 when building the manifest. Also fixes a long-standing bug
694 where patterns in ``MANIFEST.in`` had implicit wildcard
695 matching. This caused ``global-exclude .foo`` to exclude
696 all ``*.foo`` files, but also ``global-exclude bar.py`` to
697 exclude ``foo_bar.py``.
698
699v28.4.0
700-------
701
702* #732: Now extras with a hyphen are honored per PEP 426.
703* #811: Update to pyparsing 2.1.10.
704* Updated ``setuptools.command.sdist`` to re-use most of
705 the functionality directly from ``distutils.command.sdist``
706 for the ``add_defaults`` method with strategic overrides.
707 See #750 for rationale.
708* #760 via #762: Look for certificate bundle where SUSE
709 Linux typically presents it. Use ``certifi.where()`` to locate
710 the bundle.
711
712v28.3.0
713-------
714
715* #809: In ``find_packages()``, restore support for excluding
716 a parent package without excluding a child package.
717
718* #805: Disable ``-nspkg.pth`` behavior on Python 3.3+ where
719 PEP-420 functionality is adequate. Fixes pip #1924.
720
721v28.1.0
722-------
723
724* #803: Bump certifi to 2016.9.26.
725
726v28.0.0
727-------
728
729* #733: Do not search excluded directories for packages.
730 This introduced a backwards incompatible change in ``find_packages()``
731 so that ``find_packages(exclude=['foo']) == []``, excluding subpackages of ``foo``.
732 Previously, ``find_packages(exclude=['foo']) == ['foo.bar']``,
733 even though the parent ``foo`` package was excluded.
734
735* #795: Bump certifi.
736
737* #719: Suppress decoding errors and instead log a warning
738 when metadata cannot be decoded.
739
740v27.3.1
741-------
742
743* #790: In MSVC monkeypatching, explicitly patch each
744 function by name in the target module instead of inferring
745 the module from the function's ``__module__``. Improves
746 compatibility with other packages that might have previously
747 patched distutils functions (i.e. NumPy).
748
749v27.3.0
750-------
751
752* #794: In test command, add installed eggs to PYTHONPATH
753 when invoking tests so that subprocesses will also have the
754 dependencies available. Fixes `tox 330
755 <https://github.com/tox-dev/tox/issues/330>`_.
756
757* #795: Update vendored pyparsing 2.1.9.
758
759v27.2.0
760-------
761
762* #520 and #513: Suppress ValueErrors in fixup_namespace_packages
763 when lookup fails.
764
765* Nicer, more consistent interfaces for msvc monkeypatching.
766
767v27.1.2
768-------
769
770* #779 via #781: Fix circular import.
771
772v27.1.1
773-------
774
775* #778: Fix MSVC monkeypatching.
776
777v27.1.0
778-------
779
780* Introduce the (private) ``monkey`` module to encapsulate
781 the distutils monkeypatching behavior.
782
783v27.0.0
784-------
785
786* Now use Warehouse by default for
787 ``upload``, patching ``distutils.config.PyPIRCCommand`` to
788 affect default behavior.
789
790 Any config in .pypirc should be updated to replace
791
792 https://pypi.python.org/pypi/
793
794 with
795
796 https://upload.pypi.org/legacy/
797
798 Similarly, any passwords stored in the keyring should be
799 updated to use this new value for "system".
800
801 The ``upload_docs`` command will continue to use the python.org
802 site, but the command is now deprecated. Users are urged to use
803 Read The Docs instead.
804
805* #776: Use EXT_SUFFIX for py_limited_api renaming.
806
807* #774 and #775: Use LegacyVersion from packaging when
808 detecting numpy versions.
809
810v26.1.1
811-------
812
813* Re-release of 26.1.0 with pytest pinned to allow for automated
814 deployment and thus proper packaging environment variables,
815 fixing issues with missing executable launchers.
816
817v26.1.0
818-------
819
820* #763: ``pkg_resources.get_default_cache`` now defers to the
821 `appdirs project <https://pypi.org/project/appdirs>`_ to
822 resolve the cache directory. Adds a vendored dependency on
823 appdirs to pkg_resources.
824
825v26.0.0
826-------
827
828* #748: By default, sdists are now produced in gzipped tarfile
829 format by default on all platforms, adding forward compatibility
830 for the same behavior in Python 3.6 (See Python #27819).
831
832* #459 via #736: On Windows with script launchers,
833 sys.argv[0] now reflects
834 the name of the entry point, consistent with the behavior in
835 distlib and pip wrappers.
836
837* #752 via #753: When indicating ``py_limited_api`` to Extension,
838 it must be passed as a keyword argument.
839
840v25.4.0
841-------
842
843* Add Extension(py_limited_api=True). When set to a truthy value,
844 that extension gets a filename appropriate for code using Py_LIMITED_API.
845 When used correctly this allows a single compiled extension to work on
846 all future versions of CPython 3.
847 The py_limited_api argument only controls the filename. To be
848 compatible with multiple versions of Python 3, the C extension
849 will also need to set -DPy_LIMITED_API=... and be modified to use
850 only the functions in the limited API.
851
852v25.3.0
853-------
854
855* #739 Fix unquoted libpaths by fixing compatibility between `numpy.distutils` and `distutils._msvccompiler` for numpy < 1.11.2 (Fix issue #728, error also fixed in Numpy).
856
857* #731: Bump certifi.
858
859* Style updates. See #740, #741, #743, #744, #742, #747.
860
861* #735: include license file.
862
863v25.2.0
864-------
865
866* #612 via #730: Add a LICENSE file which needs to be provided by the terms of
867 the MIT license.
868
869v25.1.6
870-------
871
872* #725: revert `library_dir_option` patch (Error is related to `numpy.distutils` and make errors on non Numpy users).
873
874v25.1.5
875-------
876
877* #720
878* #723: Improve patch for `library_dir_option`.
879
880v25.1.4
881-------
882
883* #717
884* #713
885* #707: Fix Python 2 compatibility for MSVC by catching errors properly.
886* #715: Fix unquoted libpaths by patching `library_dir_option`.
887
888v25.1.3
889-------
890
891* #714 and #704: Revert fix as it breaks other components
892 downstream that can't handle unicode. See #709, #710,
893 and #712.
894
895v25.1.2
896-------
897
898* #704: Fix errors when installing a zip sdist that contained
899 files named with non-ascii characters on Windows would
900 crash the install when it attempted to clean up the build.
901* #646: MSVC compatibility - catch errors properly in
902 RegistryInfo.lookup.
903* #702: Prevent UnboundLocalError when initial working_set
904 is empty.
905
906v25.1.1
907-------
908
909* #686: Fix issue in sys.path ordering by pkg_resources when
910 rewrite technique is "raw".
911* #699: Fix typo in msvc support.
912
913v25.1.0
914-------
915
916* #609: Setuptools will now try to download a distribution from
917 the next possible download location if the first download fails.
918 This means you can now specify multiple links as ``dependency_links``
919 and all links will be tried until a working download link is encountered.
920
921v25.0.2
922-------
923
924* #688: Fix AttributeError in setup.py when invoked not from
925 the current directory.
926
927v25.0.1
928-------
929
930* Cleanup of setup.py script.
931
932* Fixed documentation builders by allowing setup.py
933 to be imported without having bootstrapped the
934 metadata.
935
936* More style cleanup. See #677, #678, #679, #681, #685.
937
938v25.0.0
939-------
940
941* #674: Default ``sys.path`` manipulation by easy-install.pth
942 is now "raw", meaning that when writing easy-install.pth
943 during any install operation, the ``sys.path`` will not be
944 rewritten and will no longer give preference to easy_installed
945 packages.
946
947 To retain the old behavior when using any easy_install
948 operation (including ``setup.py install`` when setuptools is
949 present), set the environment variable:
950
951 SETUPTOOLS_SYS_PATH_TECHNIQUE=rewrite
952
953 This project hopes that that few if any environments find it
954 necessary to retain the old behavior, and intends to drop
955 support for it altogether in a future release. Please report
956 any relevant concerns in the ticket for this change.
957
958v24.3.1
959-------
960
961* #398: Fix shebang handling on Windows in script
962 headers where spaces in ``sys.executable`` would
963 produce an improperly-formatted shebang header,
964 introduced in 12.0 with the fix for #188.
965
966* #663, #670: More style updates.
967
968v24.3.0
969-------
970
971* #516: Disable ``os.link`` to avoid hard linking
972 in ``sdist.make_distribution``, avoiding errors on
973 systems that support hard links but not on the
974 file system in which the build is occurring.
975
976v24.2.1
977-------
978
979* #667: Update Metadata-Version to 1.2 when
980 ``python_requires`` is supplied.
981
982v24.2.0
983-------
984
985* #631: Add support for ``python_requires`` keyword.
986
987v24.1.1
988-------
989
990* More style updates. See #660, #661, #641.
991
992v24.1.0
993-------
994
995* #659: ``setup.py`` now will fail fast and with a helpful
996 error message when the necessary metadata is missing.
997* More style updates. See #656, #635, #640,
998 #644, #650, #652, and #655.
999
1000v24.0.3
1001-------
1002
1003* Updated style in much of the codebase to match
1004 community expectations. See #632, #633, #634,
1005 #637, #639, #638, #642, #648.
1006
1007v24.0.2
1008-------
1009
1010* If MSVC++14 is needed ``setuptools.msvc`` now redirect
1011 user to Visual C++ Build Tools web page.
1012
1013v24.0.1
1014-------
1015
1016* #625 and #626: Fixes on ``setuptools.msvc`` mainly
1017 for Python 2 and Linux.
1018
1019v24.0.0
1020-------
1021
1022* Pull Request #174: Add more aggressive support for
1023 standalone Microsoft Visual C++ compilers in
1024 msvc9compiler patch.
1025 Particularly : Windows SDK 6.1 and 7.0
1026 (MSVC++ 9.0), Windows SDK 7.1 (MSVC++ 10.0),
1027 Visual C++ Build Tools 2015 (MSVC++14)
1028* Renamed ``setuptools.msvc9_support`` to
1029 ``setuptools.msvc``.
1030
1031v23.2.1
1032-------
1033
1034Re-release of v23.2.0, which was missing the intended
1035commits.
1036
1037* #623: Remove used of deprecated 'U' flag when reading
1038 manifests.
1039
1040v23.1.0
1041-------
1042
1043* #619: Deprecated ``tag_svn_revision`` distribution
1044 option.
1045
1046v23.0.0
1047-------
1048
1049* #611: Removed ARM executables for CLI and GUI script
1050 launchers on Windows. If this was a feature you cared
1051 about, please comment in the ticket.
1052* #604: Removed docs building support. The project
1053 now relies on documentation hosted at
1054 https://setuptools.readthedocs.io/.
1055
1056v22.0.5
1057-------
1058
1059* #604: Restore repository for upload_docs command
1060 to restore publishing of docs during release.
1061
1062v22.0.4
1063-------
1064
1065* #589: Upload releases to pypi.io using the upload
1066 hostname and legacy path.
1067
1068v22.0.3
1069-------
1070
1071* #589: Releases are now uploaded to pypi.io (Warehouse)
1072 even when releases are made on Twine via Travis.
1073
1074v22.0.2
1075-------
1076
1077* #589: Releases are now uploaded to pypi.io (Warehouse).
1078
1079v22.0.1
1080-------
1081
1082* #190: On Python 2, if unicode is passed for packages to
1083 ``build_py`` command, it will be handled just as with
1084 text on Python 3.
1085
1086v22.0.0
1087-------
1088
1089Intended to be v21.3.0, but jaraco accidentally released as
1090a major bump.
1091
1092* #598: Setuptools now lists itself first in the User-Agent
1093 for web requests, better following the guidelines in
1094 `RFC 7231
1095 <https://tools.ietf.org/html/rfc7231#section-5.5.3>`_.
1096
1097v21.2.2
1098-------
1099
1100* Minor fixes to changelog and docs.
1101
1102v21.2.1
1103-------
1104
1105* #261: Exclude directories when resolving globs in
1106 package_data.
1107
1108v21.2.0
1109-------
1110
1111* #539: In the easy_install get_site_dirs, honor all
1112 paths found in ``site.getsitepackages``.
1113
1114v21.1.0
1115-------
1116
1117* #572: In build_ext, now always import ``_CONFIG_VARS``
1118 from ``distutils`` rather than from ``sysconfig``
1119 to allow ``distutils.sysconfig.customize_compiler``
1120 configure the OS X compiler for ``-dynamiclib``.
1121
1122v21.0.0
1123-------
1124
1125* Removed ez_setup.py from Setuptools sdist. The
1126 bootstrap script will be maintained in its own
1127 branch and should be generally be retrieved from
1128 its canonical location at
1129 https://bootstrap.pypa.io/ez_setup.py.
1130
1131v20.10.0
1132--------
1133
1134* #553: egg_info section is now generated in a
1135 deterministic order, matching the order generated
1136 by earlier versions of Python. Except on Python 2.6,
1137 order is preserved when existing settings are present.
1138* #556: Update to Packaging 16.7, restoring support
1139 for deprecated ``python_implmentation`` marker.
1140* #555: Upload command now prompts for a password
1141 when uploading to PyPI (or other repository) if no
1142 password is present in .pypirc or in the keyring.
1143
1144v20.9.0
1145-------
1146
1147* #548: Update certify version to 2016.2.28
1148* #545: Safely handle deletion of non-zip eggs in rotate
1149 command.
1150
1151v20.8.1
1152-------
1153
1154* Issue #544: Fix issue with extra environment marker
1155 processing in WorkingSet due to refactor in v20.7.0.
1156
1157v20.8.0
1158-------
1159
1160* Issue #543: Re-release so that latest release doesn't
1161 cause déjà vu with distribute and setuptools 0.7 in
1162 older environments.
1163
1164v20.7.0
1165-------
1166
1167* Refactored extra environment marker processing
1168 in WorkingSet.
1169* Issue #533: Fixed intermittent test failures.
1170* Issue #536: In msvc9_support, trap additional exceptions
1171 that might occur when importing
1172 ``distutils.msvc9compiler`` in mingw environments.
1173* Issue #537: Provide better context when package
1174 metadata fails to decode in UTF-8.
1175
1176v20.6.8
1177-------
1178
1179* Issue #523: Restored support for environment markers,
1180 now honoring 'extra' environment markers.
1181
1182v20.6.7
1183-------
1184
1185* Issue #523: Disabled support for environment markers
1186 introduced in v20.5.
1187
1188v20.6.6
1189-------
1190
1191* Issue #503: Restore support for PEP 345 environment
1192 markers by updating to Packaging 16.6.
1193
1194v20.6.0
1195-------
1196
1197* New release process that relies on
1198 `bumpversion <https://github.com/peritus/bumpversion>`_
1199 and Travis CI for continuous deployment.
1200* Project versioning semantics now follow
1201 `semver <https://semver.org>`_ precisely.
1202 The 'v' prefix on version numbers now also allows
1203 version numbers to be referenced in the changelog,
1204 e.g. http://setuptools.readthedocs.io/en/latest/history.html#v20-6-0.
1205
120620.5
1207----
1208
1209* BB Pull Request #185, #470: Add support for environment markers
1210 in requirements in install_requires, setup_requires,
1211 tests_require as well as adding a test for the existing
1212 extra_requires machinery.
1213
121420.4
1215----
1216
1217* Issue #422: Moved hosting to
1218 `Github <https://github.com/pypa/setuptools>`_
1219 from `Bitbucket <https://bitbucket.org/pypa/setuptools>`_.
1220 Issues have been migrated, though all issues and comments
1221 are attributed to bb-migration. So if you have a particular
1222 issue or issues to which you've been subscribed, you will
1223 want to "watch" the equivalent issue in Github.
1224 The Bitbucket project will be retained for the indefinite
1225 future, but Github now hosts the canonical project repository.
1226
122720.3.1
1228------
1229
1230* Issue #519: Remove import hook when reloading the
1231 ``pkg_resources`` module.
1232* BB Pull Request #184: Update documentation in ``pkg_resources``
1233 around new ``Requirement`` implementation.
1234
123520.3
1236----
1237
1238* BB Pull Request #179: ``pkg_resources.Requirement`` objects are
1239 now a subclass of ``packaging.requirements.Requirement``,
1240 allowing any environment markers and url (if any) to be
1241 affiliated with the requirement
1242* BB Pull Request #179: Restore use of RequirementParseError
1243 exception unintentionally dropped in 20.2.
1244
124520.2.2
1246------
1247
1248* Issue #502: Correct regression in parsing of multiple
1249 version specifiers separated by commas and spaces.
1250
125120.2.1
1252------
1253
1254* Issue #499: Restore compatibility for legacy versions
1255 by bumping to packaging 16.4.
1256
125720.2
1258----
1259
1260* Changelog now includes release dates and links to PEPs.
1261* BB Pull Request #173: Replace dual PEP 345 _markerlib implementation
1262 and PEP 426 implementation of environment marker support from
1263 packaging 16.1 and PEP 508. Fixes Issue #122.
1264 See also BB Pull Request #175, BB Pull Request #168, and
1265 BB Pull Request #164. Additionally:
1266
1267 - ``Requirement.parse`` no longer retains the order of extras.
1268 - ``parse_requirements`` now requires that all versions be
1269 PEP-440 compliant, as revealed in #499. Packages released
1270 with invalid local versions should be re-released using
1271 the proper local version syntax, e.g. ``mypkg-1.0+myorg.1``.
1272
127320.1.1
1274------
1275
1276* Update ``upload_docs`` command to also honor keyring
1277 for password resolution.
1278
127920.1
1280----
1281
1282* Added support for using passwords from keyring in the upload
1283 command. See `the upload docs
1284 <https://setuptools.readthedocs.io/en/latest/setuptools.html#upload-upload-source-and-or-egg-distributions-to-pypi>`_
1285 for details.
1286
128720.0
1288----
1289
1290* Issue #118: Once again omit the package metadata (egg-info)
1291 from the list of outputs in ``--record``. This version of setuptools
1292 can no longer be used to upgrade pip earlier than 6.0.
1293
129419.7
1295----
1296
1297* `Off-project PR <https://github.com/jaraco/setuptools/pull/32>`_:
1298 For FreeBSD, also honor root certificates from ca_root_nss.
1299
130019.6.2
1301------
1302
1303* Issue #491: Correct regression incurred in 19.4 where
1304 a double-namespace package installed using pip would
1305 cause a TypeError.
1306
130719.6.1
1308------
1309
1310* Restore compatibility for PyPy 3 compatibility lost in
1311 19.4.1 addressing Issue #487.
1312* ``setuptools.launch`` shim now loads scripts in a new
1313 namespace, avoiding getting relative imports from
1314 the setuptools package on Python 2.
1315
131619.6
1317----
1318
1319* Added a new entry script ``setuptools.launch``,
1320 implementing the shim found in
1321 ``pip.util.setuptools_build``. Use this command to launch
1322 distutils-only packages under setuptools in the same way that
1323 pip does, causing the setuptools monkeypatching of distutils
1324 to be invoked prior to invoking a script. Useful for debugging
1325 or otherwise installing a distutils-only package under
1326 setuptools when pip isn't available or otherwise does not
1327 expose the desired functionality. For example::
1328
1329 $ python -m setuptools.launch setup.py develop
1330
1331* Issue #488: Fix dual manifestation of Extension class in
1332 extension packages installed as dependencies when Cython
1333 is present.
1334
133519.5
1336----
1337
1338* Issue #486: Correct TypeError when getfilesystemencoding
1339 returns None.
1340* Issue #139: Clarified the license as MIT.
1341* BB Pull Request #169: Removed special handling of command
1342 spec in scripts for Jython.
1343
134419.4.1
1345------
1346
1347* Issue #487: Use direct invocation of ``importlib.machinery``
1348 in ``pkg_resources`` to avoid missing detection on relevant
1349 platforms.
1350
135119.4
1352----
1353
1354* Issue #341: Correct error in path handling of package data
1355 files in ``build_py`` command when package is empty.
1356* Distribute #323, Issue #141, Issue #207, and
1357 BB Pull Request #167: Another implementation of
1358 ``pkg_resources.WorkingSet`` and ``pkg_resources.Distribution``
1359 that supports replacing an extant package with a new one,
1360 allowing for setup_requires dependencies to supersede installed
1361 packages for the session.
1362
136319.3
1364----
1365
1366* Issue #229: Implement new technique for readily incorporating
1367 dependencies conditionally from vendored copies or primary
1368 locations. Adds a new dependency on six.
1369
137019.2
1371----
1372
1373* BB Pull Request #163: Add get_command_list method to Distribution.
1374* BB Pull Request #162: Add missing whitespace to multiline string
1375 literals.
1376
137719.1.1
1378------
1379
1380* Issue #476: Cast version to string (using default encoding)
1381 to avoid creating Unicode types on Python 2 clients.
1382* Issue #477: In Powershell downloader, use explicit rendering
1383 of strings, rather than rely on ``repr``, which can be
1384 incorrect (especially on Python 2).
1385
138619.1
1387----
1388
1389* Issue #215: The bootstrap script ``ez_setup.py`` now
1390 automatically detects
1391 the latest version of setuptools (using PyPI JSON API) rather
1392 than hard-coding a particular value.
1393* Issue #475: Fix incorrect usage in _translate_metadata2.
1394
139519.0
1396----
1397
1398* Issue #442: Use RawConfigParser for parsing .pypirc file.
1399 Interpolated values are no longer honored in .pypirc files.
1400
140118.8.1
1402------
1403
1404* Issue #440: Prevent infinite recursion when a SandboxViolation
1405 or other UnpickleableException occurs in a sandbox context
1406 with setuptools hidden. Fixes regression introduced in Setuptools
1407 12.0.
1408
140918.8
1410----
1411
1412* Deprecated ``egg_info.get_pkg_info_revision``.
1413* Issue #471: Don't rely on repr for an HTML attribute value in
1414 package_index.
1415* Issue #419: Avoid errors in FileMetadata when the metadata directory
1416 is broken.
1417* Issue #472: Remove deprecated use of 'U' in mode parameter
1418 when opening files.
1419
142018.7.1
1421------
1422
1423* Issue #469: Refactored logic for Issue #419 fix to re-use metadata
1424 loading from Provider.
1425
142618.7
1427----
1428
1429* Update dependency on certify.
1430* BB Pull Request #160: Improve detection of gui script in
1431 ``easy_install._adjust_header``.
1432* Made ``test.test_args`` a non-data property; alternate fix
1433 for the issue reported in BB Pull Request #155.
1434* Issue #453: In ``ez_setup`` bootstrap module, unload all
1435 ``pkg_resources`` modules following download.
1436* BB Pull Request #158: Honor PEP-488 when excluding
1437 files for namespace packages.
1438* Issue #419 and BB Pull Request #144: Add experimental support for
1439 reading the version info from distutils-installed metadata rather
1440 than using the version in the filename.
1441
144218.6.1
1443------
1444
1445* Issue #464: Correct regression in invocation of superclass on old-style
1446 class on Python 2.
1447
144818.6
1449----
1450
1451* Issue #439: When installing entry_point scripts under development,
1452 omit the version number of the package, allowing any version of the
1453 package to be used.
1454
145518.5
1456----
1457
1458* In preparation for dropping support for Python 3.2, a warning is
1459 now logged when pkg_resources is imported on Python 3.2 or earlier
1460 Python 3 versions.
1461* `Add support for python_platform_implementation environment marker
1462 <https://github.com/jaraco/setuptools/pull/28>`_.
1463* `Fix dictionary mutation during iteration
1464 <https://github.com/jaraco/setuptools/pull/29>`_.
1465
146618.4
1467----
1468
1469* Issue #446: Test command now always invokes unittest, even
1470 if no test suite is supplied.
1471
147218.3.2
1473------
1474
1475* Correct another regression in setuptools.findall
1476 where the fix for Python #12885 was lost.
1477
147818.3.1
1479------
1480
1481* Issue #425: Correct regression in setuptools.findall.
1482
148318.3
1484----
1485
1486* BB Pull Request #135: Setuptools now allows disabling of
1487 the manipulation of the sys.path
1488 during the processing of the easy-install.pth file. To do so, set
1489 the environment variable ``SETUPTOOLS_SYS_PATH_TECHNIQUE`` to
1490 anything but "rewrite" (consider "raw"). During any install operation
1491 with manipulation disabled, setuptools packages will be appended to
1492 sys.path naturally.
1493
1494 Future versions may change the default behavior to disable
1495 manipulation. If so, the default behavior can be retained by setting
1496 the variable to "rewrite".
1497
1498* Issue #257: ``easy_install --version`` now shows more detail
1499 about the installation location and Python version.
1500
1501* Refactor setuptools.findall in preparation for re-submission
1502 back to distutils.
1503
150418.2
1505----
1506
1507* Issue #412: More efficient directory search in ``find_packages``.
1508
150918.1
1510----
1511
1512* Upgrade to vendored packaging 15.3.
1513
151418.0.1
1515------
1516
1517* Issue #401: Fix failure in test suite.
1518
151918.0
1520----
1521
1522* Dropped support for builds with Pyrex. Only Cython is supported.
1523* Issue #288: Detect Cython later in the build process, after
1524 ``setup_requires`` dependencies are resolved.
1525 Projects backed by Cython can now be readily built
1526 with a ``setup_requires`` dependency. For example::
1527
1528 ext = setuptools.Extension('mylib', ['src/CythonStuff.pyx', 'src/CStuff.c'])
1529 setuptools.setup(
1530 ...
1531 ext_modules=[ext],
1532 setup_requires=['cython'],
1533 )
1534
1535 For compatibility with older versions of setuptools, packagers should
1536 still include ``src/CythonMod.c`` in the source distributions or
1537 require that Cython be present before building source distributions.
1538 However, for systems with this build of setuptools, Cython will be
1539 downloaded on demand.
1540* Issue #396: Fixed test failure on OS X.
1541* BB Pull Request #136: Remove excessive quoting from shebang headers
1542 for Jython.
1543
154417.1.1
1545------
1546
1547* Backed out unintended changes to pkg_resources, restoring removal of
1548 deprecated imp module (`ref
1549 <https://bitbucket.org/pypa/setuptools/commits/f572ec9563d647fa8d4ffc534f2af8070ea07a8b#comment-1881283>`_).
1550
155117.1
1552----
1553
1554* Issue #380: Add support for range operators on environment
1555 marker evaluation.
1556
155717.0
1558----
1559
1560* Issue #378: Do not use internal importlib._bootstrap module.
1561* Issue #390: Disallow console scripts with path separators in
1562 the name. Removes unintended functionality and brings behavior
1563 into parity with pip.
1564
156516.0
1566----
1567
1568* BB Pull Request #130: Better error messages for errors in
1569 parsed requirements.
1570* BB Pull Request #133: Removed ``setuptools.tests`` from the
1571 installed packages.
1572* BB Pull Request #129: Address deprecation warning due to usage
1573 of imp module.
1574
157515.2
1576----
1577
1578* Issue #373: Provisionally expose
1579 ``pkg_resources._initialize_master_working_set``, allowing for
1580 imperative re-initialization of the master working set.
1581
158215.1
1583----
1584
1585* Updated to Packaging 15.1 to address Packaging #28.
1586* Fix ``setuptools.sandbox._execfile()`` with Python 3.1.
1587
158815.0
1589----
1590
1591* BB Pull Request #126: DistributionNotFound message now lists the package or
1592 packages that required it. E.g.::
1593
1594 pkg_resources.DistributionNotFound: The 'colorama>=0.3.1' distribution was not found and is required by smlib.log.
1595
1596 Note that zc.buildout once dependended on the string rendering of this
1597 message to determine the package that was not found. This expectation
1598 has since been changed, but older versions of buildout may experience
1599 problems. See Buildout #242 for details.
1600
160114.3.1
1602------
1603
1604* Issue #307: Removed PEP-440 warning during parsing of versions
1605 in ``pkg_resources.Distribution``.
1606* Issue #364: Replace deprecated usage with recommended usage of
1607 ``EntryPoint.load``.
1608
160914.3
1610----
1611
1612* Issue #254: When creating temporary egg cache on Unix, use mode 755
1613 for creating the directory to avoid the subsequent warning if
1614 the directory is group writable.
1615
161614.2
1617----
1618
1619* Issue #137: Update ``Distribution.hashcmp`` so that Distributions with
1620 None for pyversion or platform can be compared against Distributions
1621 defining those attributes.
1622
162314.1.1
1624------
1625
1626* Issue #360: Removed undesirable behavior from test runs, preventing
1627 write tests and installation to system site packages.
1628
162914.1
1630----
1631
1632* BB Pull Request #125: Add ``__ne__`` to Requirement class.
1633* Various refactoring of easy_install.
1634
163514.0
1636----
1637
1638* Bootstrap script now accepts ``--to-dir`` to customize save directory or
1639 allow for re-use of existing repository of setuptools versions. See
1640 BB Pull Request #112 for background.
1641* Issue #285: ``easy_install`` no longer will default to installing
1642 packages to the "user site packages" directory if it is itself installed
1643 there. Instead, the user must pass ``--user`` in all cases to install
1644 packages to the user site packages.
1645 This behavior now matches that of "pip install". To configure
1646 an environment to always install to the user site packages, consider
1647 using the "install-dir" and "scripts-dir" parameters to easy_install
1648 through an appropriate distutils config file.
1649
165013.0.2
1651------
1652
1653* Issue #359: Include pytest.ini in the sdist so invocation of py.test on the
1654 sdist honors the pytest configuration.
1655
165613.0.1
1657------
1658
1659Re-release of 13.0. Intermittent connectivity issues caused the release
1660process to fail and PyPI uploads no longer accept files for 13.0.
1661
166213.0
1663----
1664
1665* Issue #356: Back out BB Pull Request #119 as it requires Setuptools 10 or later
1666 as the source during an upgrade.
1667* Removed build_py class from setup.py. According to 892f439d216e, this
1668 functionality was added to support upgrades from old Distribute versions,
1669 0.6.5 and 0.6.6.
1670
167112.4
1672----
1673
1674* BB Pull Request #119: Restore writing of ``setup_requires`` to metadata
1675 (previously added in 8.4 and removed in 9.0).
1676
167712.3
1678----
1679
1680* Documentation is now linked using the rst.linker package.
1681* Fix ``setuptools.command.easy_install.extract_wininst_cfg()``
1682 with Python 2.6 and 2.7.
1683* Issue #354. Added documentation on building setuptools
1684 documentation.
1685
168612.2
1687----
1688
1689* Issue #345: Unload all modules under pkg_resources during
1690 ``ez_setup.use_setuptools()``.
1691* Issue #336: Removed deprecation from ``ez_setup.use_setuptools``,
1692 as it is clearly still used by buildout's bootstrap. ``ez_setup``
1693 remains deprecated for use by individual packages.
1694* Simplified implementation of ``ez_setup.use_setuptools``.
1695
169612.1
1697----
1698
1699* BB Pull Request #118: Soften warning for non-normalized versions in
1700 Distribution.
1701
170212.0.5
1703------
1704
1705* Issue #339: Correct Attribute reference in ``cant_write_to_target``.
1706* Issue #336: Deprecated ``ez_setup.use_setuptools``.
1707
170812.0.4
1709------
1710
1711* Issue #335: Fix script header generation on Windows.
1712
171312.0.3
1714------
1715
1716* Fixed incorrect class attribute in ``install_scripts``. Tests would be nice.
1717
171812.0.2
1719------
1720
1721* Issue #331: Fixed ``install_scripts`` command on Windows systems corrupting
1722 the header.
1723
172412.0.1
1725------
1726
1727* Restore ``setuptools.command.easy_install.sys_executable`` for pbr
1728 compatibility. For the future, tools should construct a CommandSpec
1729 explicitly.
1730
173112.0
1732----
1733
1734* Issue #188: Setuptools now support multiple entities in the value for
1735 ``build.executable``, such that an executable of "/usr/bin/env my-python" may
1736 be specified. This means that systems with a specified executable whose name
1737 has spaces in the path must be updated to escape or quote that value.
1738* Deprecated ``easy_install.ScriptWriter.get_writer``, replaced by ``.best()``
1739 with slightly different semantics (no force_windows flag).
1740
174111.3.1
1742------
1743
1744* Issue #327: Formalize and restore support for any printable character in an
1745 entry point name.
1746
174711.3
1748----
1749
1750* Expose ``EntryPoint.resolve`` in place of EntryPoint._load, implementing the
1751 simple, non-requiring load. Deprecated all uses of ``EntryPoint._load``
1752 except for calling with no parameters, which is just a shortcut for
1753 ``ep.require(); ep.resolve();``.
1754
1755 Apps currently invoking ``ep.load(require=False)`` should instead do the
1756 following if wanting to avoid the deprecating warning::
1757
1758 getattr(ep, "resolve", lambda: ep.load(require=False))()
1759
176011.2
1761----
1762
1763* Pip #2326: Report deprecation warning at stacklevel 2 for easier diagnosis.
1764
176511.1
1766----
1767
1768* Issue #281: Since Setuptools 6.1 (Issue #268), a ValueError would be raised
1769 in certain cases where VersionConflict was raised with two arguments, which
1770 occurred in ``pkg_resources.WorkingSet.find``. This release adds support
1771 for indicating the dependent packages while maintaining support for
1772 a VersionConflict when no dependent package context is known. New unit tests
1773 now capture the expected interface.
1774
177511.0
1776----
1777
1778* Interop #3: Upgrade to Packaging 15.0; updates to PEP 440 so that >1.7 does
1779 not exclude 1.7.1 but does exclude 1.7.0 and 1.7.0.post1.
1780
178110.2.1
1782------
1783
1784* Issue #323: Fix regression in entry point name parsing.
1785
178610.2
1787----
1788
1789* Deprecated use of EntryPoint.load(require=False). Passing a boolean to a
1790 function to select behavior is an anti-pattern. Instead use
1791 ``Entrypoint._load()``.
1792* Substantial refactoring of all unit tests. Tests are now much leaner and
1793 re-use a lot of fixtures and contexts for better clarity of purpose.
1794
179510.1
1796----
1797
1798* Issue #320: Added a compatibility implementation of
1799 ``sdist._default_revctrl``
1800 so that systems relying on that interface do not fail (namely, Ubuntu 12.04
1801 and similar Debian releases).
1802
180310.0.1
1804------
1805
1806* Issue #319: Fixed issue installing pure distutils packages.
1807
180810.0
1809----
1810
1811* Issue #313: Removed built-in support for subversion. Projects wishing to
1812 retain support for subversion will need to use a third party library. The
1813 extant implementation is being ported to `setuptools_svn
1814 <https://pypi.org/project/setuptools_svn/>`_.
1815* Issue #315: Updated setuptools to hide its own loaded modules during
1816 installation of another package. This change will enable setuptools to
1817 upgrade (or downgrade) itself even when its own metadata and implementation
1818 change.
1819
18209.1
1821---
1822
1823* Prefer vendored packaging library `as recommended
1824 <https://github.com/jaraco/setuptools/commit/170657b68f4b92e7e1bf82f5e19a831f5744af67#commitcomment-9109448>`_.
1825
18269.0.1
1827-----
1828
1829* Issue #312: Restored presence of pkg_resources API tests (doctest) to sdist.
1830
18319.0
1832---
1833
1834* Issue #314: Disabled support for ``setup_requires`` metadata to avoid issue
1835 where Setuptools was unable to upgrade over earlier versions.
1836
18378.4
1838---
1839
1840* BB Pull Request #106: Now write ``setup_requires`` metadata.
1841
18428.3
1843---
1844
1845* Issue #311: Decoupled pkg_resources from setuptools once again.
1846 ``pkg_resources`` is now a package instead of a module.
1847
18488.2.1
1849-----
1850
1851* Issue #306: Suppress warnings about Version format except in select scenarios
1852 (such as installation).
1853
18548.2
1855---
1856
1857* BB Pull Request #85: Search egg-base when adding egg-info to manifest.
1858
18598.1
1860---
1861
1862* Upgrade ``packaging`` to 14.5, giving preference to "rc" as designator for
1863 release candidates over "c".
1864* PEP-440 warnings are now raised as their own class,
1865 ``pkg_resources.PEP440Warning``, instead of RuntimeWarning.
1866* Disabled warnings on empty versions.
1867
18688.0.4
1869-----
1870
1871* Upgrade ``packaging`` to 14.4, fixing an error where there is a
1872 different result for if 2.0.5 is contained within >2.0dev and >2.0.dev even
1873 though normalization rules should have made them equal.
1874* Issue #296: Add warning when a version is parsed as legacy. This warning will
1875 make it easier for developers to recognize deprecated version numbers.
1876
18778.0.3
1878-----
1879
1880* Issue #296: Restored support for ``__hash__`` on parse_version results.
1881
18828.0.2
1883-----
1884
1885* Issue #296: Restored support for ``__getitem__`` and sort operations on
1886 parse_version result.
1887
18888.0.1
1889-----
1890
1891* Issue #296: Restore support for iteration over parse_version result, but
1892 deprecated that usage with a warning. Fixes failure with buildout.
1893
18948.0
1895---
1896
1897* Implement PEP 440 within
1898 pkg_resources and setuptools. This change
1899 deprecates some version numbers such that they will no longer be installable
1900 without using the ``===`` escape hatch. See `the changes to test_resources
1901 <https://bitbucket.org/pypa/setuptools/commits/dcd552da643c4448056de84c73d56da6d70769d5#chg-setuptools/tests/test_resources.py>`_
1902 for specific examples of version numbers and specifiers that are no longer
1903 supported. Setuptools now "vendors" the `packaging
1904 <https://github.com/pypa/packaging>`_ library.
1905
19067.0
1907---
1908
1909* Issue #80, Issue #209: Eggs that are downloaded for ``setup_requires``,
1910 ``test_requires``, etc. are now placed in a ``./.eggs`` directory instead of
1911 directly in the current directory. This choice of location means the files
1912 can be readily managed (removed, ignored). Additionally,
1913 later phases or invocations of setuptools will not detect the package as
1914 already installed and ignore it for permanent install (See #209).
1915
1916 This change is indicated as backward-incompatible as installations that
1917 depend on the installation in the current directory will need to account for
1918 the new location. Systems that ignore ``*.egg`` will probably need to be
1919 adapted to ignore ``.eggs``. The files will need to be manually moved or
1920 will be retrieved again. Most use cases will require no attention.
1921
19226.1
1923---
1924
1925* Issue #268: When resolving package versions, a VersionConflict now reports
1926 which package previously required the conflicting version.
1927
19286.0.2
1929-----
1930
1931* Issue #262: Fixed regression in pip install due to egg-info directories
1932 being omitted. Re-opens Issue #118.
1933
19346.0.1
1935-----
1936
1937* Issue #259: Fixed regression with namespace package handling on ``single
1938 version, externally managed`` installs.
1939
19406.0
1941---
1942
1943* Issue #100: When building a distribution, Setuptools will no longer match
1944 default files using platform-dependent case sensitivity, but rather will
1945 only match the files if their case matches exactly. As a result, on Windows
1946 and other case-insensitive file systems, files with names such as
1947 'readme.txt' or 'README.TXT' will be omitted from the distribution and a
1948 warning will be issued indicating that 'README.txt' was not found. Other
1949 filenames affected are:
1950
1951 - README.rst
1952 - README
1953 - setup.cfg
1954 - setup.py (or the script name)
1955 - test/test*.py
1956
1957 Any users producing distributions with filenames that match those above
1958 case-insensitively, but not case-sensitively, should rename those files in
1959 their repository for better portability.
1960* BB Pull Request #72: When using ``single_version_externally_managed``, the
1961 exclusion list now includes Python 3.2 ``__pycache__`` entries.
1962* BB Pull Request #76 and BB Pull Request #78: lines in top_level.txt are now
1963 ordered deterministically.
1964* Issue #118: The egg-info directory is now no longer included in the list
1965 of outputs.
1966* Issue #258: Setuptools now patches distutils msvc9compiler to
1967 recognize the specially-packaged compiler package for easy extension module
1968 support on Python 2.6, 2.7, and 3.2.
1969
19705.8
1971---
1972
1973* Issue #237: ``pkg_resources`` now uses explicit detection of Python 2 vs.
1974 Python 3, supporting environments where builtins have been patched to make
1975 Python 3 look more like Python 2.
1976
19775.7
1978---
1979
1980* Issue #240: Based on real-world performance measures against 5.4, zip
1981 manifests are now cached in all circumstances. The
1982 ``PKG_RESOURCES_CACHE_ZIP_MANIFESTS`` environment variable is no longer
1983 relevant. The observed "memory increase" referenced in the 5.4 release
1984 notes and detailed in Issue #154 was likely not an increase over the status
1985 quo, but rather only an increase over not storing the zip info at all.
1986
19875.6
1988---
1989
1990* Issue #242: Use absolute imports in svn_utils to avoid issues if the
1991 installing package adds an xml module to the path.
1992
19935.5.1
1994-----
1995
1996* Issue #239: Fix typo in 5.5 such that fix did not take.
1997
19985.5
1999---
2000
2001* Issue #239: Setuptools now includes the setup_requires directive on
2002 Distribution objects and validates the syntax just like install_requires
2003 and tests_require directives.
2004
20055.4.2
2006-----
2007
2008* Issue #236: Corrected regression in execfile implementation for Python 2.6.
2009
20105.4.1
2011-----
2012
2013* Python #7776: (ssl_support) Correct usage of host for validation when
2014 tunneling for HTTPS.
2015
20165.4
2017---
2018
2019* Issue #154: ``pkg_resources`` will now cache the zip manifests rather than
2020 re-processing the same file from disk multiple times, but only if the
2021 environment variable ``PKG_RESOURCES_CACHE_ZIP_MANIFESTS`` is set. Clients
2022 that package many modules in the same zip file will see some improvement
2023 in startup time by enabling this feature. This feature is not enabled by
2024 default because it causes a substantial increase in memory usage.
2025
20265.3
2027---
2028
2029* Issue #185: Make svn tagging work on the new style SVN metadata.
2030 Thanks cazabon!
2031* Prune revision control directories (e.g .svn) from base path
2032 as well as sub-directories.
2033
20345.2
2035---
2036
2037* Added a `Developer Guide
2038 <https://setuptools.readthedocs.io/en/latest/developer-guide.html>`_ to the official
2039 documentation.
2040* Some code refactoring and cleanup was done with no intended behavioral
2041 changes.
2042* During install_egg_info, the generated lines for namespace package .pth
2043 files are now processed even during a dry run.
2044
20455.1
2046---
2047
2048* Issue #202: Implemented more robust cache invalidation for the ZipImporter,
2049 building on the work in Issue #168. Special thanks to Jurko Gospodnetic and
2050 PJE.
2051
20525.0.2
2053-----
2054
2055* Issue #220: Restored script templates.
2056
20575.0.1
2058-----
2059
2060* Renamed script templates to end with .tmpl now that they no longer need
2061 to be processed by 2to3. Fixes spurious syntax errors during build/install.
2062
20635.0
2064---
2065
2066* Issue #218: Re-release of 3.8.1 to signal that it supersedes 4.x.
2067* Incidentally, script templates were updated not to include the triple-quote
2068 escaping.
2069
20703.7.1 and 3.8.1 and 4.0.1
2071-------------------------
2072
2073* Issue #213: Use legacy StringIO behavior for compatibility under pbr.
2074* Issue #218: Setuptools 3.8.1 superseded 4.0.1, and 4.x was removed
2075 from the available versions to install.
2076
20774.0
2078---
2079
2080* Issue #210: ``setup.py develop`` now copies scripts in binary mode rather
2081 than text mode, matching the behavior of the ``install`` command.
2082
20833.8
2084---
2085
2086* Extend Issue #197 workaround to include all Python 3 versions prior to
2087 3.2.2.
2088
20893.7
2090---
2091
2092* Issue #193: Improved handling of Unicode filenames when building manifests.
2093
20943.6
2095---
2096
2097* Issue #203: Honor proxy settings for Powershell downloader in the bootstrap
2098 routine.
2099
21003.5.2
2101-----
2102
2103* Issue #168: More robust handling of replaced zip files and stale caches.
2104 Fixes ZipImportError complaining about a 'bad local header'.
2105
21063.5.1
2107-----
2108
2109* Issue #199: Restored ``install._install`` for compatibility with earlier
2110 NumPy versions.
2111
21123.5
2113---
2114
2115* Issue #195: Follow symbolic links in find_packages (restoring behavior
2116 broken in 3.4).
2117* Issue #197: On Python 3.1, PKG-INFO is now saved in a UTF-8 encoding instead
2118 of ``sys.getpreferredencoding`` to match the behavior on Python 2.6-3.4.
2119* Issue #192: Preferred bootstrap location is now
2120 https://bootstrap.pypa.io/ez_setup.py (mirrored from former location).
2121
21223.4.4
2123-----
2124
2125* Issue #184: Correct failure where find_package over-matched packages
2126 when directory traversal isn't short-circuited.
2127
21283.4.3
2129-----
2130
2131* Issue #183: Really fix test command with Python 3.1.
2132
21333.4.2
2134-----
2135
2136* Issue #183: Fix additional regression in test command on Python 3.1.
2137
21383.4.1
2139-----
2140
2141* Issue #180: Fix regression in test command not caught by py.test-run tests.
2142
21433.4
2144---
2145
2146* Issue #176: Add parameter to the test command to support a custom test
2147 runner: --test-runner or -r.
2148* Issue #177: Now assume most common invocation to install command on
2149 platforms/environments without stack support (issuing a warning). Setuptools
2150 now installs naturally on IronPython. Behavior on CPython should be
2151 unchanged.
2152
21533.3
2154---
2155
2156* Add ``include`` parameter to ``setuptools.find_packages()``.
2157
21583.2
2159---
2160
2161* BB Pull Request #39: Add support for C++ targets from Cython ``.pyx`` files.
2162* Issue #162: Update dependency on certifi to 1.0.1.
2163* Issue #164: Update dependency on wincertstore to 0.2.
2164
21653.1
2166---
2167
2168* Issue #161: Restore Features functionality to allow backward compatibility
2169 (for Features) until the uses of that functionality is sufficiently removed.
2170
21713.0.2
2172-----
2173
2174* Correct typo in previous bugfix.
2175
21763.0.1
2177-----
2178
2179* Issue #157: Restore support for Python 2.6 in bootstrap script where
2180 ``zipfile.ZipFile`` does not yet have support for context managers.
2181
21823.0
2183---
2184
2185* Issue #125: Prevent Subversion support from creating a ~/.subversion
2186 directory just for checking the presence of a Subversion repository.
2187* Issue #12: Namespace packages are now imported lazily. That is, the mere
2188 declaration of a namespace package in an egg on ``sys.path`` no longer
2189 causes it to be imported when ``pkg_resources`` is imported. Note that this
2190 change means that all of a namespace package's ``__init__.py`` files must
2191 include a ``declare_namespace()`` call in order to ensure that they will be
2192 handled properly at runtime. In 2.x it was possible to get away without
2193 including the declaration, but only at the cost of forcing namespace
2194 packages to be imported early, which 3.0 no longer does.
2195* Issue #148: When building (bdist_egg), setuptools no longer adds
2196 ``__init__.py`` files to namespace packages. Any packages that rely on this
2197 behavior will need to create ``__init__.py`` files and include the
2198 ``declare_namespace()``.
2199* Issue #7: Setuptools itself is now distributed as a zip archive in addition to
2200 tar archive. ez_setup.py now uses zip archive. This approach avoids the potential
2201 security vulnerabilities presented by use of tar archives in ez_setup.py.
2202 It also leverages the security features added to ZipFile.extract in Python 2.7.4.
2203* Issue #65: Removed deprecated Features functionality.
2204* BB Pull Request #28: Remove backport of ``_bytecode_filenames`` which is
2205 available in Python 2.6 and later, but also has better compatibility with
2206 Python 3 environments.
2207* Issue #156: Fix spelling of __PYVENV_LAUNCHER__ variable.
2208
22092.2
2210---
2211
2212* Issue #141: Restored fix for allowing setup_requires dependencies to
2213 override installed dependencies during setup.
2214* Issue #128: Fixed issue where only the first dependency link was honored
2215 in a distribution where multiple dependency links were supplied.
2216
22172.1.2
2218-----
2219
2220* Issue #144: Read long_description using codecs module to avoid errors
2221 installing on systems where LANG=C.
2222
22232.1.1
2224-----
2225
2226* Issue #139: Fix regression in re_finder for CVS repos (and maybe Git repos
2227 as well).
2228
22292.1
2230---
2231
2232* Issue #129: Suppress inspection of ``*.whl`` files when searching for files
2233 in a zip-imported file.
2234* Issue #131: Fix RuntimeError when constructing an egg fetcher.
2235
22362.0.2
2237-----
2238
2239* Fix NameError during installation with Python implementations (e.g. Jython)
2240 not containing parser module.
2241* Fix NameError in ``sdist:re_finder``.
2242
22432.0.1
2244-----
2245
2246* Issue #124: Fixed error in list detection in upload_docs.
2247
22482.0
2249---
2250
2251* Issue #121: Exempt lib2to3 pickled grammars from DirectorySandbox.
2252* Issue #41: Dropped support for Python 2.4 and Python 2.5. Clients requiring
2253 setuptools for those versions of Python should use setuptools 1.x.
2254* Removed ``setuptools.command.easy_install.HAS_USER_SITE``. Clients
2255 expecting this boolean variable should use ``site.ENABLE_USER_SITE``
2256 instead.
2257* Removed ``pkg_resources.ImpWrapper``. Clients that expected this class
2258 should use ``pkgutil.ImpImporter`` instead.
2259
22601.4.2
2261-----
2262
2263* Issue #116: Correct TypeError when reading a local package index on Python
2264 3.
2265
22661.4.1
2267-----
2268
2269* Issue #114: Use ``sys.getfilesystemencoding`` for decoding config in
2270 ``bdist_wininst`` distributions.
2271
2272* Issue #105 and Issue #113: Establish a more robust technique for
2273 determining the terminal encoding::
2274
2275 1. Try ``getpreferredencoding``
2276 2. If that returns US_ASCII or None, try the encoding from
2277 ``getdefaultlocale``. If that encoding was a "fallback" because Python
2278 could not figure it out from the environment or OS, encoding remains
2279 unresolved.
2280 3. If the encoding is resolved, then make sure Python actually implements
2281 the encoding.
2282 4. On the event of an error or unknown codec, revert to fallbacks
2283 (UTF-8 on Darwin, ASCII on everything else).
2284 5. On the encoding is 'mac-roman' on Darwin, use UTF-8 as 'mac-roman' was
2285 a bug on older Python releases.
2286
2287 On a side note, it would seem that the encoding only matters for when SVN
2288 does not yet support ``--xml`` and when getting repository and svn version
2289 numbers. The ``--xml`` technique should yield UTF-8 according to some
2290 messages on the SVN mailing lists. So if the version numbers are always
2291 7-bit ASCII clean, it may be best to only support the file parsing methods
2292 for legacy SVN releases and support for SVN without the subprocess command
2293 would simple go away as support for the older SVNs does.
2294
22951.4
2296---
2297
2298* Issue #27: ``easy_install`` will now use credentials from .pypirc if
2299 present for connecting to the package index.
2300* BB Pull Request #21: Omit unwanted newlines in ``package_index._encode_auth``
2301 when the username/password pair length indicates wrapping.
2302
23031.3.2
2304-----
2305
2306* Issue #99: Fix filename encoding issues in SVN support.
2307
23081.3.1
2309-----
2310
2311* Remove exuberant warning in SVN support when SVN is not used.
2312
23131.3
2314---
2315
2316* Address security vulnerability in SSL match_hostname check as reported in
2317 Python #17997.
2318* Prefer `backports.ssl_match_hostname
2319 <https://pypi.org/project/backports.ssl_match_hostname/>`_ for backport
2320 implementation if present.
2321* Correct NameError in ``ssl_support`` module (``socket.error``).
2322
23231.2
2324---
2325
2326* Issue #26: Add support for SVN 1.7. Special thanks to Philip Thiem for the
2327 contribution.
2328* Issue #93: Wheels are now distributed with every release. Note that as
2329 reported in Issue #108, as of Pip 1.4, scripts aren't installed properly
2330 from wheels. Therefore, if using Pip to install setuptools from a wheel,
2331 the ``easy_install`` command will not be available.
2332* Setuptools "natural" launcher support, introduced in 1.0, is now officially
2333 supported.
2334
23351.1.7
2336-----
2337
2338* Fixed behavior of NameError handling in 'script template (dev).py' (script
2339 launcher for 'develop' installs).
2340* ``ez_setup.py`` now ensures partial downloads are cleaned up following
2341 a failed download.
2342* Distribute #363 and Issue #55: Skip an sdist test that fails on locales
2343 other than UTF-8.
2344
23451.1.6
2346-----
2347
2348* Distribute #349: ``sandbox.execfile`` now opens the target file in binary
2349 mode, thus honoring a BOM in the file when compiled.
2350
23511.1.5
2352-----
2353
2354* Issue #69: Second attempt at fix (logic was reversed).
2355
23561.1.4
2357-----
2358
2359* Issue #77: Fix error in upload command (Python 2.4).
2360
23611.1.3
2362-----
2363
2364* Fix NameError in previous patch.
2365
23661.1.2
2367-----
2368
2369* Issue #69: Correct issue where 404 errors are returned for URLs with
2370 fragments in them (such as #egg=).
2371
23721.1.1
2373-----
2374
2375* Issue #75: Add ``--insecure`` option to ez_setup.py to accommodate
2376 environments where a trusted SSL connection cannot be validated.
2377* Issue #76: Fix AttributeError in upload command with Python 2.4.
2378
23791.1
2380---
2381
2382* Issue #71 (Distribute #333): EasyInstall now puts less emphasis on the
2383 condition when a host is blocked via ``--allow-hosts``.
2384* Issue #72: Restored Python 2.4 compatibility in ``ez_setup.py``.
2385
23861.0
2387---
2388
2389* Issue #60: On Windows, Setuptools supports deferring to another launcher,
2390 such as Vinay Sajip's `pylauncher <https://bitbucket.org/pypa/pylauncher>`_
2391 (included with Python 3.3) to launch console and GUI scripts and not install
2392 its own launcher executables. This experimental functionality is currently
2393 only enabled if the ``SETUPTOOLS_LAUNCHER`` environment variable is set to
2394 "natural". In the future, this behavior may become default, but only after
2395 it has matured and seen substantial adoption. The ``SETUPTOOLS_LAUNCHER``
2396 also accepts "executable" to force the default behavior of creating launcher
2397 executables.
2398* Issue #63: Bootstrap script (ez_setup.py) now prefers Powershell, curl, or
2399 wget for retrieving the Setuptools tarball for improved security of the
2400 install. The script will still fall back to a simple ``urlopen`` on
2401 platforms that do not have these tools.
2402* Issue #65: Deprecated the ``Features`` functionality.
2403* Issue #52: In ``VerifyingHTTPSConn``, handle a tunnelled (proxied)
2404 connection.
2405
2406Backward-Incompatible Changes
2407=============================
2408
2409This release includes a couple of backward-incompatible changes, but most if
2410not all users will find 1.0 a drop-in replacement for 0.9.
2411
2412* Issue #50: Normalized API of environment marker support. Specifically,
2413 removed line number and filename from SyntaxErrors when returned from
2414 `pkg_resources.invalid_marker`. Any clients depending on the specific
2415 string representation of exceptions returned by that function may need to
2416 be updated to account for this change.
2417* Issue #50: SyntaxErrors generated by `pkg_resources.invalid_marker` are
2418 normalized for cross-implementation consistency.
2419* Removed ``--ignore-conflicts-at-my-risk`` and ``--delete-conflicting``
2420 options to easy_install. These options have been deprecated since 0.6a11.
2421
24220.9.8
2423-----
2424
2425* Issue #53: Fix NameErrors in `_vcs_split_rev_from_url`.
2426
24270.9.7
2428-----
2429
2430* Issue #49: Correct AttributeError on PyPy where a hashlib.HASH object does
2431 not have a `.name` attribute.
2432* Issue #34: Documentation now refers to bootstrap script in code repository
2433 referenced by bookmark.
2434* Add underscore-separated keys to environment markers (markerlib).
2435
24360.9.6
2437-----
2438
2439* Issue #44: Test failure on Python 2.4 when MD5 hash doesn't have a `.name`
2440 attribute.
2441
24420.9.5
2443-----
2444
2445* Python #17980: Fix security vulnerability in SSL certificate validation.
2446
24470.9.4
2448-----
2449
2450* Issue #43: Fix issue (introduced in 0.9.1) with version resolution when
2451 upgrading over other releases of Setuptools.
2452
24530.9.3
2454-----
2455
2456* Issue #42: Fix new ``AttributeError`` introduced in last fix.
2457
24580.9.2
2459-----
2460
2461* Issue #42: Fix regression where blank checksums would trigger an
2462 ``AttributeError``.
2463
24640.9.1
2465-----
2466
2467* Distribute #386: Allow other positional and keyword arguments to os.open.
2468* Corrected dependency on certifi mis-referenced in 0.9.
2469
24700.9
2471---
2472
2473* `package_index` now validates hashes other than MD5 in download links.
2474
24750.8
2476---
2477
2478* Code base now runs on Python 2.4 - Python 3.3 without Python 2to3
2479 conversion.
2480
24810.7.8
2482-----
2483
2484* Distribute #375: Yet another fix for yet another regression.
2485
24860.7.7
2487-----
2488
2489* Distribute #375: Repair AttributeError created in last release (redo).
2490* Issue #30: Added test for get_cache_path.
2491
24920.7.6
2493-----
2494
2495* Distribute #375: Repair AttributeError created in last release.
2496
24970.7.5
2498-----
2499
2500* Issue #21: Restore Python 2.4 compatibility in ``test_easy_install``.
2501* Distribute #375: Merged additional warning from Distribute 0.6.46.
2502* Now honor the environment variable
2503 ``SETUPTOOLS_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT`` in addition to the now
2504 deprecated ``DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT``.
2505
25060.7.4
2507-----
2508
2509* Issue #20: Fix comparison of parsed SVN version on Python 3.
2510
25110.7.3
2512-----
2513
2514* Issue #1: Disable installation of Windows-specific files on non-Windows systems.
2515* Use new sysconfig module with Python 2.7 or >=3.2.
2516
25170.7.2
2518-----
2519
2520* Issue #14: Use markerlib when the `parser` module is not available.
2521* Issue #10: ``ez_setup.py`` now uses HTTPS to download setuptools from PyPI.
2522
25230.7.1
2524-----
2525
2526* Fix NameError (Issue #3) again - broken in bad merge.
2527
25280.7
2529---
2530
2531* Merged Setuptools and Distribute. See docs/merge.txt for details.
2532
2533Added several features that were slated for setuptools 0.6c12:
2534
2535* Index URL now defaults to HTTPS.
2536* Added experimental environment marker support. Now clients may designate a
2537 PEP-426 environment marker for "extra" dependencies. Setuptools uses this
2538 feature in ``setup.py`` for optional SSL and certificate validation support
2539 on older platforms. Based on Distutils-SIG discussions, the syntax is
2540 somewhat tentative. There should probably be a PEP with a firmer spec before
2541 the feature should be considered suitable for use.
2542* Added support for SSL certificate validation when installing packages from
2543 an HTTPS service.
2544
25450.7b4
2546-----
2547
2548* Issue #3: Fixed NameError in SSL support.
2549
25500.6.49
2551------
2552
2553* Move warning check in ``get_cache_path`` to follow the directory creation
2554 to avoid errors when the cache path does not yet exist. Fixes the error
2555 reported in Distribute #375.
2556
25570.6.48
2558------
2559
2560* Correct AttributeError in ``ResourceManager.get_cache_path`` introduced in
2561 0.6.46 (redo).
2562
25630.6.47
2564------
2565
2566* Correct AttributeError in ``ResourceManager.get_cache_path`` introduced in
2567 0.6.46.
2568
25690.6.46
2570------
2571
2572* Distribute #375: Issue a warning if the PYTHON_EGG_CACHE or otherwise
2573 customized egg cache location specifies a directory that's group- or
2574 world-writable.
2575
25760.6.45
2577------
2578
2579* Distribute #379: ``distribute_setup.py`` now traps VersionConflict as well,
2580 restoring ability to upgrade from an older setuptools version.
2581
25820.6.44
2583------
2584
2585* ``distribute_setup.py`` has been updated to allow Setuptools 0.7 to
2586 satisfy use_setuptools.
2587
25880.6.43
2589------
2590
2591* Distribute #378: Restore support for Python 2.4 Syntax (regression in 0.6.42).
2592
25930.6.42
2594------
2595
2596* External links finder no longer yields duplicate links.
2597* Distribute #337: Moved site.py to setuptools/site-patch.py (graft of very old
2598 patch from setuptools trunk which inspired PR #31).
2599
26000.6.41
2601------
2602
2603* Distribute #27: Use public api for loading resources from zip files rather than
2604 the private method `_zip_directory_cache`.
2605* Added a new function ``easy_install.get_win_launcher`` which may be used by
2606 third-party libraries such as buildout to get a suitable script launcher.
2607
26080.6.40
2609------
2610
2611* Distribute #376: brought back cli.exe and gui.exe that were deleted in the
2612 previous release.
2613
26140.6.39
2615------
2616
2617* Add support for console launchers on ARM platforms.
2618* Fix possible issue in GUI launchers where the subsystem was not supplied to
2619 the linker.
2620* Launcher build script now refactored for robustness.
2621* Distribute #375: Resources extracted from a zip egg to the file system now also
2622 check the contents of the file against the zip contents during each
2623 invocation of get_resource_filename.
2624
26250.6.38
2626------
2627
2628* Distribute #371: The launcher manifest file is now installed properly.
2629
26300.6.37
2631------
2632
2633* Distribute #143: Launcher scripts, including easy_install itself, are now
2634 accompanied by a manifest on 32-bit Windows environments to avoid the
2635 Installer Detection Technology and thus undesirable UAC elevation described
2636 in `this Microsoft article
2637 <http://technet.microsoft.com/en-us/library/cc709628%28WS.10%29.aspx>`_.
2638
26390.6.36
2640------
2641
2642* BB Pull Request #35: In Buildout #64, it was reported that
2643 under Python 3, installation of distutils scripts could attempt to copy
2644 the ``__pycache__`` directory as a file, causing an error, apparently only
2645 under Windows. Easy_install now skips all directories when processing
2646 metadata scripts.
2647
26480.6.35
2649------
2650
2651
2652Note this release is backward-incompatible with distribute 0.6.23-0.6.34 in
2653how it parses version numbers.
2654
2655* Distribute #278: Restored compatibility with distribute 0.6.22 and setuptools
2656 0.6. Updated the documentation to match more closely with the version
2657 parsing as intended in setuptools 0.6.
2658
26590.6.34
2660------
2661
2662* Distribute #341: 0.6.33 fails to build under Python 2.4.
2663
26640.6.33
2665------
2666
2667* Fix 2 errors with Jython 2.5.
2668* Fix 1 failure with Jython 2.5 and 2.7.
2669* Disable workaround for Jython scripts on Linux systems.
2670* Distribute #336: `setup.py` no longer masks failure exit code when tests fail.
2671* Fix issue in pkg_resources where try/except around a platform-dependent
2672 import would trigger hook load failures on Mercurial. See pull request 32
2673 for details.
2674* Distribute #341: Fix a ResourceWarning.
2675
26760.6.32
2677------
2678
2679* Fix test suite with Python 2.6.
2680* Fix some DeprecationWarnings and ResourceWarnings.
2681* Distribute #335: Backed out `setup_requires` superceding installed requirements
2682 until regression can be addressed.
2683
26840.6.31
2685------
2686
2687* Distribute #303: Make sure the manifest only ever contains UTF-8 in Python 3.
2688* Distribute #329: Properly close files created by tests for compatibility with
2689 Jython.
2690* Work around Jython #1980 and Jython #1981.
2691* Distribute #334: Provide workaround for packages that reference `sys.__stdout__`
2692 such as numpy does. This change should address
2693 `virtualenv #359 <https://github.com/pypa/virtualenv/issues/359>`_ as long
2694 as the system encoding is UTF-8 or the IO encoding is specified in the
2695 environment, i.e.::
2696
2697 PYTHONIOENCODING=utf8 pip install numpy
2698
2699* Fix for encoding issue when installing from Windows executable on Python 3.
2700* Distribute #323: Allow `setup_requires` requirements to supercede installed
2701 requirements. Added some new keyword arguments to existing pkg_resources
2702 methods. Also had to updated how __path__ is handled for namespace packages
2703 to ensure that when a new egg distribution containing a namespace package is
2704 placed on sys.path, the entries in __path__ are found in the same order they
2705 would have been in had that egg been on the path when pkg_resources was
2706 first imported.
2707
27080.6.30
2709------
2710
2711* Distribute #328: Clean up temporary directories in distribute_setup.py.
2712* Fix fatal bug in distribute_setup.py.
2713
27140.6.29
2715------
2716
2717* BB Pull Request #14: Honor file permissions in zip files.
2718* Distribute #327: Merged pull request #24 to fix a dependency problem with pip.
2719* Merged pull request #23 to fix https://github.com/pypa/virtualenv/issues/301.
2720* If Sphinx is installed, the `upload_docs` command now runs `build_sphinx`
2721 to produce uploadable documentation.
2722* Distribute #326: `upload_docs` provided mangled auth credentials under Python 3.
2723* Distribute #320: Fix check for "createable" in distribute_setup.py.
2724* Distribute #305: Remove a warning that was triggered during normal operations.
2725* Distribute #311: Print metadata in UTF-8 independent of platform.
2726* Distribute #303: Read manifest file with UTF-8 encoding under Python 3.
2727* Distribute #301: Allow to run tests of namespace packages when using 2to3.
2728* Distribute #304: Prevent import loop in site.py under Python 3.3.
2729* Distribute #283: Reenable scanning of `*.pyc` / `*.pyo` files on Python 3.3.
2730* Distribute #299: The develop command didn't work on Python 3, when using 2to3,
2731 as the egg link would go to the Python 2 source. Linking to the 2to3'd code
2732 in build/lib makes it work, although you will have to rebuild the module
2733 before testing it.
2734* Distribute #306: Even if 2to3 is used, we build in-place under Python 2.
2735* Distribute #307: Prints the full path when .svn/entries is broken.
2736* Distribute #313: Support for sdist subcommands (Python 2.7)
2737* Distribute #314: test_local_index() would fail an OS X.
2738* Distribute #310: Non-ascii characters in a namespace __init__.py causes errors.
2739* Distribute #218: Improved documentation on behavior of `package_data` and
2740 `include_package_data`. Files indicated by `package_data` are now included
2741 in the manifest.
2742* `distribute_setup.py` now allows a `--download-base` argument for retrieving
2743 distribute from a specified location.
2744
27450.6.28
2746------
2747
2748* Distribute #294: setup.py can now be invoked from any directory.
2749* Scripts are now installed honoring the umask.
2750* Added support for .dist-info directories.
2751* Distribute #283: Fix and disable scanning of `*.pyc` / `*.pyo` files on
2752 Python 3.3.
2753
27540.6.27
2755------
2756
2757* Support current snapshots of CPython 3.3.
2758* Distribute now recognizes README.rst as a standard, default readme file.
2759* Exclude 'encodings' modules when removing modules from sys.modules.
2760 Workaround for #285.
2761* Distribute #231: Don't fiddle with system python when used with buildout
2762 (bootstrap.py)
2763
27640.6.26
2765------
2766
2767* Distribute #183: Symlinked files are now extracted from source distributions.
2768* Distribute #227: Easy_install fetch parameters are now passed during the
2769 installation of a source distribution; now fulfillment of setup_requires
2770 dependencies will honor the parameters passed to easy_install.
2771
27720.6.25
2773------
2774
2775* Distribute #258: Workaround a cache issue
2776* Distribute #260: distribute_setup.py now accepts the --user parameter for
2777 Python 2.6 and later.
2778* Distribute #262: package_index.open_with_auth no longer throws LookupError
2779 on Python 3.
2780* Distribute #269: AttributeError when an exception occurs reading Manifest.in
2781 on late releases of Python.
2782* Distribute #272: Prevent TypeError when namespace package names are unicode
2783 and single-install-externally-managed is used. Also fixes PIP issue
2784 449.
2785* Distribute #273: Legacy script launchers now install with Python2/3 support.
2786
27870.6.24
2788------
2789
2790* Distribute #249: Added options to exclude 2to3 fixers
2791
27920.6.23
2793------
2794
2795* Distribute #244: Fixed a test
2796* Distribute #243: Fixed a test
2797* Distribute #239: Fixed a test
2798* Distribute #240: Fixed a test
2799* Distribute #241: Fixed a test
2800* Distribute #237: Fixed a test
2801* Distribute #238: easy_install now uses 64bit executable wrappers on 64bit Python
2802* Distribute #208: Fixed parsed_versions, it now honors post-releases as noted in the documentation
2803* Distribute #207: Windows cli and gui wrappers pass CTRL-C to child python process
2804* Distribute #227: easy_install now passes its arguments to setup.py bdist_egg
2805* Distribute #225: Fixed a NameError on Python 2.5, 2.4
2806
28070.6.21
2808------
2809
2810* Distribute #225: FIxed a regression on py2.4
2811
28120.6.20
2813------
2814
2815* Distribute #135: Include url in warning when processing URLs in package_index.
2816* Distribute #212: Fix issue where easy_instal fails on Python 3 on windows installer.
2817* Distribute #213: Fix typo in documentation.
2818
28190.6.19
2820------
2821
2822* Distribute #206: AttributeError: 'HTTPMessage' object has no attribute 'getheaders'
2823
28240.6.18
2825------
2826
2827* Distribute #210: Fixed a regression introduced by Distribute #204 fix.
2828
28290.6.17
2830------
2831
2832* Support 'DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT' environment
2833 variable to allow to disable installation of easy_install-${version} script.
2834* Support Python >=3.1.4 and >=3.2.1.
2835* Distribute #204: Don't try to import the parent of a namespace package in
2836 declare_namespace
2837* Distribute #196: Tolerate responses with multiple Content-Length headers
2838* Distribute #205: Sandboxing doesn't preserve working_set. Leads to setup_requires
2839 problems.
2840
28410.6.16
2842------
2843
2844* Builds sdist gztar even on Windows (avoiding Distribute #193).
2845* Distribute #192: Fixed metadata omitted on Windows when package_dir
2846 specified with forward-slash.
2847* Distribute #195: Cython build support.
2848* Distribute #200: Issues with recognizing 64-bit packages on Windows.
2849
28500.6.15
2851------
2852
2853* Fixed typo in bdist_egg
2854* Several issues under Python 3 has been solved.
2855* Distribute #146: Fixed missing DLL files after easy_install of windows exe package.
2856
28570.6.14
2858------
2859
2860* Distribute #170: Fixed unittest failure. Thanks to Toshio.
2861* Distribute #171: Fixed race condition in unittests cause deadlocks in test suite.
2862* Distribute #143: Fixed a lookup issue with easy_install.
2863 Thanks to David and Zooko.
2864* Distribute #174: Fixed the edit mode when its used with setuptools itself
2865
28660.6.13
2867------
2868
2869* Distribute #160: 2.7 gives ValueError("Invalid IPv6 URL")
2870* Distribute #150: Fixed using ~/.local even in a --no-site-packages virtualenv
2871* Distribute #163: scan index links before external links, and don't use the md5 when
2872 comparing two distributions
2873
28740.6.12
2875------
2876
2877* Distribute #149: Fixed various failures on 2.3/2.4
2878
28790.6.11
2880------
2881
2882* Found another case of SandboxViolation - fixed
2883* Distribute #15 and Distribute #48: Introduced a socket timeout of 15 seconds on url openings
2884* Added indexsidebar.html into MANIFEST.in
2885* Distribute #108: Fixed TypeError with Python3.1
2886* Distribute #121: Fixed --help install command trying to actually install.
2887* Distribute #112: Added an os.makedirs so that Tarek's solution will work.
2888* Distribute #133: Added --no-find-links to easy_install
2889* Added easy_install --user
2890* Distribute #100: Fixed develop --user not taking '.' in PYTHONPATH into account
2891* Distribute #134: removed spurious UserWarnings. Patch by VanLindberg
2892* Distribute #138: cant_write_to_target error when setup_requires is used.
2893* Distribute #147: respect the sys.dont_write_bytecode flag
2894
28950.6.10
2896------
2897
2898* Reverted change made for the DistributionNotFound exception because
2899 zc.buildout uses the exception message to get the name of the
2900 distribution.
2901
29020.6.9
2903-----
2904
2905* Distribute #90: unknown setuptools version can be added in the working set
2906* Distribute #87: setupt.py doesn't try to convert distribute_setup.py anymore
2907 Initial Patch by arfrever.
2908* Distribute #89: added a side bar with a download link to the doc.
2909* Distribute #86: fixed missing sentence in pkg_resources doc.
2910* Added a nicer error message when a DistributionNotFound is raised.
2911* Distribute #80: test_develop now works with Python 3.1
2912* Distribute #93: upload_docs now works if there is an empty sub-directory.
2913* Distribute #70: exec bit on non-exec files
2914* Distribute #99: now the standalone easy_install command doesn't uses a
2915 "setup.cfg" if any exists in the working directory. It will use it
2916 only if triggered by ``install_requires`` from a setup.py call
2917 (install, develop, etc).
2918* Distribute #101: Allowing ``os.devnull`` in Sandbox
2919* Distribute #92: Fixed the "no eggs" found error with MacPort
2920 (platform.mac_ver() fails)
2921* Distribute #103: test_get_script_header_jython_workaround not run
2922 anymore under py3 with C or POSIX local. Contributed by Arfrever.
2923* Distribute #104: remvoved the assertion when the installation fails,
2924 with a nicer message for the end user.
2925* Distribute #100: making sure there's no SandboxViolation when
2926 the setup script patches setuptools.
2927
29280.6.8
2929-----
2930
2931* Added "check_packages" in dist. (added in Setuptools 0.6c11)
2932* Fixed the DONT_PATCH_SETUPTOOLS state.
2933
29340.6.7
2935-----
2936
2937* Distribute #58: Added --user support to the develop command
2938* Distribute #11: Generated scripts now wrap their call to the script entry point
2939 in the standard "if name == 'main'"
2940* Added the 'DONT_PATCH_SETUPTOOLS' environment variable, so virtualenv
2941 can drive an installation that doesn't patch a global setuptools.
2942* Reviewed unladen-swallow specific change from
2943 http://code.google.com/p/unladen-swallow/source/detail?spec=svn875&r=719
2944 and determined that it no longer applies. Distribute should work fine with
2945 Unladen Swallow 2009Q3.
2946* Distribute #21: Allow PackageIndex.open_url to gracefully handle all cases of a
2947 httplib.HTTPException instead of just InvalidURL and BadStatusLine.
2948* Removed virtual-python.py from this distribution and updated documentation
2949 to point to the actively maintained virtualenv instead.
2950* Distribute #64: use_setuptools no longer rebuilds the distribute egg every
2951 time it is run
2952* use_setuptools now properly respects the requested version
2953* use_setuptools will no longer try to import a distribute egg for the
2954 wrong Python version
2955* Distribute #74: no_fake should be True by default.
2956* Distribute #72: avoid a bootstrapping issue with easy_install -U
2957
29580.6.6
2959-----
2960
2961* Unified the bootstrap file so it works on both py2.x and py3k without 2to3
2962 (patch by Holger Krekel)
2963
29640.6.5
2965-----
2966
2967* Distribute #65: cli.exe and gui.exe are now generated at build time,
2968 depending on the platform in use.
2969
2970* Distribute #67: Fixed doc typo (PEP 381/PEP 382).
2971
2972* Distribute no longer shadows setuptools if we require a 0.7-series
2973 setuptools. And an error is raised when installing a 0.7 setuptools with
2974 distribute.
2975
2976* When run from within buildout, no attempt is made to modify an existing
2977 setuptools egg, whether in a shared egg directory or a system setuptools.
2978
2979* Fixed a hole in sandboxing allowing builtin file to write outside of
2980 the sandbox.
2981
29820.6.4
2983-----
2984
2985* Added the generation of `distribute_setup_3k.py` during the release.
2986 This closes Distribute #52.
2987
2988* Added an upload_docs command to easily upload project documentation to
2989 PyPI's https://pythonhosted.org. This close issue Distribute #56.
2990
2991* Fixed a bootstrap bug on the use_setuptools() API.
2992
29930.6.3
2994-----
2995
2996setuptools
2997==========
2998
2999* Fixed a bunch of calls to file() that caused crashes on Python 3.
3000
3001bootstrapping
3002=============
3003
3004* Fixed a bug in sorting that caused bootstrap to fail on Python 3.
3005
30060.6.2
3007-----
3008
3009setuptools
3010==========
3011
3012* Added Python 3 support; see docs/python3.txt.
3013 This closes Old Setuptools #39.
3014
3015* Added option to run 2to3 automatically when installing on Python 3.
3016 This closes issue Distribute #31.
3017
3018* Fixed invalid usage of requirement.parse, that broke develop -d.
3019 This closes Old Setuptools #44.
3020
3021* Fixed script launcher for 64-bit Windows.
3022 This closes Old Setuptools #2.
3023
3024* KeyError when compiling extensions.
3025 This closes Old Setuptools #41.
3026
3027bootstrapping
3028=============
3029
3030* Fixed bootstrap not working on Windows. This closes issue Distribute #49.
3031
3032* Fixed 2.6 dependencies. This closes issue Distribute #50.
3033
3034* Make sure setuptools is patched when running through easy_install
3035 This closes Old Setuptools #40.
3036
30370.6.1
3038-----
3039
3040setuptools
3041==========
3042
3043* package_index.urlopen now catches BadStatusLine and malformed url errors.
3044 This closes Distribute #16 and Distribute #18.
3045
3046* zip_ok is now False by default. This closes Old Setuptools #33.
3047
3048* Fixed invalid URL error catching. Old Setuptools #20.
3049
3050* Fixed invalid bootstraping with easy_install installation (Distribute #40).
3051 Thanks to Florian Schulze for the help.
3052
3053* Removed buildout/bootstrap.py. A new repository will create a specific
3054 bootstrap.py script.
3055
3056
3057bootstrapping
3058=============
3059
3060* The boostrap process leave setuptools alone if detected in the system
3061 and --root or --prefix is provided, but is not in the same location.
3062 This closes Distribute #10.
3063
30640.6
3065---
3066
3067setuptools
3068==========
3069
3070* Packages required at build time where not fully present at install time.
3071 This closes Distribute #12.
3072
3073* Protected against failures in tarfile extraction. This closes Distribute #10.
3074
3075* Made Jython api_tests.txt doctest compatible. This closes Distribute #7.
3076
3077* sandbox.py replaced builtin type file with builtin function open. This
3078 closes Distribute #6.
3079
3080* Immediately close all file handles. This closes Distribute #3.
3081
3082* Added compatibility with Subversion 1.6. This references Distribute #1.
3083
3084pkg_resources
3085=============
3086
3087* Avoid a call to /usr/bin/sw_vers on OSX and use the official platform API
3088 instead. Based on a patch from ronaldoussoren. This closes issue #5.
3089
3090* Fixed a SandboxViolation for mkdir that could occur in certain cases.
3091 This closes Distribute #13.
3092
3093* Allow to find_on_path on systems with tight permissions to fail gracefully.
3094 This closes Distribute #9.
3095
3096* Corrected inconsistency between documentation and code of add_entry.
3097 This closes Distribute #8.
3098
3099* Immediately close all file handles. This closes Distribute #3.
3100
3101easy_install
3102============
3103
3104* Immediately close all file handles. This closes Distribute #3.
3105
31060.6c9
3107-----
3108
3109 * Fixed a missing files problem when using Windows source distributions on
3110 non-Windows platforms, due to distutils not handling manifest file line
3111 endings correctly.
3112
3113 * Updated Pyrex support to work with Pyrex 0.9.6 and higher.
3114
3115 * Minor changes for Jython compatibility, including skipping tests that can't
3116 work on Jython.
3117
3118 * Fixed not installing eggs in ``install_requires`` if they were also used for
3119 ``setup_requires`` or ``tests_require``.
3120
3121 * Fixed not fetching eggs in ``install_requires`` when running tests.
3122
3123 * Allow ``ez_setup.use_setuptools()`` to upgrade existing setuptools
3124 installations when called from a standalone ``setup.py``.
3125
3126 * Added a warning if a namespace package is declared, but its parent package
3127 is not also declared as a namespace.
3128
3129 * Support Subversion 1.5
3130
3131 * Removed use of deprecated ``md5`` module if ``hashlib`` is available
3132
3133 * Fixed ``bdist_wininst upload`` trying to upload the ``.exe`` twice
3134
3135 * Fixed ``bdist_egg`` putting a ``native_libs.txt`` in the source package's
3136 ``.egg-info``, when it should only be in the built egg's ``EGG-INFO``.
3137
3138 * Ensure that _full_name is set on all shared libs before extensions are
3139 checked for shared lib usage. (Fixes a bug in the experimental shared
3140 library build support.)
3141
3142 * Fix to allow unpacked eggs containing native libraries to fail more
3143 gracefully under Google App Engine (with an ``ImportError`` loading the
3144 C-based module, instead of getting a ``NameError``).
3145
31460.6c7
3147-----
3148
3149 * Fixed ``distutils.filelist.findall()`` crashing on broken symlinks, and
3150 ``egg_info`` command failing on new, uncommitted SVN directories.
3151
3152 * Fix import problems with nested namespace packages installed via
3153 ``--root`` or ``--single-version-externally-managed``, due to the
3154 parent package not having the child package as an attribute.
3155
31560.6c6
3157-----
3158
3159 * Added ``--egg-path`` option to ``develop`` command, allowing you to force
3160 ``.egg-link`` files to use relative paths (allowing them to be shared across
3161 platforms on a networked drive).
3162
3163 * Fix not building binary RPMs correctly.
3164
3165 * Fix "eggsecutables" (such as setuptools' own egg) only being runnable with
3166 bash-compatible shells.
3167
3168 * Fix ``#!`` parsing problems in Windows ``.exe`` script wrappers, when there
3169 was whitespace inside a quoted argument or at the end of the ``#!`` line
3170 (a regression introduced in 0.6c4).
3171
3172 * Fix ``test`` command possibly failing if an older version of the project
3173 being tested was installed on ``sys.path`` ahead of the test source
3174 directory.
3175
3176 * Fix ``find_packages()`` treating ``ez_setup`` and directories with ``.`` in
3177 their names as packages.
3178
31790.6c5
3180-----
3181
3182 * Fix uploaded ``bdist_rpm`` packages being described as ``bdist_egg``
3183 packages under Python versions less than 2.5.
3184
3185 * Fix uploaded ``bdist_wininst`` packages being described as suitable for
3186 "any" version by Python 2.5, even if a ``--target-version`` was specified.
3187
31880.6c4
3189-----
3190
3191 * Overhauled Windows script wrapping to support ``bdist_wininst`` better.
3192 Scripts installed with ``bdist_wininst`` will always use ``#!python.exe`` or
3193 ``#!pythonw.exe`` as the executable name (even when built on non-Windows
3194 platforms!), and the wrappers will look for the executable in the script's
3195 parent directory (which should find the right version of Python).
3196
3197 * Fix ``upload`` command not uploading files built by ``bdist_rpm`` or
3198 ``bdist_wininst`` under Python 2.3 and 2.4.
3199
3200 * Add support for "eggsecutable" headers: a ``#!/bin/sh`` script that is
3201 prepended to an ``.egg`` file to allow it to be run as a script on Unix-ish
3202 platforms. (This is mainly so that setuptools itself can have a single-file
3203 installer on Unix, without doing multiple downloads, dealing with firewalls,
3204 etc.)
3205
3206 * Fix problem with empty revision numbers in Subversion 1.4 ``entries`` files
3207
3208 * Use cross-platform relative paths in ``easy-install.pth`` when doing
3209 ``develop`` and the source directory is a subdirectory of the installation
3210 target directory.
3211
3212 * Fix a problem installing eggs with a system packaging tool if the project
3213 contained an implicit namespace package; for example if the ``setup()``
3214 listed a namespace package ``foo.bar`` without explicitly listing ``foo``
3215 as a namespace package.
3216
32170.6c3
3218-----
3219
3220 * Fixed breakages caused by Subversion 1.4's new "working copy" format
3221
32220.6c2
3223-----
3224
3225 * The ``ez_setup`` module displays the conflicting version of setuptools (and
3226 its installation location) when a script requests a version that's not
3227 available.
3228
3229 * Running ``setup.py develop`` on a setuptools-using project will now install
3230 setuptools if needed, instead of only downloading the egg.
3231
32320.6c1
3233-----
3234
3235 * Fixed ``AttributeError`` when trying to download a ``setup_requires``
3236 dependency when a distribution lacks a ``dependency_links`` setting.
3237
3238 * Made ``zip-safe`` and ``not-zip-safe`` flag files contain a single byte, so
3239 as to play better with packaging tools that complain about zero-length
3240 files.
3241
3242 * Made ``setup.py develop`` respect the ``--no-deps`` option, which it
3243 previously was ignoring.
3244
3245 * Support ``extra_path`` option to ``setup()`` when ``install`` is run in
3246 backward-compatibility mode.
3247
3248 * Source distributions now always include a ``setup.cfg`` file that explicitly
3249 sets ``egg_info`` options such that they produce an identical version number
3250 to the source distribution's version number. (Previously, the default
3251 version number could be different due to the use of ``--tag-date``, or if
3252 the version was overridden on the command line that built the source
3253 distribution.)
3254
32550.6b4
3256-----
3257
3258 * Fix ``register`` not obeying name/version set by ``egg_info`` command, if
3259 ``egg_info`` wasn't explicitly run first on the same command line.
3260
3261 * Added ``--no-date`` and ``--no-svn-revision`` options to ``egg_info``
3262 command, to allow suppressing tags configured in ``setup.cfg``.
3263
3264 * Fixed redundant warnings about missing ``README`` file(s); it should now
3265 appear only if you are actually a source distribution.
3266
32670.6b3
3268-----
3269
3270 * Fix ``bdist_egg`` not including files in subdirectories of ``.egg-info``.
3271
3272 * Allow ``.py`` files found by the ``include_package_data`` option to be
3273 automatically included. Remove duplicate data file matches if both
3274 ``include_package_data`` and ``package_data`` are used to refer to the same
3275 files.
3276
32770.6b1
3278-----
3279
3280 * Strip ``module`` from the end of compiled extension modules when computing
3281 the name of a ``.py`` loader/wrapper. (Python's import machinery ignores
3282 this suffix when searching for an extension module.)
3283
32840.6a11
3285------
3286
3287 * Added ``test_loader`` keyword to support custom test loaders
3288
3289 * Added ``setuptools.file_finders`` entry point group to allow implementing
3290 revision control plugins.
3291
3292 * Added ``--identity`` option to ``upload`` command.
3293
3294 * Added ``dependency_links`` to allow specifying URLs for ``--find-links``.
3295
3296 * Enhanced test loader to scan packages as well as modules, and call
3297 ``additional_tests()`` if present to get non-unittest tests.
3298
3299 * Support namespace packages in conjunction with system packagers, by omitting
3300 the installation of any ``__init__.py`` files for namespace packages, and
3301 adding a special ``.pth`` file to create a working package in
3302 ``sys.modules``.
3303
3304 * Made ``--single-version-externally-managed`` automatic when ``--root`` is
3305 used, so that most system packagers won't require special support for
3306 setuptools.
3307
3308 * Fixed ``setup_requires``, ``tests_require``, etc. not using ``setup.cfg`` or
3309 other configuration files for their option defaults when installing, and
3310 also made the install use ``--multi-version`` mode so that the project
3311 directory doesn't need to support .pth files.
3312
3313 * ``MANIFEST.in`` is now forcibly closed when any errors occur while reading
3314 it. Previously, the file could be left open and the actual error would be
3315 masked by problems trying to remove the open file on Windows systems.
3316
33170.6a10
3318------
3319
3320 * Fixed the ``develop`` command ignoring ``--find-links``.
3321
33220.6a9
3323-----
3324
3325 * The ``sdist`` command no longer uses the traditional ``MANIFEST`` file to
3326 create source distributions. ``MANIFEST.in`` is still read and processed,
3327 as are the standard defaults and pruning. But the manifest is built inside
3328 the project's ``.egg-info`` directory as ``SOURCES.txt``, and it is rebuilt
3329 every time the ``egg_info`` command is run.
3330
3331 * Added the ``include_package_data`` keyword to ``setup()``, allowing you to
3332 automatically include any package data listed in revision control or
3333 ``MANIFEST.in``
3334
3335 * Added the ``exclude_package_data`` keyword to ``setup()``, allowing you to
3336 trim back files included via the ``package_data`` and
3337 ``include_package_data`` options.
3338
3339 * Fixed ``--tag-svn-revision`` not working when run from a source
3340 distribution.
3341
3342 * Added warning for namespace packages with missing ``declare_namespace()``
3343
3344 * Added ``tests_require`` keyword to ``setup()``, so that e.g. packages
3345 requiring ``nose`` to run unit tests can make this dependency optional
3346 unless the ``test`` command is run.
3347
3348 * Made all commands that use ``easy_install`` respect its configuration
3349 options, as this was causing some problems with ``setup.py install``.
3350
3351 * Added an ``unpack_directory()`` driver to ``setuptools.archive_util``, so
3352 that you can process a directory tree through a processing filter as if it
3353 were a zipfile or tarfile.
3354
3355 * Added an internal ``install_egg_info`` command to use as part of old-style
3356 ``install`` operations, that installs an ``.egg-info`` directory with the
3357 package.
3358
3359 * Added a ``--single-version-externally-managed`` option to the ``install``
3360 command so that you can more easily wrap a "flat" egg in a system package.
3361
3362 * Enhanced ``bdist_rpm`` so that it installs single-version eggs that
3363 don't rely on a ``.pth`` file. The ``--no-egg`` option has been removed,
3364 since all RPMs are now built in a more backwards-compatible format.
3365
3366 * Support full roundtrip translation of eggs to and from ``bdist_wininst``
3367 format. Running ``bdist_wininst`` on a setuptools-based package wraps the
3368 egg in an .exe that will safely install it as an egg (i.e., with metadata
3369 and entry-point wrapper scripts), and ``easy_install`` can turn the .exe
3370 back into an ``.egg`` file or directory and install it as such.
3371
3372
33730.6a8
3374-----
3375
3376 * Fixed some problems building extensions when Pyrex was installed, especially
3377 with Python 2.4 and/or packages using SWIG.
3378
3379 * Made ``develop`` command accept all the same options as ``easy_install``,
3380 and use the ``easy_install`` command's configuration settings as defaults.
3381
3382 * Made ``egg_info --tag-svn-revision`` fall back to extracting the revision
3383 number from ``PKG-INFO`` in case it is being run on a source distribution of
3384 a snapshot taken from a Subversion-based project.
3385
3386 * Automatically detect ``.dll``, ``.so`` and ``.dylib`` files that are being
3387 installed as data, adding them to ``native_libs.txt`` automatically.
3388
3389 * Fixed some problems with fresh checkouts of projects that don't include
3390 ``.egg-info/PKG-INFO`` under revision control and put the project's source
3391 code directly in the project directory. If such a package had any
3392 requirements that get processed before the ``egg_info`` command can be run,
3393 the setup scripts would fail with a "Missing 'Version:' header and/or
3394 PKG-INFO file" error, because the egg runtime interpreted the unbuilt
3395 metadata in a directory on ``sys.path`` (i.e. the current directory) as
3396 being a corrupted egg. Setuptools now monkeypatches the distribution
3397 metadata cache to pretend that the egg has valid version information, until
3398 it has a chance to make it actually be so (via the ``egg_info`` command).
3399
34000.6a5
3401-----
3402
3403 * Fixed missing gui/cli .exe files in distribution. Fixed bugs in tests.
3404
34050.6a3
3406-----
3407
3408 * Added ``gui_scripts`` entry point group to allow installing GUI scripts
3409 on Windows and other platforms. (The special handling is only for Windows;
3410 other platforms are treated the same as for ``console_scripts``.)
3411
34120.6a2
3413-----
3414
3415 * Added ``console_scripts`` entry point group to allow installing scripts
3416 without the need to create separate script files. On Windows, console
3417 scripts get an ``.exe`` wrapper so you can just type their name. On other
3418 platforms, the scripts are written without a file extension.
3419
34200.6a1
3421-----
3422
3423 * Added support for building "old-style" RPMs that don't install an egg for
3424 the target package, using a ``--no-egg`` option.
3425
3426 * The ``build_ext`` command now works better when using the ``--inplace``
3427 option and multiple Python versions. It now makes sure that all extensions
3428 match the current Python version, even if newer copies were built for a
3429 different Python version.
3430
3431 * The ``upload`` command no longer attaches an extra ``.zip`` when uploading
3432 eggs, as PyPI now supports egg uploads without trickery.
3433
3434 * The ``ez_setup`` script/module now displays a warning before downloading
3435 the setuptools egg, and attempts to check the downloaded egg against an
3436 internal MD5 checksum table.
3437
3438 * Fixed the ``--tag-svn-revision`` option of ``egg_info`` not finding the
3439 latest revision number; it was using the revision number of the directory
3440 containing ``setup.py``, not the highest revision number in the project.
3441
3442 * Added ``eager_resources`` setup argument
3443
3444 * The ``sdist`` command now recognizes Subversion "deleted file" entries and
3445 does not include them in source distributions.
3446
3447 * ``setuptools`` now embeds itself more thoroughly into the distutils, so that
3448 other distutils extensions (e.g. py2exe, py2app) will subclass setuptools'
3449 versions of things, rather than the native distutils ones.
3450
3451 * Added ``entry_points`` and ``setup_requires`` arguments to ``setup()``;
3452 ``setup_requires`` allows you to automatically find and download packages
3453 that are needed in order to *build* your project (as opposed to running it).
3454
3455 * ``setuptools`` now finds its commands, ``setup()`` argument validators, and
3456 metadata writers using entry points, so that they can be extended by
3457 third-party packages. See `Creating distutils Extensions
3458 <https://setuptools.readthedocs.io/en/latest/setuptools.html#creating-distutils-extensions>`_
3459 for more details.
3460
3461 * The vestigial ``depends`` command has been removed. It was never finished
3462 or documented, and never would have worked without EasyInstall - which it
3463 pre-dated and was never compatible with.
3464
34650.5a12
3466------
3467
3468 * The zip-safety scanner now checks for modules that might be used with
3469 ``python -m``, and marks them as unsafe for zipping, since Python 2.4 can't
3470 handle ``-m`` on zipped modules.
3471
34720.5a11
3473------
3474
3475 * Fix breakage of the "develop" command that was caused by the addition of
3476 ``--always-unzip`` to the ``easy_install`` command.
3477
34780.5a9
3479-----
3480
3481 * Include ``svn:externals`` directories in source distributions as well as
3482 normal subversion-controlled files and directories.
3483
3484 * Added ``exclude=patternlist`` option to ``setuptools.find_packages()``
3485
3486 * Changed --tag-svn-revision to include an "r" in front of the revision number
3487 for better readability.
3488
3489 * Added ability to build eggs without including source files (except for any
3490 scripts, of course), using the ``--exclude-source-files`` option to
3491 ``bdist_egg``.
3492
3493 * ``setup.py install`` now automatically detects when an "unmanaged" package
3494 or module is going to be on ``sys.path`` ahead of a package being installed,
3495 thereby preventing the newer version from being imported. If this occurs,
3496 a warning message is output to ``sys.stderr``, but installation proceeds
3497 anyway. The warning message informs the user what files or directories
3498 need deleting, and advises them they can also use EasyInstall (with the
3499 ``--delete-conflicting`` option) to do it automatically.
3500
3501 * The ``egg_info`` command now adds a ``top_level.txt`` file to the metadata
3502 directory that lists all top-level modules and packages in the distribution.
3503 This is used by the ``easy_install`` command to find possibly-conflicting
3504 "unmanaged" packages when installing the distribution.
3505
3506 * Added ``zip_safe`` and ``namespace_packages`` arguments to ``setup()``.
3507 Added package analysis to determine zip-safety if the ``zip_safe`` flag
3508 is not given, and advise the author regarding what code might need changing.
3509
3510 * Fixed the swapped ``-d`` and ``-b`` options of ``bdist_egg``.
3511
35120.5a8
3513-----
3514
3515 * The "egg_info" command now always sets the distribution metadata to "safe"
3516 forms of the distribution name and version, so that distribution files will
3517 be generated with parseable names (i.e., ones that don't include '-' in the
3518 name or version). Also, this means that if you use the various ``--tag``
3519 options of "egg_info", any distributions generated will use the tags in the
3520 version, not just egg distributions.
3521
3522 * Added support for defining command aliases in distutils configuration files,
3523 under the "[aliases]" section. To prevent recursion and to allow aliases to
3524 call the command of the same name, a given alias can be expanded only once
3525 per command-line invocation. You can define new aliases with the "alias"
3526 command, either for the local, global, or per-user configuration.
3527
3528 * Added "rotate" command to delete old distribution files, given a set of
3529 patterns to match and the number of files to keep. (Keeps the most
3530 recently-modified distribution files matching each pattern.)
3531
3532 * Added "saveopts" command that saves all command-line options for the current
3533 invocation to the local, global, or per-user configuration file. Useful for
3534 setting defaults without having to hand-edit a configuration file.
3535
3536 * Added a "setopt" command that sets a single option in a specified distutils
3537 configuration file.
3538
35390.5a7
3540-----
3541
3542 * Added "upload" support for egg and source distributions, including a bug
3543 fix for "upload" and a temporary workaround for lack of .egg support in
3544 PyPI.
3545
35460.5a6
3547-----
3548
3549 * Beefed up the "sdist" command so that if you don't have a MANIFEST.in, it
3550 will include all files under revision control (CVS or Subversion) in the
3551 current directory, and it will regenerate the list every time you create a
3552 source distribution, not just when you tell it to. This should make the
3553 default "do what you mean" more often than the distutils' default behavior
3554 did, while still retaining the old behavior in the presence of MANIFEST.in.
3555
3556 * Fixed the "develop" command always updating .pth files, even if you
3557 specified ``-n`` or ``--dry-run``.
3558
3559 * Slightly changed the format of the generated version when you use
3560 ``--tag-build`` on the "egg_info" command, so that you can make tagged
3561 revisions compare *lower* than the version specified in setup.py (e.g. by
3562 using ``--tag-build=dev``).
3563
35640.5a5
3565-----
3566
3567 * Added ``develop`` command to ``setuptools``-based packages. This command
3568 installs an ``.egg-link`` pointing to the package's source directory, and
3569 script wrappers that ``execfile()`` the source versions of the package's
3570 scripts. This lets you put your development checkout(s) on sys.path without
3571 having to actually install them. (To uninstall the link, use
3572 use ``setup.py develop --uninstall``.)
3573
3574 * Added ``egg_info`` command to ``setuptools``-based packages. This command
3575 just creates or updates the "projectname.egg-info" directory, without
3576 building an egg. (It's used by the ``bdist_egg``, ``test``, and ``develop``
3577 commands.)
3578
3579 * Enhanced the ``test`` command so that it doesn't install the package, but
3580 instead builds any C extensions in-place, updates the ``.egg-info``
3581 metadata, adds the source directory to ``sys.path``, and runs the tests
3582 directly on the source. This avoids an "unmanaged" installation of the
3583 package to ``site-packages`` or elsewhere.
3584
3585 * Made ``easy_install`` a standard ``setuptools`` command, moving it from
3586 the ``easy_install`` module to ``setuptools.command.easy_install``. Note
3587 that if you were importing or extending it, you must now change your imports
3588 accordingly. ``easy_install.py`` is still installed as a script, but not as
3589 a module.
3590
35910.5a4
3592-----
3593
3594 * Setup scripts using setuptools can now list their dependencies directly in
3595 the setup.py file, without having to manually create a ``depends.txt`` file.
3596 The ``install_requires`` and ``extras_require`` arguments to ``setup()``
3597 are used to create a dependencies file automatically. If you are manually
3598 creating ``depends.txt`` right now, please switch to using these setup
3599 arguments as soon as practical, because ``depends.txt`` support will be
3600 removed in the 0.6 release cycle. For documentation on the new arguments,
3601 see the ``setuptools.dist.Distribution`` class.
3602
3603 * Setup scripts using setuptools now always install using ``easy_install``
3604 internally, for ease of uninstallation and upgrading.
3605
36060.5a1
3607-----
3608
3609 * Added support for "self-installation" bootstrapping. Packages can now
3610 include ``ez_setup.py`` in their source distribution, and add the following
3611 to their ``setup.py``, in order to automatically bootstrap installation of
3612 setuptools as part of their setup process::
3613
3614 from ez_setup import use_setuptools
3615 use_setuptools()
3616
3617 from setuptools import setup
3618 # etc...
3619
36200.4a2
3621-----
3622
3623 * Added ``ez_setup.py`` installer/bootstrap script to make initial setuptools
3624 installation easier, and to allow distributions using setuptools to avoid
3625 having to include setuptools in their source distribution.
3626
3627 * All downloads are now managed by the ``PackageIndex`` class (which is now
3628 subclassable and replaceable), so that embedders can more easily override
3629 download logic, give download progress reports, etc. The class has also
3630 been moved to the new ``setuptools.package_index`` module.
3631
3632 * The ``Installer`` class no longer handles downloading, manages a temporary
3633 directory, or tracks the ``zip_ok`` option. Downloading is now handled
3634 by ``PackageIndex``, and ``Installer`` has become an ``easy_install``
3635 command class based on ``setuptools.Command``.
3636
3637 * There is a new ``setuptools.sandbox.run_setup()`` API to invoke a setup
3638 script in a directory sandbox, and a new ``setuptools.archive_util`` module
3639 with an ``unpack_archive()`` API. These were split out of EasyInstall to
3640 allow reuse by other tools and applications.
3641
3642 * ``setuptools.Command`` now supports reinitializing commands using keyword
3643 arguments to set/reset options. Also, ``Command`` subclasses can now set
3644 their ``command_consumes_arguments`` attribute to ``True`` in order to
3645 receive an ``args`` option containing the rest of the command line.
3646
36470.3a2
3648-----
3649
3650 * Added new options to ``bdist_egg`` to allow tagging the egg's version number
3651 with a subversion revision number, the current date, or an explicit tag
3652 value. Run ``setup.py bdist_egg --help`` to get more information.
3653
3654 * Misc. bug fixes
3655
36560.3a1
3657-----
3658
3659 * Initial release.
3660