* ci: run `clang-tidy-libtransmission` for app/test-only changes
* fix: fix another new clang-tidy regression
---------
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* ci: move crypto tests into their own matrix
they do not need to run on both bsd 14 and bsd 15
* ci: remove matrix for the DISABLE_UTP test
the "enabled" half of the matrix is redundant with other CI runs
* ci: cancel prior CI jobs when new commit(s) are pushed
* ci: futureproof fedora matrix by using aliases fedora-latest, fedora-rawhide
* ci: remove the -from-tarball job suffixes
* ci: fold the debian-11 job into the debian job matrix
* fixup! ci: fold the debian-11 job into the debian job matrix
fix: sh->bash mismatch
* ci: always use the default version of freebsd, openbsd
* ci: always use the default version of netbsd
* ci: always use the default version of dragonflybsd
* ci: remove unused fail-fast setting
* ci: infra for parallel clang-tidy runs
* ci(gtk): run clang-tidy
* chore(gtk): silence warnings
* code review: use constexpr auto
* code review: use constants over magic numbers in Utils.cc
* code review: use `std::ignore` to ignore return value
* code review: add back visibility labels that indicated sections
* fix: wrap each command argument in single quotes
* ci: run big-endian tests in GitHub Actions
* ci: use debian:stable-slim and ubuntu-latest for big-endian tests
this way we will not have to periodically bump them
* ci: do not use -j nproc in qemu
* ci: cross-compile and then run the big-endian tests in qemu
* refactor: add StatsMode to libtransmission-app
* test: add display-mode unit tests
* feat: add apicompat for StatsMode
* refactor: use StatsMode in Qt client
* refactor: add template method for gtr_set_pref()
* refactor: use StatsMode in GTK client
* ci: use the all-tests alias instead of hardcoding tests
* ci: copy runtime DLLS into test output directory for Windows test binaries
* Revert "build(cmake): support building with (almost) all system 3rd-party libraries (#7554)"
This reverts commit a89ca4f2c9.
* fixup! refactor: use a map of getters, setters for `session_get` and `session_set` properties (#8024)
fix: capture-by-reference error in session_accessors()
* fix: 'Qt depends on a UTF-8 locale' CI warning
* fix: 'qt.qpa.xcb: could not connect to display' CI error
* build: overhaul tr_add_external_auto_library
* build: use package-provided CMake config file libevent
* build: use package-provided CMake config file miniupnpc
* build: update libutp find module
* build: make LIBNAME an optional parameter
* build: use package-provided CMake config file libdeflate
* build: update libb64 find module
* build: update libnatpmp find module
* build: update libpsl find module
* build: support system fast_float library
* chore: reformat long brew commands
* build: support system fmt library
* build: support system rapidjson library
* build: support system small library
* build: support system library utf8cpp
* build: support system library WideInteger
* build: support system library gtest
* fix: incorrectly labeled test suites
* build: remove unused parameters from tr_add_external_auto_library
* build: update crc32c cmake script
* fix: dht system library
* fix: add libutp interface target
* code review: move TrGtest.cmake
* code review: move tr_get_fmt_version into Findfmt.cmake
* code review: use option() for gtest
* code review: move find_package(PkgConfig) out of loop
* build: delete FindCrc32c.cmake
Impossible to parse package version from distributed source files.
* code review: Finddht.cmake
* build: delete FindFastFloat.cmake
Impossible to parse package version from distributed source files.
* code review: Findfmt.cmake
* code review: Findlibb64.cmake
* code review: Findlibdeflate.cmake
* code review: Findlibevent.cmake
* code review: Findlibnatpmp.cmake
* code review: Findlibpsl.cmake
* code review: Findlibutp.cmake
* code review: Findlibminiupnpc.cmake
* code review: FindRapidJSON.cmake
* build: delete FindSmall.cmake
Impossible to parse package version from distributed source files.
* build: only accept cmake config package for utf8cpp
Impossible to parse package version from distributed source files.
* build: delete FindWideInteger.cmake
Impossible to parse package version from distributed source files.
* build: add `USE_SYSTEM_DEFAULT`
* ci: drop Fedora 40 and adopt Fedora 43
* ci: try to silence system header warnings
* ci: use `cmake --install`
* Revert "build: only accept cmake config package for utf8cpp"
This reverts commit 2158d631fd.
* build: harden utf8cpp find module
* chore: bump wide-integer
Pick up bf9398f9da and bcc726a30f
* refactor: gtest should be included with angled brackets
Now that gtest is built as a system library, it should be included with angled brackets instead of quotes.
* code review: fixup libutp variables before `find_package_handle_standard_args`
* code review: define `WIDE_INTEGER_HAS_LIMB_TYPE_UINT64` only for targets depending on WideInteger
* chore: bump wide-integer
Pickup 4b2258acac so that wide-integer tests won't run in Transmission project.
* fix: hicpp-use-auto,modernize-use-auto
* refactor: make Prefs::getKey() a static method
refactor: make Prefs::isCore() a static method
refactor: make Prefs::type() a static method
* refactor: Application takes a Prefs& arg, not a std::unique_ptr<Prefs> arg
* fix: bugprone-exception-escape
save settings by calling prefs.save() from main()
* refactor: load settings by calling prefs.load() from main()
* refactor: use preferred declaration order in Prefs
* fixup! fix: bugprone-exception-escape
* refactor: add Prefs::current_values()
* refactor: clean up namespace use in Prefs.cc
* feat: add QString, QDateTime serializers
* test: add scaffolding for testing Qt code
test: add tests for Prefs
* refactor: remove unused #includes
* build: add clang-tidy rules to tests/qt/
* refactor: clean up the new test code a little
* chore: add missing copyright statement
* ci: ensure Qt6Test is installed
build: check for QTest when ENABLE_TESTS + ENABLE_QT are ON
* fixup! feat: add QString, QDateTime serializers
* fix: Wswitch warning
* build: do not disable tests in release/windows/build-qt5.psl, build-qt6.psl
* ci: set QT_QPA_PLATFORM for running new Qt tests
* test: build cleanly in Qt 5.15
* fixup! fixup! feat: add QString, QDateTime serializers
fix QDateTime serializer on macOS
* fixup! ci: set QT_QPA_PLATFORM for running new Qt tests
install xcb-util-cursor on alpine
* chore(mac): fix copyright year
* chore(mac): use em dash in copyright notice
* fix(ci): check for emdash in copyright notice
* fix(ci): process QuickLookExtension plist files
* ci: move macos-13 actions to macos-14
We have some GitHub Actions which we try to run on the oldest version of
macOS available. That's currently macos-13, but GitHub is deprecating it:
> This is a scheduled macos-13 brownout.
> The macOS-13 based runner images > are being deprecated. For more details,
> see https://github.com/actions/runner-images/issues/13046.
We last bumped this from macos-12 to macos-13 in 43f5ca8#7275
* ci: do not specify architectures in macOS CI builds
GitHub has is phasing out su pport for macOS x86_64 runners
* ci: fold the macos-X-from-tarball jobs into a single job
* ci: fold macos-26 and macos-14 jobs into a single job
* Use macos-15-intel runners instead of macos-14 (arm64).
If we test compilation two times, at least do it on different host
archs.
Also macOS 15 supports latest Xcode with macOS 26.1 SDK.
* Make job names more meaningful
* Fix indentation in macos-xcodebuild-universal
---------
Co-authored-by: Charles Kerr <charles@charleskerr.com>