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

4 5 6
1.6.4 (unreleased)
==================

7 8
- Windows fix: `buildout init` was broken, re.sub does not like a single backslash

Domen Kožar's avatar
Domen Kožar committed
9 10 11 12 13 14
- fixed all builds on travis-ci
  [Domen Kožar]

- use os._exit insted of sys.exit after ugrade forking
  [Domen Kožar]

15
- Revert cfa0478937d16769c268bf51e60e69cd3ead50f3, it only broke a feature
Domen Kožar's avatar
Domen Kožar committed
16
  [Domen Kožar]
17 18 19 20 21 22 23 24

1.6.3 (2012-08-22)
==================

- Fix Windows regression (see: https://github.com/buildout/buildout/commit/90bc44f9bffd0d9eb09aacf08c6a4c2fed797319
  and https://github.com/buildout/buildout/commit/e65b7bfbd7c7ccd556a278016a16b63ae8ef782b)
  [aclark4life]

Alex Clark's avatar
Alex Clark committed
25 26 27 28 29 30
1.6.2 (2012-08-21)
==================

- Fix Windows regression (see: https://github.com/buildout/buildout/commit/cfa0478937d16769c268bf51e60e69cd3ead50f3)
  [aclark4life]

Domen Kožar's avatar
Domen Kožar committed
31
1.6.1 (2012-08-18)
Alex Clark's avatar
Alex Clark committed
32
==================
Domen Kožar's avatar
Domen Kožar committed
33

34 35 36 37 38
- `bootstrap.py -d init` would invoke buildout with arguments
  `init bootstrap` leading into installation of bootstrap package.
  now bootstrap.py first runs any commands passed, then tries to
  bootstrap. (Domen Kožar)

Domen Kožar's avatar
Domen Kožar committed
39 40
- fix Python 2.4 support (Domen Kožar)

Domen Kožar's avatar
Domen Kožar committed
41 42
- added travis-ci testing (Domen Kožar)

aclark's avatar
aclark committed
43
1.6.0 (2012-08-15)
andreasjung's avatar
andreasjung committed
44 45
==================

46 47 48 49 50 51
- 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

52 53
- Introduce a cache for the expensive `buildout._dir_hash` function.

54 55
- Remove duplicate path from script's sys.path setup.

56 57 58 59 60 61 62
- changed broken dash S check to pass the configuration options
  -S -c separately, to make zc.buildout more compatible with the PyPy
  interpreter, which has less flexible argument parsing than CPython.

  Note that PyPy post 1.4.0 is needed to make buildout work at all,
  due to missing support for the ``-E`` option, which only got added
  afterwards.
andreasjung's avatar
andreasjung committed
63

64 65 66
- Made sure to download extended configuration files only once per buildout
  run even if they are referenced multiple times (patch by Rafael Monnerat).

67 68 69 70 71 72 73 74 75 76 77
- Ported speedup optimization patch by Ross Patterson to 1.5.x series.
  Improved patch to calculate required_by packages in linear time
  in verbose mode (-v). Running relatively simple Buildout envornment
  yielded in running time improvement from 30 seconds to 10 seconds.
  (Domen Kožar, Ross Patterson)

- Removed unnecessary pyc recompilation with optimization flags. Running
  Buildout with pre-downloaded ~300 packages that were installed in empty
  eggs repository yielded in running time improvement from 1126 seconds
  to 348 seconds. (Domen Kožar)

78 79 80 81 82
Bugs fixed:

- In the download module, fixed the handling of directories that are pointed
  to by file-system paths and ``file:`` URLs.

83 84 85
- Removed any traces of the implementation of ``extended-by``. Raise a
  UserError if the option is encountered instead of ignoring it, though.

86 87 88
- https://bugs.launchpad.net/bugs/697913 : Buildout doesn't honor exit code
  from scripts. Fixed.

89 90 91
- Handle both addition and subtraction of elements (+= and -=) on the same key
  in the same section.

92
1.5.2 (2010-10-11)
gary's avatar
gary committed
93 94
==================

95 96 97
- changed metadata 'url' to pypi.python.org in order to solve
  a temporary outage of buildout.org

gary's avatar
gary committed
98 99 100 101 102
- IMPORTANT: For better backwards compatibility with the pre-1.5 line,
  this release has two big changes from 1.5.0 and 1.5.1.

  - Buildout defaults to including site packages.

hvelarde's avatar
hvelarde committed
103
  - Buildout loads recipes and extensions with the same constraints to
gary's avatar
gary committed
104 105 106 107 108 109 110 111 112 113
    site-packages that it builds eggs, instead of never allowing access
    to site-packages.

  This means that the default configuration should better support
  pre-existing use of system Python in recipes or builds.

- To make it easier to detect the fact that buildout has set the PYTHONPATH,
  BUILDOUT_ORIGINAL_PYTHONPATH is always set in the environment, even if
  PYTHONPATH was not originally set.  BUILDOUT_ORIGINAL_PYTHONPATH will
  be an empty string if PYTHONPATH was not set.
gary's avatar
gary committed
114

gary's avatar
gary committed
115
1.5.1 (2010-08-29)
gary's avatar
gary committed
116 117
==================

118 119 120 121
New features:

- Scripts store the old PYTHONPATH in BUILDOUT_ORIGINAL_PYTHONPATH if it
  existed, and store nothing in the value if it did not exist.  This allows
gary's avatar
gary committed
122 123
  code that does not want subprocesses to have the system-Python-protected
  site.py to set the environment of the subprocess as it was originally.
124

125 126 127 128 129
Bugs fixed:

- https://bugs.launchpad.net/bugs/623590 : If include-site-packages were
  true and versions were not set explicitly, system eggs were preferred
  over newer released eggs.  Fixed.
gary's avatar
gary committed
130

gary's avatar
gary committed
131
1.5.0 (2010-08-23)
132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
==================

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
167 168
1.5.0b1 (2010-04-29)
====================
169 170 171 172 173 174 175

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
176 177 178 179 180 181 182
  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.
183 184 185 186 187 188 189

  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
gary's avatar
gary committed
190 191 192 193 194
  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.
195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212

- 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).

213
  * Correctly handle systems where pkg_resources is present but the rest of
214 215 216
    setuptools is missing (like Ubuntu installs).
    https://bugs.launchpad.net/zc.buildout/+bug/410528

217 218
- You can develop zc.buildout using Distribute instead of Setuptools.  Use
  the --distribute option on the dev.py script.  (Releases should be tested
gary's avatar
gary committed
219
  with both Distribute and Setuptools.)  The tests for zc.buildout pass
220 221
  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
gary's avatar
gary committed
222
  is not recommended.
223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239

- 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
240

241 242 243 244 245 246 247
- 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
248

tarek's avatar
tarek committed
249 250
1.4.3 (2009-12-10)
==================
tarek's avatar
tarek committed
251

reinout's avatar
reinout committed
252
Bugs fixed:
tarek's avatar
tarek committed
253

reinout's avatar
reinout committed
254 255 256 257 258
- 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
259 260


tarek's avatar
tarek committed
261
1.4.2 (2009-11-01)
jim's avatar
jim committed
262 263
==================

264 265
New Feature:

tarek's avatar
tarek committed
266
- Added a --distribute option to the bootstrap script, in order
267 268 269
  to use Distribute rather than Setuptools. By default, Setuptools
  is used.

jim's avatar
jim committed
270 271
Bugs fixed:

272 273 274
- While checking for new versions of setuptools and buildout itself,
  compare requirement locations instead of requirement objects.

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

278 279
- The download API computed MD5 checksums of text files wrong on Windows.

280 281 282 283 284 285 286 287 288 289 290 291 292
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
293 294 295
- Option incrementing and decrementing didn't work for options
  specified on the command line.

reinout's avatar
typos  
reinout committed
296 297
- Scripts generated with relative-paths enabled couldn't be
  symbolically linked to other locations and still work.
jim's avatar
jim committed
298

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

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

jim's avatar
jim committed
303
1.4.0 (2009-08-26)
304 305
==================

306 307 308 309 310
- 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
311 312 313
  for getting the current section name (e.g. ${:_buildout_section_name_}).

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

jim's avatar
jim committed
315 316
- Added annotate command for annotated sections. Displays sections
  key-value pairs along with the value origin.
317

318 319 320 321 322 323
- 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).

324 325 326 327 328
1.3.1 (2009-08-12)
==================

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

329
1.3.0 (2009-06-22)
icemac's avatar
icemac committed
330 331 332
==================

- Better Windows compatibility in test infrastructure.
333

334 335
- 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
336

337 338 339 340 341
- ``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.

342 343
- fixed usage of 'relative_paths' keyword parameter on Windows

344 345
- Added an unload entry point for extensions.

346 347 348
- 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.
349

350 351 352 353 354
1.2.1 (2009-03-18)
==================

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

355
1.2.0 (2009-03-17)
tseaver's avatar
svb  
tseaver committed
356 357
==================

jim's avatar
jim committed
358 359
- 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
svb  
tseaver committed
360

tseaver's avatar
tseaver committed
361
1.1.2 (2009-03-16)
362 363
==================

jim's avatar
jim committed
364 365
- Added Python 2.6 support. Removed Python 2.3 support.

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

369 370 371 372 373
- 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

374 375 376
- Made sure the 'redo_pyc' function and the doctest checkers work with Python
  executable paths containing spaces.

377 378 379 380 381
- Expand shell patterns when processing the list of paths in `develop`, e.g::

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

382 383 384
- 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
385 386 387
- Added Jython support for bootstrap, development bootstrap
  and zc.buildout support on Jython

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

391 392 393 394 395 396 397 398 399 400 401
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
402

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

406 407 408 409 410 411
- 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
412
1.0.6 (2008-06-13)
andreasjung's avatar
andreasjung committed
413 414
==================

415 416 417 418 419 420
- 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)

421 422 423 424 425 426 427 428
- 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
429 430
- further fixes for """AttributeError: Buildout instance has no
  attribute '_logger'""" by providing reasonable defaults
431 432 433
  within the Buildout constructor (related to the new 'allow-hosts' option)
  (patch by Gottfried Ganssauge) (ajung)

andreasjung's avatar
andreasjung committed
434

435
1.0.5 (2008-06-10)
andreasjung's avatar
andreasjung committed
436 437
==================

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

andreasjung's avatar
1.0.4  
andreasjung committed
440
1.0.4 (2008-06-10)
andreasjung's avatar
andreasjung committed
441 442
==================

tarek's avatar
tarek committed
443 444
- Added the `allow-hosts` option (tarek)

icemac's avatar
icemac committed
445
- Quote the 'executable' argument when trying to detect the python
446 447
  version using popen4. (sidnei)

448 449 450
- 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
451 452
- Extended configuration syntax to allow -= and += operators (malthe, mustapha).

453 454 455
1.0.3 (2008-06-01)
==================

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

460
1.0.2 (2008-05-13)
andreasjung's avatar
andreasjung committed
461 462
==================

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

fdrake's avatar
fdrake committed
466
- Added "-t <timeout_in_seconds>" option for specifying the socket timeout.
467
  (ajung)
468

andreasjung's avatar
andreasjung committed
469
1.0.1 (2008-04-02)
470 471
==================

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

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

fdrake's avatar
fdrake committed
477 478
- Applied patch fixing rmtree issues on Windows (patch by
  Gottfried Ganssauge).  (ajung)
479

jim's avatar
jim committed
480 481
1.0.0 (2008-01-13)
==================
jim's avatar
jim committed
482

fdrake's avatar
fdrake committed
483
- Added a French translation of the buildout tutorial.
484

jim's avatar
jim committed
485
1.0.0b31 (2007-11-01)
jim's avatar
jim committed
486 487
=====================

488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503
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
504 505
- 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
506
  versions is intended, especially when creating releases.
jim's avatar
jim committed
507

jim's avatar
jim committed
508 509 510
Bugs Fixed
----------

511 512 513
- 151820: Develop failed if the setup.py script imported modules in
  the distribution directory.

514 515 516
- Verbose logging of the develop command was omitting detailed
  output.

jim's avatar
jim committed
517 518 519 520 521 522 523
- 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
524 525 526
- When using a local find links or index, distributions weren't copied
  to the download cache.

jim's avatar
jim committed
527 528 529 530
- 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.

531 532 533 534 535 536 537 538 539 540 541 542 543 544 545
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
546
1.0.0b29 (2007-08-20)
547 548
=====================

549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565
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.

566 567 568 569 570 571 572 573
- 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.

574 575 576 577 578
Bugs Fixed
----------

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

579 580 581 582 583 584 585 586 587
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
588 589 590 591 592 593 594 595 596
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
597 598 599 600 601 602 603 604 605 606 607 608 609 610
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
611
1.0.0b25 (2007-05-31)
612 613 614 615 616
=====================

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

jim's avatar
jim committed
617
- buildout now changes to the buildout directory before running recipe
618 619
  install and update methods.

620 621 622 623 624 625
- 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
626 627 628 629 630
- 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
631
  zc.buildout logger.  This reduces noise in the output.
jim's avatar
jim committed
632 633 634 635

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

636 637 638
Bugs Fixed
----------

jim's avatar
jim committed
639 640
- 114614: Buildouts could take a very long time if there were
  dependency problems in large sets of pathologically interdependent
icemac's avatar
icemac committed
641
  packages.
jim's avatar
jim committed
642

643 644
- 59270: Buggy recipes can cause failures in later recipes via chdir

645 646 647 648 649
- 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.

650 651
- 75607: buildout should not run if it creates an empty buildout.cfg

jim's avatar
jim committed
652
1.0.0b24 (2007-05-09)
jim's avatar
jim committed
653 654 655 656 657 658 659 660
=====================

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

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

661 662 663
- Added an API for use by recipe writers to clean up created files
  when recipe errors occur.

jim's avatar
jim committed
664 665
- Log installed scripts.

666 667 668 669
Bugs Fixed
----------

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

671
- 113085: Buildout exited with a zero exist status when internal errors
mgedmin's avatar
mgedmin committed
672
  occurred.
673 674


jim's avatar
jim committed
675
1.0.0b23 (2007-03-19)
jim's avatar
jim committed
676 677
=====================

jim's avatar
jim committed
678 679 680 681 682 683 684
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
685
  access.
jim's avatar
jim committed
686

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

jim's avatar
jim committed
690 691 692 693 694 695
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
696
1.0.0b22 (2007-03-15)
jim's avatar
jim committed
697 698 699 700 701
=====================

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

702
- Improved error reporting and debugging support:
703

704 705 706
  - 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
707

708 709
  - 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
710

711 712 713 714 715 716 717 718 719 720
  - 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.
721

722
1.0.0b21 (2007-03-06)
723 724 725 726 727
=====================

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

728 729 730
- Added support for repeatable buildouts by allowing egg versions to
  be specified in a versions section.

jim's avatar
jim committed
731 732 733 734 735 736 737 738 739 740
- 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.

741 742 743
  A default_versions function can be used to set a default value for
  this option.

744 745 746 747
- 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
748 749
- Added a remove testing helper function that removes files or directories.

jim's avatar
jim committed
750
1.0.0b20 (2007-02-08)
jim's avatar
jim committed
751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768
=====================

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
769

jim's avatar
jim committed
770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787
- 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
788 789 790 791 792 793 794 795 796 797
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
798
1.0.0b18 (2007-01-22)
799 800 801 802 803
=====================

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

icemac's avatar
icemac committed
804
- Added documentation for some previously undocumented features of the
805 806
  easy_install APIs.

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

810 811 812
Bugs Fixed
----------

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

816 817 818 819 820 821 822 823
1.0.0b17 (2006-12-07)
=====================

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

- Configuration files can now be loaded from URLs.

jim's avatar
jim committed
824 825 826 827 828 829 830 831 832
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
833
1.0.0b16 (2006-12-07)
834 835
=====================

jim's avatar
jim committed
836 837 838 839 840 841 842 843 844
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.

845 846 847 848 849 850 851
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
852 853 854 855 856 857 858 859 860
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
861
1.0.0b14 (2006-12-05)
jim's avatar
jim committed
862
=====================
amos's avatar
amos committed
863 864 865 866 867 868 869

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

- Added uninstall recipes for dealing with complex uninstallation
  scenarios.

jim's avatar
jim committed
870 871 872 873 874 875 876 877 878
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.

879
1.0.0b13 (2006-12-04)
jim's avatar
jim committed
880 881
=====================

882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906
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
907 908 909 910 911 912 913 914 915
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.


916 917 918 919 920 921 922 923 924 925
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
926 927 928 929 930 931 932
1.0.0b11 (2006-10-24)
=====================

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

`67737 <https://launchpad.net/products/zc.buildout/+bug/67737>`_
icemac's avatar
icemac committed
933
     Verbose and quite output options caused errors when the
jim's avatar
jim committed
934 935 936 937 938 939 940 941 942
     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
943
     configuration.
jim's avatar
jim committed
944

jim's avatar
jim committed
945 946
1.0.0b10 (2006-10-16)
=====================
jim's avatar
jim committed
947 948 949 950

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

jim's avatar
jim committed
951 952 953
- 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
954
  is installed for the first time, or after an uninstall. Otherwise,
jim's avatar
jim committed
955 956
  update is called.  For backward compatibility, recipes that don't
  define update methiods are still supported.
jim's avatar
jim committed
957

icemac's avatar
icemac committed
958 959
- If a distribution defines namespace packages but fails to declare
  setuptools as one of its dependencies, we now treat setuptools as an
960 961 962
  implicit dependency.  We generate a warning if the distribution
  is a develop egg.

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

965 966 967 968 969 970
Bugs Fixed
----------

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

971 972 973 974 975
- 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
976 977
- When installing zip-safe eggs from local directories, the eggs were
  moved, rather than copied, removing them from the source directory.
978

jim's avatar
jim committed
979 980 981 982 983 984 985 986
1.0.0b9 (2006-10-02)
====================

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

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

jim's avatar
jim committed
987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001
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
1002 1003 1004 1005 1006 1007 1008 1009 1010
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
1011 1012 1013 1014 1015 1016 1017 1018 1019
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
1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052
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
1053
- Fixed some bugs in variable substitutions.
jim's avatar
jim committed
1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097

  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