Release Notes - Version 0.11.x

Version 0.11.14

  • Better Windows support #568

Version 0.11.13

  • Implement PyBuilder access to git describe #565

Version 0.11.12

  • Fix for #523 for the 0.11 branch #527

Version 0.11.11

  • FINAL VERSION TO SUPPORT PYTHON 2.6/3.3
  • Final 0.11.x release #505
  • using / as path separator in setup.py #488
  • Move setuptools to 35.x #478
  • Update setuptools to ~=34.0 #465

Version 0.11.10

  • Allow obsoleting packages with “obsoletes” #456
  • PyBuilder needs to depend on modern setuptools #452
  • Allow specifying python version constraint #450
  • Add Python 3.6 support #446
  • Copy resource doesn’t include the LICENSE file in the distro #443
  • Coverage plugin fails when fails to load covered module #441
  • Increasing test coverage on vcs_tests.py #439
  • Allow modifying default targets similar to manner of adding them in #412 #438
  • Fix PyPI documentation #435
  • PyBuilder’s setup.py broken when pandoc>=1.18 is installed with pypandoc~=1.2.0 #429
  • python.distutils plugin: setup.py keywords #424
  • Flake8 3.2.0 broke the build #420
  • Uptake new PIP upgrade features #416
  • Allow to append build targets to default from command line #413
  • Generate package summary and description based on a README.md #408
  • Wrong dependency version error formatting #405
  • Fix paths in the Sphinx PyB quickstart and runtime configuration #403
  • Wrong logging level for sphinx_generate_documentation #401
  • Sphinx configuration should share PyB at runtime #398 #399
  • Color escape sequence not properly terminated #390
  • Harden expand_path for Windows and safe_log_file_name #393
  • Pathing issues on pypi upload on Windows #391
  • python.distutils plugin doesn’t support namespace_packages #385
  • Coverage should be setup to cover multiprocessing and forks #384
  • Recursive dependency upgrades should be subject to global version constraints #380
  • Coverage for missing modules should cause a failure #377

Version 0.11.9

  • adding count_travis #372
  • Fix path separators and protect log file names on Windows #371
  • include_directory fix for manifest and setup.py #367
  • use shutil.rmtree instead of os.removedirs #365
  • implement get_git_hash #363
  • Entry-points should handle a single entry correctly #359
  • Add a proper pdoc plugin #353
  • @dependents ignores customized task name #357
  • @dependents does not inject dependencies from plugin if task is already defined earlier #355
  • PyBuilder install_dependencies behavior should mirror #340 #347
  • Sphinx indicates failure with -v but not without it #350

Version 0.11.8

  • Support for pip trusted hosts #341
  • Add possibility to specify plugin versions #340
  • Fix issue in generated setup.py #332

Version 0.11.7

  • Pin unittest-xml-reporting dependency to maintain py2.6 support #333 (thanks @snordhausen)
  • Distutils upload signing #325
  • Ability to customize packaging options ad nauseam #331
  • Success message after generating setup.py in --start-project
  • Windows fixes (thanks @Lucas-C and @guillermooo).

Version 0.11.6

  • Cram plugin can now run cram from the target directory and does so by default #318

Version 0.11.5

  • Update cram plugin to use the ‘outside’ environment #316
  • Honor pylint options #315

Version 0.11.4

  • install_dependencies_(extra_)index_url should affect all PIP operations #313
  • Task install_dependencies doesn’t work in version 0.11.3 #311
  • Allow dynamic discovery entry_points configuration #309

Version 0.11.3

  • Coverage plugin now excludes namespaces (not backed by an actual source file) #301
  • Installing dependencies with use of an HTTPS proxy is now possible #299
  • Python 3.5 issue resolved #287
  • External tool dependencies for plugins are now properly updated #272
  • pyb install now forces the reinstallation #282
  • Cram now handles the case where there are no tests #280
  • Plugins can be installed via VCS #276
  • PyBuilder projects can be installed via URL-based install #200
  • Plugins can now find out if a task is in the current execution plan #275
  • Handling system exits gracefully #255
  • Plugin-specified constraints for PyBuilder API version #257
  • pyb -o now properly excludes all optional tasks #263
  • Fixed missing xmlrunner dependency #267
  • pyb -T shows build plan #262
  • Possibility to inject tasks as dependent #188
  • Fixed egg/wheel shebangs #168
  • Optional automatic version augmentation based on .dev releases #209
  • Upload repository for distutils upload task now works #243
  • Fixed issue with @task decorator
  • New tasks for printing module and script directory path #208
  • Support for setuptools pre- and post-install logic #227
  • Flake8 plugin now checks for directory existence before including it #230
  • Helpful error message when pyb -t is not called in the project root directory #226

Version 0.11.2

  • Added project.include_directory functionality #223. Pull request by @glujan
  • Coverage plugin will not reset modules per default (only if coverage_reset_modules is set to True) #211.
  • Coverage forking disabled for windows OS #184
  • Coverage / branch coverage discrepancy fix #203
  • Resolved flake8 plugin filtering issue #202
  • New plugin for debian packaging by @locolupo #190
  • The distutils plugin can now upload distributions #187
  • Resolved issue with install_dependencies on windows OS #185.

Version 0.11.1

  • The 0.11.0 metadata claimed to support python 3.2. This has been fixed.

Version 0.11.0

  • Nearly this entire release is courtesy of arcivanov. Thanks!!!
  • Introduced reactor.execute_task_shortest_plan API.
  • Fixed an issue where a forked coverage measurement would not properly failed the build.
  • unit test and coverage measurement are now library functions in an API sense.
  • pyb install now works and acts like setup.py install (distutils plugin).
  • PyBuilder can now be installed with pip install git://github.com/pybuilder/pybuilder.git@<branch>
  • Forked processes (like coverage measurements) now correctly report back their errors.
  • Huge improvements to coverage accuracy when building PyBuilder itself / libraries which use part of their own code in order to build, e.G. if you run library code in build.py.
  • Branch coverage and html reports have been added to the python.coverage plugin.
  • The python.coverage process will now always fork when measuring coverage, disregarding the coverage_fork setting. The coverage_fork setting is now deprecated.
  • The python.unittest plugin will now always fork.
  • Module reloading has been removed. It is no longer useful since coverage and unit tests run in separate forks.
  • unittest_runner must now accept a positional argument which is a filelike object. Writing to this filelike object is preferred rather than using stdout/stderr.
  • Introduced teardown actions. Also action ordering is now stable/guaranteed.
  • Introduced optional task dependencies (as opposed to required task dependencies). With the command line switch -x task_name a set of optional tasks can be skipped (repeat if required). With the command line switch --force-exclude this can be expanded to exclude required dependencies as well (but might lead to build consistency problems).
  • Python 3.2 support has been dropped, please upgrade to 3.3 or 3.4
  • The python.unittest plugin now generates nUnit-style XML reports by default (these can be parsed by jenkins).