CHANGES.txt 29.8 KB
Newer Older
jim's avatar
jim committed
1 2
Change History
**************
andreasjung's avatar
andreasjung committed
3

gary's avatar
gary committed
4 5 6 7 8
1.5.1 (unreleased)
==================

(no changes so far)

gary's avatar
gary committed
9
1.5.0 (2010-08-23)
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
==================

New features:

- zc.buildout supports Python 2.7.

- By default, Buildout and the bootstrap script now prefer final versions of
  Buildout, recipes, and extensions.  This can be changed by using the
  --accept-buildout-test-releases flag (or -t for short) when calling
  bootstrap.  This will hopefully allow beta releases of these items to
  be more easily and safely made in the future.

  NOTE: dependencies of your own software are not affected by this new
  behavior. Buildout continues to choose the newest available versions
  of your dependencies regardless of whether they are final releases. To
  prevent this, use the pre-existing switch ``prefer-final = true`` in
  the [buildout] section of your configuration file (see
  http://pypi.python.org/pypi/zc.buildout#preferring-final-releases) or
  pin your versions using a versions section (see
  http://pypi.python.org/pypi/zc.buildout#repeatable-buildouts-controlling-eggs-used).

Bugs fixed:

- You can now again use virtualenv with Buildout.  The new features to let
  buildout be used with a system Python are disabled in this configuration,
  and the previous script generation behavior (1.4.3) is used, even if
  the new function ``zc.buildout.easy_install.sitepackage_safe_scripts``
  is used.

1.5.0b2 (2010-04-29)
====================

This was a re-release of 1.4.3 in order to keep 1.5.0b1 release from hurting
workflows that combined virtualenv with zc.buildout.

gary's avatar
gary committed
45 46
1.5.0b1 (2010-04-29)
====================
47 48 49 50 51 52 53

New Features:

- Added buildout:socket-timout option so that socket timeout can be configured
  both from command line and from config files. (gotcha)

- Buildout can be safely used with a system Python (or any Python with code
54 55 56 57 58 59 60
  in site-packages), as long as you use (1) A fresh checkout, (2) the
  new bootstrap.py, and (3) recipes that use the new
  ``zc.buildout.easy_install.sitepackage_safe_scripts`` function to generate
  scripts and interpreters.  Many recipes will need to be updated to use
  this new function.  The scripts and interpreters generated by
  ``zc.recipe.egg`` will continue to use the older function, not safe
  with system Pythons.  Use the ``z3c.recipe.scripts`` as a replacement.
61 62 63 64 65 66 67

  zc.recipe.egg is still a fully supported, and simpler, way of
  generating scripts and interpreters if you are using a "clean" Python,
  without code installed in site-packages. It keeps its previous behavior in
  order to provide backwards compatibility.

  The z3c.recipe.scripts recipe allows you to control how you use the
68 69 70 71 72
  code in site-packages.  You can exclude it entirely (preferred); allow
  eggs in it to fulfill package dependencies declared in setup.py and
  buildout configuration; allow it to be available but not used to
  fulfill dependencies declared in setup.py or buildout configuration;
  or only allow certain eggs in site-packages to fulfill dependencies.
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90

- Added new function, ``zc.buildout.easy_install.sitepackage_safe_scripts``,
  to generate scripts and interpreter.  It produces a full-featured
  interpreter (all command-line options supported) and the ability to
  safely let scripts include site packages, such as with a system
  Python.  The ``z3c.recipe.scripts`` recipe uses this new function.

- Improve bootstrap.

  * New options let you specify where to find ez_setup.py and where to find
    a download cache.  These options can keep bootstrap from going over the
    network.

  * Another new option lets you specify where to put generated eggs.

  * The buildout script generated by bootstrap honors more of the settings
    in the designated configuration file (e.g., buildout.cfg).

91
  * Correctly handle systems where pkg_resources is present but the rest of
92 93 94
    setuptools is missing (like Ubuntu installs).
    https://bugs.launchpad.net/zc.buildout/+bug/410528

95 96
- You can develop zc.buildout using Distribute instead of Setuptools.  Use
  the --distribute option on the dev.py script.  (Releases should be tested
97
  with both Distribute and Setuptools.)  The tests for zc.buildout pass
98 99
  with Setuptools and Python 2.4, 2.5, 2.6, and 2.7; and with Distribute and
  Python 2.5, 2.6, and 2.7.  Using zc.buildout with Distribute and Python 2.4
100
  is not recommended.
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117

- The ``distribute-version`` now works in the [buildout] section, mirroring
  the ``setuptools-version`` option (this is for consistency; using the
  general-purpose ``versions`` option is preferred).

Bugs fixed:

- Using Distribute with the ``allow-picked-versions = false`` buildout
  option no longer causes an error.

- The handling and documenting of default buildout options was normalized.
  This means, among other things, that ``bin/buildout -vv`` and
  ``bin/buildout annotate`` correctly list more of the options.

- Installing a namespace package using a Python that already has a package
  in the same namespace (e.g., in the Python's site-packages) failed in
  some cases.  It is now handled correctly.
tarek's avatar
tarek committed
118

119 120 121 122 123 124 125
- Another variation of this error showed itself when at least two
  dependencies were in a shared location like site-packages, and the
  first one met the "versions" setting.  The first dependency would be
  added, but subsequent dependencies from the same location (e.g.,
  site-packages) would use the version of the package found in the
  shared location, ignoring the version setting.  This is also now
  handled correctly.
tarek's avatar
tarek committed
126

tarek's avatar
tarek committed
127 128
1.4.3 (2009-12-10)
==================
tarek's avatar
tarek committed
129

reinout's avatar
reinout committed
130
Bugs fixed:
tarek's avatar
tarek committed
131

reinout's avatar
reinout committed
132 133 134 135 136
- Using pre-detected setuptools version for easy_installing tgz files.  This
  prevents a recursion error when easy_installing an upgraded "distribute"
  tgz.  Note that setuptools did not have this recursion problem solely
  because it was packaged as an ``.egg``, which does not have to go through
  the easy_install step.
tarek's avatar
tarek committed
137 138


tarek's avatar
tarek committed
139
1.4.2 (2009-11-01)
jim's avatar
jim committed
140 141
==================

142 143
New Feature:

tarek's avatar
tarek committed
144
- Added a --distribute option to the bootstrap script, in order
145 146 147
  to use Distribute rather than Setuptools. By default, Setuptools
  is used.

jim's avatar
jim committed
148 149
Bugs fixed:

150 151 152
- While checking for new versions of setuptools and buildout itself,
  compare requirement locations instead of requirement objects.

jim's avatar
jim committed
153 154 155
- Incrementing didn't work properly when extending multiple files.
  https://bugs.launchpad.net/zc.buildout/+bug/421022

156 157
- The download API computed MD5 checksums of text files wrong on Windows.

jim's avatar
jim committed
158 159 160 161 162 163 164 165 166 167 168 169 170
1.4.1 (2009-08-27)
==================

New Feature:

- Added a debug built-in recipe to make writing some tests easier.

Bugs fixed:

- (introduced in 1.4.0) option incrementing (-=) and decrementing (-=)
  didn't work in the buildout section.
  https://bugs.launchpad.net/zc.buildout/+bug/420463

jim's avatar
jim committed
171 172 173
- Option incrementing and decrementing didn't work for options
  specified on the command line.

reinout's avatar
reinout committed
174 175
- Scripts generated with relative-paths enabled couldn't be
  symbolically linked to other locations and still work.
jim's avatar
jim committed
176

jim's avatar
jim committed
177 178
- Scripts run using generated interpreters didn't have __file__ set correctly.

jim's avatar
jim committed
179 180
- The standard Python -m option didn't work for custom interpreters.

jim's avatar
jim committed
181
1.4.0 (2009-08-26)
182 183
==================

184 185 186 187 188
- When doing variable substitutions, you can omit the section name to
  refer to a variable in the same section (e.g. ${:foo}).

- When doing variable substitution, you can use the special option,
  ``_buildout_section_name_`` to get the section name.  This is most handy
jim's avatar
jim committed
189 190 191
  for getting the current section name (e.g. ${:_buildout_section_name_}).

- A new special option, ``<`` allows sections to be used as macros.
192

jim's avatar
jim committed
193 194
- Added annotate command for annotated sections. Displays sections
  key-value pairs along with the value origin.
195

196 197 198 199 200 201
- Added a download API that handles the download cache, offline mode etc and
  is meant to be reused by recipes.

- Used the download API to allow caching of base configurations (specified by
  the buildout section's 'extends' option).

202 203 204 205 206
1.3.1 (2009-08-12)
==================

- Bug fixed: extras were ignored in some cases when versions were specified.

207
1.3.0 (2009-06-22)
icemac's avatar
icemac committed
208 209 210
==================

- Better Windows compatibility in test infrastructure.
211

212 213
- Now the bootstrap.py has an optional --version argument,
  that can be used to force zc.buildout version to use.
icemac's avatar
icemac committed
214

215 216 217 218 219
- ``zc.buildout.testing.buildoutSetUp`` installs a new handler in the
  python root logging facility. This handler is now removed during
  tear down as it might disturb other packages reusing buildout's
  testing infrastructure.

220 221
- fixed usage of 'relative_paths' keyword parameter on Windows

222 223
- Added an unload entry point for extensions.

224 225 226
- Fixed bug: when the relative paths option was used, relative paths
  could be inserted into sys.path if a relative path was used to run
  the generated script.
227

228 229 230 231 232
1.2.1 (2009-03-18)
==================

- Refactored generation of relative egg paths to generate simpler code.

233
1.2.0 (2009-03-17)
tseaver's avatar
tseaver committed
234 235
==================

jim's avatar
jim committed
236 237
- Added a relative_paths option to zc.buildout.easy_install.script to
  generate egg paths relative to the script they're used in.
tseaver's avatar
tseaver committed
238

tseaver's avatar
tseaver committed
239
1.1.2 (2009-03-16)
sidnei's avatar
sidnei committed
240 241
==================

jim's avatar
jim committed
242 243
- Added Python 2.6 support. Removed Python 2.3 support.

tseaver's avatar
tseaver committed
244 245 246
- Fixed remaining deprecation warnings under Python 2.6, both when running
  our tests and when using the package.

247 248 249 250 251
- Switched from using os.popen* to subprocess.Popen, to avoid a deprecation
  warning in Python 2.6.  See:

  http://docs.python.org/library/subprocess.html#replacing-os-popen-os-popen2-os-popen3

252 253 254
- Made sure the 'redo_pyc' function and the doctest checkers work with Python
  executable paths containing spaces.

255 256 257 258 259
- Expand shell patterns when processing the list of paths in `develop`, e.g::

    [buildout]
    develop = ./local-checkouts/*

260 261 262
- Conditionally import and use hashlib.md5 when it's available instead
  of md5 module, which is deprecated in Python 2.6.

georgyberdyshev's avatar
georgyberdyshev committed
263 264 265
- Added Jython support for bootstrap, development bootstrap
  and zc.buildout support on Jython

sidnei's avatar
sidnei committed
266 267 268
- Fixed a bug that would cause buildout to break while computing a
  directory hash if it found a broken symlink (Launchpad #250573)

269 270 271 272 273 274 275 276 277 278 279
1.1.1 (2008-07-28)
==================

- Fixed a bug that caused buildouts to fail when variable
  substitutions are used to name standard directories, as in::

    [buildout]
    eggs-directory = ${buildout:directory}/develop-eggs

1.1.0 (2008-07-19)
==================
tarek's avatar
tarek committed
280

jim's avatar
jim committed
281 282
- Added a buildout-level unzip option tp change the default policy for
  unzipping zip-safe eggs.
tarek's avatar
tarek committed
283

284 285 286 287 288 289
- Tracebacks are now printed for internal errors (as opposed to user
  errors) even without the -D option.

- pyc and pyo files are regenerated for installed eggs so that the
  stored path in code objects matches the the install location.

tarek's avatar
tarek committed
290
1.0.6 (2008-06-13)
andreasjung's avatar
andreasjung committed
291 292
==================

293 294 295 296 297 298
- Manually reverted the changeset for the fix for
  https://bugs.launchpad.net/zc.buildout/+bug/239212 to verify thet the test
  actually fails with the changeset:
  http://svn.zope.org/zc.buildout/trunk/src/zc/buildout/buildout.py?rev=87309&r1=87277&r2=87309
  Thanks tarek for pointing this out. (seletz)

299 300 301 302 303 304 305 306
- fixed the test for the += -= syntax in buildout.txt as the test
  was actually wronng. The original implementation did a split/join
  on whitespace, and later on that was corrected to respect the original
  EOL setting, the test was not updated, though. (seletz)

- added a test to verify against https://bugs.launchpad.net/zc.buildout/+bug/239212
  in allowhosts.txt (seletz)

icemac's avatar
icemac committed
307 308
- further fixes for """AttributeError: Buildout instance has no
  attribute '_logger'""" by providing reasonable defaults
309 310 311
  within the Buildout constructor (related to the new 'allow-hosts' option)
  (patch by Gottfried Ganssauge) (ajung)

andreasjung's avatar
andreasjung committed
312

313
1.0.5 (2008-06-10)
andreasjung's avatar
andreasjung committed
314 315
==================

316
- Fixed wrong split when using the += and -= syntax (mustapha)
andreasjung's avatar
andreasjung committed
317

andreasjung's avatar
andreasjung committed
318
1.0.4 (2008-06-10)
andreasjung's avatar
andreasjung committed
319 320
==================

tarek's avatar
tarek committed
321 322
- Added the `allow-hosts` option (tarek)

icemac's avatar
icemac committed
323
- Quote the 'executable' argument when trying to detect the python
324 325
  version using popen4. (sidnei)

sidnei's avatar
sidnei committed
326 327 328
- Quote the 'spec' argument, as in the case of installing an egg from
  the buildout-cache, if the filename contains spaces it would fail (sidnei)

malthe's avatar
malthe committed
329 330
- Extended configuration syntax to allow -= and += operators (malthe, mustapha).

331 332 333
1.0.3 (2008-06-01)
==================

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

338
1.0.2 (2008-05-13)
andreasjung's avatar
andreasjung committed
339 340
==================

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

fdrake's avatar
fdrake committed
344
- Added "-t <timeout_in_seconds>" option for specifying the socket timeout.
345
  (ajung)
346

347
1.0.1 (2008-04-02)
348 349
==================

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

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

fdrake's avatar
fdrake committed
355 356
- Applied patch fixing rmtree issues on Windows (patch by
  Gottfried Ganssauge).  (ajung)
357

jim's avatar
jim committed
358 359
1.0.0 (2008-01-13)
==================
jim's avatar
jim committed
360

fdrake's avatar
fdrake committed
361
- Added a French translation of the buildout tutorial.
362

jim's avatar
jim committed
363
1.0.0b31 (2007-11-01)
jim's avatar
jim committed
364 365
=====================

366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381
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
382 383
- 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
384
  versions is intended, especially when creating releases.
jim's avatar
jim committed
385

jim's avatar
jim committed
386 387 388
Bugs Fixed
----------

rossp's avatar
rossp committed
389 390 391
- 151820: Develop failed if the setup.py script imported modules in
  the distribution directory.

rossp's avatar
rossp committed
392 393 394
- Verbose logging of the develop command was omitting detailed
  output.

jim's avatar
jim committed
395 396 397 398 399 400 401
- 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
402 403 404
- When using a local find links or index, distributions weren't copied
  to the download cache.

jim's avatar
jim committed
405 406 407 408
- 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.

409 410 411 412 413 414 415 416 417 418 419 420 421 422 423
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
424
1.0.0b29 (2007-08-20)
425 426
=====================

427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443
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.

444 445 446 447 448 449 450 451
- 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.

452 453 454 455 456
Bugs Fixed
----------

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

457 458 459 460 461 462 463 464 465
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
466 467 468 469 470 471 472 473 474
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
475 476 477 478 479 480 481 482 483 484 485 486 487 488
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
489
1.0.0b25 (2007-05-31)
490 491 492 493 494
=====================

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

jim's avatar
jim committed
495
- buildout now changes to the buildout directory before running recipe
496 497
  install and update methods.

498 499 500 501 502 503
- 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
504 505 506 507 508
- 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
icemac's avatar
icemac committed
509
  zc.buildout logger.  This reduces noise in the output.
jim's avatar
jim committed
510 511 512 513

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

514 515 516
Bugs Fixed
----------

jim's avatar
jim committed
517 518
- 114614: Buildouts could take a very long time if there were
  dependency problems in large sets of pathologically interdependent
icemac's avatar
icemac committed
519
  packages.
jim's avatar
jim committed
520

521 522
- 59270: Buggy recipes can cause failures in later recipes via chdir

523 524 525 526 527
- 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.

528 529
- 75607: buildout should not run if it creates an empty buildout.cfg

jim's avatar
jim committed
530
1.0.0b24 (2007-05-09)
531 532 533 534 535 536 537 538
=====================

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

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

539 540 541
- Added an API for use by recipe writers to clean up created files
  when recipe errors occur.

jim's avatar
jim committed
542 543
- Log installed scripts.

544 545 546 547
Bugs Fixed
----------

- 92891: bootstrap crashes with recipe option in buildout section.
548

549
- 113085: Buildout exited with a zero exist status when internal errors
mgedmin's avatar
mgedmin committed
550
  occurred.
551 552


jim's avatar
jim committed
553
1.0.0b23 (2007-03-19)
jim's avatar
jim committed
554 555
=====================

556 557 558 559 560 561 562
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
icemac's avatar
icemac committed
563
  access.
564

565 566 567
- Log scripts created, as suggested in:
  https://bugs.launchpad.net/zc.buildout/+bug/71353

jim's avatar
jim committed
568 569 570 571 572 573
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
574
1.0.0b22 (2007-03-15)
jim's avatar
jim committed
575 576 577 578 579
=====================

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

580
- Improved error reporting and debugging support:
581

582 583 584
  - 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
585

586 587
  - 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
588

589 590 591 592 593 594 595 596 597 598
  - 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.
599

600
1.0.0b21 (2007-03-06)
601 602 603 604 605
=====================

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

606 607 608
- Added support for repeatable buildouts by allowing egg versions to
  be specified in a versions section.

jim's avatar
jim committed
609 610 611 612 613 614 615 616 617 618
- 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.

619 620 621
  A default_versions function can be used to set a default value for
  this option.

622 623 624 625
- 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
626 627
- Added a remove testing helper function that removes files or directories.

jim's avatar
jim committed
628
1.0.0b20 (2007-02-08)
jim's avatar
jim committed
629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646
=====================

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.
icemac's avatar
icemac committed
647

jim's avatar
jim committed
648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665
- 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
666 667 668 669 670 671 672 673 674 675
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
676
1.0.0b18 (2007-01-22)
677 678 679 680 681
=====================

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

icemac's avatar
icemac committed
682
- Added documentation for some previously undocumented features of the
683 684
  easy_install APIs.

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

688 689 690
Bugs Fixed
----------

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

694 695 696 697 698 699 700 701
1.0.0b17 (2006-12-07)
=====================

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

- Configuration files can now be loaded from URLs.

jim's avatar
jim committed
702 703 704 705 706 707 708 709 710
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
711
1.0.0b16 (2006-12-07)
712 713
=====================

jim's avatar
jim committed
714 715 716 717 718 719 720 721 722
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.

723 724 725 726 727 728 729
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
730 731 732 733 734 735 736 737 738
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
739
1.0.0b14 (2006-12-05)
jim's avatar
jim committed
740
=====================
amos's avatar
amos committed
741 742 743 744 745 746 747

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

- Added uninstall recipes for dealing with complex uninstallation
  scenarios.

jim's avatar
jim committed
748 749 750 751 752 753 754 755 756
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.

757
1.0.0b13 (2006-12-04)
jim's avatar
jim committed
758 759
=====================

760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784
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
785 786 787 788 789 790 791 792 793
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.


794 795 796 797 798 799 800 801 802 803
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
804 805 806 807 808 809 810
1.0.0b11 (2006-10-24)
=====================

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

`67737 <https://launchpad.net/products/zc.buildout/+bug/67737>`_
icemac's avatar
icemac committed
811
     Verbose and quite output options caused errors when the
jim's avatar
jim committed
812 813 814 815 816 817 818 819 820
     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
icemac's avatar
icemac committed
821
     configuration.
jim's avatar
jim committed
822

jim's avatar
jim committed
823 824
1.0.0b10 (2006-10-16)
=====================
825 826 827 828

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

jim's avatar
jim committed
829 830 831
- Renamed the runsetup command to setup. (The old name still works.)

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

icemac's avatar
icemac committed
836 837
- If a distribution defines namespace packages but fails to declare
  setuptools as one of its dependencies, we now treat setuptools as an
838 839 840
  implicit dependency.  We generate a warning if the distribution
  is a develop egg.

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

843 844 845 846 847 848
Bugs Fixed
----------

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

849 850 851 852 853
- 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
854 855
- When installing zip-safe eggs from local directories, the eggs were
  moved, rather than copied, removing them from the source directory.
856

jim's avatar
jim committed
857 858 859 860 861 862 863 864
1.0.0b9 (2006-10-02)
====================

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

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

jim's avatar
jim committed
865 866 867 868 869 870 871 872 873 874 875 876 877 878 879
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
880 881 882 883 884 885 886 887 888
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
889 890 891 892 893 894 895 896 897
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
898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930
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.

icemac's avatar
icemac committed
931
- Fixed some bugs in variable substitutions.
jim's avatar
jim committed
932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975

  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