Skip to content

Latest commit

 

History

History
305 lines (213 loc) · 11 KB

CHANGELOG.rst

File metadata and controls

305 lines (213 loc) · 11 KB

Changelog

Unreleased

  • Accept os.PathLike[str] in addition to str for paths in public API (PR #392, Fixes #372)
  • Add schema validation for build-system table to check conformity with PEP 517 and PEP 518 (PR #365, Fixes #364)
  • Better support for Python 3.11 (sysconfig schemes PR #434, PR #463, tomllib PR #443, warnings PR #420)
  • Improved error printouts (PR #442)
  • Avoid importing packaging unless needed (PR #395, Fixes #393)

0.7.0 (16-09-2021)

  • Add build.util module with an high-level utility API (PR #340)

0.6.0.post1 (05-08-2021)

  • Fix compatibility with Python 3.6 and 3.7 (PR #339, Fixes #338)

0.6.0 (02-08-2021)

  • Improved output (PR #333, Fixes #142)
  • The CLI now honors NO_COLOR (PR #333)
  • The CLI can now be forced to colorize the output by setting the FORCE_COLOR environment variable (PR #335)
  • Added logging to build and build.env (PR #333)
  • Switch to a TOML v1 compliant parser (PR #336, Fixes #308)

Breaking Changes

  • Dropped support for Python 2 and 3.5.

0.5.1 (22-06-2021)

  • Fix invoking the backend on an inexistent output directory with multiple levels (PR #318, Fixes #316)
  • When building wheels via sdists, use an isolated temporary directory (PR #321, Fixes #320)

0.5.0 (19-06-2021)

  • Add ProjectBuilder.metadata_path helper (PR #303, Fixes #301)
  • Added a build.__main__.build_package_via_sdist method (PR #304)
  • Use appropriate installation scheme for Apple Python venvs (PR #314, Fixes #310)

Breaking Changes

  • Binary distributions are now built via the sdist by default in the CLI (PR #304, Fixes #257)
    • python -m build will now build a sdist, extract it, and build a wheel from the source
  • As a side-effect of PR #304, build.__main__.build_package no longer does CLI error handling (print nice message and exit the program)
  • Importing build.__main__ no longer has any side-effects, it no longer overrides warnings.showwarning or runs colorama.init on import (PR #312)

0.4.0 (23-05-2021)

  • Validate that the supplied source directory is valid (PR #260, Fixes #259)
  • Set and test minimum versions of build's runtime dependencies (PR #267, Fixes #263)
  • Use symlinks on creating venv's when available (PR #274, Fixes #271)
  • Error sooner if pip upgrade is required and fails (PR #288, Fixes #256)
  • Add a runner argument to ProjectBuilder (PR #290, Fixes #289)
  • Hide irrelevant pep517 error traceback and improve error messages (PR #296)
  • Try to use colorama to fix colors on Windows (PR #300)

Breaking Changes

  • As a side-effect of PR #260, projects not containing either a pyproject.toml or setup.py will be reported as invalid. This affects projects specifying only a setup.cfg, such projects are recommended to add a pyproject.toml. The new behavior is on par with what pip currently does, so if you are affected by this, your project should not be pip installable.
  • The --skip-dependencies option has been renamed to --skip-dependency-check (PR #297)
  • The skip_dependencies argument of build.__main__.build_package has been renamed to skip_dependency_check (PR #297)
  • build.ConfigSettings has been renamed to build.ConfigSettingsType (PR #298)
  • build.ProjectBuilder.build_dependencies to build.ProjectBuilder.build_system_requires (PR #284, Fixes #182)
  • build.ProjectBuilder.get_dependencies to build.ProjectBuilder.get_requires_for_build (PR #284, Fixes #182)

0.3.1 (09-03-2021)

  • Support direct usage from pipx run in 0.16.1.0+ (PR #247)
  • Use UTF-8 encoding when reading pyproject.toml (PR #251, Fixes #250)

0.3.0 (19-02-2021)

  • Upgrade pip based on venv pip version, avoids error on Debian Python 3.6.5-3.8 or issues installing wheels on Big Sur (PR #229, PR #230, Fixes #228)
  • Build dependencies in isolation, instead of in the build environment (PR #232, Fixes #231)
  • Fallback on venv if virtualenv is too old (PR #241)
  • Add metadata preparation hook (PR #217, Fixes #130)

0.2.1 (09-02-2021)

  • Fix error from unrecognised pip flag on Python 3.6.0 to 3.6.5 (PR #227, Fixes #226)

0.2.0 (07-02-2021)

  • Check dependencies recursively (PR #183, Fixes #25)
  • Build wheel and sdist distributions in separate environments, as they may have different dependencies (PR #195, Fixes #194)
  • Add support for pre-releases in check_dependency (PR #204, Fixes #191)
  • Fixes console scripts not being available during build (PR #221, Fixes #214)
  • Do not add the default backend requirements to requires when no backend is specified (PR #177, Fixes #107)
  • Return the sdist name in ProjectBuild.build (PR #197)
  • Improve documentation (PR #178, PR #203)
  • Add changelog (PR #219, Fixes #169)

Breaking changes

  • Move config_settings argument to the hook calls (PR #218, Fixes #216)

0.1.0 (29-10-2020)

  • Moved the upstream to PyPA
  • Fixed building with isolation in a virtual environment
  • Added env.IsolatedEnv abstract class
  • Added env.IsolatedEnvBuilder (replaces env.IsolatedEnvironment usages)
  • Added python_executable argument to the ProjectBuilder constructor
  • Added --version/-V option to the CLI
  • Added support for Python 3.9
  • Added py.typed marker
  • Various miscellaneous fixes in the virtual environment creation
  • Many general improvements in the documentation
  • Documentation moved to the furo theme
  • Updated the CoC to the PSF CoC, which PyPA has adopted

Breaking changes

  • Renamed the entrypoint script to pyproject-build
  • Removed default arguments from all paths in ProjectBuilder
  • Removed ProjectBuilder.hook
  • Renamed __main__.build to __main__.build_package
  • Changed the default outdir value to {srcdir}/dest
  • Removed env.IsolatedEnvironment

0.0.4 (08-09-2020)

  • Packages are now built in isolation by default
  • Added --no-isolation/-n flag to build in the current environment
  • Add --config-setting/-C option to pass options to the backend
  • Add IsolatedEnvironment class
  • Fix creating the output directory if it doesn't exit
  • Fix building with in-tree backends
  • Fix broken entrypoint script (python-build)
  • Add warning about incomplete verification when verifying extras
  • Automatically detect typos in the build system table
  • Minor documentation improvements

0.0.3.1 (10-06-2020)

  • Fix bug preventing the CLI from being invoked
  • Improved documentation

0.0.3 (09-06-2020)

  • Misc improvements
  • Added documentation

0.0.2 (29-05-2020)

  • Add setuptools as a default fallback backend
  • Fix extras handling in requirement strings

0.0.1 (17-05-2020)

  • Initial release