Skip to content

Releases: reginaldl/buck2

latest

27 Apr 22:13

Choose a tag to compare

latest Pre-release
Pre-release
Gate atomic impls

Summary: I'm not going to do a release now, but in D107344084 I had to avoid the nfast cases because this was missing

Reviewed By: ndmitchell

Differential Revision: D107350061

fbshipit-source-id: 14934ff77cd532bb39d528d8a69c52cc18866a0f

2026-06-03

03 Jun 22:45

Choose a tag to compare

2026-06-03 Pre-release
Pre-release
Gate atomic impls

Summary: I'm not going to do a release now, but in D107344084 I had to avoid the nfast cases because this was missing

Reviewed By: ndmitchell

Differential Revision: D107350061

fbshipit-source-id: 14934ff77cd532bb39d528d8a69c52cc18866a0f

2026-05-29

29 May 18:33

Choose a tag to compare

2026-05-29 Pre-release
Pre-release
Remove `skip_pagable` from `#[starlark_value]`

Summary: `skip_pagable` defaulted to `true` and could only be set to `true` (there was no way to set it to `false`), making the flag and its associated `impl_starlark_pagable` method dead code. Remove the attribute, its parsing, the dead method, and all ~100 call sites.

Reviewed By: christolliday

Differential Revision: D106569109

fbshipit-source-id: ec41d2867c9dc544da10839664ceaf214085076b

2026-04-28

28 Apr 02:06

Choose a tag to compare

2026-04-28 Pre-release
Pre-release
Add explicit has_content_based_path = False to non-prelude action calls

Summary:
Add explicit `has_content_based_path = False` to all `ctx.actions.write()`, `ctx.actions.write_json()`, and `ctx.actions.copy_file()` calls across the codebase (outside the buck2 prelude) that pass a string as the output (implicit artifact declaration) without specifying `has_content_based_path`. This is the companion to the prelude changes and is in preparation for the `[buck2] action_has_content_based_path_default` buckconfig (D101792429).

Affected directories: arvr/, fbandroid/, xplat/, and various fbcode/ subdirectories (asic, metalos, antlir, conda, nest, etc.).

Reviewed By: JakobDegen

Differential Revision: D102600353

fbshipit-source-id: b851a1b1d45d5c51123086a94f04b13532a9d9d8

2026-04-27

27 Apr 22:14

Choose a tag to compare

2026-04-27 Pre-release
Pre-release
Remove HasRemovals workaround and skip_classpath_removal_rebuild flag

Summary:
D101832865 cherry-picked the fix for KT-85740, which was the root cause of S618697. The Kotlin compiler was not recording type lookups for nullable parameter types when null was passed as an argument, causing the incremental compiler to miss recompilation when a dependency providing that type was removed.

With the fix in place, the Kotlin incremental compiler now correctly handles classpath removals. This means the `HasRemovals` `ClasspathChanges` variant (which forced non-incremental compilation on any classpath removal) is no longer needed. Similarly, the `skip_classpath_removal_rebuild` flag that WA4A used to opt out of the HasRemovals workaround (due to 30-40% build speed regression) is also no longer needed.

This diff removes:
- `ClasspathChanges.HasRemovals` variant and all its handling in `ClasspathChangesFactory`, `JvmCompilationConfigurationFactory`, and `KotlinCDLoggingContextFactory`
- `skip_classpath_removal_rebuild` attribute from `jvm_common.bzl`, `android_rules.bzl`, `kotlin_rules.bzl`
- `skip_classpath_removal_rebuild` plumbing through `kotlin_library.bzl`, `kotlincd_jar_creator.bzl`, `kotlincd.proto`, `KotlinExtraParams.kt`, `KotlinExtraParamsSerializer.java`, `KotlincModeFactory.java`
- `hasClasspathRemoval()` and content-hash normalization helpers from `SnapshotsActionMetadata.kt`
- WA4A opt-out (`skip_classpath_removal_rebuild = True`) from `build_config.bzl`
- Associated test cases

Reviewed By: NavidQar

Differential Revision: D102627184

fbshipit-source-id: cb14eb47e7bd1955fe241772ef7dd5580c202be2