=======
CHANGES
=======

-----
0.9.8
-----

* Issue #53: Fix NameErrors in `_vcs_split_rev_from_url`.

-----
0.9.7
-----

* Issue #49: Correct AttributeError on PyPy where a hashlib.HASH object does
  not have a `.name` attribute.
* Issue #34: Documentation now refers to bootstrap script in code repository
  referenced by bookmark.
* Add underscore-separated keys to environment markers (markerlib).

-----
0.9.6
-----

* Issue #44: Test failure on Python 2.4 when MD5 hash doesn't have a `.name`
  attribute.

-----
0.9.5
-----

* Python #17980: Fix security vulnerability in SSL certificate validation.

-----
0.9.4
-----

* Issue #43: Fix issue (introduced in 0.9.1) with version resolution when
  upgrading over other releases of Setuptools.

-----
0.9.3
-----

* Issue #42: Fix new ``AttributeError`` introduced in last fix.

-----
0.9.2
-----

* Issue #42: Fix regression where blank checksums would trigger an
  ``AttributeError``.

-----
0.9.1
-----

* Distribute #386: Allow other positional and keyword arguments to os.open.
* Corrected dependency on certifi mis-referenced in 0.9.

---
0.9
---

* `package_index` now validates hashes other than MD5 in download links.

---
0.8
---

* Code base now runs on Python 2.4 - Python 3.3 without Python 2to3
  conversion.

-----
0.7.8
-----

* Distribute #375: Yet another fix for yet another regression.

-----
0.7.7
-----

* Distribute #375: Repair AttributeError created in last release (redo).
* Issue #30: Added test for get_cache_path.

-----
0.7.6
-----

* Distribute #375: Repair AttributeError created in last release.

-----
0.7.5
-----

* Issue #21: Restore Python 2.4 compatibility in ``test_easy_install``.
* Distribute #375: Merged additional warning from Distribute 0.6.46.
* Now honor the environment variable
  ``SETUPTOOLS_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT`` in addition to the now
  deprecated ``DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT``.

-----
0.7.4
-----

* Issue #20: Fix comparison of parsed SVN version on Python 3.

-----
0.7.3
-----

* Issue #1: Disable installation of Windows-specific files on non-Windows systems.
* Use new sysconfig module with Python 2.7 or >=3.2.

-----
0.7.2
-----

* Issue #14: Use markerlib when the `parser` module is not available.
* Issue #10: ``ez_setup.py`` now uses HTTPS to download setuptools from PyPI.

-----
0.7.1
-----

* Fix NameError (Issue #3) again - broken in bad merge.

---
0.7
---

* Merged Setuptools and Distribute. See docs/merge.txt for details.

Added several features that were slated for setuptools 0.6c12:

* Index URL now defaults to HTTPS.
* Added experimental environment marker support. Now clients may designate a
  PEP-426 environment marker for "extra" dependencies. Setuptools uses this
  feature in ``setup.py`` for optional SSL and certificate validation support
  on older platforms. Based on Distutils-SIG discussions, the syntax is
  somewhat tentative. There should probably be a PEP with a firmer spec before
  the feature should be considered suitable for use.
* Added support for SSL certificate validation when installing packages from
  an HTTPS service.

-----
0.7b4
-----

* Issue #3: Fixed NameError in SSL support.

------
0.6.49
------

* Move warning check in ``get_cache_path`` to follow the directory creation
  to avoid errors when the cache path does not yet exist. Fixes the error
  reported in Distribute #375.

------
0.6.48
------

* Correct AttributeError in ``ResourceManager.get_cache_path`` introduced in
  0.6.46 (redo).

------
0.6.47
------

* Correct AttributeError in ``ResourceManager.get_cache_path`` introduced in
  0.6.46.

------
0.6.46
------

* Distribute #375: Issue a warning if the PYTHON_EGG_CACHE or otherwise
  customized egg cache location specifies a directory that's group- or
  world-writable.

------
0.6.45
------

* Distribute #379: ``distribute_setup.py`` now traps VersionConflict as well,
  restoring ability to upgrade from an older setuptools version.

------
0.6.44
------

* ``distribute_setup.py`` has been updated to allow Setuptools 0.7 to
  satisfy use_setuptools.

------
0.6.43
------

* Distribute #378: Restore support for Python 2.4 Syntax (regression in 0.6.42).

------
0.6.42
------

* External links finder no longer yields duplicate links.
* Distribute #337: Moved site.py to setuptools/site-patch.py (graft of very old
  patch from setuptools trunk which inspired PR #31).

------
0.6.41
------

* Distribute #27: Use public api for loading resources from zip files rather than
  the private method `_zip_directory_cache`.
* Added a new function ``easy_install.get_win_launcher`` which may be used by
  third-party libraries such as buildout to get a suitable script launcher.

------
0.6.40
------

* Distribute #376: brought back cli.exe and gui.exe that were deleted in the
  previous release.

------
0.6.39
------

* Add support for console launchers on ARM platforms.
* Fix possible issue in GUI launchers where the subsystem was not supplied to
  the linker.
* Launcher build script now refactored for robustness.
* Distribute #375: Resources extracted from a zip egg to the file system now also
  check the contents of the file against the zip contents during each
  invocation of get_resource_filename.

------
0.6.38
------

* Distribute #371: The launcher manifest file is now installed properly.

------
0.6.37
------

* Distribute #143: Launcher scripts, including easy_install itself, are now
  accompanied by a manifest on 32-bit Windows environments to avoid the
  Installer Detection Technology and thus undesirable UAC elevation described
  in `this Microsoft article
  <http://technet.microsoft.com/en-us/library/cc709628%28WS.10%29.aspx>`_.

------
0.6.36
------

* Pull Request #35: In Buildout #64, it was reported that
  under Python 3, installation of distutils scripts could attempt to copy
  the ``__pycache__`` directory as a file, causing an error, apparently only
  under Windows. Easy_install now skips all directories when processing
  metadata scripts.

------
0.6.35
------


Note this release is backward-incompatible with distribute 0.6.23-0.6.34 in
how it parses version numbers.

* Distribute #278: Restored compatibility with distribute 0.6.22 and setuptools
  0.6. Updated the documentation to match more closely with the version
  parsing as intended in setuptools 0.6.

------
0.6.34
------

* Distribute #341: 0.6.33 fails to build under Python 2.4.

------
0.6.33
------

* Fix 2 errors with Jython 2.5.
* Fix 1 failure with Jython 2.5 and 2.7.
* Disable workaround for Jython scripts on Linux systems.
* Distribute #336: `setup.py` no longer masks failure exit code when tests fail.
* Fix issue in pkg_resources where try/except around a platform-dependent
  import would trigger hook load failures on Mercurial. See pull request 32
  for details.
* Distribute #341: Fix a ResourceWarning.

------
0.6.32
------

* Fix test suite with Python 2.6.
* Fix some DeprecationWarnings and ResourceWarnings.
* Distribute #335: Backed out `setup_requires` superceding installed requirements
  until regression can be addressed.

------
0.6.31
------

* Distribute #303: Make sure the manifest only ever contains UTF-8 in Python 3.
* Distribute #329: Properly close files created by tests for compatibility with
  Jython.
* Work around Jython #1980 and Jython #1981.
* Distribute #334: Provide workaround for packages that reference `sys.__stdout__`
  such as numpy does. This change should address
  `virtualenv #359 <https://github.com/pypa/virtualenv/issues/359>`_ as long
  as the system encoding is UTF-8 or the IO encoding is specified in the
  environment, i.e.::

     PYTHONIOENCODING=utf8 pip install numpy

* Fix for encoding issue when installing from Windows executable on Python 3.
* Distribute #323: Allow `setup_requires` requirements to supercede installed
  requirements. Added some new keyword arguments to existing pkg_resources
  methods. Also had to updated how __path__ is handled for namespace packages
  to ensure that when a new egg distribution containing a namespace package is
  placed on sys.path, the entries in __path__ are found in the same order they
  would have been in had that egg been on the path when pkg_resources was
  first imported.

------
0.6.30
------

* Distribute #328: Clean up temporary directories in distribute_setup.py.
* Fix fatal bug in distribute_setup.py.

------
0.6.29
------

* Pull Request #14: Honor file permissions in zip files.
* Distribute #327: Merged pull request #24 to fix a dependency problem with pip.
* Merged pull request #23 to fix https://github.com/pypa/virtualenv/issues/301.
* If Sphinx is installed, the `upload_docs` command now runs `build_sphinx`
  to produce uploadable documentation.
* Distribute #326: `upload_docs` provided mangled auth credentials under Python 3.
* Distribute #320: Fix check for "createable" in distribute_setup.py.
* Distribute #305: Remove a warning that was triggered during normal operations.
* Distribute #311: Print metadata in UTF-8 independent of platform.
* Distribute #303: Read manifest file with UTF-8 encoding under Python 3.
* Distribute #301: Allow to run tests of namespace packages when using 2to3.
* Distribute #304: Prevent import loop in site.py under Python 3.3.
* Distribute #283: Reenable scanning of `*.pyc` / `*.pyo` files on Python 3.3.
* Distribute #299: The develop command didn't work on Python 3, when using 2to3,
  as the egg link would go to the Python 2 source. Linking to the 2to3'd code
  in build/lib makes it work, although you will have to rebuild the module
  before testing it.
* Distribute #306: Even if 2to3 is used, we build in-place under Python 2.
* Distribute #307: Prints the full path when .svn/entries is broken.
* Distribute #313: Support for sdist subcommands (Python 2.7)
* Distribute #314: test_local_index() would fail an OS X.
* Distribute #310: Non-ascii characters in a namespace __init__.py causes errors.
* Distribute #218: Improved documentation on behavior of `package_data` and
  `include_package_data`. Files indicated by `package_data` are now included
  in the manifest.
* `distribute_setup.py` now allows a `--download-base` argument for retrieving
  distribute from a specified location.

------
0.6.28
------

* Distribute #294: setup.py can now be invoked from any directory.
* Scripts are now installed honoring the umask.
* Added support for .dist-info directories.
* Distribute #283: Fix and disable scanning of `*.pyc` / `*.pyo` files on
  Python 3.3.

------
0.6.27
------

* Support current snapshots of CPython 3.3.
* Distribute now recognizes README.rst as a standard, default readme file.
* Exclude 'encodings' modules when removing modules from sys.modules.
  Workaround for #285.
* Distribute #231: Don't fiddle with system python when used with buildout
  (bootstrap.py)

------
0.6.26
------

* Distribute #183: Symlinked files are now extracted from source distributions.
* Distribute #227: Easy_install fetch parameters are now passed during the
  installation of a source distribution; now fulfillment of setup_requires
  dependencies will honor the parameters passed to easy_install.

------
0.6.25
------

* Distribute #258: Workaround a cache issue
* Distribute #260: distribute_setup.py now accepts the --user parameter for
  Python 2.6 and later.
* Distribute #262: package_index.open_with_auth no longer throws LookupError
  on Python 3.
* Distribute #269: AttributeError when an exception occurs reading Manifest.in
  on late releases of Python.
* Distribute #272: Prevent TypeError when namespace package names are unicode
  and single-install-externally-managed is used. Also fixes PIP issue
  449.
* Distribute #273: Legacy script launchers now install with Python2/3 support.

------
0.6.24
------

* Distribute #249: Added options to exclude 2to3 fixers

------
0.6.23
------

* Distribute #244: Fixed a test
* Distribute #243: Fixed a test
* Distribute #239: Fixed a test
* Distribute #240: Fixed a test
* Distribute #241: Fixed a test
* Distribute #237: Fixed a test
* Distribute #238: easy_install now uses 64bit executable wrappers on 64bit Python
* Distribute #208: Fixed parsed_versions, it now honors post-releases as noted in the documentation
* Distribute #207: Windows cli and gui wrappers pass CTRL-C to child python process
* Distribute #227: easy_install now passes its arguments to setup.py bdist_egg
* Distribute #225: Fixed a NameError on Python 2.5, 2.4

------
0.6.21
------

* Distribute #225: FIxed a regression on py2.4

------
0.6.20
------

* Distribute #135: Include url in warning when processing URLs in package_index.
* Distribute #212: Fix issue where easy_instal fails on Python 3 on windows installer.
* Distribute #213: Fix typo in documentation.

------
0.6.19
------

* Distribute #206: AttributeError: 'HTTPMessage' object has no attribute 'getheaders'

------
0.6.18
------

* Distribute #210: Fixed a regression introduced by Distribute #204 fix.

------
0.6.17
------

* Support 'DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT' environment
  variable to allow to disable installation of easy_install-${version} script.
* Support Python >=3.1.4 and >=3.2.1.
* Distribute #204: Don't try to import the parent of a namespace package in
  declare_namespace
* Distribute #196: Tolerate responses with multiple Content-Length headers
* Distribute #205: Sandboxing doesn't preserve working_set. Leads to setup_requires
  problems.

------
0.6.16
------

* Builds sdist gztar even on Windows (avoiding Distribute #193).
* Distribute #192: Fixed metadata omitted on Windows when package_dir
  specified with forward-slash.
* Distribute #195: Cython build support.
* Distribute #200: Issues with recognizing 64-bit packages on Windows.

------
0.6.15
------

* Fixed typo in bdist_egg
* Several issues under Python 3 has been solved.
* Distribute #146: Fixed missing DLL files after easy_install of windows exe package.

------
0.6.14
------

* Distribute #170: Fixed unittest failure. Thanks to Toshio.
* Distribute #171: Fixed race condition in unittests cause deadlocks in test suite.
* Distribute #143: Fixed a lookup issue with easy_install.
  Thanks to David and Zooko.
* Distribute #174: Fixed the edit mode when its used with setuptools itself

------
0.6.13
------

* Distribute #160: 2.7 gives ValueError("Invalid IPv6 URL")
* Distribute #150: Fixed using ~/.local even in a --no-site-packages virtualenv
* Distribute #163: scan index links before external links, and don't use the md5 when
  comparing two distributions

------
0.6.12
------

* Distribute #149: Fixed various failures on 2.3/2.4

------
0.6.11
------

* Found another case of SandboxViolation - fixed
* Distribute #15 and Distribute #48: Introduced a socket timeout of 15 seconds on url openings
* Added indexsidebar.html into MANIFEST.in
* Distribute #108: Fixed TypeError with Python3.1
* Distribute #121: Fixed --help install command trying to actually install.
* Distribute #112: Added an os.makedirs so that Tarek's solution will work.
* Distribute #133: Added --no-find-links to easy_install
* Added easy_install --user
* Distribute #100: Fixed develop --user not taking '.' in PYTHONPATH into account
* Distribute #134: removed spurious UserWarnings. Patch by VanLindberg
* Distribute #138: cant_write_to_target error when setup_requires is used.
* Distribute #147: respect the sys.dont_write_bytecode flag

------
0.6.10
------

* Reverted change made for the DistributionNotFound exception because
  zc.buildout uses the exception message to get the name of the
  distribution.

-----
0.6.9
-----

* Distribute #90: unknown setuptools version can be added in the working set
* Distribute #87: setupt.py doesn't try to convert distribute_setup.py anymore
  Initial Patch by arfrever.
* Distribute #89: added a side bar with a download link to the doc.
* Distribute #86: fixed missing sentence in pkg_resources doc.
* Added a nicer error message when a DistributionNotFound is raised.
* Distribute #80: test_develop now works with Python 3.1
* Distribute #93: upload_docs now works if there is an empty sub-directory.
* Distribute #70: exec bit on non-exec files
* Distribute #99: now the standalone easy_install command doesn't uses a
  "setup.cfg" if any exists in the working directory. It will use it
  only if triggered by ``install_requires`` from a setup.py call
  (install, develop, etc).
* Distribute #101: Allowing ``os.devnull`` in Sandbox
* Distribute #92: Fixed the "no eggs" found error with MacPort
  (platform.mac_ver() fails)
* Distribute #103: test_get_script_header_jython_workaround not run
  anymore under py3 with C or POSIX local. Contributed by Arfrever.
* Distribute #104: remvoved the assertion when the installation fails,
  with a nicer message for the end user.
* Distribute #100: making sure there's no SandboxViolation when
  the setup script patches setuptools.

-----
0.6.8
-----

* Added "check_packages" in dist. (added in Setuptools 0.6c11)
* Fixed the DONT_PATCH_SETUPTOOLS state.

-----
0.6.7
-----

* Distribute #58: Added --user support to the develop command
* Distribute #11: Generated scripts now wrap their call to the script entry point
  in the standard "if name == 'main'"
* Added the 'DONT_PATCH_SETUPTOOLS' environment variable, so virtualenv
  can drive an installation that doesn't patch a global setuptools.
* Reviewed unladen-swallow specific change from
  http://code.google.com/p/unladen-swallow/source/detail?spec=svn875&r=719
  and determined that it no longer applies. Distribute should work fine with
  Unladen Swallow 2009Q3.
* Distribute #21: Allow PackageIndex.open_url to gracefully handle all cases of a
  httplib.HTTPException instead of just InvalidURL and BadStatusLine.
* Removed virtual-python.py from this distribution and updated documentation
  to point to the actively maintained virtualenv instead.
* Distribute #64: use_setuptools no longer rebuilds the distribute egg every
  time it is run
* use_setuptools now properly respects the requested version
* use_setuptools will no longer try to import a distribute egg for the
  wrong Python version
* Distribute #74: no_fake should be True by default.
* Distribute #72: avoid a bootstrapping issue with easy_install -U

-----
0.6.6
-----

* Unified the bootstrap file so it works on both py2.x and py3k without 2to3
  (patch by Holger Krekel)

-----
0.6.5
-----

* Distribute #65: cli.exe and gui.exe are now generated at build time,
  depending on the platform in use.

* Distribute #67: Fixed doc typo (PEP 381/382)

* Distribute no longer shadows setuptools if we require a 0.7-series
  setuptools.  And an error is raised when installing a 0.7 setuptools with
  distribute.

* When run from within buildout, no attempt is made to modify an existing
  setuptools egg, whether in a shared egg directory or a system setuptools.

* Fixed a hole in sandboxing allowing builtin file to write outside of
  the sandbox.

-----
0.6.4
-----

* Added the generation of `distribute_setup_3k.py` during the release.
  This closes Distribute #52.

* Added an upload_docs command to easily upload project documentation to
  PyPI's https://pythonhosted.org. This close issue Distribute #56.

* Fixed a bootstrap bug on the use_setuptools() API.

-----
0.6.3
-----

setuptools
==========

* Fixed a bunch of calls to file() that caused crashes on Python 3.

bootstrapping
=============

* Fixed a bug in sorting that caused bootstrap to fail on Python 3.

-----
0.6.2
-----

setuptools
==========

* Added Python 3 support; see docs/python3.txt.
  This closes Old Setuptools #39.

* Added option to run 2to3 automatically when installing on Python 3.
  This closes issue Distribute #31.

* Fixed invalid usage of requirement.parse, that broke develop -d.
  This closes Old Setuptools #44.

* Fixed script launcher for 64-bit Windows.
  This closes Old Setuptools #2.

* KeyError when compiling extensions.
  This closes Old Setuptools #41.

bootstrapping
=============

* Fixed bootstrap not working on Windows. This closes issue Distribute #49.

* Fixed 2.6 dependencies. This closes issue Distribute #50.

* Make sure setuptools is patched when running through easy_install
  This closes Old Setuptools #40.

-----
0.6.1
-----

setuptools
==========

* package_index.urlopen now catches BadStatusLine and malformed url errors.
  This closes Distribute #16 and Distribute #18.

* zip_ok is now False by default. This closes Old Setuptools #33.

* Fixed invalid URL error catching. Old Setuptools #20.

* Fixed invalid bootstraping with easy_install installation (Distribute #40).
  Thanks to Florian Schulze for the help.

* Removed buildout/bootstrap.py. A new repository will create a specific
  bootstrap.py script.


bootstrapping
=============

* The boostrap process leave setuptools alone if detected in the system
  and --root or --prefix is provided, but is not in the same location.
  This closes Distribute #10.

---
0.6
---

setuptools
==========

* Packages required at build time where not fully present at install time.
  This closes Distribute #12.

* Protected against failures in tarfile extraction. This closes Distribute #10.

* Made Jython api_tests.txt doctest compatible. This closes Distribute #7.

* sandbox.py replaced builtin type file with builtin function open. This
  closes Distribute #6.

* Immediately close all file handles. This closes Distribute #3.

* Added compatibility with Subversion 1.6. This references Distribute #1.

pkg_resources
=============

* Avoid a call to /usr/bin/sw_vers on OSX and use the official platform API
  instead. Based on a patch from ronaldoussoren. This closes issue #5.

* Fixed a SandboxViolation for mkdir that could occur in certain cases.
  This closes Distribute #13.

* Allow to find_on_path on systems with tight permissions to fail gracefully.
  This closes Distribute #9.

* Corrected inconsistency between documentation and code of add_entry.
  This closes Distribute #8.

* Immediately close all file handles. This closes Distribute #3.

easy_install
============

* Immediately close all file handles. This closes Distribute #3.

