CHANGES.rst 32.6 KB
Newer Older
Jim Fulton's avatar
Jim Fulton committed
1 2
Change History
**************
Andreas Jung's avatar
Andreas Jung committed
3

Jim Fulton's avatar
Jim Fulton committed
4 5
2.2.0 (2013-07-05)
==================
6

7
- Handle both addition and subtraction of elements (+= and -=) on the same key
Tres Seaver's avatar
Tres Seaver committed
8 9
  in the same section. Forward-ported from buildout 1.6.

10 11 12
- Suppress the useless ``Link to <URL> ***BLOCKED*** by --allow-hosts``
  error message being emitted by distribute / setuptools.

Tres Seaver's avatar
Tres Seaver committed
13 14 15
- Extend distutils script generation to support module docstrings and
  __future__ imports.

Tres Seaver's avatar
Tres Seaver committed
16 17
- Refactored picked versions logic to make it easier to use for plugins.

Tres Seaver's avatar
Tres Seaver committed
18 19 20
- Use ``get_win_launcher`` API to find Windows launcher (falling back to
  ``resource_string`` for ``cli.exe``).

Tres Seaver's avatar
Tres Seaver committed
21 22 23
- Remove ``data_files`` from ``setup.py``:  it was installing ``README.txt``
  in current directory during installation (merged from 1.x branch).

24 25
- Switch dependency from ``distribute 0.6.x`` to ``setuptools 0.7.x``.

Jim Fulton's avatar
Jim Fulton committed
26
2.1.0 (2013-03-23)
Jim Fulton's avatar
Jim Fulton committed
27 28
==================

Jim Fulton's avatar
tweek  
Jim Fulton committed
29
- `Meta-recipe support`_
30 31

- `Conditional sections`_
Jim Fulton's avatar
Jim Fulton committed
32

Jim Fulton's avatar
Jim Fulton committed
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
- Buildout now accepts a ``--version`` command-line option to print
  its version.

Fixed: Builout didn't exit with a non-zero exit status if there was a
       failure in combination with an upgrade.

Fixed: We now fail with an informative error when an old bootstrap
       script causes buildout 2 to be used with setuptools.

Fixed: An error incorrectly suggested that buildout 2 implemented all
       of the functionality of dumppickedversions.

Fixed: Buildout generated bad scripts when no eggs needed to be added
       to ``sys.path``.

Fixed: Buildout didn't honour Unix umask when generating scripts.
       https://bugs.launchpad.net/zc.buildout/+bug/180705

Fixed: ``update-versions-file`` didn't work unless
       ``show-picked-versions`` was also set.
       https://github.com/buildout/buildout/issues/71

55
2.0.1 (2013-02-16)
Jim Fulton's avatar
Jim Fulton committed
56
==================
Reinout van Rees's avatar
Reinout van Rees committed
57

58 59
- Fixed: buildout didn't honor umask settings when creating scripts.

60
- Fix for distutils scripts installation on Python 3, related to
Reinout van Rees's avatar
Reinout van Rees committed
61 62
  ``__pycache__`` directories.

Jim Fulton's avatar
Jim Fulton committed
63 64
- Fixed: encoding data in non-entry-point-based scripts was lost.

Reinout van Rees's avatar
Reinout van Rees committed
65

66 67 68 69 70 71 72 73 74 75 76
2.0.0 (2013-02-10)
==================

This is a backward incompatible release of buildout that attempts to
correct mistakes made in buildout 1.

- Buildout no-longer tries to provide full or partial isolation from
  system Python installations. If you want isolation, use buildout
  with virtualenv, or use a clean build of Python to begin with.

  Providing isolation was a noble goal, but it's implementation
77
  complicated buildout's implementation too much.
78

Jim Fulton's avatar
typos  
Jim Fulton committed
79
- Buildout no-longer supports using multiple versions of Python in a
80 81 82
  single buildout.  This too was a noble goal, but added too much
  complexity to the implementation.

83
- Changed the configuration file format:
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

  - Relative indentation in option values is retained if the first
    line is blank. (IOW, if the non-blank text is on the continuation
    lines.) As in::

       [mysection]
       tree =
         /root
           branch

    In such cases, internal blank lines are also retained.

  - The configuration syntax is more tightly defined, allowing fewer
    syntax definitions.

    Buildout 1 configuration files were parsed with the Python
    ConfigParser module. The ConfigParser module's format is poorly
    documented and wildly flexible. For example:

    - Any characters other than left square brackets were allowed in
      section names.

    - Arbitrary text was allowed and ignored after the closing bracket on
      section header lines.

    - Any characters other than equal signs or colons were allowed in an
      option name.

    - Configuration options could be spelled as RFC 822 mail headers
      (using a colon, rather than an equal sign).

    - Comments could begin with "rem".

    - Semicolons could be used to start inline comments, but only if
118
      preceded by a whitespace character.
119 120 121 122 123 124 125 126 127 128 129

  See `Configuration file syntax`_.

- Buildout now prefers final releases by default
  (buildout:prefer-final now defaults to true, rather than false.)

  However, if buildout is bootstrapped with a non-final release, it
  won't downgrade itself to a final release.

- Buildout no-longer installs zipped eggs. (Distribute may still
  install a zipped egg of itself during the bootstrapping process.)
130
  The ``buildout:unzip`` option has been removed.
131 132 133

- Buildout no-longer supports setuptools. It now uses distribute
  exclusively.
Reinout van Rees's avatar
Reinout van Rees committed
134 135 136 137 138 139 140 141 142 143 144 145 146 147

- Integrated the `buildout-versions
  <http://packages.python.org/buildout-versions/>`_ extension into buildout
  itself. For this, a few options were added to buildout:

  - If ``show-picked-versions`` is set to true, all picked versions are
    printed at the end of the buildout run. This saves you from running
    buildout in verbose mode and extracting the picked versions from the
    output.

  - If ``update-versions-file`` is set to a filename (relative to the buildout
    directory), the ``show-picked-versions`` output is appended to that file.

- Buildout options can be given on the command line using the form::
148 149 150 151 152 153 154

    option_name=value

  as a short-hand for::

    buildout:option_name=value

Jim Fulton's avatar
typo  
Jim Fulton committed
155
- The ``versions`` option now defaults to ``versions``, so you no
156
  longer need to include::
157 158 159 160 161

     versions = versions

  in a ``buildout`` section when pinning versions.

162 163 164 165 166 167 168 169 170 171
  A ``versions`` section is added, if necessary, if a ``versions``
  option isn't used.

- Buildout-defined default versions are included in the versions
  section, if there is one.

- The ``buildout:zc.buildout-version`` and
  ``buildout:distribute-version`` options have been removed in favor
  of providing version constraints in a versions section.

Jim Fulton's avatar
Jim Fulton committed
172 173 174 175 176 177
- Error if install-from-cache and offline are used together, because
  offline largely means "don't install".

- Provide better error messages when distributions can't be installed
  because buildout is run in offline mode.

178 179 180
- Versions in versions sections can now be simple constraints, like
  >=2.0dev in addition to being simple versions.

Jim Fulton's avatar
Jim Fulton committed
181
  Buildout 2 leverages this to make sure it uses
182 183
  zc.recipe.egg>=2.0.0a3, which mainly matters for Python 3.

184 185 186 187 188 189
- The buildout init command now accepts distribution requirements and
  paths to set up a custom interpreter part that has the distributions
  or parts in the path. For example::

     python bootstrap.py init BeautifulSoup

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

Reinout van Rees's avatar
Reinout van Rees committed
193 194 195
- Distutils-style scripts are also installed now (for instance pyflakes' and
  docutils' scripts).  https://bugs.launchpad.net/zc.buildout/+bug/422724

196 197 198 199 200 201 202
- Avoid sorting the working set and requirements when it won't be
  logged.  When profiling a simple buildout with 10 parts with
  identical and large working sets, this resulted in a decrease of run
  time from 93.411 to 15.068 seconds, about a 6 fold improvement.  To
  see the benefit be sure to run without any increase in verbosity
  ("-v" option).  (rossp)

203 204
- Introduce a cache for the expensive `buildout._dir_hash` function.

205 206
- Remove duplicate path from script's sys.path setup.

207 208 209
- Make sure to download extended configuration files only once per buildout
  run even if they are referenced multiple times (patch by Rafael Monnerat).

210 211 212
- Removed any traces of the implementation of ``extended-by``. Raise a
  UserError if the option is encountered instead of ignoring it, though.

213 214 215
Fixed: relative-paths weren't honored when bootstrapping or upgrading
       (which is how the buildout script gets generated).

216
Fixed: initialization code wasn't included in interpreter scripts.
217 218

Fixed: macro inheritance bug, https://github.com/buildout/buildout/pull/37
Thomas Lotze's avatar
Thomas Lotze committed
219

220 221
Fixed: In the download module, fixed the handling of directories that
       are pointed to by file-system paths and ``file:`` URLs.
Thomas Lotze's avatar
Thomas Lotze committed
222

223 224 225
Fixed if you have a configuration with an extends entry in the [buildout]
      section which points to a non-existing URL the result is not very
      user friendly. https://bugs.launchpad.net/zc.buildout/+bug/566167
226

227 228
Fixed: https://bugs.launchpad.net/bugs/697913 : Buildout doesn't honor exit code
       from scripts. Fixed.
229

230 231 232 233 234
1.4.4 (2010-08-20)
==================

The 1.4.4 release is a release for people who encounter trouble
with the 1.5 line.  By switching to `the associated bootstrap script
235
<https://raw.github.com/buildout/buildout/master/bootstrap/bootstrap.py>`_
236 237
you can stay on 1.4.4 until you are ready to migrate.

Tarek Ziad's avatar
Tarek Ziad committed
238 239
1.4.3 (2009-12-10)
==================
Tarek Ziad's avatar
Tarek Ziad committed
240

Reinout van Rees's avatar
Reinout van Rees committed
241
Bugs fixed:
Tarek Ziad's avatar
Tarek Ziad committed
242

Reinout van Rees's avatar
Reinout van Rees committed
243 244 245 246 247
- 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 Ziad's avatar
Tarek Ziad committed
248 249


250
1.4.2 (2009-11-01)
Jim Fulton's avatar
Jim Fulton committed
251 252
==================

253 254
New Feature:

Tarek Ziad's avatar
Tarek Ziad committed
255
- Added a --distribute option to the bootstrap script, in order
256 257 258
  to use Distribute rather than Setuptools. By default, Setuptools
  is used.

Jim Fulton's avatar
Jim Fulton committed
259 260
Bugs fixed:

261 262 263
- While checking for new versions of setuptools and buildout itself,
  compare requirement locations instead of requirement objects.

Jim Fulton's avatar
Jim Fulton committed
264 265 266
- Incrementing didn't work properly when extending multiple files.
  https://bugs.launchpad.net/zc.buildout/+bug/421022

267 268
- The download API computed MD5 checksums of text files wrong on Windows.

Jim Fulton's avatar
Jim Fulton committed
269 270 271 272 273 274 275 276 277 278 279 280 281
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 Fulton's avatar
Jim Fulton committed
282 283 284
- Option incrementing and decrementing didn't work for options
  specified on the command line.

Reinout van Rees's avatar
typos  
Reinout van Rees committed
285 286
- Scripts generated with relative-paths enabled couldn't be
  symbolically linked to other locations and still work.
Jim Fulton's avatar
Jim Fulton committed
287

Jim Fulton's avatar
Jim Fulton committed
288 289
- Scripts run using generated interpreters didn't have __file__ set correctly.

Jim Fulton's avatar
Jim Fulton committed
290 291
- The standard Python -m option didn't work for custom interpreters.

Jim Fulton's avatar
Jim Fulton committed
292
1.4.0 (2009-08-26)
293 294
==================

295 296 297 298 299
- 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 Fulton's avatar
Jim Fulton committed
300 301 302
  for getting the current section name (e.g. ${:_buildout_section_name_}).

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

Jim Fulton's avatar
Jim Fulton committed
304 305
- Added annotate command for annotated sections. Displays sections
  key-value pairs along with the value origin.
306

307 308 309 310 311 312
- 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).

313 314 315 316 317
1.3.1 (2009-08-12)
==================

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

318
1.3.0 (2009-06-22)
319 320 321
==================

- Better Windows compatibility in test infrastructure.
322

323
- Now the bootstrap.py has an optional --version argument,
324
  that can be used to force buildout version to use.
325

326 327 328 329 330
- ``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.

331 332
- fixed usage of 'relative_paths' keyword parameter on Windows

333 334
- Added an unload entry point for extensions.

335 336 337
- 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.
338

339 340 341 342 343
1.2.1 (2009-03-18)
==================

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

344
1.2.0 (2009-03-17)
Tres Seaver's avatar
svb  
Tres Seaver committed
345 346
==================

Jim Fulton's avatar
Jim Fulton committed
347 348
- Added a relative_paths option to zc.buildout.easy_install.script to
  generate egg paths relative to the script they're used in.
Tres Seaver's avatar
svb  
Tres Seaver committed
349

Tres Seaver's avatar
Tres Seaver committed
350
1.1.2 (2009-03-16)
351 352
==================

Jim Fulton's avatar
Jim Fulton committed
353 354
- Added Python 2.6 support. Removed Python 2.3 support.

Tres Seaver's avatar
Tres Seaver committed
355 356 357
- Fixed remaining deprecation warnings under Python 2.6, both when running
  our tests and when using the package.

358 359 360 361 362
- 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

363 364 365
- Made sure the 'redo_pyc' function and the doctest checkers work with Python
  executable paths containing spaces.

366 367 368 369 370
- Expand shell patterns when processing the list of paths in `develop`, e.g::

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

371 372 373
- Conditionally import and use hashlib.md5 when it's available instead
  of md5 module, which is deprecated in Python 2.6.

Georgy Berdyshev's avatar
Georgy Berdyshev committed
374
- Added Jython support for bootstrap, development bootstrap
375
  and buildout support on Jython
Georgy Berdyshev's avatar
Georgy Berdyshev committed
376

377 378 379
- Fixed a bug that would cause buildout to break while computing a
  directory hash if it found a broken symlink (Launchpad #250573)

380 381 382 383 384 385 386 387 388 389 390
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 Ziad's avatar
Tarek Ziad committed
391

392
- Added a buildout-level unzip option to change the default policy for
Jim Fulton's avatar
Jim Fulton committed
393
  unzipping zip-safe eggs.
Tarek Ziad's avatar
Tarek Ziad committed
394

395 396 397 398
- 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
399
  stored path in code objects matches the install location.
400

Tarek Ziad's avatar
Tarek Ziad committed
401
1.0.6 (2008-06-13)
Andreas Jung's avatar
Andreas Jung committed
402 403
==================

404 405 406 407 408 409
- 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)

410
- fixed the test for the += -= syntax in buildout.txt as the test
411
  was actually wrong. The original implementation did a split/join
412 413 414 415 416 417
  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)

418 419
- further fixes for """AttributeError: Buildout instance has no
  attribute '_logger'""" by providing reasonable defaults
420 421 422
  within the Buildout constructor (related to the new 'allow-hosts' option)
  (patch by Gottfried Ganssauge) (ajung)

Andreas Jung's avatar
Andreas Jung committed
423

424
1.0.5 (2008-06-10)
Andreas Jung's avatar
Andreas Jung committed
425 426
==================

427
- Fixed wrong split when using the += and -= syntax (mustapha)
Andreas Jung's avatar
Andreas Jung committed
428

Andreas Jung's avatar
1.0.4  
Andreas Jung committed
429
1.0.4 (2008-06-10)
Andreas Jung's avatar
Andreas Jung committed
430 431
==================

Tarek Ziad's avatar
Tarek Ziad committed
432 433
- Added the `allow-hosts` option (tarek)

434
- Quote the 'executable' argument when trying to detect the python
435 436
  version using popen4. (sidnei)

437 438 439
- 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 Borch's avatar
Malthe Borch committed
440 441
- Extended configuration syntax to allow -= and += operators (malthe, mustapha).

442 443 444
1.0.3 (2008-06-01)
==================

445
- fix for """AttributeError: Buildout instance has no attribute '_logger'"""
446 447
  by providing reasonable defaults within the Buildout constructor.
  (patch by Gottfried Ganssauge) (ajung)
Jim Fulton's avatar
Jim Fulton committed
448

449
1.0.2 (2008-05-13)
Andreas Jung's avatar
Andreas Jung committed
450 451
==================

Fred Drake's avatar
Fred Drake committed
452
- More fixes for Windows. A quoted sh-bang is now used on Windows to make the
's avatar
committed
453
  .exe files work with a Python executable in 'program files'.
Andreas Jung's avatar
Andreas Jung committed
454

Fred Drake's avatar
Fred Drake committed
455
- Added "-t <timeout_in_seconds>" option for specifying the socket timeout.
456
  (ajung)
457

458
1.0.1 (2008-04-02)
459 460
==================

Fred Drake's avatar
Fred Drake committed
461
- Made easy_install.py's _get_version accept non-final releases of Python,
462 463
  like 2.4.4c0. (hannosch)

Fred Drake's avatar
Fred Drake committed
464
- Applied various patches for Windows (patch by Gottfried Ganssauge). (ajung)
465

Fred Drake's avatar
Fred Drake committed
466 467
- Applied patch fixing rmtree issues on Windows (patch by
  Gottfried Ganssauge).  (ajung)
468

Jim Fulton's avatar
Jim Fulton committed
469 470
1.0.0 (2008-01-13)
==================
Jim Fulton's avatar
Jim Fulton committed
471

Fred Drake's avatar
Fred Drake committed
472
- Added a French translation of the buildout tutorial.
473

Jim Fulton's avatar
Jim Fulton committed
474
1.0.0b31 (2007-11-01)
Jim Fulton's avatar
Jim Fulton committed
475 476
=====================

477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492
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 Fulton's avatar
Jim Fulton committed
493 494
- Added a configuration option that causes buildout to error if a
  version is picked. This is a nice safety belt when fixing all
Fred Drake's avatar
Fred Drake committed
495
  versions is intended, especially when creating releases.
Jim Fulton's avatar
Jim Fulton committed
496

Jim Fulton's avatar
Jim Fulton committed
497 498 499
Bugs Fixed
----------

500 501 502
- 151820: Develop failed if the setup.py script imported modules in
  the distribution directory.

503 504 505
- Verbose logging of the develop command was omitting detailed
  output.

Jim Fulton's avatar
Jim Fulton committed
506 507 508 509 510 511 512
- 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 Fulton's avatar
Jim Fulton committed
513 514 515
- When using a local find links or index, distributions weren't copied
  to the download cache.

Jim Fulton's avatar
Jim Fulton committed
516 517 518 519
- 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.

520 521 522 523 524 525 526 527 528 529 530 531 532 533 534
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 Fulton's avatar
Jim Fulton committed
535
1.0.0b29 (2007-08-20)
536 537
=====================

538 539 540
Feature Changes
---------------

541
- Now, final distributions are preferred over non-final versions.  If
542 543 544 545 546 547 548 549 550 551 552 553 554
  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.

555 556 557 558 559 560 561 562
- 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.

563 564 565 566 567
Bugs Fixed
----------

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

568 569 570 571 572 573 574 575 576
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 Fulton's avatar
Jim Fulton committed
577 578 579 580 581 582 583 584 585
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 Fulton's avatar
Jim Fulton committed
586 587 588 589 590 591 592 593 594 595 596 597 598 599
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 Fulton's avatar
Jim Fulton committed
600
1.0.0b25 (2007-05-31)
601 602 603 604 605
=====================

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

Jim Fulton's avatar
Jim Fulton committed
606
- buildout now changes to the buildout directory before running recipe
607 608
  install and update methods.

609 610 611 612 613 614
- 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.

615
- In verbose mode, when adding distributions to fulfil requirements of
Jim Fulton's avatar
Jim Fulton committed
616 617 618 619
  already-added distributions, we now show why the new distributions
  are being added.

- Changed the logging format to exclude the logger name for the
620
  buildout logger.  This reduces noise in the output.
Jim Fulton's avatar
Jim Fulton committed
621 622 623 624

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

625 626 627
Bugs Fixed
----------

Jim Fulton's avatar
Jim Fulton committed
628 629
- 114614: Buildouts could take a very long time if there were
  dependency problems in large sets of pathologically interdependent
630
  packages.
Jim Fulton's avatar
Jim Fulton committed
631

632 633
- 59270: Buggy recipes can cause failures in later recipes via chdir

634 635 636 637 638
- 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.

639 640
- 75607: buildout should not run if it creates an empty buildout.cfg

Jim Fulton's avatar
Jim Fulton committed
641
1.0.0b24 (2007-05-09)
642 643 644 645 646 647 648 649
=====================

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

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

650 651 652
- Added an API for use by recipe writers to clean up created files
  when recipe errors occur.

Jim Fulton's avatar
Jim Fulton committed
653 654
- Log installed scripts.

655 656 657 658
Bugs Fixed
----------

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

660
- 113085: Buildout exited with a zero exist status when internal errors
661
  occurred.
662 663


Jim Fulton's avatar
Jim Fulton committed
664
1.0.0b23 (2007-03-19)
Jim Fulton's avatar
Jim Fulton committed
665 666
=====================

667 668 669 670 671 672 673
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
674
  access.
675

676 677 678
- Log scripts created, as suggested in:
  https://bugs.launchpad.net/zc.buildout/+bug/71353

Jim Fulton's avatar
Jim Fulton committed
679 680 681 682 683 684
Bugs Fixed
----------

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

Jim Fulton's avatar
Jim Fulton committed
685
1.0.0b22 (2007-03-15)
Jim Fulton's avatar
Jim Fulton committed
686 687 688 689 690
=====================

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

691
- Improved error reporting and debugging support:
692

693 694 695
  - 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 Fulton's avatar
Jim Fulton committed
696

697 698
  - Added a -D option that causes the buildout to print a traceback and
    start the pdb post-mortem debugger when an error occurs.
Jim Fulton's avatar
Jim Fulton committed
699

700 701 702 703 704 705 706 707 708 709
  - 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.
710

711
1.0.0b21 (2007-03-06)
712 713 714 715 716
=====================

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

717 718 719
- Added support for repeatable buildouts by allowing egg versions to
  be specified in a versions section.

Jim Fulton's avatar
Jim Fulton committed
720 721 722
- 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
723
  required distributions and their dependencies.
Jim Fulton's avatar
Jim Fulton committed
724 725 726 727 728 729

  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.

730 731 732
  A default_versions function can be used to set a default value for
  this option.

733
- Adjusted the output for verbosity levels.  Using a single -v option
pombredanne's avatar
pombredanne committed
734
  no longer causes voluminous setuptools output.  Using -vv and -vvv
735 736
  now triggers extra setuptools output.

Jim Fulton's avatar
Jim Fulton committed
737 738
- Added a remove testing helper function that removes files or directories.

Jim Fulton's avatar
Jim Fulton committed
739
1.0.0b20 (2007-02-08)
Jim Fulton's avatar
Jim Fulton committed
740 741 742 743 744 745 746 747 748 749 750 751 752
=====================

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
pombredanne's avatar
pombredanne committed
753
  functions to control whether the newest distributions that need
Jim Fulton's avatar
Jim Fulton committed
754 755 756 757
  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.
758

Jim Fulton's avatar
Jim Fulton committed
759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776
- 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 Fulton's avatar
Jim Fulton committed
777 778 779 780 781 782 783 784 785 786
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 Fulton's avatar
Jim Fulton committed
787
1.0.0b18 (2007-01-22)
788 789 790 791 792
=====================

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

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

Jim Fulton's avatar
Jim Fulton committed
796 797 798
- By popular demand, added a -o command-line option that is a short
  hand for the assignment buildout:offline=true.

799 800 801
Bugs Fixed
----------

Jim Fulton's avatar
Jim Fulton committed
802 803 804
- When deciding whether recipe develop eggs had changed, buildout
  incorrectly considered files in .svn and CVS directories.

805 806 807 808 809 810 811 812
1.0.0b17 (2006-12-07)
=====================

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

- Configuration files can now be loaded from URLs.

Jim Fulton's avatar
Jim Fulton committed
813 814 815 816 817 818 819 820 821
Bugs Fixed
----------

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

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


Jim Fulton's avatar
Jim Fulton committed
822
1.0.0b16 (2006-12-07)
823 824
=====================

Jim Fulton's avatar
Jim Fulton committed
825 826 827 828 829 830
Feature Changes
---------------

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

- You can now suppress use of an installed-part database
831
  (e.g. .installed.cfg) by specifying an empty value for the buildout
Jim Fulton's avatar
Jim Fulton committed
832 833
  installed option.

834 835 836 837 838 839 840
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 Fulton's avatar
Jim Fulton committed
841 842 843 844 845 846 847 848 849
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 Fulton's avatar
Jim Fulton committed
850
1.0.0b14 (2006-12-05)
Jim Fulton's avatar
Jim Fulton committed
851
=====================
852 853 854 855 856 857 858

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

- Added uninstall recipes for dealing with complex uninstallation
  scenarios.

Jim Fulton's avatar
Jim Fulton committed
859 860 861 862 863 864 865 866 867
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.

868
1.0.0b13 (2006-12-04)
Jim Fulton's avatar
Jim Fulton committed
869 870
=====================

871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895
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 Fulton's avatar
Jim Fulton committed
896 897 898 899 900 901
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
902
  installed by virtue of being dependencies.
Jim Fulton's avatar
Jim Fulton committed
903 904


905 906 907 908 909 910 911 912 913 914
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 Fulton's avatar
Jim Fulton committed
915 916 917 918 919 920 921
1.0.0b11 (2006-10-24)
=====================

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

`67737 <https://launchpad.net/products/zc.buildout/+bug/67737>`_
922
     Verbose and quite output options caused errors when the
Jim Fulton's avatar
Jim Fulton committed
923 924 925 926 927 928 929 930 931
     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
932
     configuration.
Jim Fulton's avatar
Jim Fulton committed
933

Jim Fulton's avatar
Jim Fulton committed
934 935
1.0.0b10 (2006-10-16)
=====================
936 937 938 939

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

Jim Fulton's avatar
Jim Fulton committed
940 941 942
- Renamed the runsetup command to setup. (The old name still works.)

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

947 948
- If a distribution defines namespace packages but fails to declare
  setuptools as one of its dependencies, we now treat setuptools as an
949 950 951
  implicit dependency.  We generate a warning if the distribution
  is a develop egg.

Jim Fulton's avatar
Jim Fulton committed
952 953
- You can now create develop eggs for setup scripts that don't use setuptools.

954 955 956 957 958 959
Bugs Fixed
----------

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

960
- Running a non-local buildout command (one not installed in the
961
  buildout) led to a hang if there were new versions of buildout or
962 963 964
  setuptools were available.  Now we issue a warning and don't
  upgrade.

Jim Fulton's avatar
Jim Fulton committed
965 966
- When installing zip-safe eggs from local directories, the eggs were
  moved, rather than copied, removing them from the source directory.
967

Jim Fulton's avatar
Jim Fulton committed
968 969 970 971 972 973 974 975
1.0.0b9 (2006-10-02)
====================

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

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

Jim Fulton's avatar
Jim Fulton committed
976 977 978 979 980 981 982 983 984 985 986 987 988 989 990
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 Fulton's avatar
Jim Fulton committed
991 992 993 994 995 996 997 998 999
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 Fulton's avatar
Jim Fulton committed
1000 1001 1002 1003 1004 1005 1006 1007 1008
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 Fulton's avatar
Jim Fulton committed
1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033
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
1034
  buildout and setuptools.
Jim Fulton's avatar
Jim Fulton committed
1035 1036 1037 1038 1039 1040 1041

- Added Windows support.

- Added a recipe API for generating user errors.

- No-longer generate a py_zc.buildout script.

1042
- Fixed some bugs in variable substitutions.
Jim Fulton's avatar
Jim Fulton committed
1043 1044 1045 1046 1047

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

  Substitutions with invalid names were ignored, which caused
1048
  misleading failures downstream.
Jim Fulton's avatar
Jim Fulton committed
1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071

- 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
1072
  buildout. The bootstrap code no-longer runs the buildout itself.
Jim Fulton's avatar
Jim Fulton committed
1073 1074
  This was to fix a bug that caused parts to be recreated
  unnecessarily because the recipe signature in the initial buildout
1075
  reflected temporary locations for setuptools and buildout.
Jim Fulton's avatar
Jim Fulton committed
1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086

- 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