Releases: reginaldl/buck2
Releases · reginaldl/buck2
latest
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
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
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
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
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