Changelog
0.40.4 (2024-10-04)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Always run `uv sync` | thomas.pellissier-tanon@helsing.ai |
0.40.3 (2024-09-03)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Add -v flag when running `pyproject-build` in `UvPythonBuildSystem` | @NiklasRosenstein | ||
Feature | Add `PythonBuildSystem.build_v2()` which receives the settings in addition to the output directory | @NiklasRosenstein | ||
Fix | Pass `UV_INDEX_URL` and `UV_EXTRA_INDEX_URL` env variables when invoking `pyproject-build` | @NiklasRosenstein |
0.40.2 (2024-09-02)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | fix accidental import of dataclass from `attrs` instead of `dataclasses` | @NiklasRosenstein | ||
Fix | Add missing `uv` dependency to `kraken-build` and bump it to `^0.4.2` for kraken-wrapper | @NiklasRosenstein | ||
Hygiene | Make use of existing function `inject_url_credentials()` in Kraken-wrapper | @NiklasRosenstein | ||
Fix | Sanitize command to remove basic auth from URLs when logging install command in kraken-wrapper (fixes #246) | 246 | @NiklasRosenstein |
0.40.0 (2024-09-02)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | Extend pytest task to accept a sequence of paths that contain test files. | @sebimarkgraf | ||
Feature | Add Python build-system support for Uv (https://docs.astral.sh/uv/guides/projects/) | @NiklasRosenstein | ||
Fix | Use `fsdecode()` on result from `find_uv_bin()` for enhanced compatbility | @NiklasRosenstein | ||
Fix | Fix `inject_url_credentials()` to not drop port | @NiklasRosenstein |
0.39.0 (2024-08-19)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | Cargo Publishing : Skip publishing packages that already exists in the registry | @jcaille | ||
Fix | Replace use of deprecated `datetime.utcnow()` with `datetime.now(timezone.utc)` | @NiklasRosenstein |
0.38.1 (2024-08-15)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Fix `dist()` function not using `TaskSet` correctly (regression introduced in 0.37.0, 8840ec5), add `TaskSet.build()` to compensate | @NiklasRosenstein |
0.38.0 (2024-08-06)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Replace `rich` logger with `loguru` which produces nicer log formatting and requires less setup | @NiklasRosenstein | ||
Feature | Add `buildscript(interpreter_constraint)` argument | @NiklasRosenstein | ||
Fix | Detect Pyenv shims in interpreter constraint matching and ignore them by default; and if not ignore, then do not commit their version to the cache as the Python version they represent might change. | @NiklasRosenstein | ||
Feature | Propagate `SSL_CERT_FILE` or `REQUESTS_CA_BUNDLE` environment variable to PDM repository configuration on non-Linux systems (due to https://github.com/pdm-project/pdm/issues/3076) | @NiklasRosenstein | ||
Improvement | Permit PyPI index URLs with trailing slash (e.g. `.../simple/`) in `PythonSettings.add_package_index()` | @NiklasRosenstein | ||
Fix | Relative local dependencies in `buildscript(requirements)` are now resolved relative to the project root where `buildscript()` is called. | 263 | @NiklasRosenstein |
0.37.3 (2024-08-02)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Accept `Address` in `dist(dependencies)` when passing a map | @NiklasRosenstein | ||
Improvement | Accept `Address` in more places where previously only a string for a task address was accepted | @NiklasRosenstein |
0.37.2 (2024-08-02)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Update `dist(dependencies)` to accept `Address` values now that `Task.path` is removed. | @NiklasRosenstein |
0.37.1 (2024-08-02)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Deprecation | Deprecate `gitignore(gitignore_io_tokens, gitignore_io_allow_http_request_backfill)` | @NiklasRosenstein | ||
Feature | Add `kraken.std.git.gitignore_extend()` function | @NiklasRosenstein | ||
Breaking change | Remove `Project.do()` as it was deprecated for a long time. Use `Project.task()` instead | @NiklasRosenstein | ||
Fix | Temporarily remove @deprecated from Task.outputs; the API is actively used and we have no replacement API for it | @NiklasRosenstein |
0.37.0 (2024-08-02)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Refactor | Renamed `Pyproject` into `TomlFile` for better capturing what it does and moved it to `kraken.common.toml`. | alexandre.ghelfi@helsing.ai | ||
Docs | Fixing typo in README | alexandre.ghelfi@helsing.ai | ||
Refactor | move `kraken.std.git.gitignore.parser` to `kraken.common.gitignore` | @NiklasRosenstein | ||
Hygiene | Eliminate `nr-io-graphviz` dependency and update `databind` to min `4.5.0` | @NiklasRosenstein | ||
Refactor | Eliminate `nr-stream` dependency | @NiklasRosenstein | ||
Fix | Add missing `py.typed` marker for `kraken.build` module | @NiklasRosenstein | ||
Breaking change | Remove a lot of long deprecated APIs | 268 | @NiklasRosenstein |
0.36.12 (2024-07-04)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | Enable Ruff through RuffTask for formatting and linting | alexandre.ghelfi@helsing.ai | ||
Fix | Allow auth check against any host with jfrog in the name | alex.spencer@helsing.ai |
0.36.11 (2024-06-27)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Pyupgrade: Fixed "exclude" option treated relative to project directory, not CWD | @NiklasRosenstein |
0.36.10 (2024-06-27)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Twine: Change default version requirement from `>=4.0.2,<5.0.0` to `>=5.0.0,<6.0.0`. This is a fix because earlier versions of Twine read their `twine.__license__` field from a `importlib_metadata` field but it was moved to a trove classifier in newer versions of `importlib_metadata`. See https://github.com/pypa/twine/pull/968 for more context. | @NiklasRosenstein |
0.36.9 (2024-06-13)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Bump `uv` to `^0.2.11` | @NiklasRosenstein | ||
Improvement | Add `PexBuildTask.verbose` property and make it default to `False` (used to be not configurable and enabled by default) | @NiklasRosenstein |
0.36.8 (2024-06-11)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Default to always show colors for colored output produced by Kraken itself and added a `--no-color` option to the `kraken` CLI | 245 | @NiklasRosenstein | |
Feature | Add `kraken.common.colored` function | @NiklasRosenstein | ||
Hygiene | Remove `kraken.core.system.executor.colored module`; it was duplicate dead code that already existed in `kraken.core.cli.executor` | @NiklasRosenstein | ||
Improvement | Task status messages are now printed in grey | @NiklasRosenstein |
0.36.7 (2024-06-04)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Change `DEFAULT_INTERPETER_CONSTRAINT` from `>=3.10,<3.11` to `>=3.10` -- Kraken is compatible with Python 3.11 and 3.12 due to the Dill 0.3.8 release for quite some time now, but we have forgotten to update this value. | @NiklasRosenstein |
0.36.6 (2024-05-31)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | added an optional overwrite option for RenderFileTask | uluc.sengil@helsing.ai |
0.36.5 (2024-04-12)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Move generated .gitignore around so user-provided definitions can overwrite API-provided ones | uluc.sengil@helsing.ai | ||
Improvement | Expose the `locked` property of `CargoBuildTask` via the `cargo_build` helper function | uluc.sengil@helsing.ai | ||
Improvement | Upgrade keyring to v25 | @NiklasRosenstein | ||
Improvement | update dependency httpx to ^0.27.0 | @NiklasRosenstein | ||
Improvement | update dependency pyartifactory to v2 | @NiklasRosenstein | ||
Improvement | update dependency termcolor to v2 | @NiklasRosenstein | ||
Hygiene | `CargoManifest.read()` now raises a `ValueError` if the manifest has neither a `[package]` nor a `[workspace]` section rather than a `pydantic.ClassError` | @NiklasRosenstein |
0.36.4 (2024-03-26)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Fix `BuildxBuildTask.execute()` accessing `self.cache_from/cache_to` incorrectly | niklas.rosenstein@helsing.ai |
0.36.3 (2024-03-26)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | Add `BuildxBuildTask.cache_from` and `.cache_to` properties | niklas.rosenstein@helsing.ai |
0.36.2 (2024-03-25)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | `Project.subproject(mode="if-exists")` now loads the project if it exists, instead of not loading it and only returning it if it has been loaded before. Added new `"or-none"` mode for the old behaviour. | niklas.rosenstein@helsing.ai |
0.36.1 (2024-03-21)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Add `PythonSettings.get_primary_index()` that supports both `PackageIndex.Priority.primary` and `PackageIndex.Priority.default` | niklas.rosenstein@helsing.ai |
0.36.0 (2024-03-21)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Breaking change | Remove support for BuildDSL as build script language | niklas.rosenstein@helsing.ai | ||
Fix | Fix possible undefined variable in `kraken.std.util.urk.redact_url_password()` | niklas.rosenstein@helsing.ai | ||
Fix | Use `http_probe()` to wait for `mitmweb` proxy to come up | niklas.rosenstein@helsing.ai | ||
Feature | Add `kraken.std.util.http.http_probe()` | niklas.rosenstein@helsing.ai | ||
Breaking change | Remove `CargoAuthProxy.startup_wait_time` and `start_mitm_proxy(startup_wait_time)` | niklas.rosenstein@helsing.ai | ||
Breaking change | Remove `Container.probe()` in favor of `kraken.std.util.http.http_probe()` | niklas.rosenstein@helsing.ai | ||
Breaking change | Remove deprecated `KanikoExecutor._render_main_script()` and `._get_kaniko_executor_command()` | niklas.rosenstein@helsing.ai | ||
Fix | Fix `pyupgrade()` not passing the Pex built pyupgrade to the format task | niklas.rosenstein@helsing.ai |
0.35.7 (2024-03-19)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | Support URL requirements in `buildscript(requirements)` | @NiklasRosenstein |
0.35.6 (2024-03-15)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Fix that updating the `pyproject.toml` is continuously outdated in certain cases | 221 | niklas.rosenstein@helsing.ai | |
Fix | Fixed dictionary keys changed during iteration" error in `PoetryPyprojectHandler.set_path_dependencies_to_version()` which seems to be caused by `tomlkit` even when modifying an existing key but setting it to a different value/type | 223 | niklas.rosenstein@helsing.ai | |
Fix | Pass the PEX-built `pycln` binary also to the Pycln format task (was only passed to the check variant) | 222 | niklas.rosenstein@helsing.ai |
0.35.5 (2024-03-14)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | Add `pex_set_default_index_url()` function | niklas.rosenstein@helsing.ai |
0.35.4 (2024-03-14)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Use `tomlkit` instead of `tomli`/`tomli-w` packages to read/write Pyproject; this preserves comments in the `pyproject.toml` | @NiklasRosenstein | ||
Fix | Do not fail when building the same PEX file twice | @Tpt | ||
Fix | Fixed an issue where when the DaemonController fails to start the daemon process, the fork of the Kraken process continues, resulting in two copies of the process trying to run to completion, e.g. executing tasks from this point on. | niklas.rosenstein@helsing.ai | ||
Improvement | Add `PythonBuildSystem.bump_version()` function with a single implementation for Poetry/Maturin/Pdm which correctly reverts to the original file contents. Note that reverting is still not supported for Slap | niklas.rosenstein@helsing.ai | ||
Improvement | Remove mitmweb dependency, install it with PEX instead. Print mitmweb proxy and UI URLs in the CargoAuthProxy task | niklas.rosenstein@helsing.ai |
0.35.3 (2024-03-13)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Breaking change | Make Buffrs tasks compatible with Buffrs 0.8 -- introduce `registry` field to publish and use `--set-version` option instead of temporarily updating `Proto.toml`. Removed `BuffrsGenerateTask` | 217 | niklas.rosenstein@helsing.ai |
0.35.2 (2024-03-06)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Set `cargo:token` by default (fix regression introduced in #213) | niklas.rosenstein@helsing.ai |
0.35.1 (2024-03-06)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Revert setting credentials providers by default in `.cargo/config.toml` with the `:cargoSyncConfig` task | niklas.rosenstein@helsing.ai |
0.35.0 (2024-03-05)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | Make Rust builds respect Cargo.lock when present | jon.gjengset@helsing.ai | ||
Improvement | Improve Windows support in `krakenw` by supporting the `PYENV` env-var and using the right `pyhon.exe` path on Windows | @NiklasRosenstein | ||
Fix | Do not use `dmypy` on Windows | @NiklasRosenstein | ||
Improvement | Move bump version into publish | colin.mikolajczak@helsing.ai | ||
Improvement | Add task to login in all cargo registries | quentin.santos@helsing.ai | ||
Fix | Fix passing the actual list of tasks to `BuildError` and turn `BuildError.failed_tasks` into `Set[Task]` from `Set[str]` | niklas.rosenstein@helsing.ai | ||
Feature | Add shellcheck capabilities | niklas.rosenstein@helsing.ai |
0.34.1 (2024-02-16)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Fix warning about corrupt virtual environment also showing when there is no trace of any prior virtual environment | @NiklasRosenstein | ||
Fix | Fix using the default installer as configured with `krakenw config --installer=...` | @NiklasRosenstein |
0.34.0 (2024-02-16)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | Add `workspace`, `all_features` and `deny_warnings` properties to `CargoClippyTask`. | 182 | @tomkarw | |
Hygiene | Protect against NPE | vincent.siles@helsing.ai | ||
Feature | Add support for installing Kraken build environments with `uv` (https://astral.sh/blog/uv) | @NiklasRosenstein | ||
Feature | add `krakenw config` command that allows to configure the default installer (VENV or UV) | @NiklasRosenstein |
0.33.2 (2024-01-31)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Upgrade Dill to `>=0.3.8,<0.4.0` which added support for Python 3.11+ | niklas.rosenstein@helsing.ai | ||
Feature | add `kraken.std.docs.mkdocs.mkdocs()` | niklas.rosenstein@helsing.ai |
0.33.1 (2024-01-12)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Use `--upgrade-deps` option to `python -m venv` instead of calling `pip install --upgrade pip` separately after Venv creation | niklas.rosenstein@helsing.ai | ||
Improvement | Accept `str` for `pytest(tests_dir, ignore_dirs, include_dirs)` arguments | niklas.rosenstein@helsing.ai | ||
Improvement | Store a `.success.flag` file in the virtual build environment to know if the Virtual environment installation was successful. | 24 | niklas.rosenstein@helsing.ai | |
Fix | Catch `Property.Deferred` exception in `kraken query describe` | niklas.rosenstein@helsing.ai | ||
Improvement | Update Python `PublishTask` to use Twine as a PEX, removing the `twine` dependency in `kraken-build` itself, and adding the `--verbose` flag | 165 | niklas.rosenstein@helsing.ai | |
Improvement | Use latest Pip version and resolver in Pex, and use `--venv prepend` for Novella | niklas.rosenstein@helsing.ai | ||
Feature | Add `GetItemSupplier` and `Supplier.__getitem__()` | niklas.rosenstein@helsing.ai | ||
Improvement | Add `PexBuildTask.output_scripts_dir` and `.output_scripts` properties | niklas.rosenstein@helsing.ai | ||
Feature | add `NovellaTask()` and `novella()` factory function to build documentation with [Novella](https://github.com/NiklasRosenstein/novella/) | niklas.rosenstein@helsing.ai |
0.33.0 (2024-01-10)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | Add `version_spec` argument to `black()`, `flake8()`, `isort()`, `mypy()`, `pycln()`, `pylint()` and `pyupgrade()` factory functions | niklas.rosenstein@helsing.ai | ||
Improvement | Drastically improve the performance of `kraken.common.findpython.get_candidates()` on Windows and WSL where you would until now test the entire C:/Windows/System32 folder for executable access. | @NiklasRosenstein | ||
Feature | Add `kraken.build` module which allows importing the current `context` and `project` from a build script as if calling `Context.current()` or `Project.current()` | @NiklasRosenstein | ||
Feature | Add a `PexBuildTask` and add support for most Python tooling tasks to defer to an alternative binary (which the DAG builder can use to point to a PEX) | niklas.rosenstein@helsing.ai |
0.32.6 (2024-01-07)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | Add sqlx database create and drop tasks | nicolas.vizzari@helsing.ai | ||
Improvement | `Currentable.as_current()` now returns self | @NiklasRosenstein | ||
Feature | Add `pytest(include_dirs)` to add additional directories for testing | @NiklasRosenstein |
0.32.4 (2023-12-14)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Remove PEX code from Kraken-wrapper. No one is using that! | niklas.rosenstein@helsing.ai |
0.32.3 (2023-12-14)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Relax Python version constraint for the kraken-wrapper, but we still recommend using Python 3.10 for Kraken because of Dill | niklas.rosenstein@helsing.ai |
0.32.2 (2023-12-14)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Breaking change | Move `kraken-wrapper` code back into its own package, remove `kraken-core`, `kraken-common` and `kraken-std` (those are not usually depended on directly at the moment anyway) | 141 | niklas.rosenstein@helsing.ai | |
Fix | Fixed a bug in `--all` option supported by all graph commands (e.g. `kraken run` and the `kraken query` commands) that made the argument not recognized. | niklas.rosenstein@helsing.ai |
0.32.1 (2023-12-13)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Enable cargo:token as a global-credential-provider; this is required since 1.74, which brings authenticated priviate registries | 140 | quentin.santos@helsing.ai |
0.32.0 (2023-12-12)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Merge `kraken-common`, `kraken-core`, `kraken-std` and `kraken-wrapper` packages into a single `kraken-build` package. | 125 | @NiklasRosenstein | |
Improvement | Calling `buildscript()` from a Kraken project that is not the root project will now raise a `RuntimeError`. | 130 | 124 | @NiklasRosenstein |
Improvement | Remove use of `pkg_resources` and replace it with `importlib.metadata` and `packaging.requirements` instead. | 129 | 126 | @NiklasRosenstein |
Improvement | Add flag to run all workspace tests | 135 | @asmello | |
Fix | Accept gitconfig with several occurrences of the same section | 136 | @qsantos | |
Breaking change | Remove `kraken.std.http` module, use `kraken.common.http` instead | niklas.rosenstein@helsing.ai | ||
Tests | Add a unit test for a real-world example of a DAG that failed the expected behavior of `TaskGraph.mark_tasks_as_skipped()`. | 138 | niklas.rosenstein@helsing.ai | |
Fix | Replace `Tasks.mark_tasks_as_skipped()` with a simpler implementation that also fixes an issues with second-degree tasks being marked as skipped even if they should not be. | 138 | niklas.rosenstein@helsing.ai | |
Fix | Allow extra keys when parsing the Cargo manifest `[bin]` section | 139 | 134 | niklas.rosenstein@helsing.ai |
0.31.7 (2023-10-10)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | Added buffrs login/install/generate to kraken.std. Allow cargo_build to depend on task(s), i.e. buffrs install | kraken-build/kraken-build#120 | alex.spencer@helsing.ai | |
Fix | Confine buf command to current working directory of project | kraken-build/kraken-build#122 | alex.spencer@helsing.ai |
0.31.6 (2023-09-28)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Improve errors that could be raised by the `TaskGraph` when a `not_none()` expectation is not met. | kraken-build/kraken-build#119 | rosensteinniklas@gmail.com | |
Fix | Fixed to recompute hash for `Address` after deserialization. | kraken-build/kraken-build#121 | rosensteinniklas@gmail.com |
0.31.5 (2023-09-19)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Set `docker buildx build --provenance=false` by default to avoid pushing a list manifest by default. | kraken-build/kraken-build#118 | @NiklasRosenstein |
0.31.4 (2023-09-19)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Fixed a bug where tasks that are dependencies of another task excluded with the `-X` option (recursive exclude) would be tagged unconditionally to be skipped during execution even if it was still required by another task that is not skipped. | kraken-build/kraken-build#116 | @NiklasRosenstein | |
Fix | Pyupgrade: support properly relative source and test directories | kraken-build/kraken-build#103 | thomas.pellissier-tanon@helsing.ai | |
Improvement | Properly exposes Maturin project builder env variable setter | kraken-build/kraken-build#113 | thomas.pellissier-tanon@helsing.ai | |
Improvement | Removed krakenw Nix flake | kraken-build/kraken-build#74 | niklas.rosenstein@helsing.ai | |
Improvement | Mask auth password and check validity | kraken-build/kraken-build#112 | alex.spencer@helsing.ai | |
Fix | Update poetry lock to fix nix build | kraken-build/kraken-build#114 | alex.spencer@helsing.ai |
0.31.3 (2023-09-14)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Refactor | Add http module to common | kraken-build/kraken-build#109 | alex.spencer@helsing.ai | |
Deprecation | Deprecate http module in std in preference of moving to kraken-common | kraken-build/kraken-build#109 | alex.spencer@helsing.ai | |
Improvement | Allows to inject env variable in Maturin builds | kraken-build/kraken-build#104 | @Tpt | |
Improvement | add `mode=max,ignore-error=true` to the `--cache-to=type=registry,...` option created by the `BuildxBuildTask`. | kraken-build/kraken-build#111 | @NiklasRosenstein | |
Fix | Enforces isort and refreshes poetry.lock | kraken-build/kraken-build#108 | @Tpt |
0.31.2 (2023-09-04)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Fixed log format string when Pip fails to install dependencies. | @NiklasRosenstein |
0.31.1 (2023-08-22)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Added the ability to specify additional directories to run Python linting tasks againt. | kraken-build/kraken-build#90 | @cowlingjosh | |
Improvement | Added get_lockfile() to PythonBuildSystem subclasses as common way to retrieve the lock file | kraken-build/kraken-build#101 | alex.waldenmaier@icloud.com | |
Fix | Fixed a bug in Pythons `InstallTask` that would accidentally always cause the install task to run even if that was disabled. | rosensteinniklas@gmail.com | ||
Improvement | Expose all environment variables understood by `krakenw` as CLI options as well and document the variables in the `--help` text. | kraken-build/kraken-build#79 | @NiklasRosenstein | |
Feature | Add `--show-install-logs` to the CLI and handle the `KRAKENW_SHOW_INSTALL_LOGS` env var. | kraken-build/kraken-build#79 | @NiklasRosenstein |
0.31.0 (2023-08-08)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Rework task description wrapping | kraken-build/kraken-build#98 | kraken-build/kraken-build#93 | jon.gjengset@helsing.ai |
Improvement | Wrap error message in a map | kraken-build/kraken-build#97 | nicolas.vizzari@helsing.ai | |
Improvement | Avoids building the Maturin library twice with PDM | kraken-build/kraken-build#99 | @Tpt | |
Improvement | Makes PDM integration test mandatory | kraken-build/kraken-build#86 | @Tpt | |
Feature | Facilitates the creation of Debian packages from Rust projects. | kraken-build/kraken-build#87 | @morosanmihail | |
Feature | Allows passing features to cargo_build and cargo_test. | kraken-build/kraken-build#77 | @morosanmihail |
0.30.4 (2023-08-04)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Add error message in paramaters of function | kraken-build/kraken-build#96 | nicolas.vizzari@helsing.ai |
0.30.2 (2023-08-03)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | Allow to pass a custom error message for `cargo_deny` | kraken-build/kraken-build#95 | nicolas.vizzari@helsing.ai |
0.30.1 (2023-08-03)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Makes flake8 happy | kraken-build/kraken-build#91 | @Tpt | |
Fix | Makes flake8 happy | kraken-build/kraken-build#91 | @Tpt | |
Fix | Correct multi-line description wrapping | kraken-build/kraken-build#94 | kraken-build/kraken-build#93 | @jonhoo |
Improvement | Report python coverage in terminal. | kraken-build/kraken-build#92 | benjamin.poumarede@helsing.ai |
0.30.0 (2023-07-31)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Upgrades GitHub actions dependencies | kraken-build/kraken-build#85 | @Tpt | |
Fix | Fixed an issue where cargo managed by nix would not be recognised as such, due to the which command being unable to follow symlinks. | kraken-build/kraken-build#80 | @ivan-jukic | |
Breaking change | Adds support of Maturin+PDM Python projects | kraken-build/kraken-build#84 | @Tpt | |
Feature | do not unnecessarily sort path | kraken-build/kraken-build#83 | james.baker@helsing.ai |
0.29.0 (2023-07-13)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Enforces 3.10+ type annotation syntaxes using pyupgrade | kraken-build/kraken-build#62 | @Tpt | |
Improvement | Support pytest coverage. | kraken-build/kraken-build#48 | benjamin.poumarede@helsing.ai | |
Improvement | Add `--no-http2` to the mitmproxy when invoked via the Cargo auth proxy task. This is to work around an issue with Cargo HTTP/2 multi-plexing (see https://github.com/rust-lang/cargo/issues/12202). | kraken-build/kraken-build#75 | @NiklasRosenstein | |
Feature | add Nix flake | kraken-build/kraken-build#73 | james.baker@helsing.ai | |
Fix | Fixed a bug in the ordering of Python interpreters when resolving an appropriate installation for the Kraken build environment. We now rely on the order returned by `kraken.common.findpython.get_candidates()`, which already attempts to be a bit clever in the order it returns candidates (e.g. `python3` over `python3.X` over `python3.X.Y` over installations in `~/.pyenv/versions`). | kraken-build/kraken-build#76 | @NiklasRosenstein |
0.28.4 (2023-07-11)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | Add `PythonInstallTask.skip_if_venv_exists` property (defaults to true) and `PythonSettings.skip_install_if_venv_exists` flag.; | @NiklasRosenstein |
0.28.3 (2023-07-10)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Raise min Python version to 3.7 | @NiklasRosenstein | ||
Improvement | The wrapper does not have an issue with Python 3.11 as the core does due to Dill, so we should allow installing it into 3.11 and newer. | @NiklasRosenstein |
0.28.2 (2023-07-10)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | mitmproxy: Stream HTTP body instead of buffering to completion | kraken-build/kraken-build#71 | @wngr |
0.28.1 (2023-07-10)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | The `DaemonController.run()` function now creates the parent directory of the stdout/stderr output files by default. | kraken-build/kraken-build#70 | @NiklasRosenstein |
0.28.0 (2023-07-07)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Handle `DaemonController` state more defensively. | kraken-build/kraken-build#68 | @NiklasRosenstein |
0.28.0.dev0 (2023-07-07)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Deprecation | Deprecate `Property.config()` | kraken-build/kraken-build#64 | @NiklasRosenstein | |
Feature | Add `Property.required()` and a `help` parameter to `Property.output()`, `Property.default()` and `Property.default_factory()` | kraken-build/kraken-build#64 | @NiklasRosenstein | |
Feature | Add `Task.add_tag()`, `Task.remove_tag()` and `Task.get_tags()`. A "skip" tag can now be added to a task to skip it. | kraken-build/kraken-build#66 | @NiklasRosenstein | |
Improvement | Allow `Task` items in parameter to `Context.resolve_tasks()` | kraken-build/kraken-build#66 | @NiklasRosenstein | |
Tests | Test `PythonBuildSystem.build()` with `as_version` set for Slap/Poetry/Pdm | @NiklasRosenstein | ||
Improvement | Adjust task property definitions to replace `Property.config()` with `Property.default()` and `Property.default_factory()` | kraken-build/kraken-build#64 | @NiklasRosenstein | |
Breaking change | Move Kraken task definitions in `kraken.std.docker` into `kraken.std.docker.tasks` module | kraken-build/kraken-build#66 | @NiklasRosenstein | |
Improvement | Phase out `proxy.py` MITM proxy for Cargo repositories and replace it with `mitmproxy` (https://mitmproxy.org/). Kraken will now start `mitmweb` in the background listening to port `8899` (same as before), while serving the Web Interface on port `8900`. The `mitmweb` process will remain alive over multiple runs of Kraken and restart automatically if its configuration changes (e.g. if the token changes). | kraken-build/kraken-build#68 | @NiklasRosenstein |
0.27.5 (2023-06-30)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Do not call `PdmPyprojectHandler.set_path_dependencies_to_version()` in `PDMPythonBuildSystem.build()` as its not yet supported. | @NiklasRosenstein |
0.27.4 (2023-06-28)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Fixed `cargo_sqlx_migrate()` and `cargo_sqlx_prepare()` by adding missing parameters that were previously supported with `**kwargs` before `Project.do()` was deprecated. | @NiklasRosenstein |
0.27.3 (2023-06-28)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Handle `keyring.backends.null` the same as the fail backend -- i.e. as if no keyring backend is available. Improve logs to show the available keyring backend. | kraken-build/kraken-build#61 | @NiklasRosenstein | |
Improvement | If the selected keyring backend is `null`, add a log to prompt the user to re-enable keyring | kraken-build/kraken-build#61 | @NiklasRosenstein |
0.27.2 (2023-06-28)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Do not sort out `python3.XY` and `python3.XY.AB` binaries when searching for candidates of Python binaries on the system in `kraken.common.findpython.get_candidates()`. | kraken-build/kraken-build#60 | @NiklasRosenstein |
0.27.0 (2023-06-27)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | Add `kraken.common.strings` module with the `as_bytes()` function | kraken-build/kraken-build#51 | @NiklasRosenstein | |
Feature | Add `kraken.common.strings.as_string()` | kraken-build/kraken-build#56 | @NiklasRosenstein | |
Improvement | Replace more references to deprecated `Task.path` and `Project.path` with the new `.address` attribute | @NiklasRosenstein | ||
Improvement | Get rid of `pretty_errors` again, experience has shown that it does not provide the added value that we hoped for as it still just outputs a Python traceback, but now in a different format than people are used to. | kraken-build/kraken-build#49 | @NiklasRosenstein | |
Improvement | Handle common errors in the Kraken CLI to improve the user experience. | kraken-build/kraken-build#49 | @NiklasRosenstein | |
Feature | Add `TaskStatusType.WARNING` | kraken-build/kraken-build#50 | @NiklasRosenstein | |
Feature | Support `Literal` type hints in `Property` | kraken-build/kraken-build#50 | @NiklasRosenstein | |
Breaking change | The `kraken.core.testing` Pytest fixtures now always create a Context and Project in temporary directories. The temporary directories are distinct, this helps in ensuring that we do not accidentally depend on the current working directory or the project directory being somehow related to the Context directory. | kraken-build/kraken-build#50 | @NiklasRosenstein | |
Breaking change | Moved `as_bytes()` from `kraken.core.lib.check_file_contents_task` to `kraken.common.strings` | kraken-build/kraken-build#51 | @NiklasRosenstein | |
Feature | Add `Property.is_set()` which returns `True` if `Property.set()` (or its variants) have not been called before and if the property does not have a default value. | kraken-build/kraken-build#51 | @NiklasRosenstein | |
Feature | Add `Project.task()` overload to create tasks, which deprecated `Project.do()` | kraken-build/kraken-build#54 | @NiklasRosenstein | |
Deprecation | Deprecate `Project.do()` in favor of `Project.task()` | kraken-build/kraken-build#54 | @NiklasRosenstein | |
Improvement | Add `Address.normalize(keep_container)` keyword argument. | kraken-build/kraken-build#54 | @NiklasRosenstein | |
Fix | Fixed `Context.resolve_tasks()` when `None` is passed, which is intended to resolve only the default tasks in the current project and its subprojects. Before this fix, the method would return _all_ tasks of the current project instead, because the address `.` would be treated like a single-element address, such as `lint`, which gets turned into `:**:.` (or `:**:lint`). | kraken-build/kraken-build#54 | @NiklasRosenstein | |
Feature | Add `Project.task(name, closure)` overload that can be used in BuildDSL build scripts to define custom tasks. It creates an instance of an `InlineTask`, which also allows adding properties dynamically. | kraken-build/kraken-build#54 | @NiklasRosenstein | |
Feature | The `Property` class is now a Python descriptor, allowing to assign property values to tasks using assignments in addition to `set()`. Assigning `None` to it will set it to `None` for optional properties, and clear it for non-optional properties. | kraken-build/kraken-build#54 | @NiklasRosenstein | |
Fix | Fix `kraken query tree` command to remove the `--no-save` option and to never save the build context to disk after the command. | kraken-build/kraken-build#54 | @NiklasRosenstein | |
Breaking change | Move `kraken.core.lib.render_file_task` and `kraken.core.lib.check_file_contents_task` to `kraken.std.util` | kraken-build/kraken-build#56 | @NiklasRosenstein | |
Improvement | When a build fails, the summary of which tasks have not been executed no longer include groups. | kraken-build/kraken-build#57 | @NiklasRosenstein | |
Breaking change | Reimplement `CheckFileExistsAndIsCommitedTask` as `CheckFileTask` and move it into the `kraken.core.git.tasks` module. | kraken-build/kraken-build#50 | @NiklasRosenstein | |
Breaking change | Reimplement `CheckValidReadmeExistsTask` as `ValidateReadmeTask`. | kraken-build/kraken-build#50 | @NiklasRosenstein | |
Breaking change | Re-implement `GitignoreSyncTask`, simplifying the code by a lot (e.g. no more tracking of a generated content hash) and cache a subset of tokens from gitignore.io to distribute them as part of kraken-std. The old begin/end markers we used in gitignore files before is still supported. We also no longer sort the gitignore file entries. | kraken-build/kraken-build#51 | @NiklasRosenstein | |
Improvement | Use Poetry index priority instead of deprecated default/secondary options | kraken-build/kraken-build#46 | sam.rogerson@helsing.ai | |
Improvement | Refactor how data is read and written to a Pyproject dependening on the underlying Project management tool (Poetry, PDM, etc.) | kraken-build/kraken-build#46 | @NiklasRosenstein | |
Improvement | Improved PDM implementation to ensure that it targets its own in-project environment instead of a potentially already activated virtual environment in the users terminal when they run Kraken. | kraken-build/kraken-build#46 | @NiklasRosenstein | |
Improvement | bump Cargo.toml version before building, not only before publishing | kraken-build/kraken-build#52 | jerome.froissart@helsing.ai | |
Breaking change | Correct name of `mypy_stubtest_task` module and remove backwards compatibility for `mypy_subtest()` function name. | kraken-build/kraken-build#54 | @NiklasRosenstein | |
Breaking change | Update signature of `info()` function to align with the rest of the task factory functions (e.g. automatically take the current project and build system). | kraken-build/kraken-build#54 | @NiklasRosenstein | |
Improvement | Make parameters to task factory functions in `kraken.std.python.tasks` explicit and change `List` properties to contain a `Sequence` | kraken-build/kraken-build#54 | @NiklasRosenstein | |
Feature | Move `kraken.core.lib.render_file_task` and `kraken.core.lib.check_file_contents_task` to `kraken.std.util` | kraken-build/kraken-build#56 | @NiklasRosenstein | |
Feature | The `CheckFileContentsTask` will now print a diff by default if the file it checks is not up to date. | kraken-build/kraken-build#56 | @NiklasRosenstein | |
Feature | The `CargoSyncConfigTask` now has a `crates_io_protocol` option, which defaults to `sparse`. This means Cargo builds by default use the sparse protocol from now on. | kraken-build/kraken-build#58 | @NiklasRosenstein | |
Improvement | Now sets the `KRAKENW=1` environment variable to allow the Kraken-Core CLI to detect if it is run through `krakenw`. | kraken-build/kraken-build#49 | @NiklasRosenstein | |
Fix | Fixed passing the `-p` option to the `kraken` command by appending it to the arguments, allowing to use `krakenw query` subcommands from subdirectories. | kraken-build/kraken-build#54 | @NiklasRosenstein | |
Feature | Treat `# ::krakenw-root` comment in build scripts to avoid searching up higher for the project root directory. | kraken-build/kraken-build#54 | @NiklasRosenstein | |
Improvement | Set default verbosity of `krakenw` command to 1, ensuring that `INFO` logs are always printed. | @NiklasRosenstein |
0.26.1 (2023-06-20)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Catch potential permission error when inspecting the files on the `PATH` in `kraken.common.findpython.get_candidates()` | @NiklasRosenstein |
0.26.0 (2023-06-19)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Use `rich`'s logging handler, add `kraken.common.exceptions` module | kraken-build/kraken-build#45 | @NiklasRosenstein | |
Breaking change | Remove `deprecated_get_requirement_spec_from_file_header()` function | kraken-build/kraken-build#45 | @NiklasRosenstein | |
Breaking change | Remove deprecated `Project.children()` method and deprecated `Project.subproject()` overloads. | kraken-build/kraken-build#44 | @NiklasRosenstein | |
Breaking change | Change `Addressable.address` into a read-only property | kraken-build/kraken-build#44 | @NiklasRosenstein | |
Improvement | Make `Project` a subclass of the new `KrakenObject` class | kraken-build/kraken-build#44 | @NiklasRosenstein | |
Deprecation | Deprecate `Project.path` and `Project.resolve_tasks()` | kraken-build/kraken-build#44 | @NiklasRosenstein | |
Deprecation | Deprecated `Task.outputs`, `Task.path` and `Task.add_relationship()` | kraken-build/kraken-build#44 | @NiklasRosenstein | |
Breaking change | Remove `Task.capture` | kraken-build/kraken-build#44 | @NiklasRosenstein | |
Feature | Add `Task.depends_on()` and `Task.required_by()` | kraken-build/kraken-build#44 | @NiklasRosenstein | |
Fix | Move `Address.Element` class definition to the global scope, as otherwise we run into an issue with Dill deserialization where the type of `Address.elements` items is not actually the `Address.Element` type that we can access at runtime. (See https://github.com/uqfoundation/dill/issues/600). | kraken-build/kraken-build#44 | @NiklasRosenstein | |
Breaking change | `TaskGraph` implementation now stores `Address` keys instead of strings | kraken-build/kraken-build#44 | @NiklasRosenstein | |
Breaking change | Remove support for hash-comment style build requirements when resuming builds from an existing state. | kraken-build/kraken-build#45 | @NiklasRosenstein | |
Improvement | Move `pytest` dependency into a Poetry dependency group | @NiklasRosenstein | ||
Fix | Don't wrap license or copyright holder in quotes | kraken-build/kraken-build#40 | scott@stevenson.io | |
Improvement | Make better use of logging and hide the logs of creating a virtual environment, upgrading Pip and installing dependencies unless the operations fail. | kraken-build/kraken-build#45 | @NiklasRosenstein | |
Breaking change | Remove support for specifying Kraken build script requirements in the hash-comment (#) format. Only the `buildscript()` call from `kraken.common` is now supported. | kraken-build/kraken-build#45 | @NiklasRosenstein |
0.25.0 (2023-06-19)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | add `kraken.common.findpython` module which will be used by kraken-wrapper to find an applicable Python version per the interpreter constraint in the buildscript requirements. | kraken-build/kraken-build#42 | @NiklasRosenstein | |
Improvement | Set `DEFAULT_INTERPRETER_CONSTRAINT` to` >=3.10,<3.11` | kraken-build/kraken-build#42 | @NiklasRosenstein | |
Improvement | Now requires explicitly Python 3.10. We can enable Python 3.11 when Dill 0.3.7 is enabled. (See https://github.com/uqfoundation/dill/issues/595) | kraken-build/kraken-build#42 | @NiklasRosenstein | |
Improvement | Set Python version requirement to =3.10 | kraken-build/kraken-build#42 | @NiklasRosenstein | |
Feature | Add `list-pythons` command and support for finding an appropriate Python interpreter on the current system for creating the Python build environment in the `VenvBuildEnv` manager. | kraken-build/kraken-build#42 | @NiklasRosenstein | |
Improvement | Add support for `KRAKENW_NO_KEYRING` environment varibale | kraken-build/kraken-build#42 | @NiklasRosenstein |
0.24.3 (2023-06-19)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Add manifest_path to artifact metadata for Cargo | kraken-build/kraken-build#41 | luke.tomlin@helsing.ai |
0.24.2 (2023-06-17)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Pass `CargoProject.build_env` to `cargoClippy` task | @NiklasRosenstein |
0.24.1 (2023-06-14)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Return the tasks created by `cargo_fmt` | kraken-build/kraken-build#39 | nicolas.vizzari@helsing.ai |
0.24.0 (2023-06-13)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Added colorful error handling | kraken-build/kraken-build#31 | chris.cunningham@helsing.ai | |
Improvement | Only check the active toolchain if rustup is installed | kraken-build/kraken-build#38 | nicolas.vizzari@helsing.ai | |
Improvement | Add PDM python build system support | kraken-build/kraken-build#33 | simone.zandara@helsing.ai | |
Tests | Force transitive `markdown-it-py` dependency to `<3.0.0` due to Mypy complaining about the newer syntax in Python 3.10 when a newer version of it would otherwise get installed (see https://github.com/python/mypy/issues/12162) | @NiklasRosenstein |
0.23.7 (2023-06-08)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | disable default requirement of Rust nightly | kraken-build/kraken-build#37 | james.baker@helsing.ai |
0.23.6 (2023-06-08)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | can specify ld_library_path for maturin builds | kraken-build/kraken-build#36 | james.baker@helsing.ai |
0.23.5 (2023-06-08)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Re-allow specfiying one or more tasks while also passing the `--all` flag. | kraken-build/kraken-build#35 | @NiklasRosenstein | |
Improvement | Add `-x` and `-X` options to the `krakenw q tree` command | kraken-build/kraken-build#35 | @NiklasRosenstein | |
Improvement | The `krakenw q tree` command now includes the task status, if any (only relevant with the `--resume` flag or the `-x` or `-X` options, otherwise tasks have no status when the tree is printed) | kraken-build/kraken-build#35 | @NiklasRosenstein | |
Improvement | Make cargo fmt use the nightly toolchain by default | kraken-build/kraken-build#34 | nicolas.vizzari@helsing.ai |
0.23.4 (2023-05-19)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Upgrade helm dependencies when packaging a chart | kraken-build/kraken-build#30 | callumPearce |
0.20.4 (2023-05-18)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Fix the `dist` function which should use the artifact names when copying them to a distribution. | kraken-build/kraken-build#29 | nicolas.trinquier@helsing.ai |
0.20.3 (2023-05-17)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Fix `Property.provides(X)` which should return `True` when a property is typed as `Property[List[X]]`, but did not because of a change in `typeapi` between `0.2.x` and `1.x`. This bug was introduced by https://github.com/kraken-build/kraken-core/pull/11 in version `0.12.0`. | kraken-build/kraken-build#28 | nicolas.trinquier@helsing.ai |
0.20.2 (2023-05-17)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | The `kraken query describe` command no longer outputs a description of _all_ tasks in the graph, but only tasks that were explicitly selected on the command-line. | niklas.rosenstein@helsing.ai | ||
Tests | Add unit test for clarifying the behavior of optional elements in address resolution | niklas.rosenstein@helsing.ai | ||
Improvement | Deprecate the `Project.subproject(load)` – Instead, a new `Project.subproject(mode)` parameter was added that can be set to `"empty"`, `"execute"` or `"if-exists"`, The `"if-exists"` mode behaves exactly like the `Project.subproject(load=False)` option. A new semantic is introduced with the `"empty"` mode, which creates a sub-project but does not care if the directory associated with the project exists or if a build script exists as the script will not be executed. | niklas.rosenstein@helsing.ai | ||
Improvement | `TaskGraph.trim()` will now exclude groups from the returned graph if they are empty and if they have no dependencies or all transitive dependencies are also empty groups | niklas.rosenstein@helsing.ai | ||
Tests | Add a unit test to validate the behaviour of `Context.resolve_tasks()` and the contents of the `TaskGraph` returned by `Context.get_build_graph()` | niklas.rosenstein@helsing.ai | ||
Fix | Fixed the address selectors that we fall back to if no selectors are specified on the command-line: They were `[":", ":**:"]`, referencing the root projects and all it's sub-projects, when it should really be `[".", "**:"]`, which references the current project and all of it's sub-projects. | niklas.rosenstein@helsing.ai | ||
Improvement | Single-path elements passed as Kraken task-address selectors are now prefixed with `**:` (recursive wildcard) even if the element contains a glob pattern, such as `lint`, `python.*` or `publish?`, making them semantically equivalent to `**:lint`, `**:python.*` and `**:publish?`, respectively. | kraken-build/kraken-build#27 | niklas.rosenstein@helsing.ai |
0.20.1 (2023-05-15)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Move code for `Supplier` from `nr-stream` package to `kraken-common` | niklas.rosenstein@helsing.ai | ||
Improvement | Use `kraken.common.supplier.Supplier` instead of `nr.stream.Supplier`, Remove `kraken.core.api` in favor of `kraken.core` | niklas.rosenstein@helsing.ai | ||
Improvement | Replace imports from `kraken.core.api` with `kraken.core` and imports of `nr.stream.Supplier` with `kraken.common.Supplier` | niklas.rosenstein@helsing.ai |
0.20.0 (2023-05-13)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Bump `kraken-core` to `^0.12.4` and `databind.json` to `4.2.5`. | kraken-build/kraken-std#154 | @NiklasRosenstein | |
Feature | Maturin: adds tooling for cross-compilation using zig | kraken-build/kraken-std#145 | @Tpt | |
Fix | Poetry: strips '(Activated)' from 'poetry env list --full-path' result | kraken-build/kraken-std#146 | @Tpt | |
Fix | fix `mypy_stubtest` function name (was: `mypy_subtest`) | kraken-build/kraken-std#153 | @NiklasRosenstein | |
Improvement | When `git describe` fails, we fall back to `0.0.0-N-gSHA` where `N` is the number of commits on `HEAD`. | @NiklasRosenstein |