CHANGES.txt 18.1 KB
Newer Older
jim's avatar
jim committed
1 2
Status
******
jim's avatar
jim committed
3

jim's avatar
jim committed
4 5
Change History
**************
6 7 8 9 10 11
1.0.3 (2008-06-01)
==================

- fix for """AttributeError: Buildout instance has no attribute '_logger'""" 
  by providing reasonable defaults within the Buildout constructor.
  (patch by Gottfried Ganssauge) (ajung)
jim's avatar
jim committed
12

13
1.0.2 (2008-05-13)
andreasjung's avatar
andreasjung committed
14 15
==================

fdrake's avatar
fdrake committed
16
- More fixes for Windows. A quoted sh-bang is now used on Windows to make the
yuppie's avatar
yuppie committed
17
  .exe files work with a Python executable in 'program files'.
andreasjung's avatar
andreasjung committed
18

fdrake's avatar
fdrake committed
19
- Added "-t <timeout_in_seconds>" option for specifying the socket timeout.
20
  (ajung)
21

andreasjung's avatar
andreasjung committed
22
1.0.1 (2008-04-02)
23 24
==================

fdrake's avatar
fdrake committed
25
- Made easy_install.py's _get_version accept non-final releases of Python,
26 27
  like 2.4.4c0. (hannosch)

fdrake's avatar
fdrake committed
28
- Applied various patches for Windows (patch by Gottfried Ganssauge). (ajung)
29

fdrake's avatar
fdrake committed
30 31
- Applied patch fixing rmtree issues on Windows (patch by
  Gottfried Ganssauge).  (ajung)
32

jim's avatar
jim committed
33 34
1.0.0 (2008-01-13)
==================
jim's avatar
jim committed
35

fdrake's avatar
fdrake committed
36
- Added a French translation of the buildout tutorial.
37

jim's avatar
jim committed
38
1.0.0b31 (2007-11-01)
jim's avatar
jim committed
39 40
=====================

41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
Feature Changes
---------------

- Added a configuration option that allows buildouts to ignore
  dependency_links metadata specified in setup. By default
  dependency_links in setup are used in addition to buildout specified
  find-links. This can make it hard to control where eggs come
  from. Here's how to tell buildout to ignore URLs in
  dependency_links::

    [buildout]
    use-dependency-links = false

  By default use-dependency-links is true, which matches the behavior
  of previous versions of buildout.

jim's avatar
jim committed
57 58
- Added a configuration option that causes buildout to error if a
  version is picked. This is a nice safety belt when fixing all
fdrake's avatar
fdrake committed
59
  versions is intended, especially when creating releases.
jim's avatar
jim committed
60

jim's avatar
jim committed
61 62 63
Bugs Fixed
----------

64 65 66
- 151820: Develop failed if the setup.py script imported modules in
  the distribution directory.

67 68 69
- Verbose logging of the develop command was omitting detailed
  output.

jim's avatar
jim committed
70 71 72 73 74 75 76
- The setup command wasn't documented.

- The setup command failed if run in a directory without specifying a
  configuration file.

- The setup command raised a stupid exception if run without arguments.

jim's avatar
jim committed
77 78 79
- When using a local find links or index, distributions weren't copied
  to the download cache.

jim's avatar
jim committed
80 81 82 83
- When installing from source releases, a version specification (via a
  buildout versions section) for setuptools was ignored when deciding
  which setuptools to use to build an egg from the source release.

84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
1.0.0b30 (2007-08-20)
=====================

Feature Changes
---------------

- Changed the default policy back to what it was to avoid breakage in
  existing buildouts.  Use::

    [buildout]
    prefer-final = true

  to get the new policy.  The new policy will go into effect in
  buildout 2.

jim's avatar
jim committed
99
1.0.0b29 (2007-08-20)
100 101
=====================

102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
Feature Changes
---------------

- Now, final distributions are prefered over non-final versions.  If
  both final and non-final versions satisfy a requirement, then the
  final version will be used even if it is older.  The normal way to
  override this for specific packages is to specifically require a
  non-final version, either specifically or via a lower bound.

- There is a buildout prefer-final version that can be used with a
  value of "false"::

    prefer-final = false

  To prefer newer versions, regardless of whether or not they are
  final, buildout-wide.

119 120 121 122 123 124 125 126
- The new simple Python index, http://cheeseshop.python.org/simple, is
  used as the default index.  This will provide better performance
  than the human package index interface,
  http://pypi.python.org/pypi. More importantly, it lists hidden
  distributions, so buildouts with fixed distribution versions will be
  able to find old distributions even if the distributions have been
  hidden in the human PyPI interface.

127 128 129 130 131
Bugs Fixed
----------

- 126441: Look for default.cfg in the right place on Windows.

132 133 134 135 136 137 138 139 140
1.0.0b28 (2007-07-05)
=====================

Bugs Fixed
----------

- When requiring a specific version, buildout looked for new versions
  even if that single version was already installed.

jim's avatar
jim committed
141 142 143 144 145 146 147 148 149
1.0.0b27 (2007-06-20)
=====================

Bugs Fixed
----------

- Scripts were generated incorrectly on Windows.  This included the
  buildout script itself, making buildout completely unusable.

jim's avatar
jim committed
150 151 152 153 154 155 156 157 158 159 160 161 162 163
1.0.0b26 (2007-06-19)
=====================

Feature Changes
---------------

- Thanks to recent fixes in setuptools, I was able to change buildout
  to use find-link and index information when searching extensions.

  Sadly, this work, especially the timing, was motivated my the need
  to use alternate indexes due to performance problems in the cheese
  shop (http://www.python.org/pypi/).  I really home we can address
  these performance problems soon.

jim's avatar
jim committed
164
1.0.0b25 (2007-05-31)
165 166 167 168 169
=====================

Feature Changes
---------------

jim's avatar
jim committed
170
- buildout now changes to the buildout directory before running recipe
171 172
  install and update methods.

173 174 175 176 177 178
- Added a new init command for creating a new buildout. This creates
  an empty configuration file and then bootstraps.

- Except when using the new init command, it is now an error to run
  buildout without a configuration file.

jim's avatar
jim committed
179 180 181 182 183 184 185 186 187 188
- In verbose mode, when adding distributions to fulful requirements of
  already-added distributions, we now show why the new distributions
  are being added.

- Changed the logging format to exclude the logger name for the
  zc.buildout logger.  This reduces noise in the output.  

- Clean up lots of messages, adding missing periods and adding quotes around
  requirement strings and file paths.

189 190 191
Bugs Fixed
----------

jim's avatar
jim committed
192 193 194 195
- 114614: Buildouts could take a very long time if there were
  dependency problems in large sets of pathologically interdependent
  packages. 

196 197
- 59270: Buggy recipes can cause failures in later recipes via chdir

198 199 200 201 202
- 61890: file:// urls don't seem to work in find-links

  setuptools requires that file urls that point to directories must
  end in a "/".  Added a workaround.

203 204
- 75607: buildout should not run if it creates an empty buildout.cfg

jim's avatar
jim committed
205
1.0.0b24 (2007-05-09)
jim's avatar
jim committed
206 207 208 209 210 211 212 213
=====================

Feature Changes
---------------

- Improved error reporting by showing which packages require other
  packages that can't be found or that cause version conflicts.

214 215 216
- Added an API for use by recipe writers to clean up created files
  when recipe errors occur.

jim's avatar
jim committed
217 218
- Log installed scripts.

219 220 221 222
Bugs Fixed
----------

- 92891: bootstrap crashes with recipe option in buildout section.
jim's avatar
jim committed
223

224 225 226 227
- 113085: Buildout exited with a zero exist status when internal errors
  occured.


jim's avatar
jim committed
228
1.0.0b23 (2007-03-19)
jim's avatar
jim committed
229 230
=====================

jim's avatar
jim committed
231 232 233 234 235 236 237 238 239
Feature Changes
---------------

- Added support for download caches.  A buildout can specify a cache
  for distribution downloads.  The cache can be shared among buildouts
  to reduce network access and to support creating source
  distributions for applications allowing install without network
  access. 

jim's avatar
jim committed
240 241 242
- Log scripts created, as suggested in:
  https://bugs.launchpad.net/zc.buildout/+bug/71353

jim's avatar
jim committed
243 244 245 246 247 248
Bugs Fixed
----------

- It wasn't possible to give options on the command line for sections
  not defined in a configuration file.

jim's avatar
jim committed
249
1.0.0b22 (2007-03-15)
jim's avatar
jim committed
250 251 252 253 254
=====================

Feature Changes
---------------

255
- Improved error reporting and debugging support:
256

257 258 259
  - Added "logical tracebacks" that show functionally what the buildout
    was doing when an error occurs.  Don't show a Python traceback
    unless the -D option is used.
jim's avatar
jim committed
260

261 262
  - Added a -D option that causes the buildout to print a traceback and
    start the pdb post-mortem debugger when an error occurs.
jim's avatar
jim committed
263

264 265 266 267 268 269 270 271 272 273
  - Warnings are printed for unused options in the buildout section and
    installed-part sections.  This should make it easier to catch option
    misspellings.

- Changed the way the installed database (.installed.cfg) is handled
  to avoid database corruption when a user breaks out of a buildout
  with control-c.

- Don't save an installed database if there are no installed parts or
  develop egg links.
274

275
1.0.0b21 (2007-03-06)
276 277 278 279 280
=====================

Feature Changes
---------------

281 282 283
- Added support for repeatable buildouts by allowing egg versions to
  be specified in a versions section.

jim's avatar
jim committed
284 285 286 287 288 289 290 291 292 293
- The easy_install module install and build functions now accept a
  versions argument that supplied to mapping from project name to
  version numbers.  This can be used to fix version numbers for
  required distributions and their depenencies.

  When a version isn't fixed, using either a versions option or using
  a fixed version number in a requirement, then a debug log message is
  emitted indicating the version picked.  This is useful for setting
  versions options.

294 295 296
  A default_versions function can be used to set a default value for
  this option.

297 298 299 300
- Adjusted the output for verbosity levels.  Using a single -v option
  no longer causes voluminous setuptools output.  Uisng -vv and -vvv
  now triggers extra setuptools output.

jim's avatar
jim committed
301 302
- Added a remove testing helper function that removes files or directories.

jim's avatar
jim committed
303
1.0.0b20 (2007-02-08)
jim's avatar
jim committed
304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340
=====================

Feature Changes
---------------

- Added a buildout newest option, to control whether the newest
  distributions should be sought to meet requirements.  This might
  also provide a hint to recipes that don't deal with
  distributions. For example, a recipe that manages subversion
  checkouts might not update a checkout if newest is set to "false".

- Added a *newest* keyword parameter to the
  zc.buildout.easy_install.install and zc.buildout.easy_install.build
  functions to control whether the newest distributions that meed
  given requirements should be sought.  If a false value is provided
  for this parameter and already installed eggs meet the given
  requirements, then no attempt will be made to search for newer
  distributions.
 
- The recipe-testing support setUp function now adds the name
  *buildout* to the test namespace with a value that is the path to
  the buildout script in the sample buildout.  This allows tests to
  use

    >>> print system(buildout),

  rather than:

    >>> print system(join('bin', 'buildout')),


Bugs Fixed
----------

- Paths returned from update methods replaced lists of installed files
  rather than augmenting them.

jim's avatar
jim committed
341 342 343 344 345 346 347 348 349 350
1.0.0b19 (2007-01-24)
=====================

Bugs Fixed
----------

- Explicitly specifying a Python executable failed if the output of
  running Python with the -V option included a 2-digit (rather than a
  3-digit) version number.

jim's avatar
jim committed
351
1.0.0b18 (2007-01-22)
352 353 354 355 356 357 358 359
=====================

Feature Changes
---------------

- Added documentation for some previously undocumented features of the 
  easy_install APIs.

jim's avatar
jim committed
360 361 362
- By popular demand, added a -o command-line option that is a short
  hand for the assignment buildout:offline=true.

363 364 365
Bugs Fixed
----------

jim's avatar
jim committed
366 367 368
- When deciding whether recipe develop eggs had changed, buildout
  incorrectly considered files in .svn and CVS directories.

369 370 371 372 373 374 375 376
1.0.0b17 (2006-12-07)
=====================

Feature Changes
---------------

- Configuration files can now be loaded from URLs.

jim's avatar
jim committed
377 378 379 380 381 382 383 384 385
Bugs Fixed
----------

- https://bugs.launchpad.net/products/zc.buildout/+bug/71246

  Buildout extensions installed as eggs couldn't be loaded in offline
  mode.


jim's avatar
jim committed
386
1.0.0b16 (2006-12-07)
387 388
=====================

jim's avatar
jim committed
389 390 391 392 393 394 395 396 397
Feature Changes
---------------

- A new command-line argument, -U, suppresses reading user defaults.

- You can now suppress use of an installed-part database
  (e.g. .installed.cfg) by sprifying an empty value for the buildout
  installed option.

398 399 400 401 402 403 404
Bugs Fixed
----------

- When the install command is used with a list of parts, only
  those parts are supposed to be installed, but the buildout was also
  building parts that those parts depended on.

jim's avatar
jim committed
405 406 407 408 409 410 411 412 413
1.0.0b15 (2006-12-06)
=====================

Bugs Fixed
----------

- Uninstall recipes weren't loaded correctly in cases where
  no parts in the (new) configuration used the recipe egg.

jim's avatar
jim committed
414
1.0.0b14 (2006-12-05)
jim's avatar
jim committed
415
=====================
amos's avatar
amos committed
416 417 418 419 420 421 422

Feature Changes
---------------

- Added uninstall recipes for dealing with complex uninstallation
  scenarios.

jim's avatar
jim committed
423 424 425 426 427 428 429 430 431
Bugs Fixed
----------

- Automatic upgrades weren't performed on Windows due to a bug that
  caused buildout to incorrectly determine that it wasn't running
  locally in a buildout.

- Fixed some spurious test failures on Windows.

432
1.0.0b13 (2006-12-04)
jim's avatar
jim committed
433 434
=====================

435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459
Feature Changes
---------------

- Variable substitutions now reflect option data written by recipes.

- A part referenced by a part in a parts list is now added to the parts
  list before the referencing part.  This means that you can omit
  parts from the parts list if they are referenced by other parts.

- Added a develop function to the easy_install module to aid in
  creating develop eggs with custom build_ext options.

- The build and develop functions in the easy_install module now
  return the path of the egg or egg link created.

- Removed the limitation that parts named in the install command can
  only name configured parts.

- Removed support ConfigParser-style variable substitutions
  (e.g. %(foo)s). Only the string-template style of variable
  (e.g. ${section:option}) substitutions will be supported.
  Supporting both violates "there's only one way to do it".

- Deprecated the buildout-section extendedBy option.

jim's avatar
jim committed
460 461 462 463 464 465 466 467 468
Bugs Fixed
----------

- We treat setuptools as a dependency of any distribution that
  (declares that it) uses namespace packages, whether it declares
  setuptools as a dependency or not.  This wasn't working for eggs
  intalled by virtue of being dependencies.


469 470 471 472 473 474 475 476 477 478
1.0.0b12 (2006-10-24)
=====================

Feature Changes
---------------

- Added an initialization argument to the
  zc.buildout.easy_install.scripts function to include initialization
  code in generated scripts.

jim's avatar
jim committed
479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497
1.0.0b11 (2006-10-24)
=====================

Bugs Fixed
----------

`67737 <https://launchpad.net/products/zc.buildout/+bug/67737>`_
     Verbose and quite output options caused errors when the 
     develop buildout option was used to create develop eggs.

`67871 <https://launchpad.net/products/zc.buildout/+bug/67871>`_
     Installation failed if the source was a (local) unzipped
     egg.

`67873 <https://launchpad.net/products/zc.buildout/+bug/67873>`_
     There was an error in producing an error message when part names
     passed to the install command weren't included in the
     configuration. 

jim's avatar
jim committed
498 499
1.0.0b10 (2006-10-16)
=====================
jim's avatar
jim committed
500 501 502 503

Feature Changes
---------------

jim's avatar
jim committed
504 505 506 507 508 509
- Renamed the runsetup command to setup. (The old name still works.)

- Added a recipe update method. Now install is only called when a part
  is installed for the first time, or after an uninstall. Otherwise, 
  update is called.  For backward compatibility, recipes that don't
  define update methiods are still supported.
jim's avatar
jim committed
510

511 512 513 514 515
- If a distribution defines namespace packages but fails to declare 
  setuptools as one of its dependencies, we now treat setuptools as an 
  implicit dependency.  We generate a warning if the distribution
  is a develop egg.

jim's avatar
jim committed
516 517
- You can now create develop eggs for setup scripts that don't use setuptools.

518 519 520 521 522 523
Bugs Fixed
----------

- Egg links weren't removed when corresponding entries were removed
  from develop sections.

524 525 526 527 528
- Running a non-local buildout command (one not installed in the
  buildout) ket to a hang if there were new versions of zc.buildout or
  setuptools were available.  Now we issue a warning and don't
  upgrade.

jim's avatar
jim committed
529 530
- When installing zip-safe eggs from local directories, the eggs were
  moved, rather than copied, removing them from the source directory.
531

jim's avatar
jim committed
532 533 534 535 536 537 538 539
1.0.0b9 (2006-10-02)
====================

Bugs Fixed
----------

Non-zip-safe eggs were not unzipped when they were installed.

jim's avatar
jim committed
540 541 542 543 544 545 546 547 548 549 550 551 552 553 554
1.0.0b8 (2006-10-01)
====================

Bugs Fixed
----------

- Installing source distributions failed when using alternate Python
  versions (depending on the versions of Python used.)

- Installing eggs wasn't handled as efficiently as possible due to a
  bug in egg URL parsing.

- Fixed a bug in runsetup that caused setup scripts that introspected
  __file__ to fail.

jim's avatar
jim committed
555 556 557 558 559 560 561 562 563
1.0.0b7
=======

Added a documented testing framework for use by recipes. Refactored
the buildout tests to use it.

Added a runsetup command run a setup script.  This is handy if, like
me, you don't install setuptools in your system Python.

jim's avatar
jim committed
564 565 566 567 568 569 570 571 572
1.0.0b6
=======

Fixed https://launchpad.net/products/zc.buildout/+bug/60582
Use of extension options caused bootstrapping to fail if the eggs
directory didn't already exist.  We no longer use extensions for
bootstrapping.  There really isn't any reason to anyway.


jim's avatar
jim committed
573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650
1.0.0b5
=======

Refactored to do more work in buildout and less work in easy_install.
This makes things go a little faster, makes errors a little easier to
handle, and allows extensions (like the sftp extension) to influence
more of the process. This was done to fix a problem in using the sftp
support.

1.0.0b4
=======

- Added an **experimental** extensions mechanism, mainly to support
  adding sftp support to buildouts that need it.

- Fixed buildout self-updating on Windows.

1.0.0b3
=======

- Added a help option (-h, --help)

- Increased the default level of verbosity.

- Buildouts now automatically update themselves to new versions of
  zc.buildout and setuptools.

- Added Windows support.

- Added a recipe API for generating user errors.

- No-longer generate a py_zc.buildout script.

- Fixed some bugs in variable substitutions.  

  The characters "-", "." and " ", weren't allowed in section or
  option names.

  Substitutions with invalid names were ignored, which caused
  missleading failures downstream.

- Improved error handling.  No longer show tracebacks for user errors.

- Now require a recipe option (and therefore a section) for every part.

- Expanded the easy_install module API to:

  - Allow extra paths to be provided

  - Specify explicit entry points

  - Specify entry-point arguments

1.0.0b2
=======

Added support for specifying some build_ext options when installing eggs
from source distributions.

1.0.0b1
=======

- Changed the bootstrapping code to only install setuptools and
  zc.buildout. The bootstrap code no-longer runs the buildout itself.
  This was to fix a bug that caused parts to be recreated
  unnecessarily because the recipe signature in the initial buildout
  reflected temporary locations for setuptools and zc.buildout.

- Now create a minimal setup.py if it doesn't exist and issue a
  warning that it is being created.

- Fixed bug in saving installed configuration data.  %'s and extra
  spaces weren't quoted.

1.0.0a1
=======

Initial public version