Skip to content

Release 1.6.3

Choose a tag to compare

@aehlig aehlig released this 11 Aug 15:08
· 11 commits to master since this release

Bug fixes on top of 1.6.2.

Fixes

  • In compatible mode, just now properly handles symbolic links that
    occur in output directories or as explicit outputs. The problem was
    that the default remote-execution protocol (which is used in
    compatible mode) does not require the remote endpoint to store
    symbolic links explicitly as blobs in CAS, while just internally
    does exactly that and is assuming symbolic links being available in
    CAS. This fix now uploads any symbolic link that is received over the
    network (e.g., as part of a Directory message) in compatible mode as
    separate blob to the remote CAS.

Release notes for1.6.2 (2025-07-30)

Bug fixes on top of 1.6.1.

Fixes

  • just serve can now also work with a compatible remote-execution
    service that relies on the length field of digests being set
    correctly (as requested by the protocol). Previously, some blobs
    were requested by correct hash but with size set to 0. To keep
    everything backwards compatible (both, when only serve or only
    just gets updated), the ServeTargetRequest of the internal
    serve protocol was extended by a new field where the client can
    send a list of full blob digests asking the server to download
    those before handling the request.
  • If serve reports an error, the full digest of the error-log
    blob (including size) is shown to the user and not only the
    hash. This allows inspection of the error log, even if a strict
    compatible remote execution is used.

Release notes for 1.6.1 (2025-07-16)

Bug fixes on top of 1.6.0.

Fixes

  • just now follows the protocol for blob splitting/splicing that was
    standardized in bazelbuild/remote-apis#282
    Before, this used to be just-specific extension.
  • Fixed missing mandatory locking point of the Git cache in a
    just serve service.
  • just-mr now correctly maintains also the Git cache lock when
    calling just if repository configuration was involved,
    preventing any unwanted intermediary repository garbage collection.
  • The invocation server now correctly reports the total number of
    uncached actions.
  • Allow colons present in remote execution properties.
  • Improvements to the documentation.

Note for package maintainers

The dependency on the remote-execution API has been changed to
require a newer version. As this is often provided as a separate
source archive, this might require additional changes.

Release notes for 1.6.0 (2025-06-27)

A feature release on top of 1.5.0, backwards compatible.

New features

  • just-mr now supports logging of each invocation by setting
    an appropriate configuration in the rc-file. Together with
    the newly-added option --profile of just this can be used
    to gather statistics on build times, cache hit rates, as well as
    their evolution over time.
  • Computing a tree as overlays of other trees was added as a new
    in-memory action.
  • The expression language has been extended to contain new
    built-in functions "zip_with", "zip_map".

Other changes

  • The exit code 1 now strictly refers to build failure due to a
    failing build action. Syntactical errors invoking the tool, as
    well as errors during analysis now return separate exit codes.

Fixes

  • just execute and just serve now create their pid and info
    files atomically; so waiting processes can assume the content
    to be available as soon as the requested file appears on the
    file system.
  • just serve now fetches trees from remote execution in parallel
    and through its local CAS; this fixes a performance issue.
  • A bug was fixed that could cause the number of threads being
    the square of what was specified during backing up artifacts of
    export targets after build.
  • just-mr now also considers computed roots (as no-op) when
    reporting progress.
  • The "generic" rule now properly detects staging conflicts, taking
    the full inputs into account (and not only the runfiles).
  • Illegitimate symlinks in explicit source-tree references are now
    rejected reliably.
  • An incorrect error handling in the evaluation of computed roots was fixed.
  • just execute: Symlinks to directories and files are properly
    distinguished as requested by the remote-execution protocol.
  • Various improvements of the documentation.

Note for package maintainers

Any patching that used to patch etc/repos.json should now patch
etc/repos.in.json. Background: to allow linting with well-defined
dependencies, for the newly-added "lint" repository additional
dependencies are pulled in via just-lock to bootstrap the correct
versions of those tools; the local, manually-edited repository
configuration etc/repos.in.json still contains everything needed
for building and testing. So, to avoid accidentally trying to fetch
more than is absolutely needed, bin/bootstrap.py was changed to
use the original, manually-maintained etc/repos.in.json.