1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270
|
Release history
***************
.. _version_1_9_1:
Version 1.9.1
=============
* Just bump version to final, sorry
.. _version_1_9:
Version 1.9
===========
* Reorganize and update documentation.
* Add a new way of using versiontools that does not require using
``setup_requires``. This way is based on bundling a small helper module to
help you bootstrap your project when installed from source.
* Add :meth:`versiontools.Version.from_expression()` that creates a Version
object from a python import expression (and an optional variable identifer)
* Move and rename private function ``versiontools.handle_version`` to
:func:`versiontools.setuptools_hooks:version`.
* Move and rename private function ``versiontools.get_exception_message`` to
:func:`versiontools._get_exception_message`.
* Remove private function ``versiontools.isstring``.
.. _version_1_8_3:
Version 1.8.3
=============
* Fix incorrectly specified line in git support. Previosuly a KeyError
may bleed to the outside calling code, depending on python version.
* Fix incorrectly specified line in bzr support. Previously a non-bzr
directory could be associated as a malformed bzr branch.
.. _version_1_8_2:
Version 1.8.2
=============
* Improve git support by adding code paths compatible with python-git 0.1.6 (which
is easier to get on Debian)
* Change git support to default to short commit id. If you want to access the
long commit id you need to access it directly as GitIntegration.commit_id
.. _version_1_8_1:
Version 1.8.1
=============
* Improve performance when working with checkouts. The use of branch.nick has
been replaced with branch._get_nick(local=True). This avoids network
operations and is much more responsive.
.. _version_1_8:
Version 1.8
===========
* Fixed all pep8 issues (prettier syntax)
* Fixed an issue with using __import__ on Python 2.4.
* Fixed an issue with using :versiontools:path.to.symbol with nested modules
* Fixed an issue with using exceptions on Python 3.x
* Added test that demostrated that exception handling works on all Python versions.
* Unified error handling across version control plugins.
* General documentation improvements, installation, usage, code refrerence,
and writing additional plug-ins.
* Added a *backwards incompatible* constraint on serial to be greater than
zero on alpha, beta and release candidates as required by :pep:`386`.
.. _version_1_7:
Version 1.7
===========
* Add support for Mercurial repositories
* Fix a bug in exception handling that affected 1.6
.. _version_1_6:
Version 1.6
===========
* Add support for python2.4 and python2.5 thanks to Jannis Leidel (thanks!).
* Add tox (http://codespeak.net/~hpk/tox/) configuration file for easier
testing.
.. _version_1_5:
Version 1.5
===========
* Added Git support, contributed by Jannis Leidel (thanks!). To use it you need
GitPython >= 0.3.2.RC1. It does not currently work on GitPython packaged in
Ubuntu Natty (0.1.6).
.. _version_1_4:
Version 1.4
===========
* Work harder to figure out the source tree a __version__ object comes from.
This is possible with a new function
:meth:`versiontools.Version.from_tuple_and_hint`.
* Allow people to omit the version identifier in setup.py (defaulting to
``__version__``)
.. _version_1_3_2:
Version 1.3.2
=============
* Change version string produced by :meth:`versiontools.Version.__str__` and
`versiontools.format_version` to be more useful when vcs integration is not
available and the release is not final. Consult the table below for details.
+----------------------+----------------------+--------------------------------+
| Prior to 1.3.2 | 1.3.2 | Comment |
+======================+======================+================================+
| ``1.2.3`` | ``1.2.3.dev`` | When releaselevel==dev but |
| | | VCS integration is not |
| When VCS integration | | available we now add a .dev |
| is not available | | suffix to differentiate from |
| | | released versions |
+----------------------+----------------------+--------------------------------+
| ``1.2.3a5`` or | ``1.2.3a5`` | ``.devREVNO`` is only added |
| ``1.2.3a5.devREVNO`` | ` | when releaselevel==dev. |
+----------------------+----------------------+ |
| ``1.2.3b5`` or | ``1.2.3b5`` | It will never appear on alphas |
| ``1.2.3b5.devREVNO`` | | , betas or release candidates. |
+----------------------+----------------------+ |
| ``1.2.3c5`` or | ``1.2.3c5`` | |
| ``1.2.3c5.devREVNO`` | | |
+----------------------+----------------------+--------------------------------+
.. _version_1_3_1:
Version 1.3.1
=============
* To make `setup.py test` work in third party components we cannot use
versiontools in our own setup.
.. _version_1_3:
Version 1.3
===========
* Add integration with setuptools (or more accurately, distribute) so that you
no longer have to try-import versiontools. This means that you may finally
install your packages with pip and everything will work correctly.
* Prevent an unexplained crash when following the backtrace in
``Version._find_source_tree()``.
.. seealso:: To get started quickly see :ref:`usage`
.. _version_1_2:
Version 1.2
===========
* Change how vcs objects are constructed. With this change they are only
constructed lazily when needed. This speeds up common operations, delays the
time any additional modules are imported (if any) and retains backwards comp
ability.
* Updated documentation on installation instructions to point to the new PPA
* Updated recommended usage guide so that installed programs do not depend on
versiontools. This allows you to use versiontools in setup.py and still
benefit from the smart version formatting and keep your deployment
lightweight.
* Added basic unit tests
* Fixed most PEP8 issues
.. _version_1_1:
Version 1.1
===========
* Change version string produced by
:meth:`versiontools.Version.__str__` to be compatible with :pep:`386`
The following table shows how old versions map to new versions:
+-----------------------+----------------------+--------------------------------+
| Old Version | New Version | Comment |
+=======================+======================+================================+
| ``1.2`` | ``1.2`` | |
+-----------------------+----------------------+--------------------------------+
| ``1.2.3`` | ``1.2.3`` | |
+-----------------------+----------------------+--------------------------------+
| ``1.2.3.dev.5`` | ``1.2.3.devREVNO`` | VCS revision and serial are |
| | | two distinct fields. Serial |
| | | is no longer displayed for |
| | | development releases. |
+-----------------------+----------------------+--------------------------------+
| ``1.2.3.alpha.5`` | ``1.2.3a5`` or | ``.devREVNO`` is only added |
| | ``1.2.3a5.devREVNO`` | when VCS integration is |
+-----------------------+----------------------+ available. |
| ``1.2.3.beta.5`` | ``1.2.3b5`` or | |
| | ``1.2.3b5.devREVNO`` | |
+-----------------------+----------------------+ |
| ``1.2.3.candidate.5`` | ``1.2.3c5`` or | |
| | ``1.2.3c5.devREVNO`` | |
+-----------------------+----------------------+--------------------------------+
* Add :func:`versiontools.format_version` that converts a 5-element
tuple to a proper version string and is more obvious in intent.
* Change default of Version releaselevel to "final"
* Change default of Version serial to 0
* Serial field is no longer initialized with revision number from vcs,
instead it is used to count alphas, betas and release candidates.
* All version components except for releaselevel must be non-negative
integers or strings that can be converted to such integers
* Do not warn about "directory foo is not a bzr branch". This message
was changed to debug as it is now legitimate for released code not to
have bzr version control files.
.. _version_1_0_4:
Version 1.0.4
=============
* Add support to obtain VCS integration object via
:data:`~versiontools.Version.vcs` attribute
* Add support to obtain branch nickname from :class:`~versiontools.bzr_support.BzrIntegration` (via
:data:`~versiontools.bzr_support.BzrIntegration.branch_nick` property)
* Add :ref:`code_reference`.
Version 1.0.3
=============
* Don't crash when :class:`ImportError` occurs during VCS integration
initialization
Version 1.0.2
=============
* Add documentation
* Fix chicken-and-egg problem so that packages can now depend on
versiontools and still be installed correctly with pip
Version 1.0.1
=============
* Make VCS integration more robust in the way it locates source tree
Version 1.0
===========
* Initial release
|