I am pleased to announce the latest maintenance release of Booth 1.1 is available immediately from GitHub at https://github.com/ClusterLabs/booth/releases as booth-1.1.

Booth 1.1 has been released 7 long years after 1.0, so there are a huge number of changes and it is really hard to highlight the most important ones (and I would rather not even try). Also I guess most booth users are actually running a git version so most of the fixes are already in production.

Please keep in mind that this is the last release where very old versions of Python, Pacemaker, ... are supported. The next release will require at least Python 3.9, Pacemaker 2.1, ... Basically RHEL 8 was chosen as the oldest supported base. I hope virtually nobody will be affected by this decision (and if you are then patches are welcomed ;) ).

My plan is to do regular releases once, maybe twice a year (more if needed of course). Also I'm expecting 1.2 later this year to prepare Booth for changes in Pacemaker 3.0. So stay tuned!

Complete changelog for 1.1:

    Aleksei Burlakov (1):
          test: fix the delimiter in the here-string

    Bin Liu (2):
          low:fix:remove unnecessary return from unit-test.py
          typo fix: there is no %{S:2} defined in booth.spec

    Chris Kowalczyk (16):
          Build: create and set working directory
          Build: add correct permissions to the folders
          Config: handle hostnames in booth.conf file
          Change comment style and indentation
          Find the correct address of a local site
          Booth Daemon Arguments: disable foreground for D flag
          Booth Daemon Arguments: Added tests for DS and S flags
          Booth Daemon Arguments: Enable stderr for foregound mode
          Booth Daemon Arguments: Disable stderr for daemon mode
          Feature: add manual mode to booth tickets
          Fixed typo in help message
          Updates after review
          Updates after code review
Handle multi-leader situation for manual tickets. Added manual tickets to Life Tests framework
          Refactoring after review comments
          Fix asciidoc build

    Dan Streetman (1):
Don't lock all current and future memory if can't increase memlock rlimit

    Dejan Muhamedagic (14):
Doc: update the before-acquire-handler description to match the new semantics
          Dev: extprog: rename prog to path (it can be a directory too)
          build: remove the old paxos update pre-script
          Feature: extprog: add capability to run a set of programs
          Medium: extprog: external tests timeout after renewal interval
          Medium: main: finally fix address matching
          Low: ticket: reset next state on ticket reset
          Low: extprog: fix pid test
          Dev: extprog: set progstate debug
          Low: attr: set time string to "" when time is not set
          Low: attr: add ticket name to warnings
          Medium: attr: fix wrong order for hash free functions
          Medium: extprog: fix race condition on ticket loss
          fix bashisms (use printf instead of echo)

    Fabio M. Di Nitto (14):
build: use pkg-config way to detect and use pacemaker header files build: allow to override path to python without failing version checks
          build: fix make distcheck
[build] ship booth.pc with basic booth build information for downstream packages to use configure: Simplify libqb detection when libqb is not installed in standard paths
          configure: detect and init pkg-config with proper macro
          configure: add BOOTH_PKG_CHECK_VAR macro to wrap PKG_CHECK_VAR
configure: use resource-agents pkg-config info to determine ocfdir
          configure: use PKG_CONFIG to detect pacemaker user/group
          configure: drop unnecessary macro
          configure: drop dead code
          configure: move exec_prefix sanitizer closer to prefix
          configure: drop unnecessary check and define
          rpm: use new package name for pacemaker devel on opensuse

    Jan Friesse (64):
          test: Allow test running as a root
          test: Enlarge timeout for boothd exit
          test: Actively wait for lock file create/delete
          build: Make make distcheck with asciidoctor
          docs: Fix description of how to run python tests
          tests: Make test work for Debian systems
          main: Accept longer config and lock file names
          main: Delete lockfile when signal arrive too early
          build: Do not link with pcmk libraries
          pacemaker: Handle updated exit code of crm_ticket
          tests: Allow parallel running of tests
          build: Make generating of HTML man work
          build: Remove unneeded OS detection section
          build: Make sure tarball contains all needed files
          build: Delete cov directory on clean
          configure: Always let automake set python vars
          main: mkdir failure is not critical
          pacemaker: Express intention about logical or
          pacemaker: Change rv handling of pcmk_get_attr
          transport: setsockopt failures are not critical
          transport: Check fcntl return value
          build: Use git-version-gen
          build: Rework build of RPM
          build: Substitute asciidoc or asciidoctor for RPM
          build: Substitute glue dependency in RPM
          build: Substitute python dependency in RPM
          build: Substitute hauser and haclient in RPM
          build: Add option to enable tests during rpmbuild
          booth.spec: Add fedora compatibility provides
          build: Remove bashisms
          test: Add compatibility with iproute ss command
          configure: Make sure without-html_man works
          git-version-gen: Use fallback for git-archive
          build: Fix building of html docs with asciidoc
          boot.spec.in: Package html files when generated
          booth.spec: Change naming scheme for upgrades
          config: Remove deprecated net functions
          test: Enhance wait_for_lock_file
          main: Use only signal-safe functions
          handler: Use only signal-safe functions
          doc: Describe debug config file option
          Revert "Refactor: main: substitute is_auth_req macro"
          ticket: Fix compiler warning
          configure: Modernize configure.ac a bit
          unit file: Remove Alias directive
          config: Include keyword in error message
          config: Include protocol in error message
          test: Add test for unknown/unexpected keyword
          man: Move debug description to better place
          man: Indent peers counters
          man: Do not format __defaults__
          man: Remove italic bold formatting
          man: remove literal paragraph format from boothd.8
          man: Add generated html files into gitignore
          spec: Migrate to SPDX license
          main: Fix exit code on grant/revoke command error
          attr: Fix memory leak for list and get operation
          attr: Fix glib hash_table != NULL assert
          tests: Fix Python 3.12 warning
          build: Add gitlog-to-changelog
          build: Add release.mk
          build: Include icons in release tarballs
          build: Make distcheck work for non-root user
          Prepare 1.1

    Jan Pokorný (94):
          maint: fix the FSF address + 5x s/write the/write to the/
          maint: clarify GPLv2.1+ -> GPLv2+ in the license notices
          maint: licensing conformance follow-up (library->program)
          fixup: sanitize true-false logic for "daemonize"
          Low: drop new_election's dead code as SITE role already enforced
          maint: configure: drop useless AC_CHECK_LIB invocations
          maint: configure: --enable-resource-monitor no longer relevant
          maint: configure: nicely formatted help/summary screens
          build: s/CPPFLAGS/CFLAGS/ + use GLIB_LIB
          build: allow requesting no HTML man + use in spec
          build: add proper zlib build-time check + link flag + spec's BR
          maint: configure: drop some more useless definitions
          maint: spec: SPDX license notation only for SUSE
          maint: spec: drop redundant, unused %check scriptlet
          maint: spec: get rid of redundant %clean section
          maint: spec: use pkgconfig for glib-2.0
          Low: avoid using cl_log directly
          Low: apparently static function should be marked so
          Low: use unsigned int where suitable
          Low: const-cast char arrays where suitable
          Low: "char *" more string funcs friendly than unsigned variant
          Low: make (a defensive) use of known static buffer sizes
          Low: drop unused inline function
          Med: prevent possible truncation w/ invalid geoattrs in CIB
          test: fix failing test_a_few_trailing_whitespaces
          test: adapt to libqb-based logging with lowercased priorities
          test: booth cannot cope with <address>%<device> IPv6 addresses
          test: fix a typo in assertion violation message
build: ensure expected behavior if --without-html_man not provided
          docs: licensing conformance follow-up (man pages)
          Med: make foreach_* macros use variable refs passed as arguments
          Low: read_config: unify jump labels (parsing: err, after: out)
          Low: read_config: close config file when no longer needed
          Med: format_peers: fix a memleak in case of buffer too small
          Low: do_status: avoid shadowing the file-scope static variable
          Low: do_status: first check for lock's fd from _lockfile
          Low: do_status: fix superfluous check for valid lock's fd
          Low: do_status: close lock file when no longer needed
          Low: list_ticket: space complexity depends just on tickets count
          Med: list_ticket: fix a memleak in case of buffer too small
Med: get_local_id: denoopize dependent condition (signedness issue) High: read_client: sizeof(*struct_ptr) instead of sizeof(struct_ptr)
          Low: clarify key file read permissions requirement a bit
          Low: setup_tcp_listener: close socket when no longer needed
          Low: client_alloc: unify (and sanitize) malloc/realloc
          Low: add_site: drop a comment that should have been long gone
          Feature: offer alternatives to libraries from (cluster-)glue
          Feature: alternative logging provider: libqb
          Feature: alternative range2random provider: glib
          Feature: alternative "nametag" provider: libsystemd
          Feature: allow skipping "coredump nursing" phase
          Feature: alternative logger (in service-runnable script)
          maint: clarify GPLv2+ in the license notices from an earlier PR
          Refactor: main: substitute is_auth_req macro
          Med: main: initialize Libcrypt properly before the first use
          build: drop declared man pages from main Makefile
          build: configure: check for pacemaker/crm/services.h header
          build: configure: normalize spaces -> tabs
          build: configure: "libsystemd" also known as "libsystemd-daemon"
          CI: initial .travis.yml
          Refactor: mark no_leader properly as a constant pointer
          Refactor: attr.c: merge if-else series into the switch statement
          Refactor: main: remove superfluous includes
          Fix typo: enought -> enough
          Comment: add_site: explain why inet_pton is endianess-save
          Refactor: quasi-sort includes in transport.c
          Low: remove redundant check after find_site_by_id
          Feature: make log contain source address of unknown site
          maint: spec: fix booth-test containing undesired build sources
          CI: travis: workaround 127.0.1.1 not assigned with loopback
          maint: fix thinko in .gitignore introduced in 5a457ee
          maint: fix typos introduced in 4bb484a
          test: remove superfluous shebangs for import-only modules
          test: do not mix tabs with spaces in Python code
          test: make Python files supported _also_ with Python 3.3+
          build: parametrize Python invocations in the shebangs
test: drop underqualified identifier in unittest's 2.6 compat "polyfill"
          test: drop/comment out superfluous imports
          test: avoid dangerous mutable/sticky default value
test: unit-test.py: daemon will not stay in foreground with -D anymore Refactor: fix "strncpy may miss trailing null byte" warnings of GCC 8.1
          build: spec: get rid of redundant defattr
          build: spec: %check scriptlet actually BuildRequires python
build: spec: -test subpackage actually Requires gdb and python-expect
          build: spec: add support/conditionalizing for Python 3
          maint: lsb: polish arbitrator's initscript, fix condrestart
          maint: test: polish live_test.sh
maint: ocf + script: eliminate some false positives with ShellCheck docs: fix an oversight in Makefile.am, stop gitignoring a tracked file
          Med: attr: fix derefence of unspecified value pointer
Low: main: fix hypothetical file path double traversal discrepancy Low: handler: fix spurious warning on alleged "fall-through" in switch docs: boothd.8: fix runaway formatting for what's config file snippet
          Test: *.py: superprivileged user can run the tests when opted in

    Joseph Herlant (3):
          Fix malformed man title
          Add support for asciidoctor for man pages and html docs
          Update Makefile.am to allow asciidoctor integration

    Kazunori INOUE (1):
          Low: conf: Add Restart option to booth-arbitrator.service

    Lars Ellenberg (1):
          fixup: add missing dirent.h include

    Nick Wang (1):
          Replace SuSEFirewall2 by firewalld.

    Valentin Vidic (5):
          Fix documentation wording
          Fix cleanup of service.in files
          Use pkg-config to configure libxml-2.0
          Fix gcc-10 warnings for packed struct members
          Fix gcc-10 warnings for multiple definition of pcmk_handler

    Valentin Vidić (1):
          Fix GCC-7 warning on buffer size

Upgrade is highly recommended.

Thanks/congratulations to all people that contributed to achieve this HUGE milestone.

_______________________________________________
Manage your subscription:
https://lists.clusterlabs.org/mailman/listinfo/users

ClusterLabs home: https://www.clusterlabs.org/

Reply via email to