chore(deps): update dependency bazel to v7

This PR contains the following updates:

Package
Update
Change

bazel
major
6.5.0 -> 7.1.0

Release Notes

bazelbuild/bazel (bazel)
v7.1.0
Compare Source
Baseline:  8f4b11520f9ac7f24018b3a53c8a228aeae71876

Release Notes:

+ Modify the error message that occurs when a requested target does not… (#20636)
+ Cherry-pick all presubmit.yml changes (#20736)
+ Accept labels of aliases in config_setting. (#20649)
+ Improve `use_repo_rule` error when not referencing a `repository_rule` (#20732)
+ Attempt to make main repo mapping inverse more efficient (#20633)
+ Retry binding to ipv6 localhost (#20755)
+ Print interactive sandboxed shell command with `--sandbox_debug` (#20769)
+ Fix two issues with --incompatible_sandbox_hermetic_tmp that manifested themselves when the output base was under /tmp (#20766)
+ Optimize prefetchInputs. (#20719)
+ Fix crash on `bazel mod` error containing `%` (#20651)
+ Cover missing cases during module extension label normalization (#20630)
+ Do not print errors when repository rules are interrupted (#20662)
+ Restart at most once when prepopulating repository rule environment (#20643)
+ Add profiles to the call sites of `updateRunfiles` (#20803)
+ Fixes for Bazel's own integration tests fail locally on Linux (#20822)
+ Remove unnecessary `cc_test` coverage handling (#20641)
+ Fix NPE in BzlmodRepoRuleFunction (#20829)
+ Return labels instead of strings from DescribableExecutionUnit methods. (#20788)
+ Introduce a SpawnLogContext interface. (#20842)
+ Fix `common` `.bazelrc` behavior for flag expansions (#20844)
+ Add a profiler span for fetching repositories. (#20852)
+ Make Bazel's RAM estimate container aware (#20644)
+ Auto-create deploy jars for Bazel `java_test` targets if requested (#20762)
+ Ignore read-only errors when updating the `mtime` of the `install_base` (#20648)
+ Add profiling to `remoteActionBuildingSemaphore.acquire()` (#20645)
+ DigestUtils: avoid throwing on invalid digest function name (#20650)
+ Use a larger buffer size for `java.util.zip.*Stream` classes (#20642)
+ Flip flag `--experimental_use_semaphore_for_jobs`. (#20646)
+ RemoteSpawnRunner: record inbetween phases in timing profile (#20647)
+ Add fastutil 7.2.1 dependency (#20854)
+ Allow repo rules to download multiple things in parallel. (#20856)
+ Add support for tmpfs mounts under `/tmp` with hermetic tmp (#20859)
+ Add new flag `--enable_workspace` that allows us to disable WORKSPACE… (#20855)
+ Add support for bind mounts under `/tmp` with hermetic tmp (#20772)
+ Document `--digest_function` startup flag (#20864)
+ Add flag `experimental_throttle_remote_action_building` (#20858)
+ Remove suffix from fastutil alias. (#20872)
+ Move StableSort into the exec package.
+ Test that missing spawn outputs are logged correctly.
+ Simplify computeDigest.
+ Add SpawnBuilder#with{Inputs,Tools} overloads accepting a NestedSet.
+ Correctly log paths for runfiles and filesets.
+ Report empty files in the spawn log.
+ Propagate the tool bit to logged directory inputs.
+ Move some more common logic into SpawnLogContext.
+ Introduce a new compact execution log format.
+ Apply zstd compression to the compact execution log.
+ Avoid unnecessary overhead when determining whether an action input is a directory.
+ Offer Shell completion for top-level packages without subpackages (#20879)
+ Increase maximal length of profile span for repository function calls (#20907)
+ Still generate a WORKSPACE file in repo rules if --enable_workspace is set (#20914)
+ Read authentication information from .netrc (#20915)
+ deps: rules_python 0.4.0 -> 0.22.0 (#20916)
+ Avoid emitting canonical labels into generated repos (#20917)
+ python: make incompatible_python_disallow_native_rules work for top-level external repo targets (#20923)
+ Remove flag guarding for the AndroidIdeInfo provider (#20932)
+ Point _virtual_includes to stable locations so IDE integrations survive builds (#20946)
+ [rfc] Allow repository rules to lazily declare environment variable deps (#20944)
+ Replaced usage of rev with awk in bash runfiles (#20934)
+ Cherry pick a few changes to address flaky tests (#20956)
+ Cherry-pick the change to reduce repository invalidations to Bazel 7.1 (#20949)
+ The label API shakeup & docs cleanup (#20977)
+ New docs for labels, repos, etc (#20978)
+ Add support for arbitrary headers to rctx.download[_and_extract] (#20979)
+ Show a warning message when the credential helper invocation fails (#20992)
+ Fix singlejar resource mapping for external repositories (#20989)
+ Remove user specific path from the lockfile (Fixes #19621) (#21009)
+ Also report cycles involving WORKSPACE from BzlmodRepoCycleReporter (#21013)
+ Fix -fatal_warnings on macOS (#21018)
+ Cherry-picks for module extension repo mapping usage tracking (#21033)
+ bzlmod: support git repos in source.json (#21036)
+ Add `bazel mod dump_repo_mapping` (#21023)
+ Cherry-picks for elimination of repo rule restarts (#21082)
+ Fix inconsistent dep graph stubs in Bzlmod tests (#21085)
+ Distinguish the disk and remote caches in the action progress status. (#21084)
+ Clarify where to find the definition of the --experimental_remote_scrubbing_config configuration format. (#21089)
+ Disable `--legacy_external_runfiles` in Bazel tests (#21086)
+ Follow directory symlink in RemoteActionFileSystem#getDirectoryEntries(). (#21088)
+ Treat the inability to load the Windows filesystem JNI as an error. (#21090)
+ Fix up permissions error in getInputStream, like we already do for getOutputStream. (#21087)
+ Force output checking for incremental run commands without the bytes. (#20988)
+ Remove visionos_x86_64 CPUs (#21022)
+ Close test.err before deleteing it (#21020)
+ Fix linker feature detection being performed on wrong linker (#20990)
+ Add an option to set a minimum size threshold for zstd blob compression. (#21124)
+ Publish RCs to GitHub (#21127)
+ Avoid using `InputStream.available()` to detect EOF while reading delimited protos. (#21143)
+ Starlark: reuse positional array in native calls where possible (#21144)
+ Harmonize BUILD files. (#21145)
+ Add bash completion for external targets (#21149)
+ Make some minor adjustments to the compact execution log format and document it better. (#21146)
+ Optimize the execution log sorter by using reference equality. (#21147)
+ Update to Turbine 0.4.0 (#21161)
+ Split StableSort into a separate target. (#21152)
+ Document that the compact execution log isn't guaranteed to be serialized in increasing ID order. (#21165)
+ Fix the comment for MessageOutputStream#write(). (#21166)
+ Make repo marker files sensitive to repo mapping changes (#21172)
+ Include the digest hash function in the compact execution log. (#21174)
+ Report unresolved symlinks as such in the execution log. (#21177)
+ Correctly handle unresolved symlinks when they appear in the inputs. (#21181)
+ Add missing close(). (#21183)
+ Add a profile span for building the upload manifest. (#21184)
+ Remove obsolete comments and dividers. (#21185)
+ Implement a new execution log conversion tool. (#21187)
+ Implement a new execution log conversion tool. (#21192)
+ Introduce a MessageInputStream abstraction, mirroring MessageOutputStream. (#21207)
+ Upgrade to use Bazel 7.0.2 (#21208)
+ Do not store the repository name in `RepoSpec` (#21209)
+ Make sure we build as well as test //src/tools/execlog/... on CI. (#21216)
+ Teach ExecLogConverter to read the compact format. (#21223)
+ Switch macOS minimum version flag to gcc compatible version (#21219)
+ Update default visionOS CPU to sim_arm64 (#21240)
+ Avoid exception-based control flow in RemoteActionFileSystem#stat. (#21236)
+ Cherry-pick: linker_param_file only added to command line if it starts with "@" (#21235)
+ Fixes for experimental extend rule and subrule functionality (#21237)
+ Fix NPE in ResourceManager when collecting local resource estimation in the profiler. (#21229)
+ Optimize RemoteActionFileSystem#readdir for the tree artifact input case. (#21251)
+ Document --incompatible_disallow_unsound_directory_outputs. (#21252)
+ Also path map transitive header jar paths with direct classpath optimization (#21227)
+ Error on invalid path characters in `.bazelignore` (#21259)
+ Mark gcc-<version> as `gcc` instead of `compiler` in Unix CC toolchain (#21224)
+ Avoid exception-based control flow in RAFS#getDigest and RAFS#getFastDigest. (#21264)
+ Add `add_exports/add_opens` to bazel java_binary deploy jars (#21270)
+ Manipulate the local filesystem directly in the writeLocalFile test helper. (#21272)
+ Improve the documentation for PathFragment methods dealing with segments. (#21275)
+ Canonicalize the parent path in RemoteActionFileSystem#delete. (#21282)
+ Revert "Also path map transitive header jar paths with direct classpath optimization" (#21281)
+ Make it possible to toggle cache key scrubbing by rule kind (#21276)
+ Fix a hanging issue with skymeld & `--combined_report=lcov`. (#21271)
+ Canonicalize the parent path in RemoteActionFileSystem#renameTo. (#21285)
+ Exclude `//src/test/py/bazel:mod_command_test` from RBE tests due to frequent flaky timeouts.
+ Add `bazel mod tidy` (#21265)
+ Don't use worker threads for repo fetching during Skyframe er… (#21305)
+ Fix flakiness in //src/test/shell/bazel:starlark_repository_test (#21309)
+ Document best practice of avoiding extensions directly specifying repository names (#21300)
+ Allow `@repo_name` labels in override attributes (#21313)
+ Reproducible extension (#21306)
+ Omit unique module versions from canonical repo names (#21316)
+ Add `Label.to_display_form()` (#21312)
+ Clarify the purpose and overall behavior of RemoteActionFileSystem. (#21294)
+ Make SpawnLogConvert an abstract class instead of an interface. (#21325)
+ Add support for additional command profiler event types. (#21327)
+ Remove the fileSize parameter from DigestUtils. (#21328)
+ Optimize RemoteActionFileSystem#resolveSymbolicLinks by caching intermediate results in a trie. (#21333)
+ Mark `use_repo_rule` extension as reproducible (#21335)
+ Make SpawnLogContext interruptible. (#21337)
+ Document --cache_computed_file_digests. (#21326)
+ Generate a lockfile for the distribution archive on the fly (#21338)
+ Introduce --local_resources flag (#21331)
+ Cherry-pick recent changes to fix CI flakiness and breakages (#21349)
+ Clear the file digests cache on clean. (#21346)
+ Parallelize TreeArtifactValue.visitTree across files instead of subdirectories. (#21347)
+ Temporarily hardcode rules_java repository name (#21356)
+ Remove unnecessary test assertions to fix flakiness. (#21354)
+ Make it possible to avoid an extra stat() when obtaining a digest from the cache. (#21353)
+ Collect directory contents in parallel in CompactSpawnLogContext. (#21361)
+ Introduce --default_test_resources flag (#21311)
+ python: rules_python 0.22.0 -> 0.22.1 soas to register Python toolchain by default (#21369)
+ Add vendor mode (#21366)
+ Clarify the behavior of --incompatible_remote_symlinks in the presence of a dangling symlink. (#21363)
+ Handle symlinks in a more consistent manner in UploadManifest. (#21371)
+ Set the executable bit on files in output directories uploaded to a disk or remote cache. (#21376)
+ Call out that TreeArtifactVisitor.visit is called in a nondeterministic order. (#21377)
+ Optimize out a stat call. (#21388)
+ Compute output directories in parallel when building the upload manifest. (#21386)
+ Fix rule definition environment for repo rules (#21397)
+ Share classpath `NestedSet` between full and header compile actions (#21389)
+ Emit labels in display form in Java rules (#21395)
+ Fetch refactor and mod command fix (#21385)
+ Implement `describeKey` for more actions (#21421)
+ Let scrubbed actions fall back to local execution when remote execution is enabled. (#21384)
+ Publish the new execution log format to the build event protocol. (#21417)
+ Ensure that the mtime of an AC entry is smaller, not larger, than the CAS blobs it references. (#21416)
+ Pass the name of the classpath manifest jar to JacocoCoverageRunner (#21413)
+ Traverse symlinks to directories while collecting a TreeArtifactValue. (#21418)
+ Correctly handle file inputs/outputs with directory contents in the execution log. (#21427)
+ Upgrade to async-profiler v3.0. (#21428)
+ Avoid a superfluous stat() in DigestUtil. (#21400)
+ [credentialhelper] Respect `expires` field from helper (#21429)
+ Improve performance of --reuse_sandbox_directories (#21433)
+ [credentialhelper] Update flag doc to point to more convenient usage instructions (#21441)
+ Repo file/dir watching API (#21435)
+ Clarify the meaning of Dirent.Type.UNKNOWN. (#21434)
+ Add a native image of turbine to the prebuilt Java tools (#21426)
+ Update java_tools v13.4 / rules_java 7.4.0 (#21359)
+ Automated rollback of commit b11fa7a7c7fdb37012c7a442b16f6fdcf90b9177. (#21448)
+ Remove the restriction that relative symlinks in a tree artifact may not point outside the tree. (#21449)
+ Revert "Add `Label.to_display_form()`" (#21454)
+ Do not record any repo mapping entries in the RepoMappingRecorder for WORKSPACE repo rules (#21457)
+ Reland "Also path map transitive header jar paths with direct classpath optimization" (#21458)
+ Backport CI test configs (#21456)
+ Use execution info instead of hard-coded mnemonics for Java path mapping (#21461)
+ Always decide whether to scrub an input by its effective path. (#21472)
+ Set RC branch when creating GitHub releases (#21477)
+ Fix vendor existing repo (#21487)
+ [test][windows] Export BAZEL_TEST=1 on windows (#21494)
+ Enable aar_import JNI libs to work with --android_platforms. (#21502)
+ Fix stale trash dir not cleaned up on worker creation (#21510)
+ Fix genrule autostamping in bazel (#21512)
+ Remove --host_jvm_args=-Djava.net.preferIPv6Addresses=true (#21546)
+ Passthrough HTTP headers to remote downloader service (#21503)
+ [credentialhelper] Support paths relative to `%install_base%` (#21532)
+ Update LibrariesToLinkCollector.java for .dll suffix stripping (#21524)
+ Backport changes for updating default lockfile used in integration tests. (#21547)
+ Fix a flaky test by avoiding leaking the eager capability RPC thread. (#21550)
+ Add a profiler span for the findMissingDigests call associated with an upload. (#21552)
+ Move the disk cache reads and writes into a thread pool. (#21551)
+ Lazily open files to be uploaded to an HTTP cache. (#21549)
+ Exclude convenience symlinks after changing the output base (#21505)
+ StarlarkBaseExternalContext.java: propagate error message when deleting temporary directory failed (#21555)
+ Fix `bazel fetch` by replacing query with cquery for underlying implementation (#21567)
+ Fix watching paths in undefined repos in repo rules (#21575)
+ Implicit dependencies should be visible to rule/aspect definitions in `.bzl` files in the same package (#21577)
+ Disable some tests because of JDK21 (#21595)
+ Expose the ApkInfo provider constructor to Starlark. (#21588)
+ Add multiplex sandboxing support to JavaBuilder (#21598)
+ Attempt to fix cancellation crash in repo fetching w/ worker thread (#21599)
+ Move compile StarlarkMethod back to CcModuleAPI (#21605)
+ Expose AndroidIdeInfo in android_common (#21607)

Acknowledgements:

This release contains contributions from many people at Google, as well as Alessandro Patti, Artem V. Navrotskiy, bazel.build machine account, Brentley Jones, Cameron Martin, Chi Wawng, Christian Scott, Cristin Donoso, David Ostrovsky, Ed Schouten, Fabian Meumertzheim, Gunnar Wagenknecht, Jordan Mele, Keith Smiley, lberki, Nikhil Kalige, oquenchil, Patrick Balestra, Rahul Butani, Ryan Beasley, Son Luong Ngoc, Sushain Cherivirala, thesayyn, Viktor Kustov, Xdng Yng, Xùdōng Yáng, Yannic, Yannic Bonenberger.

v7.0.2
Compare Source
Baseline:  2634a6ec8bef0d8eef9870b23befdddb3dbe0005

Release Notes:

+ Disregard WORKSPACE while verifying lockfile repo mapping entries in extension eval (#21003)

Acknowledgements:

This release contains contributions from many people at Google, as well as bazel.build machine account, Xdng Yng.

v7.0.1
Compare Source
Baseline:  d798ebde6c6394203a87b5f1a6b62ecfc3880991

Release Notes:

+ Consider MODULE.bazel for workspace detection in bazel.sh (#20594)
+ Auto-create deploy jars for Bazel `java_test` targets if requested (#20602)
+ `java_binary` wrapper should forward `restricted_to` (#20611)
+ Mount user-specified bind mounts before Bazel's own magic. (#20609)
+ Fix bootstrapped Bazel binary (#20612)
+ Attempt to make main repo mapping inverse more efficient (#20625)
+ Cherry-pick all presubmit.yml changes (#20733)
+ Print interactive sandboxed shell command with `--sandbox_debug` (#20734)
+ Fix two issues with --incompatible_sandbox_hermetic_tmp that manifested themselves when the output base was under /tmp (#20718)
+ Let module extensions track calls to `Label()` (#20750)
+ Add support for bind mounts under `/tmp` with hermetic tmp (#20749)
+ Fixes for Bazel's own integration tests fail locally on Linux  (#20821)
+ Fix NPE in BzlmodRepoRuleFunction (#20828)
+ Avoid emitting canonical labels into generated repos (#20840)
+ Let .bzl files record their usages of repo mapping (#20848)
+ Force output checking for incremental run commands without the bytes. (#20881)
+ Retry binding to ipv6 localhost (#20903)
+ Fix linker feature detection being performed on wrong linker (#20901)
+ Fix singlejar resource mapping for external repositories (#20904)

Acknowledgements:

This release contains contributions from many people at Google, as well as bazel.build machine account, David Ostrovsky, Fabian Meumertzheim, hvd, Siddhartha Bagaria, Tianyu Geng, Xdng Yng, Xùdōng Yáng.

v7.0.0
Compare Source
Baseline:  d60ce2c7c86393638c77698c00c2168a7a936a53

Release Notes:

+ **[Incompatible]** This has the side effect of changing the message on unsuccessful builds from ``` FAILED: Build did NOT complete successfully (0 packages loaded) ``` to ``` ERROR: Build did NOT complete successfully ```
+ The new path variable `$(rlocationpath ...)` and its plural form `$(rlocationpaths ...)` can be used to expand labels to the paths accepted by the `Rlocation` function of runfiles libraries. This is the preferred way to access data dependencies at runtime and works on all platforms, even when runfiles are not enabled (e.g., on Windows by default).
+ The `aquery` and `cquery` commands now respect the `--query_file` flag just like the `query` command.
+ **[Incompatible]** the --experimental_async_execution flag is now a no-op.
+ **[Incompatible]** --experimental_replay_action_out_err is not a no-op.
+ **[Incompatible]** `cquery --output=files` also outputs source files.
+ removed outdated ctx.host_fragments
+ **[Incompatible]** When multiple --deleted_packages options are passed on the command line, they will be concatenated instead of the latest one taking effect.
+ removed outdated ctx.host_configuration
+ **[Incompatible]** JSON profile: Use doubles instead of strings for counter series.
+ Now that the host configuration is finished, `genrule` should prefer the use of `tools` and stop using `exec_tools`.
+ **[Incompatible]** --experimental_build_transitive_python_runfiles is flipped to false. See #16303 for details
+ **[Incompatible]** --incompatible_python_disable_py2 is flipped to true. See #17293 for details.
+ Update Android manifest merger to v30.1.3, and also drop support for legacy (pre-D8) desugaring.
+ Correctly encode double value positive infinity as "inf" instead of "+inf" for textprotos.
+ **[Incompatible]** When remote cache evicts blobs, Bazel will exit with code 39.
+ Add --use_target_platform_for_tests which uses the target platform for executing tests instead of the execution platform.
+ **[Incompatible]** `--features` only applies to targets built in the target configuration, and `--host_features` is used for the host / exec configuration (gated behind `--incompatible_use_host_features`)
+ Custom C++ rules on Windows calling cc_common.create_linking_context_from_compilation_outputs should review whether each target of the rule type should produce a dynamic library since a condition which blocked their creation has been moved to the rules from behind the API.
+ Add flag `--experimental_remote_cache_ttl` and set the default value to 3 hours.
+ making --incompatible_use_platforms_repo_for_constraints do nothing. Using constraints from @bazel_tools//platforms with or without the flag will throw error with message "Constraints from @bazel_tools//platforms have been removed. Please use constraints from @platforms repository embedded in Bazel, or preferably declare dependency on https://github.com/bazelbuild/platforms"
+ **[Incompatible]** Bazel's local CPU resource on Linux is now container aware. Use `--local_cpu_resources`, `--loading_phase_threads` or `--jobs` to override.
+ Subsequent settings of --extra_execution_platforms now override previous settings, instead of adding them to a list. If you currently set --extra_execution_platforms more than once, please migrate by passing a list of values to --extra_execution_platforms instead so that earlier values aren't overwritten.
+ @bazel_tools//config:common_settings.bzl has been removed. Use @bazel_skylib//rules:common_settings.bzl instead.
+ **[Incompatible]** `copy_from_rule` is exec_groups is deprecated (https://github.com/bazelbuild/bazel/issues/17668).
+ cc_shared_library is no longer experimental, see https://github.com/bazelbuild/bazel/issues/16709 for details
+ **[Incompatible]** --legacy_bazel_java_test is now a no-op
+ The flag `--distinct_host_configuration` is removed. It has been a no-op since Bazel 6.0.0.
+ Add `--skip_incompatible_explicit_targets` option
+ **[Incompatible]** `--experimental_execution_graph_log` no longer exists. Current users that want local logs need to pass `--experimental_enable_execution_graph_log --experimental_execution_graph_log_path=/some/local/path`. Current users that want logs uploaded to BEP need to pass `--experimental_enable_execution_graph_log --experimental_stream_log_file_uploads`.
+ Remove 'darwin' as a CPU value, use 'darwin_x86_64' instead
+ **[Incompatible]** Remove 'darwin' as a CPU value, use 'darwin_x86_64' instead
+ cc_test can now be configured by using a native.toolchain().
+ The location of rules that explicitly specify `generator_name` and/or `generator_function` attributes (typically because they are incidentally copied from `native.existing_rule()`) is now the top-level call in the `BUILD` file, which is consistent with rules that do not explicitly specify these attributes.
+ Warnings (most notably those associated with the `deprecation` rule attribute) are no longer replayed on subsequent invocations unless the target in question is re-analyzed. Warnings are purely informational, so this change has no bearing on the correctness of the build. Downstream tests that break due to this change should update their expectations.
+ `--experimental_remote_build_event_upload` has been renamed to `--remote_build_event_upload`
+ **[Incompatible]** Remove high priority workers functionality from blaze.
+ [Breaking change] platform, constraint_setting, and constraint_value can no longer take an applicable_licenses value. Remediation is to remove the attribute and rely on the package level default.
+ `--experimental_action_cache_store_output_metadata` has been renamed to `--action_cache_store_output_metadata`
+ Changed the default value for `--remote_build_event_upload` to `minimal`.
+ `--experimental_remote_cache_compression` has been renamed to `--remote_cache_compression`
+ Added a new `max_compatibility_level` attribute to the `bazel_dep` directive, which allows version selection to upgrade a dependency up to the specified compatibility level.
+ `--experimental_remote_grpc_log` has been renamed to `--remote_grpc_log`
+ `--incompatible_remote_build_event_upload_respect_no_cache` is now a no-op.
+ json.decode now takes an optional `default` positional parameter; if this parameter is specified and decoding fails, json.decode will return the `default` value instead of failing Starlark evaluation.
+ --experimental_repository_disable_download is now promoted to stable and is also available under the name --repository_disable_download .
+ `applicable_licenses` is no longer allowed on the `platform` rule. Additionally, `default_package_metadata` from any `package` rule will not be applied.
+ **[Incompatible]** Duplicates in <rule-inputs> when using `query --output=xml --aspect_deps=precise` are removed. Added flag `--proto:include_attribute_source_aspects` that will include a new field `source_aspect_name` to the `Attribute` message that indicates the source aspect that the attribute comes from.
+ Options specified on the pseudo-command `common` in `.rc` files are now ignored by commands that do not support them as long as they are valid options for *any* Bazel command. Previously, commands that did not support all options given for `common` would fail to run. These previous semantics of `common` are now available via the new `always` pseudo-command.
+ **[Incompatible]** `--incompatible_check_sharding_support` is enabled by default. Sharded tests with test runners that do not properly advertise support for test sharding will fail. Refer to https://github.com/bazelbuild/bazel/issues/18339 for migration advice.
+ the 'default' param of json.decode can now be used as a keyword parameter.
+ As a transitional step in a larger refactoring, rule transitions are applied twice. Once during dependency resolution and once right before analysis of those rules. After the refactoring is complete, rule transitions will be applied only once.
+ Add aquery --output=streamed_proto which writes a stream of length delimited ActionGraphContainer containing a single Artifact, Action, Target, DepSetOfFiles, Configuration, AspectDescriptor, RuleClass, PathFragment proto. This breaks up the ActionGraphContainer into multiple which will prevent large protos from crashing blaze.
+ (BEP) TargetConfigured events will be marked aborted instead of published when there is an analysis error. This is motivated by a low level Blaze change aimed at improving scalability.
+ **[Incompatible]** cc_binary targets with dynamic_deps attributes no longer link indirect dynamic_deps on Unix. This might be an incompatible change if you are using RUNPATHs (instead of RPATHs) in your cc_shared_libraries. Enable the feature "exclude_bazel_rpaths_in_transitive_libs" or "use_rpath_instead_of_runpath" for those cc_shared_libraries.
+ Enable starlark_doc_extract - a native rule for Starlark documentation extraction. This rule is intended mainly for internal use by Stardoc.
+ **[Incompatible]** Remove deprecated and unused `--experimental_show_artifacts` flag.
+ Added the target path of an UnresolvedSymlink action to the aquery results
+ Additional source inputs can now be specified for compilation in cc_library targets using the additional_compiler_inputs attribute, and these inputs can be used in the $(location) function.
+ More descriptive error messages for unexpected cc absolute includes; unexpected absolute includes for cc compiles shouldn't be reported as "undeclared inclusion(s)"
+ Enable C++ branch coverage if gcov version is 8 or newer.
+ Deduplicates the result of split transitions uniformly, regardless of whether they are Starlark or native transitions. This used to apply only if either the attribute or rule transition contained a Starlark transition.
+ Support for optimizers rewriting baseline profiles.
+ This is a breaking change. `cc_host_toolchain_alias` rule is obsolete and can be interchangeably used with `cc_toolchain_alias` rule.
+ Fixes non-ascii arguments written to parameter files as mojibake.
+ NA
+ The `genrule` attribute `exec_tools` will be removed in a future Bazel release. Please follow directions at #19132 to migrate away from it.
+ **[Incompatible]** Removed multi_arch_split, use transition_support.apple_platform_split_transition from rules_apple instead.
+ Supports for android_binary.startup_profiles attribute.
+ **[Incompatible]** Removed apple_crosstool_transition, use transition_support.apple_rule_transition from rules_apple instead.
+ **[Incompatible]** Drop deprecated 'transitive_deps', 'transitive_runtime_deps' from JavaInfo
+ **[Incompatible]** The --android_include_proguard_location_references flag is not supported anymore.
+ **[Incompatible]** The --apple_compiler command line option is not available anymore.
+ `rule()` and `attr.*` can no longer be (pointlessly) called during WORKSPACE evaluation and repository rule evaluation.
+ Expands baseline profile wildcards before optimizer tools see them.
+ **[Incompatible]** --no_proguard_location_reference is now added unconditionally to the command line of aapt2.
+ **[Incompatible]** The command line flag --apple_enable_auto_dsym_dbg is not supported anymore.
+ **[Incompatible]** The --apple_compiler command line option is not available anymore.
+ **[Incompatible]** py_transitions top-level was removed.
+ Android resources will no longer propagate through neverlinked libraries by default.
+ Set Android Databinding to v2 and Databinging AndroidX to true and remove support for Databinding V1.
+ Added whether or not a FileWrite action's output is executable to the aquery results
+ --use_single_jar_apk_builder is removed. It's been a no-op for years.
+ **[Incompatible]** --incompatible_merge_fixed_and_default_shell_env is flipped to true. See #19317 for details.
+ JVM options in environment variables JAVA_TOOL_OPTIONS and JDK_JAVA_OPTIONS now do not get to the server; use --host_jvm_args instead.
+ --remote_download_minimal no longer implies --nobuild_runfile_links.
+ attr objects in Starlark now use value equality rather than reference equality.
+ **[Incompatible]** `cmd_helper` module was removed
+ **[Incompatible]** `ctx.new_file` was removed, `ctx.actions.declare_file` is to be used instead.
+ **[Incompatible]** Fails on unknown attributes (even when set to None). See https://github.com/bazelbuild/bazel/issues/19403
+ Change output paths to consistently start with [cpu]-[compilation_mode] along with other cleanups to output path generation logic.
+ Compilation actions using the auto-configured MSVC toolchain are forced to emit error messages in English if the English language pack for Visual Studio is installed.
+ **[Incompatible]** Flip incompatible_enable_cc_toolchain_resolution (https://github.com/bazelbuild/bazel/issues/7260)
+ The new `--consistent_labels` option on `query`, `cquery`, and `aquery` can be used to force consistent label formatting across all output modes that is also compatible with `str(Label(...))` in Starlark.
+ **[Incompatible]** proto_compiler attribute removed from proto_lang_toolchain (it was recently introduced, and there is no evidence of use)
+ **[Incompatible]** --experimental_genquery_use_graphless_query is made to be a NO-OP.
+ **[Incompatible]** The --call_count_output_path command line option is not supported anymore.
+ **[Incompatible]** The no-op --dynamic_worker_strategy command line option is no available anymore.
+ **[Incompatible]** the --experimental_allow_top_level_aspects_parameters, --experimental_async_execution, --experimental_availability_info_exempt, --experimental_dynamic_execution_cpu_limited, --experimental_dynamic_skip_first_build, --experimental_keep_config_nodes_on_analysis_discard, --experimental_local_memory_estimate, --experimental_multi_cpu, --experimental_multi_threaded_digest, --experimental_replay_action_out_err and --experimental_shortened_obj_file_path command line options are not available anymore.
+ **[Incompatible]** The --experimental_cc_shared_library_debug command line flag is not available anymore.
+ **[Incompatible]** testing.analysis_test is not experimental anymore
+ **[Incompatible]** The (no-op) --android_include_proguard_location_references flag is not available anymore.
+ **[Incompatible]** The --experimental_android_local_test_binary_resources command line option is not available anymore.
+ **[Incompatible]** The --experimental_includes_attribute_subpackage_traversal command line option is not available anymore.
+ **[Incompatible]** The --debug_print_action_contexts command line option is not available anymore.
+ **[Incompatible]** The --experimental_skyframe_include_scanning command line option is not available anymore.
+ **[Incompatible]** The --experimental_supports_info_crosstool_configuration command line option is not available anymore.
+ **[Incompatible]** THe --incompatible_avoid_conflict_dlls command line option is not available anymore.
+ **[Incompatible]** The --experimental_prioritize_local_actions command line option is not available anymore.
+ **[Incompatible]** The following command line options are not supported anymore: --incompatible_disable_cc_configuration_make_variables, --incompatible_disable_cc_toolchain_label_from_crosstool_proto, --incompatible_disable_crosstool_file, --incompatible_disable_depset_in_cc_user_flags, --incompatible_disable_legacy_cpp_toolchain_skylark_api, --incompatible_disable_legacy_cpp_toolchain_skylark_api, incompatible_disable_legacy_flags_cc_toolchain_api, --incompatible_disable_managed_directories, --incompatible_disable_runtimes_filegroups, --incompatible_disable_sysroot_from_configuration, --incompatible_disable_tools_defaults_package, --incompatible_disallow_legacy_javainfo, --incompatible_dont_emit_static_libgcc, --incompatible_enable_legacy_cpp_toolchain_skylark_api, --incompatible_linkopts_in_user_link_flags, --incompatible_provide_cc_toolchain_info_from_cc_toolchain_suite, --incompatible_require_feature_configuration_for_pic .
+ **[Incompatible]** The --experimental_execution_graph_log_cached and --experimental_execution_graph_log_missed command line options are not available anymore.
+ **[Incompatible]** The --experimental_use_sh_binary_stub_script command line option is not available anymore.
+ **[Incompatible]** The --incompatible_disable_expand_if_all_available_in_flag_set command line option is not available anymore.
+ default_applicable_licenses in package() now applies to the entire BUILD file, regardless of where in the BUILD that package() is called.
+ **[Incompatible]** The --incompatible_load_cc_rules_from_bzl command line option is not available anymore.
+ **[Incompatible]** The --incompatible_display_source_file_location command line option is not available anymore.
+ **[Incompatible]** The --experimental_repository_hash_file and --experimental_verify_repository_rules command line options are not available anymore.
+ **[Incompatible]** The following previously no-op command line options are not available anymore: --legacy_spawn_scheduler, --use_workers_with_dexbuilder, --print_workspace_in_output_paths_if_needed, --watchos_simulator_version, --watchos_simulator_device, --tvos_simulator_version, --tvos_simulator_device.
+ **[Incompatible]** The --show_warnings command line option of the command "canonicalize-flags" is not available anymore.
+ **[Incompatible]** The command line option --remove_all_convenience_symlinks is not available anymore.
+ **[Incompatible]** java_test doesn't produce deploy jars anymore
+ **[Incompatible]** The lazy template expansion is not experimental anymore (--experimental_lazy_template_expansion command line option is not available anymore).
+ **[Incompatible]** The --incompatible_disallow_legacy_javainfo command line option is not available anymore.
+ **[Incompatible]** The --incompatible_remove_cpu_and_compiler_attributes_from_cc_toolchain command line option is not available anymore. Using the "cpu" and "compiler" options of the cc_toolchain rule now results in a slightly different error that is signaled earlier.
+ **[Incompatible]** THe --incompatible_force_strict_header_check_from_starlark command line option is not available anymore.
+ **[Incompatible]** --incompatible_visibility_private_attributes_at_definition is flipped to true. See https://github.com/bazelbuild/bazel/issues/19330 for details.
+ **[Incompatible]** The --experimental_java_proto_library_default_has_services command line option and the Starlark symbol java_common.experimental_java_proto_library_default_has_services function are not available anymore.
+ **[Incompatible]** The no-op --experimental_cpp_compile_argv_ignore_param_file command line option is not available anymore.
+ Make variable expansion of `objc_library` produces better error messages.
+ **[Incompatible]** rule function takes only implementation function positionally, other parameters have to be named
+ **[Incompatible]** The --incompatible_genquery_use_graphless_query command line options is not available anymore.
+ Added support for a new directive `use_repo_rule` in MODULE.bazel files, which allows you to conveniently declare repos that are only visible within your module.
+ Bazel now throws an error if the root module specifies overrides on nonexistent modules.
+ Fix includes attribute of `objc_library` when sibling repository layout is used.
+ Directories used by sandboxed non-worker execution may be reused to avoid unnecessary setup costs. Disable behavior with --noreuse_sandbox_directories.
+ **[Incompatible]** The sandboxfs sandboxing strategy is removed. It hadn't been maintained for a long time, it didn't work for most users and it was not consistently faster while being complex to set up. sandboxfs performance is heavily dependent on the specific setup (setup costs are lower, but you have to pay a penalty for the use of each input) and there are scenarios where it is faster and scenarios where it is slower. Overall it is not worth its weight.
+ Symlink trees created by sandboxing will be deleted asynchronously. Disable behavior with --experimental_sandbox_async_tree_delete_idle_threads=0.
+ **[Incompatible]** Bzlmod is enabled by default, please consider migrating your external dependencies from WORKSPACE to MODULE.bazel. Find more details at https://github.com/bazelbuild/bazel/issues/18958
+ Enable Platforms and Toolchains for Android. Android projects will need to stop passing the legacy flag `--fat_apk_cpu`, and instead use `--android_platforms` using platforms defined with the `@platforms//os:android` constraint. The https://github.com/bazelbuild/rules_android repository defines four standard Android platforms for projects that use those rules, `@rules_android//:armeabi-v7a`, `@rules_android//:arm64-v8a`, `@rules_android//:x86`, `@rules_android//:x86_64`.
+ **[Incompatible]** Java runtime toolchains created via `local_java_repository` from `@bazel_tools//tools/jdk:local_java_repository.bzl`, which includes `local_jdk`, now have `target_compatible_with` set to the auto-detected host constraints. This can result in errors about toolchain resolution failures for `@bazel_tools//tools/jdk:runtime_toolchain_type`, especially when cross-compiling. These failures can be fixed in the following ways (listed in decreasing order of preference): * Replace `java_binary` targets that aren't meant to be run with `bazel run` or as tools during the build with `java_single_jar` (available in `@rules_java//java:java_single_jar.bzl`). Such targets do not require a Java runtime for the target configuration. * Set `--java_runtime_version=remotejdk_N` for some Java version `N` to let Bazel choose and download an appropriate remote JDK for the current target platform. This setting defaults to `local_jdk`, which means that Bazel can only use the local JDK, which isn't compatible with any other platform. * Manually define and register a `local_java_runtime` with no value set for `exec_compatible_with` (defaults to `[]`) and select it by setting `--java_runtime_version` to its `name`. This fully restores the previous behavior, but can result in incorrect results when cross-compiling (see #18265). Closes #18262. Commit https://github.com/bazelbuild/bazel/commit/f79ca0275e14d7c8fb478bd910ad7fb127440fd8
+ none Commit https://github.com/bazelbuild/bazel/commit/7d87996d2c2018f0c6dd9b200482320d0e40f024
+ None Commit https://github.com/bazelbuild/bazel/commit/0a1dce27650a233d8acb1f09a1181279f510cae8
+ **[Incompatible]** The attribute `new_local_repository.build_file` no longer accepts a path; a label must be passed instead. Closes #19992. Commit https://github.com/bazelbuild/bazel/commit/76d71d93c5baa233bd1dca3f2862eebe827a1eb4
+ **[Incompatible]** Delete the --experimental_execution_log_file flag. Use --execution_log_binary_file in conjunction with --noexecution_log_sort instead.
+ **[Incompatible]** transition is removed from objc_library (https://github.com/bazelbuild/bazel/issues/19688) (cherry picked from commit b4292d2ee1154c15d1f099b3e8941c3c448725ba) Co-authored-by: Googler<EMAIL_ADDRESS>+ **[Incompatible]** All labels in Bazel error messages, log output, Build Event Protocol, etc. are now prefixed with double-at (`@@`) instead of single-at (`@`) where applicable, to properly denote that they contain canonical repo names.
+ None. Commit https://github.com/bazelbuild/bazel/commit/491284b0c782e0df25dd0a8bc921a9c2de0e6881
+ **[Incompatible]** `--incompatible_sandbox_hermetic_tmp` is enabled by default. See #19915 for migration advice. Closes #19943. Commit https://github.com/bazelbuild/bazel/commit/e2c0276d1fd69c19d6946fb17f9e983e9ea68025
+ **[Incompatible]** The `--experimental_repository_cache_urls_as_default_canonical_id` flag is no longer available. Instead, the `http_archive`, `http_file`, `http_jar`, `jvm_maven_import_external`, and `jvm_import_external` repository rules now use the URLs as the canonical ID if none is provided explicitly. If this behavior is not desired, it can be disabled via `--repo_env=BAZEL_HTTP_RULES_URLS_AS_DEFAULT_CANONICAL_ID=0`. Fixes #19749 Closes #20047.
+ None Commit https://github.com/bazelbuild/bazel/commit/65f847a0103329f684e4313d49154583de15d164
+ None Commit https://github.com/bazelbuild/bazel/commit/9bbc2cbebf5c395c5504db7dfcfc5bda7e00bd3c
+ none Fixes #19920 Commit https://github.com/bazelbuild/bazel/commit/886b13fd00b5a17161d9558b6b11dd135355e5cb
+ **[Incompatible]** The `BAZEL_CURRENT_REPOSITORY` preprocessor variable, which holds the canonical name of the Bazel repository containing a `cc_*` target, is now only set during compilation if the target depends on the C/C++ runfiles library `@bazel_tools//tools/cpp/runfiles` via `deps` or `implementation_deps`. Fixes #20371 Closes #20388. Commit https://github.com/bazelbuild/bazel/commit/454b5506d82584616fcd707ed2e9bd1fe627c974
+ `--zip_undeclared_test_outputs` now preserves symlinks when zipping `$TEST_UNDECLARED_OUTPUTS_DIR`. Closes #19948. Change-Id: Ia4a8a9699e4e2f40498342af55babc5554a9ac93 Commit https://github.com/bazelbuild/bazel/commit/8e639dfa8c7aa0723123ee90dc933d528a4f2b68
+ **[Incompatible]** Toolchains and execution platforms are now registered in the following order with `--enable_bzlmod`: 1. root module's module file 2. `WORKSPACE` or `WORKSPACE.bzlmod` 3. non-root modules' module files 4. default toolchains registered by Bazel (does not apply with `WORKSPACE.bzlmod` or execution platforms) Fixes #20354 Closes #20407. Commit https://github.com/bazelbuild/bazel/commit/96b361205ee05dcacdcf5055ca9cc3e5ca5d126c#diff-a8d3aed419e661d4dbecb2dc6668444212d7b1707ff61330b7d8aae61e75d4df

Acknowledgements:

This release contains contributions from many people at Google, as well as Adam Lavin, Adrian Imboden, Alan Falloon, Alessandro Patti, Alex Eagle, Alexander Grund, AlexTereshenkov, Amanda L Martin, Amet Umerov, Andreas Herrmann, Andy Hamon, andyrinne12, Ankit Agarwal, Ankush Goyal, Anshuman Mishra, Anthony Ter-Saakov, Antoine Musso, Artem Zinnatullin, arun.sampathkumar, aryeh, Austin Schuh, bazel.build machine account, Ben Lee, Benjamin Lee, Benjamin Peterson, Benjamin Sigonneau, Boleyn Su, Brentley Jones, Cameron Martin, Chirag Ramani, Chris Sauer, Christopher Peterson Sauer, Christopher Rydell, Christopher Sauer, Conall O'Brien, Daniel Grunwald, Daniel KT, Daniel Wagner-Hall, David Ostrovsky, dhmemi, Dimi Shahbaz, eareilg, Ed Schouten, Emil Kattainen, Ezekiel Warren, Fabian Meumertzheim, Fahrzin Hemmati, Gaspare Vitta, George Gensure, Greg, Greg Magolan, Grzegorz Lukasik, Guillaume Maudoux, Gunnar Wagenknecht, Halil Sener, Hao Yuan, hvadehra, hvd, Ilan Keshet, Ivan Golub, Jack Dai, James Ma, Jason Mobarak, Jasper, Jay Conrod, Jeff Hodges, Jeremy Volkman, Jimm chja20, Joel Jeske, John Hinnegan, Jon Landis, Jon Parise, jonrose-dev, Joseph Lisee, Joseph Tilahun, Julio Merino, Kai Zhang, keertk, Keith Smiley, Konstantin Erman, Krzysztof Naglik, kshyanashree, Kun-Lu, Laurenz Altenmller, Lee Mracek, Letu Ren, lripoche, Maksim, Malte Poll, Marc Redemske, Marc Zych, Matt Mackay, Matt Vollmer, Mauricio G, Mauricio Galindo, Maxim Matyunin, Maxwell Elliott, mohamadk, Nathan (Blaise) Bruer, nathyong, NelsonLi0701, nglevin, Nicholas Junge, Nick Biryulin, Nick Korostelev, Oliver Lee, Orion Hodson, Oscar Garzon, Patrice Duroux, Patrick Balestra, Peter Lobsinger, Philipp Schrader, Rasrack, Red Daly, redwrasse, Robin Tweedie, robincaloudis, Roger Hu, Romain Chossart, Roman Salvador, Sagar Pathare, Saleem Abdulrasool, Sam Shadwell, Sara Adams, Sascha Moecker, Scott Minor, Severin Strobl, Shaygan Hooshyari, Siddhesh Bhupendra Kuakde, Simon Mavi Stewart, something_vague, Son Luong Ngoc, Steve Barrau, Stiopa Koltsov, stoozy, Sushain Cherivirala, Takeo Sawada, Taylor Barrella, tbaing, Ted Kaplan, Ted Logan, Thi Don, Thulio Ferraz Assis, Timothy Gu, Tom Cnops, Tyler Williams, Ulf Adams, Ulrik Falklof, Uri Baghin, Vertexwahn, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao, Xùdōng Yáng, Yannic, Yannic Bonenberger, Yi Cheng, Yuval Kaplan, yuzhy8701, Zheng Wei Tan.

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Renovate Ignore Notification
Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future 7.x releases. But if you manually upgrade to 7.x then Renovate will re-enable minor and patch updates automatically.
If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.


Permission Set/Profile for Contact Merge for Delegated Administrators

As a delegated administrator, I don't want to have full SysAdmin rights to Objects and fields, but I do want to have the one-off ability to use Contact Merge for periodic deduplication maintenance. Is is possible to create a "Contact Merge" Permission Set for the NPSP, or is the merge tool itself not designed to work with anything other than a System Administrator Profile? @njjc - any thoughts on this?

You don't require a System Admin profile to merge, just the Create, Edit and Delete and one of the following (as per documentation):

You are the owner of the Contacts being merged.
You are above the owners of the Contacts being merged in the role hierarchy.
You have the Modify All permission on Contacts.


failing to add dependencies

I deactivated the rebar.config.script in order to take dependencies directly from the rebar.config and added this:
        {ebip39,
                {git, "https://github.com/aeternity/ebip39.git"}}

It fetches ebip39 and compiles properly, however in runtime:
[error] CRASH REPORT Process <0.1657.0> with 0 neighbours exited with reason: call to undefined function ebip39:generate_mnemonic(128)
In my test app I can import and use it without an issue, what is different here @uwiger ?

devmode apparently can't have any own dependencies but relies on the packages which it sets as dependency to be available in the node client.


Fixed wrong branches coverage

@eddyerburgh I think I solved the problem. I realized you were updating the variable beforeLines
before updating the output and because of that when the template parts were added It went wrong and included some of the template lines in the branches coverage.
I've updated the new changes in my project and in yours vue-test-utils-jest-example and it works in both projects.
I had to update the sourcemap value in tests for ensure that they would pass.
Please check it ;)
Fixes #3

Looks good @vanessasml 🙂

This fix is live in 0.5.2


Fix missing install targets in cmake; Add nix derivation.

This PR adds some missing target properties to permit the build to properly package, removing a hidden dependency on binaries in the source directory from the rpath of the generated lovr executable, and populating install destinations for targets that were missing it. This makes it amenable to portable building and packaging.
Additionally, this PR adds the default.nix packaging recipe, allowing this repo to be referenced by any nix tool.

I don't know much about nix or NixOS, so I'm just curious how adding the nix recipe here is useful.  I saw that nixpkgs contains default.nixs for lots of software, is there a difference between adding the recipe there vs. here?  Is it mostly to allow for local package builds?  I've been trying to minimize the amount of clutter in the root of the repository, so I guess there is a bit of a higher bar for adding default.nix.
Also thank you for the CMake and rpath fixes!

by putting the default.nix here rather than in nixpkgs it both enables local package builds and makes pinning specific versions of lovr in other projects much easier. It enables getting packages built from specific git revisions by just pointing at the github repo. It also means that doing development on this repo requires only a single nix-build invocation.

I'm going to hold off on merging this right now.  Thanks for taking the time to do this, I'm definitely going to keep this patch in mind for the future.


THORN-2185: Change config keys to 'thorntail.'

[x] Have you followed the guidelines in our Contributing document?
[x] [v2] Have you created a JIRA and used it in the commit message?
[ ] [v4] Have you created a GitHub Issue and used it in the commit message?
[x] Have you checked to ensure there aren't other open Pull Requests for the same issue?
[x] Have you built the project locally prior to submission with mvn clean install?

Motivation
It's confusing to have a root config key of 'swarm' when the project is named Thorntail.
Modifications
Modified config handling to convert 'swarm' to 'thorntail', for backwards compatibility, and updated all config keys to start with 'thorntail'.
Result
Config keys now start with 'thorntail', but 'swarm' still works as well.

I've noticed that a top-level swarm key in YAML is automatically transformed to thorntail. Are we doing the same for system properties? I.e., will swarm.* system properties still work?
(One option how to achieve that is to scan all system properties and clone all that begin with swarm.* to a thorntail.* equivalent, somewhere soon enough in the boot process. But I guess there are other options, too.)

Pretty sure env vars are already mapped, as they're sucked into ConfigKeys which does the rename from swarm to thorntail

Yea, and if my understanding is correct, those places will no longer accept the swarm.* variant. As in, we won't provide compatibility. That's my concern.


Remove mikemaccana/rosetta-stone/bixu-master ?

I fetched today and picked up https://github.com/mikemaccana/rosetta-stone/tree/bixu-master . I think this should be removed.

Ack, gone.


Automated cherry pick of #9399: fix(notify): avoid deadlock

Cherry pick of #9399 on release/3.6.
#9399: fix(notify): avoid deadlock

Codecov Report

Merging #9400 (b1abb35) into release/3.6 (b9d30c0) will increase coverage by 10.64%.
The diff coverage is 3.69%.

@@               Coverage Diff                @@
##           release/3.6    #9400       +/-   ##
================================================
+ Coverage         5.86%   16.51%   +10.64%
================================================
  Files              828       87      -741
  Lines           129133     9114   -120019
================================================
- Hits              7577     1505     -6072
+ Misses          120876     7477   -113399
+ Partials           680      132      -548

Flag
Coverage Δ

aFlag
16.51% <3.69%> (+10.64%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/apigateway/handler/auth.go
0.00% <0.00%> (ø)

pkg/monitor/alerting/conditions/nodataquery.go
0.99% <0.00%> (ø)

pkg/hostman/diskutils/nbd/driver.go
0.75% <0.75%> (ø)

pkg/monitor/alerting/conditions/suggestquery.go
2.00% <2.00%> (ø)

pkg/hostman/diskutils/nbd/lvmutils.go
4.93% <4.93%> (ø)

pkg/mcclient/modules/monitor/suggestsysrule.go
100.00% <100.00%> (ø)

pkg/compute/models/hostjoints.go

pkg/mcclient/options/baseprojects.go

pkg/appsrv/dispatcher/dispatcher.go

pkg/compute/models/inter_vpc_network_routeset.go

... and 652 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d1a4a52...b1abb35. Read the comment docs.


Object with time.Time field doesn't equal itself after gob encode/decode (go 1.9+)

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go version go1.9.2 linux/amd64
Does this issue reproduce with the latest release?
Yes. It reproduces with Go version 1.9 and above.
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/vovka/pr/go"
GORACE=""
GOROOT="/home/vovka/.golang/stable"
GOTOOLDIR="/home/vovka/.golang/stable/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build079377208=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"

What did you do?
https://play.golang.org/p/Bz82uni81C
What did you expect to see?
something like this:
$ go version
go version go1.8.5 linux/amd64
$ go run main.go
gob:
        Before: &main.someObjectWithTime{Time:time.Time{sec:63644866279, nsec:191418226, loc:(*time.Location)(0x572660)}}
        After:  &main.someObjectWithTime{Time:time.Time{sec:63644866279, nsec:191418226, loc:(*time.Location)(0x572660)}}
        reflect.DeepEqual: true

What did you see instead?
$ go version
go version go1.9.2 linux/amd64
$ go run main.go
gob:
        Before: &main.someObjectWithTime{Time:time.Time{wall:0xbe7585dacdb772e0, ext:1437579, loc:(*time.Location)(0x593820)}}
        After:  &main.someObjectWithTime{Time:time.Time{wall:0xdb772e0, ext:63644866283, loc:(*time.Location)(0x593820)}}
        reflect.DeepEqual: false

That's the expected behaviour, since encoding a time.Time strips the monotonic time part. See the part about comparisons in time.Time's documentation:

Note that the Go == operator compares not just the time instant but also the Location and the monotonic clock reading. Therefore, Time values should not be used as map or database keys without first guaranteeing that the identical Location has been set for all values, which can be achieved through use of the UTC or Local method, and that the monotonic clock reading has been stripped by setting t = t.Round(0). In general, prefer t.Equal(u) to t == u, since t.Equal uses the most accurate comparison available and correctly handles the case when only one of its arguments has a monotonic clock reading.

If you want to compare two time.Time instances you should use Time.Equal.

Rel #22251

Yes, as explained above this is expected.
Closing as a dup of #22251 (and others).


Use shape (circles and arrows) drawing and/or clicking to generate comments in the chat window

There are some games where you want to quickly exclaim "23. Nf7", but the moment passes and you want to pay attention to the game anyway. Find a way to translate glyphs on the screen into comment text.
On one hand this is a very nice feature that I would love. On the other hand some people really dislike people chatting in their window. Also, trolls might use it to spam the chat window, although I guess there are simpler ways to do that.

Closing this. I don't think I would need it as much, it would help spam messages and also it doesn't work on mobiles.


CPU feature detection not detecting AVX512 for "Intel Xeon W” processor

It seems to me that BLAKE3’s CPU feature detection is not working as expected. I have "Intel Xeon W” processor (on macOS) which shows that AVX512 is supported:
$ sysctl -a | grep machdep.cpu.leaf7_features
machdep.cpu.leaf7_features: RDWRFSGS TSC_THREAD_OFFSET BMI1 HLE AVX2 FDPEO SMEP BMI2 ERMS INVPCID RTM PQM FPU_CSDS MPX PQE AVX512F AVX512DQ RDSEED ADX SMAP CLFSOPT CLWB IPT AVX512CD AVX512BW AVX512VL MDCLEAR TSXFA IBRS STIBP L1DF ACAPMSR SSBD

However the checks for AVX512F and AVX512VL using the cpu_feature function fail (it reports that these features don’t exist) so it dispatches to the AVX2 implementation instead of the AVX512 one.
When I modify and force the cpu_feature function to report that AVX512 is available, then the AVX512 implementation gets used and gives a further boost in performance.

@sneves what do you think?

MacOS issue.

numpy fixed same issue here: https://github.com/numpy/numpy/pull/19362

This other MacOS bug makes me think that AVX-512 being effectively disabled there is probably for the best.

This has been fixed in macOS 12.2 (21D49), according to https://github.com/golang/go/issues/49233


autoedit.py has many errors

First, this is a great project! I am able to create new images from text using the ongo model.
But I am getting several errors trying to run the autoedit.py script.
I am initializing my system as prescribed in the readme. But running autoedit like this throws errors.
!python autoedit.py --model_path ongo.pt --kl_path kl-f8.pt --bert_path bert.pt \
--edit "/content/test.png" \
--text "high quality professional pixel art" --negative "" --prefix autoedit \
--batch_size 1 --width 256 --height 256 --iterations 25 \
--starting_threshold 0.6 --ending_threshold 0.5 \
--starting_radius 5 --ending_radius 0.1 \
--seed -1 --guidance_scale 5.0 --steps 30 \
--aesthetic_rating 9 --aesthetic_weight 0.5

Traceback (most recent call last):
  File "autoedit.py", line 15, in <module>
    from guided_diffusion.predict_util import (
ImportError: cannot import name 'clip_encode_cfg' from 'guided_diffusion.predict_util'
(/content/ldm-finetune/guided_diffusion/predict_util.py)

I got past the first set of errors, but there are more after this.
If possible, please fix up the autoedit script to get it running again.
Cheers,

Rob

Noted! Thanks - I'll take a look.

@robgon-art Okay I've fixed everything

@robgon-art
Fixed here: https://github.com/LAION-AI/ldm-finetune/commit/38e0fef4de23bc273587de09766e9036f04e8b8c

Thanks! I’ll check it out…


add first, user-triggered snapshot tests

to try them out locally, connect an nrf52840 and run cargo test -- -ignored
these test cases are pretty basic to give us some sort of baseline and can be expanded in subsequent PRs. In the future it'd be cool to have them set up as hardware in the loop tests but I think they're already helpful during development as-is, even if we don't catch regressions automatically (yet)

I am wondering if these tests will break with a next compiler release, because this might impact the program size, which is encoded e.g. here https://github.com/knurling-rs/probe-run/blob/7e4e05172959e7d0d307e62c4ada38f5ff05bf36/tests/snapshots/test__panic_is_reported_as_such.snap#L6
But it seems that it at least shows the same for the current nightly, so I guess this is a not-problem 😬

I am wondering if these tests will break with a next compiler release, because this might impact the program size, which is encoded e.g. here
https://github.com/knurling-rs/probe-run/blob/7e4e05172959e7d0d307e62c4ada38f5ff05bf36/tests/snapshots/test__panic_is_reported_as_such.snap#L6
But it seems that it at least shows the same for the current nightly, so I guess this is a not-problem 😬

Since we're not re-compiling but running precompiled binaries that should be ok. If we ever recompile them then yes, we'll have to update the tests :D But I think that's actually a useful canary

@Lotterleben feel free to send this to bors after a rebase

bors r+


Add rename function

Add:

rename command. This command has the format rename {new name}.
new name only accepts alphanumeric, '-' and '_' characters.

Changes:

creating new book now automatically swaps to the newly created book.
rename and swap changes the bottom status bar.

New Shortcuts:

ctrl + shift + n creates a new file.
shift + tab swaps between files.

Codecov Report
Base: 56.95% // Head: 53.27% // Decreases project coverage by -3.67% :warning:

Coverage data is based on head (f301aa5) compared to base (15fe4b3).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master      #83      +/-   ##
============================================
- Coverage     56.95%   53.27%   -3.68%
  Complexity      476      476
============================================
  Files            96       99       +3
  Lines          1928     2061     +133
  Branches        202      213      +11
============================================
  Hits           1098     1098
- Misses          784      917     +133
  Partials         46       46

Impacted Files
Coverage Δ

...rc/main/java/seedu/address/logic/LogicManager.java
22.05% <0.00%> (-8.56%)
:arrow_down:

...va/seedu/address/logic/commands/RenameCommand.java
0.00% <0.00%> (ø)

.../seedu/address/logic/parser/AddressBookParser.java
57.14% <0.00%> (-2.12%)
:arrow_down:

...in/java/seedu/address/logic/parser/ParserUtil.java
77.08% <0.00%> (-15.42%)
:arrow_down:

...eedu/address/logic/parser/RenameCommandParser.java
0.00% <0.00%> (ø)

src/main/java/seedu/address/model/Model.java
100.00% <ø> (ø)

...rc/main/java/seedu/address/model/ModelManager.java
79.66% <0.00%> (-5.80%)
:arrow_down:

src/main/java/seedu/address/model/UserPrefs.java
60.65% <0.00%> (-3.14%)
:arrow_down:

src/main/java/seedu/address/ui/MainWindow.java
0.00% <0.00%> (ø)

...a/seedu/address/model/person/position/Student.java
45.21% <0.00%> (-4.31%)
:arrow_down:

... and 3 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


db migrate failure:<PHONE_NUMBER>3422 AddDiscountTypeColumn

==<PHONE_NUMBER>3422 AddDiscountTypeColumn: migrating ============================
-- add_column(:spree_volume_prices, :discount_type, :string)
rails aborted!
StandardError: An error has occurred, this and all later migrations canceled:
SQLite3::SQLException: duplicate column name: discount_type: ALTER TABLE "spree_                                                                             volume_prices" ADD "discount_type" varchar
/usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:91:in                                                                              initialize' /usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:91:in                                                                              new'
/usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:91:in                                                                              prepare' /usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:137:i                                                                             n execute'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/sqlite3_adapter.rb:232:in block in execute' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract_adapter.rb:589:in block in log'
/usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.1/lib/active_support/notif                                                                             ications/instrumenter.rb:21:in instrument' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract_adapter.rb:583:in log'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/sqlite3_adapter.rb:232:in execute' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract/schema_statements.rb:542:in add_column'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/sqlite3_adapter.rb:373:in add_column' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:846:in block in method_missing'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:815:in block in say_with_time' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:815:in say_with_time'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:835:in method_missing' /var/opt/gitlab/git-data/repositories/ypil-shahzeb/db/migrate/20121115043422_add                                                                             _discount_type_column.rb:3:in change'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:789:in exec_migration' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:773:in block (2 levels) in migrate'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:772:in block in migrate' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract/connection_pool.rb:398:in with_connection'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:771:in migrate' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on/compatibility.rb:121:in migrate'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:951:in migrate' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1212:in block in execute_migration_in_transaction'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1280:in block in ddl_transaction' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract/database_statements.rb:232:in block in transaction'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract/transaction.rb:189:in within_new_transaction' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract/database_statements.rb:232:in transaction'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/transac                                                                             tions.rb:211:in transaction' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1280:in ddl_transaction'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1211:in execute_migration_in_transaction' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1184:in block in migrate_without_lock'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1183:in each' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1183:in migrate_without_lock'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1134:in migrate' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1006:in up'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:984:in migrate' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/tasks/d                                                                             atabase_tasks.rb:161:in migrate'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/railtie                                                                             s/databases.rake:58:in block (2 levels) in <top (required)>' /usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.1/lib/rails/commands/rake_proxy                                                                             .rb:14:in block in run_rake_task'
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.1/lib/rails/commands/rake_proxy                                                                             .rb:11:in run_rake_task' /usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.1/lib/rails/commands/commands_t                                                                             asks.rb:51:in run_command!'
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.1/lib/rails/commands.rb:18:in                                                                             <top (required)>' bin/rails:4:inrequire'
bin/rails:4:in <main>' ActiveRecord::StatementInvalid: SQLite3::SQLException: duplicate column name: di                                                                             scount_type: ALTER TABLE "spree_volume_prices" ADD "discount_type" varchar /usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:91:in                                                                              initialize'
/usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:91:in                                                                              new' /usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:91:in                                                                              prepare'
/usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:137:i                                                                             n execute' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/sqlite3_adapter.rb:232:in block in execute'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract_adapter.rb:589:in block in log' /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.1/lib/active_support/notif                                                                             ications/instrumenter.rb:21:in instrument'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract_adapter.rb:583:in log' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/sqlite3_adapter.rb:232:in execute'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract/schema_statements.rb:542:in add_column' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/sqlite3_adapter.rb:373:in add_column'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:846:in block in method_missing' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:815:in block in say_with_time'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:815:in say_with_time' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:835:in method_missing'
/var/opt/gitlab/git-data/repositories/ypil-shahzeb/db/migrate/20121115043422_add                                                                             _discount_type_column.rb:3:in change' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:789:in exec_migration'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:773:in block (2 levels) in migrate' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:772:in block in migrate'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract/connection_pool.rb:398:in with_connection' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:771:in migrate'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on/compatibility.rb:121:in migrate' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:951:in migrate'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1212:in block in execute_migration_in_transaction' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1280:in block in ddl_transaction'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract/database_statements.rb:232:in block in transaction' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract/transaction.rb:189:in within_new_transaction'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract/database_statements.rb:232:in transaction' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/transac                                                                             tions.rb:211:in transaction'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1280:in ddl_transaction' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1211:in execute_migration_in_transaction'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1184:in block in migrate_without_lock' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1183:in each'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1183:in migrate_without_lock' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1134:in migrate'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1006:in up' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:984:in migrate'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/tasks/d                                                                             atabase_tasks.rb:161:in migrate' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/railtie                                                                             s/databases.rake:58:in block (2 levels) in <top (required)>'
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.1/lib/rails/commands/rake_proxy                                                                             .rb:14:in block in run_rake_task' /usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.1/lib/rails/commands/rake_proxy                                                                             .rb:11:in run_rake_task'
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.1/lib/rails/commands/commands_t                                                                             asks.rb:51:in run_command!' /usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.1/lib/rails/commands.rb:18:in                                                                              <top (required)>'
bin/rails:4:in require' bin/rails:4:in '
SQLite3::SQLException: duplicate column name: discount_type
/usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:91:in                                                                              initialize' /usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:91:in                                                                              new'
/usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:91:in                                                                              prepare' /usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:137:i                                                                             n execute'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/sqlite3_adapter.rb:232:in block in execute' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract_adapter.rb:589:in block in log'
/usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.1/lib/active_support/notif                                                                             ications/instrumenter.rb:21:in instrument' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract_adapter.rb:583:in log'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/sqlite3_adapter.rb:232:in execute' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract/schema_statements.rb:542:in add_column'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/sqlite3_adapter.rb:373:in add_column' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:846:in block in method_missing'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:815:in block in say_with_time' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:815:in say_with_time'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:835:in method_missing' /var/opt/gitlab/git-data/repositories/ypil-shahzeb/db/migrate/20121115043422_add                                                                             _discount_type_column.rb:3:in change'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:789:in exec_migration' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:773:in block (2 levels) in migrate'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:772:in block in migrate' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract/connection_pool.rb:398:in with_connection'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:771:in migrate' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on/compatibility.rb:121:in migrate'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:951:in migrate' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1212:in block in execute_migration_in_transaction'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1280:in block in ddl_transaction' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract/database_statements.rb:232:in block in transaction'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract/transaction.rb:189:in within_new_transaction' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/connect                                                                             ion_adapters/abstract/database_statements.rb:232:in transaction'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/transac                                                                             tions.rb:211:in transaction' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1280:in ddl_transaction'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1211:in execute_migration_in_transaction' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1184:in block in migrate_without_lock'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1183:in each' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1183:in migrate_without_lock'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1134:in migrate' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:1006:in up'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/migrati                                                                             on.rb:984:in migrate' /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/tasks/d                                                                             atabase_tasks.rb:161:in migrate'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/railtie                                                                             s/databases.rake:58:in block (2 levels) in <top (required)>' /usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.1/lib/rails/commands/rake_proxy                                                                             .rb:14:in block in run_rake_task'
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.1/lib/rails/commands/rake_proxy                                                                             .rb:11:in run_rake_task' /usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.1/lib/rails/commands/commands_t                                                                             asks.rb:51:in run_command!'
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.1/lib/rails/commands.rb:18:in                                                                             <top (required)>' bin/rails:4:inrequire'
bin/rails:4:in `'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

Did you find a way to get this to work? Seems to me we are out of luck for Spree Versions > 3.0.0
:-1:

I delete that db/migrate file, rake db:migrate go ahead.
But the deep issue may be the originally created database not supported by activerecords 5.


Make GenericRecord and ClickHouseBinaryFormatReader easy to iterate

Summary
Add some useful methods to GenericRecord and ClickHouseBinaryFormatReader to make it easy to iterate.
Both GenericRecord and ClickHouseBinaryFormatReader could also get the column size, column names, and the full row values.
Use case:
Records records = client.queryRecords("select * from mytable limit 100").get();
records.forEach(record -> {
    // easy to get column size, then user can use record.getObject(<index>) to get a specified column value
    System.out.println(record.getSize());

    // easy to get column names, then user can use record.getObject(<column_name>) to get a specified column value
    System.out.println(record.getNames());

    // easy to get all row values in kv format
    System.out.println(record.getAll());
});

So the new use case should be:
records.forEach(record -> {
    TableSchema schema = record.getSchema();
    // easy to get column size, then user can use record.getObject(<index>) to get a specified column value
    System.out.println(schema.getColumns().size());

    // easy to get column names, then user can use record.getObject(<column_name>) to get a specified column value
    System.out.println(schema.getColumns().stream().map(ClickHouseColumn::getColumnName).toList());

    // easy to get all row values in kv format
    System.out.println(record.getAll());
});

@abcfy2 than you for changing the PR!
I've left 2 comments. I mainly worried about name of the method.
Thanks!

No worries @chernser . I've modified PR. Please check again.
Thanks.

@abcfy2 looks good to me!
Thank you!

:raised_eyebrow: Some tests failed. But seems it's non of my mistake.


Missing persistence functions

Things like:
SaveV2
We talked earlier about snapshot related files. This is likely one of those ops.

I'm still not sure if we really should have them in graph. It's TF compat layer after all, and bringing zip/proto back to c++ again, doesn't sound like a good idea right now.
Maybe keep them in java, and use during import?


fix pmessage double free bug

free in ~auto_ptr() and ~AMQPQueue()

Hello, the bug not fixed yet in latest version. It looks like the code is rollback.