Upgrading build 0.10 to 1
Breaking0.10.0 → 1.6.1Security1Platform1New6Changed8Fixed25Other64
Fetching 18 releases from GitHub…13 / 18
BreakingUpgrade verdict
A platform requirement change and a security fix.
In plain terms
- This version no longer runs on Python 3.8, so users on 3.8 must upgrade Python.
- Closes a workflow security weakness where untrusted input could be injected into templates.
Must act 2 items need code or config changes
Python requirement changed in 1.5.0: >= 3.7 → >=3.10.
What you must change
Security1
Avoids a template injection issue flagged by zizmor.
Platform1
Drops support for Python 3.8.
API changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- removed:
class BuildBackendException(Exception) - removed:
class BuildException(Exception) - removed:
class BuildSystemTableValidationError(BuildException) - removed:
class FailedProcessError(Exception) - removed:
class ProjectBuilder - removed:
class TypoWarning(Warning) - removed:
constructor BuildBackendException(exception: Exception, description: str | None=…, exc_info: _ExcInfoType=…) -> None - removed:
constructor FailedProcessError(exception: subprocess.CalledProcessError, description: str) -> None - removed:
constructor ProjectBuilder(srcdir: PathType, python_executable: str=…, scripts_dir: str | None=…, runner: RunnerType=…) -> None - removed:
function check_dependency(req_string: str, ancestral_req_strings: tuple[str, ...]=…, parent_extras: Set[str]=…) -> Iterator[tuple[str, ...]] - removed:
method ProjectBuilder.build(distribution: str, output_directory: PathType, config_settings: ConfigSettingsType | None=…, metadata_directory: str | None=…) -> str - removed:
method ProjectBuilder.check_dependencies(distribution: str, config_settings: ConfigSettingsType | None=…) -> set[tuple[str, ...]] - removed:
method ProjectBuilder.get_requires_for_build(distribution: str, config_settings: ConfigSettingsType | None=…) -> set[str] - removed:
method ProjectBuilder.metadata_path(output_directory: PathType) -> str - removed:
method ProjectBuilder.prepare(distribution: str, output_directory: PathType, config_settings: ConfigSettingsType | None=…) -> str | None - removed:
property ProjectBuilder.build_system_requires -> set[str] - removed:
property ProjectBuilder.python_executable -> str - removed:
property ProjectBuilder.scripts_dir -> str | None - removed:
property ProjectBuilder.srcdir -> str - removed:
static method ProjectBuilder.log(message: str) -> None - removed:
variable ConfigSettingsType - removed:
variable RunnerType - added:
export BuildBackendException - added:
export BuildException - added:
export BuildSystemTableValidationError - added:
export ConfigSettingsType - added:
export DistributionType - added:
export FailedProcessError - added:
export ProjectBuilder - added:
export RunnerType - added:
export TypoWarning - added:
export check_dependency
- removed:
class IsolatedEnvBuilder - removed:
constructor IsolatedEnvBuilder() -> None - removed:
method IsolatedEnv.install(requirements: Collection[str]) -> None - removed:
property IsolatedEnv.executable -> str - removed:
property IsolatedEnv.scripts_dir -> str - removed:
static method IsolatedEnvBuilder.log(message: str) -> None - changed:
class IsolatedEnv → class IsolatedEnv(typing.Protocol) - added:
class DefaultIsolatedEnv(IsolatedEnv) - added:
constructor DefaultIsolatedEnv(*, installer: Installer=…, path: str | None=…) -> None - added:
method DefaultIsolatedEnv.install(requirements: Collection[str], constraints: Collection[str]=…, *, _fresh: bool=…) -> None - added:
method DefaultIsolatedEnv.installed_versions(requirements: Collection[str]) -> dict[str, str] - added:
method DefaultIsolatedEnv.make_extra_environ() -> dict[str, str] - added:
method IsolatedEnv.make_extra_environ() -> Mapping[str, str] | None - added:
property DefaultIsolatedEnv.path -> str - added:
property DefaultIsolatedEnv.python_executable -> str - added:
property IsolatedEnv.python_executable -> str
- changed:
function project_wheel_metadata(srcdir: build.PathType, isolated: bool=…) -> importlib_metadata.PackageMetadata → function project_wheel_metadata(source_dir: StrPath, isolated: bool=…, *, runner: SubprocessRunner=…) -> importlib.metadata.PackageMetadata