File: changes.rst

package info (click to toggle)
versiontools 1.9.1-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 208 kB
  • sloc: python: 466; makefile: 5
file content (270 lines) | stat: -rw-r--r-- 9,756 bytes parent folder | download | duplicates (4)
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