* origin/topic/timw/python-upgrade: (65 commits)
Swap pre-commit yapf for ruff/ruff-format, fix findings
Upgrade package-manager submodule to get python upgrade
Upgrade broker submodule to get python upgrade
Upgrade zeekctl submodule to get python upgrade
Upgrade zeek-client submodule to get python upgrade
Upgrade btest submodule to get python upgrade
Require Python 3.9 in CMakeLists.txt
CI: Install python 3.9 on ubuntu 20
btest: Avoid loading ZeroMQ if not compiled in
btest/coverage: Avoid warnings in test-all-policy-cluster
Broker::publish: Warn on using Broker::publish() when inactive
Update doc submodule [nomail] [skip ci]
Update zeek-testing and zeek-testing-cluster commit hashes
Update ZAM BiF-tracking
configure: Add --disable-cluster-backend-zeromq
CMakeLists: Cluster backends output
zeromq: Conditionally enable by default
btest/generic: Add publish_hrw(), publish_rr() and logging tests
generate-docs: Run on Ubuntu 24.04, add cppzmq
docker: Add cppzmq/libzmq dependencies
...
* origin/topic/awelzel/broker-publish-warn:
btest: Avoid loading ZeroMQ if not compiled in
btest/coverage: Avoid warnings in test-all-policy-cluster
Broker::publish: Warn on using Broker::publish() when inactive
* topic/christian/disconnect-slow-peers:
Bump cluster testsuite to pull in Broker backpressure tests
Expand documentation of Broker events.
Add sleep() BiF.
Add backpressure disconnect notification to cluster.log and via telemetry
Remove unneeded @loads from base/misc/version.zeek
Add Cluster::nodeid_to_node() helper function
Support re-peering with Broker peers that fall behind
Add Zeek-level configurability of Broker slow-peer disconnects
Bump Broker to pull in disconnect feature and infinite-loop fix
No need to namespace Cluster:: functions in their own namespace
* origin/topic/awelzel/license-header-cleanup:
Add missing copyright line to headers and cc files
pre-commit: Add license-header check inspired by Spicy
Add missing "COPYING" in file comments
* origin/topic/vern/CPP-streamlining:
BTest baseline updates for compile-to-C++
mark ZAM regression BTests as not suitable for compile-to-C++
fix for -O gen-C++ maintenance helper to skip BTest intermediary files
introduced simplified initialization for non-standalone -O gen-C++ code tied -O gen-standalone-C++ to use of --optimize-files
streamline generated -O C++ code by relying on per-function profiles rather than aggregate profile
when reporting available/unavailble C++ script bodies, flag those that are skipped
modified AST profiling to mark (and fully skip) non-optimizable functions
modified merge_types() to skip work if given identical types, which also preserves type names (useful for -O gen-C++)
* origin/topic/vern/script-opt-uncompilable-AST:
ScriptOpt: Fail compilation if known exprs/stmts is outdated
skip optimization of functions with AST nodes unknown to script optimization
* origin/topic/vern/script-opt-keep-asserts:
ZAM documentation updates for asserts and event handler run-time errors
BTest updates for ZAM support of (optionally) keeping "assert" statements
command-line options for controlling script optimization: keeping asserts, avoiding event handler coalescence
ZAM support for option to not coalesce event handlers
ZAM support for keeping "assert" statements
internal support for script optimization options for keeping asserts, not consolidating event handlers
ZAM operations to support asserts
simplified "assert" by not trying to catch messages that themselves have errors
Fixed some TEST-REQUIRES "${ZEEK_ZAM}" == "1" to use "=" instead to
be /bin/sh compatible.
* origin/topic/vern/zam-pattern-comparison:
update of BTest that tracks number of (and validates) ZAM operations
ZAM support for pattern equality/inequality operations
expanded ZAM operations for bit-shifting to allow for int/count shift values
added type coercion for bit-shifting expressions
* origin/topic/awelzel/pluggable-cluster-backends-part3:
init-bare/zeek-setup: Groundwork for instantiating cluster backends
cluster/serializer: Add binary-serialization-format
logging/WriterFrontend: Add logic for non-broker cluster backends
logging/WriterBackend: Include logging/Types.h
logging/Manager: Implement new WriteBatchFromRemote()
logging/WriterFrontend: Add LogWriteHeader as member
logging: Add filter_name to WriterInfo
* origin/topic/timw/json-interval-conversion:
Add interval_as_double argument to control how intervals are converted to JSON
Add btest for round-trip JSON conversion
Allow comparing two PatternVals
Handle conversion between data from Val::ToJSON and ValFromJSON better
* origin/topic/johanna/sqlite-pragmas:
Options for SQLite log writer, eliminate duplicate definitions
Test synchronous/journal mode options for SQLite log writer
Added default options for synchronous and journal mode
Support for synchronous and journal_mode
* origin/topic/awelzel/pluggable-cluster-backends-part1:
btest: Test Broker::make_event() together with Cluster::publish_hrw()
btest: Add cluster dir, minimal test for enum value
broker: Add shim plugin adding a backend component
zeek-setup: Instantiate backend::manager
cluster: Add to src/CMakeLists.txt
cluster: Add Components and ComponentManager for new components
cluster/Backend: Interface for cluster backends
cluster/Serializer: Interface for event and log serializers
logging: Introduce logging/Types.h
SerialTypes/Field: Allow default construction and add move constructor
DebugLogger: Add cluster debugging stream
plugin: Add component enums for pluggable cluster backends
broker: Pass frame to MakeEvent()
* origin/topic/christian/debug-stream-tweaks:
Make debug stream names use "-", and handle "_" transparently
Make "-B all" apply to plugin streams as well.
Sort streams in "-B help" output, and match case-insensitively throughout
* origin/topic/awelzel/log-broker-io-telemetry-rules-includes:
zeek-setup: Remove some unused headers
clang-format: Sort doctest header at the bottom
RuleMatcher: Move plugin/Manager.h include from .h to .cc
iosource/Manager: Remove superflous includes
telemetry/Manager: Remove broker header include, add fnmatch.h
logging/Manager: Fix using filename from input.h in debug log