openSUSE Commits
Threads by month
- ----- 2024 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
July 2024
- 1 participants
- 1521 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package aerc for openSUSE:Factory checked in at 2024-07-04 16:22:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/aerc (Old)
and /work/SRC/openSUSE:Factory/.aerc.new.2080 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "aerc"
Thu Jul 4 16:22:52 2024 rev:10 rq:1184949 version:0.18.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/aerc/aerc.changes 2024-05-10 12:07:20.198286594 +0200
+++ /work/SRC/openSUSE:Factory/.aerc.new.2080/aerc.changes 2024-07-04 16:24:06.309331100 +0200
@@ -1,0 +2,80 @@
+Tue Jul 2 20:58:37 UTC 2024 - Hannes Braun <apple.hannes(a)gmail.com> - 0.18.0
+
+- Update to upstream version 0.18.0
+ * Add [ui].msglist-scroll-offset option to set a scroll offset for the
+ message list.
+ * Add new :align command to align the selected message at the top, center, or
+ bottom of the message list.
+ * Inline image previews when no filter is defined for image/* and the terminal
+ supports it.
+ * Add :bounce command to reintroduce messages into the transport system.
+ * Message counts are available in statusline templates.
+ * Execute IPC commands verbatim by providing the command and its args as a
+ single argument in the shell.
+ * Virtually any key binding can now be configured in binds.conf, including
+ Shift+Alt+Control modifier combinations.
+ * Configure default message list :split or :vsplit on startup with
+ message-list-split in aerc.conf.
+ * Create notmuch named queries with the :query command.
+ * Specify a ":q" alias for quit.
+ * The :detach command now understands globs similar to :attach.
+ * Match filters on filename via ".filename,~<regexp> =".
+ * Tell aerc how to handle file-based operations on multi-file notmuch messages
+ with the account config option multi-file-strategy and the -m flag to
+ :archive, :copy, :delete, and :move.
+ * Add [ui].dialog-{position,width,height} to set the position, width and
+ height of popover dialogs.
+ * New pgp-self-encrypt option in accounts.conf.
+ * Add --no-ipc flag to run "aerc mailto:...", "aerc mbox:...", and
+ "aerc :<command...>" within the current aerc instance and prevent listening
+ for IPC calls from other aerc instances.
+ * Add config options disable-ipc-mailto and disable-ipc-mbox to make
+ mailto:... and mbox:... commands always run in a new aerc instance.
+ * Set global options in accounts.conf by placing them at the top of the file.
+ * Silently close the terminal tab after piping a message to a command with
+ ":pipe -s <cmd>".
+ * New tag-modified hook for notmuch and JMAP accounts.
+ * New flag-changed hook.
+ * Add Notmuch search term completions to :query.
+ * Add Notmuch completions for :cf, :filter and :search.
+ * Add imaps+insecure to the available protocols, for connections that should
+ ignore issues with certificate verification.
+ * Add [ui].select-last-message option to position cursor at the bottom of the
+ view.
+ * Propagate terminal bell from the built-in terminal.
+ * Added AERC_FOLDER_ROLE to hooks that have AERC_FOLDER.
+ * Added {{.AccountBackend}} to templates.
+ * Added AERC_ACCOUNT_BACKEND to hooks with AERC_ACCOUNT.
+ * Per folder key bindings can now be defined for the message viewer.
+ * Allow using existing directory name with ":query -f".
+ * Allow specifying the folder to delete with :rmdir.
+ * The address book is now used for :cc, :bcc and :forward.
+ * Allow fallback to threading by subject with [ui].threading-by-subject.
+ * Calendar responses now ignore case.
+ * Allow account- and folder-specific binds to coexist.
+ * Fixed crash when running :send with a :preview tab focused.
+ * Deadlock when running "aerc mailto:foo@bar.com" without another instance of
+ aerc already running.
+ * Prevent a freeze for large-scale deletions with IMAP.
+ * Mime-Version is no longer inserted in signed text parts headers. MTAs
+ normalizing header case will not corrupt signatures anymore.
+ * Restore previous behaviour of the new message bell which was broken in the
+ last two releases for at least some setups.
+ * The default [ui] settings and the "default" styleset have changed
+ extensively. A no-color theme can be restored with the "monochrome"
+ styleset.
+ * The default "colorize" theme has been changed to use the base terminal
+ colors.
+ * The [viewer] section of stylesets now preserve default values as documented
+ in aerc-stylesets(7) unless explicitly overridden.
+ * Add Message-ID to the variables of [hooks].mail-received.
+ * The TrayInfo template variable now includes a visual mark mode indicator.
+ * The disable-ipc option in aerc.conf completely disables IPC.
+ * Improved readability of the builtin calendar filter.
+ * :open commands now preserve the original filename.
+ * Unparsable accounts are skipped, instead of aerc exiting with an error.
+ * Built-in descriptions for the default keybinds shown on the review screen
+ will be deprecated in a future release. Descriptions can be added to those
+ keybinds with inline comments in binds.conf.
+
+-------------------------------------------------------------------
Old:
----
aerc-0.17.0.tar.gz
New:
----
aerc-0.18.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ aerc.spec ++++++
--- /var/tmp/diff_new_pack.oOZtlS/_old 2024-07-04 16:24:08.493410862 +0200
+++ /var/tmp/diff_new_pack.oOZtlS/_new 2024-07-04 16:24:08.497411009 +0200
@@ -18,7 +18,7 @@
Name: aerc
-Version: 0.17.0
+Version: 0.18.0
Release: 0
Summary: An email client for terminals
License: MIT
++++++ aerc-0.17.0.tar.gz -> aerc-0.18.0.tar.gz ++++++
++++ 17712 lines of diff (skipped)
++++++ vendor.tar.zst ++++++
++++ 110508 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package go1.22 for openSUSE:Factory checked in at 2024-07-04 16:22:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/go1.22 (Old)
and /work/SRC/openSUSE:Factory/.go1.22.new.2080 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "go1.22"
Thu Jul 4 16:22:49 2024 rev:11 rq:1184954 version:1.22.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/go1.22/go1.22.changes 2024-06-05 17:43:15.871994095 +0200
+++ /work/SRC/openSUSE:Factory/.go1.22.new.2080/go1.22.changes 2024-07-04 16:24:04.117251044 +0200
@@ -1,0 +2,23 @@
+Tue Jul 2 18:51:45 UTC 2024 - Jeff Kowalczyk <jkowalczyk(a)suse.com>
+
+- go1.22.5 (released 2024-07-02) includes security fixes to the
+ net/http package, as well as bug fixes to the compiler, cgo, the
+ go command, the linker, the runtime, and the crypto/tls,
+ go/types, net, net/http, and os/exec packages.
+ Refs boo#1218424 go1.22 release tracking
+ CVE-2024-24791
+ * go#68200 go#67555 boo#1227314 security: fix CVE CVE-2024-24791 net/http: expect: 100-continue handling is broken in various ways
+ * go#65983 cmd/compile: hash of unhashable type
+ * go#65994 crypto/tls: segfault when calling tlsrsakex.IncNonDefault()
+ * go#66598 os/exec: calling Cmd.Start after setting Cmd.Path manually to absolute path without ".exe" no longer implicitly adds ".exe" in Go 1.22
+ * go#67298 runtime: "fatal: morestack on g0" on amd64 after upgrade to Go 1.21, stale bounds
+ * go#67715 cmd/cgo/internal/swig,cmd/go,x/build: swig cgo tests incompatible with C++ toolchain on builders
+ * go#67798 cmd/compile: internal compiler error: unexpected type: <nil> (<nil>) in for-range
+ * go#67820 cmd/compile: package-level variable initialization with constant dependencies doesn't match order specified in Go spec
+ * go#67850 go/internal/gccgoimporter: go building failing with gcc 14.1.0
+ * go#67934 net: go DNS resolver fails to connect to local DNS server
+ * go#67945 cmd/link: using -fuzz with test that links with cgo on darwin causes linker failure
+ * go#68052 cmd/go: go list -u -m all fails loading module retractions: module requires go >= 1.N+1 (running go 1.N)
+ * go#68122 cmd/link: runtime.mach_vm_region_trampoline: unsupported dynamic relocation for symbol libc_mach_task_self_ (type=29 (R_GOTPCREL) stype=46 (SDYNIMPORT))
+
+-------------------------------------------------------------------
Old:
----
go1.22.4.src.tar.gz
New:
----
go1.22.5.src.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ go1.22.spec ++++++
--- /var/tmp/diff_new_pack.6digMM/_old 2024-07-04 16:24:04.877278800 +0200
+++ /var/tmp/diff_new_pack.6digMM/_new 2024-07-04 16:24:04.881278946 +0200
@@ -122,7 +122,7 @@
%endif
Name: go1.22
-Version: 1.22.4
+Version: 1.22.5
Release: 0
Summary: A compiled, garbage-collected, concurrent programming language
License: BSD-3-Clause
++++++ go1.22.4.src.tar.gz -> go1.22.5.src.tar.gz ++++++
/work/SRC/openSUSE:Factory/go1.22/go1.22.4.src.tar.gz /work/SRC/openSUSE:Factory/.go1.22.new.2080/go1.22.5.src.tar.gz differ: char 13, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package knot for openSUSE:Factory checked in at 2024-07-04 16:22:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/knot (Old)
and /work/SRC/openSUSE:Factory/.knot.new.2080 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "knot"
Thu Jul 4 16:22:47 2024 rev:28 rq:1184939 version:3.3.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/knot/knot.changes 2024-06-20 16:49:09.669769090 +0200
+++ /work/SRC/openSUSE:Factory/.knot.new.2080/knot.changes 2024-07-04 16:23:42.896476059 +0200
@@ -1,0 +2,17 @@
+Mon Jul 1 21:42:11 UTC 2024 - Michal Hrusecky <michal.hrusecky(a)opensuse.org>
+
+- use distribution library on Tumbleweed for DoQ support
+
+-------------------------------------------------------------------
+Mon Jul 1 21:26:34 UTC 2024 - Michal Hrusecky <michal.hrusecky(a)opensuse.org>
+
+- enable DoH support (add dependency on libnghttp2) bsc#1225969
+- enable DoQ support using embedded library (libngtcp2)
+
+-------------------------------------------------------------------
+Tue Jun 25 13:13:39 UTC 2024 - Michal Hrusecky <michal.hrusecky(a)opensuse.org>
+
+- update to version 3.3.7, see
+ https://www.knot-dns.cz/2024-06-25-version-337.html
+
+-------------------------------------------------------------------
Old:
----
knot-3.3.6.tar.xz
knot-3.3.6.tar.xz.asc
New:
----
knot-3.3.7.tar.xz
knot-3.3.7.tar.xz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ knot.spec ++++++
--- /var/tmp/diff_new_pack.b8dEwv/_old 2024-07-04 16:23:43.404494612 +0200
+++ /var/tmp/diff_new_pack.b8dEwv/_new 2024-07-04 16:23:43.408494758 +0200
@@ -35,7 +35,7 @@
%{?systemd_requires}
%endif
Name: knot
-Version: 3.3.6
+Version: 3.3.7
Release: 0
Summary: An authoritative DNS daemon
License: GPL-3.0-or-later
@@ -48,6 +48,11 @@
Source99: knot.keyring
BuildRequires: libcap-ng-devel
BuildRequires: libedit-devel
+BuildRequires: libnghttp2-devel
+%if 0%{?suse_version} >= 1600
+BuildRequires: libngtcp2-devel
+BuildRequires: libngtcp2_crypto_gnutls8
+%endif
BuildRequires: liburcu-devel
BuildRequires: lmdb-devel >= 0.9.15
BuildRequires: openssl-devel
@@ -145,6 +150,9 @@
--libexecdir=%{_libexecdir}/%{pkg_name} \
--includedir=%{_includedir}/knot/ \
--disable-static \
+%if 0%{?suse_version} < 1600
+ --enable-quic \
+%endif
--enable-recvmmsg=yes \
%if %{with lto}
--enable-lto=yes \
++++++ knot-3.3.6.tar.xz -> knot-3.3.7.tar.xz ++++++
++++ 1914 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package doggo for openSUSE:Factory checked in at 2024-07-04 16:22:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/doggo (Old)
and /work/SRC/openSUSE:Factory/.doggo.new.2080 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "doggo"
Thu Jul 4 16:22:44 2024 rev:2 rq:1185210 version:1.0.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/doggo/doggo.changes 2023-10-23 23:41:07.723885850 +0200
+++ /work/SRC/openSUSE:Factory/.doggo.new.2080/doggo.changes 2024-07-04 16:23:36.352237062 +0200
@@ -1,0 +2,63 @@
+Wed Jul 03 17:49:48 UTC 2024 - Jeff Kowalczyk <jkowalczyk(a)suse.com>
+
+- Update to version 1.0.4:
+ * fix: add ca-certificates in doggo-web
+ * Updating canonical URL
+ * Fix zsh completions
+ * docs: add --rm in docker
+
+-------------------------------------------------------------------
+Tue Jul 2 14:16:05 UTC 2024 - Jeff Kowalczyk <jkowalczyk(a)suse.com>
+
+- Packaging improvements:
+ * Add subpackage web providing web browser UI for making DNS queries
+ * Add Group: Productivity/Networking/DNS/Utilities
+ * Update License: to GPL-3.0 instead of GPL-3.0-only
+ * Update to BuildRequires: golang(API) >= 1.22 matching go.mod
+ * Add Recommends: %{name}-bash-completion
+ * Completions subpackages for fish, zsh remain as Suggests:
+ * Reorder completions install ops consistently: bash, fish, zsh
+ * Add changelog detail for earlier release v1.0.1
+
+-------------------------------------------------------------------
+Tue Jul 02 13:50:51 UTC 2024 - Jeff Kowalczyk <jkowalczyk(a)suse.com>
+
+- Update to version 1.0.3:
+ * chore: upgrade deps
+ * chore: fix help text
+ * docs: specify correct usage of timeout flag
+ * feat: add ctx cancellation while resolving records
+ * feat: Refactor DNS resolvers for concurrent lookups
+ * feat: add support for common query types
+ * chore: fix docs link
+ * chore: revamp README
+
+-------------------------------------------------------------------
+Tue Jul 02 10:43:52 UTC 2024 - Eyad Issa <eyadlorenzo(a)gmail.com>
+
+- Update to version 1.0.2:
+ * refactor: move main package to cmd/doggo for proper binary naming
+
+- Update to version 1.0.1
+ * fix: proper alignment of help text
+ * ci: re-enable dependabot
+ * ci: add npm caching
+ * ci: goreleaser
+ * ci: upgrade actions
+ * refactor: replace logrus with slog
+ * feat: add support for more platforms and targets
+ * feat: add single install script
+ * feat: add completions command
+ * feat: add support for query flags
+ * refactor: fix loading of nameservers
+ * chore: upgrade deps
+ * fix: send proper json error responses
+
+- Update to version 1.0.0:
+ * feat: add bash completion support
+ * feat: add completions command
+ * Fix syntax error in ZSH completion
+ * Update ZSH completion to include all current options
+ * added tls client configuration for doh and doq
+
+-------------------------------------------------------------------
Old:
----
doggo-0.5.7.obscpio
New:
----
doggo-1.0.4.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ doggo.spec ++++++
--- /var/tmp/diff_new_pack.0SIVvQ/_old 2024-07-04 16:23:39.836364303 +0200
+++ /var/tmp/diff_new_pack.0SIVvQ/_new 2024-07-04 16:23:39.836364303 +0200
@@ -1,7 +1,7 @@
#
# spec file for package doggo
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,14 +17,16 @@
Name: doggo
-Version: 0.5.7
+Version: 1.0.4
Release: 0
Summary: CLI tool and API server DNS client implemented in Go
-License: GPL-3.0
+License: GPL-3.0-only
+Group: Productivity/Networking/DNS/Utilities
URL: https://github.com/mr-karan/doggo
Source0: %{name}-%{version}.tar
Source1: vendor.tar.xz
-BuildRequires: golang(API) >= 1.20
+BuildRequires: golang(API) >= 1.22
+Recommends: %{name}-bash-completion
Suggests: %{name}-fish-completion
Suggests: %{name}-zsh-completion
@@ -33,6 +35,23 @@
It outputs information in a neat concise manner and supports protocols
like DoH, DoT, DoQ, and DNSCrypt as well.
+%package web
+Summary: Web UI for %{name}
+Group: Productivity/Networking/DNS/Utilities
+Supplements: %{name}
+
+%description web
+HTTP server for %{name} that provides a web browser UI for making DNS queries
+
+%package bash-completion
+Summary: bash completion for %{name}
+Group: System/Shells
+Supplements: (%{name} and bash)
+BuildArch: noarch
+
+%description bash-completion
+bash completion scripts for %{name}
+
%package fish-completion
Summary: fish completion for %{name}
Group: System/Shells
@@ -59,30 +78,43 @@
export GOFLAGS="-buildmode=pie"
%endif
go build ./cmd/%{name}
-go build ./cmd/api
+# build separate binary providing web interface
+go build -o %{name}-web ./web/
%install
install -d %{buildroot}%{_bindir}
install -D %{name} %{buildroot}%{_bindir}/%{name}
-install -D api %{buildroot}%{_bindir}/%{name}-api
-install -Dm644 completions/%{name}.fish %{buildroot}%{_datadir}/fish/vendor_completions.d/%{name}.fish
-install -Dm644 completions/%{name}.zsh %{buildroot}%{_datadir}/zsh/site-functions/_%{name}
+install -D %{name} %{buildroot}%{_bindir}/%{name}-web
+
+# Completions
+./%{name} completions bash > %{name}.bash
+install -Dm644 %{name}.bash %{buildroot}%{_datadir}/bash-completions/completions/%{name}
+./%{name} completions fish > %{name}.fish
+install -Dm644 %{name}.fish %{buildroot}%{_datadir}/fish/vendor_completions.d/%{name}.fish
+./%{name} completions zsh > %{name}.zsh
+install -Dm644 %{name}.zsh %{buildroot}%{_datadir}/zsh/site-functions/_%{name}
%files
%license LICENSE
%doc README.md
-%doc config-api-sample.toml
%{_bindir}/%{name}
-%{_bindir}/%{name}-api
-%dir %{_datadir}/fish
-%dir %{_datadir}/fish/vendor_completions.d
-%dir %{_datadir}/zsh
-%dir %{_datadir}/zsh/site-functions
+%files web
+%doc config-api-sample.toml
+%{_bindir}/%{name}-web
%files fish-completion
+%dir %{_datadir}/fish
+%dir %{_datadir}/fish/vendor_completions.d
%{_datadir}/fish/vendor_completions.d/%{name}.fish
%files zsh-completion
+%dir %{_datadir}/zsh
+%dir %{_datadir}/zsh/site-functions
%{_datadir}/zsh/site-functions/_%{name}
+%files bash-completion
+%dir %{_datadir}/bash-completions
+%dir %{_datadir}/bash-completions/completions
+%{_datadir}/bash-completions/completions/%{name}
+
++++++ _service ++++++
--- /var/tmp/diff_new_pack.0SIVvQ/_old 2024-07-04 16:23:39.868365472 +0200
+++ /var/tmp/diff_new_pack.0SIVvQ/_new 2024-07-04 16:23:39.872365618 +0200
@@ -2,7 +2,7 @@
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://github.com/mr-karan/doggo.git</param>
- <param name="revision">v0.5.7</param>
+ <param name="revision">v1.0.4</param>
<param name="match-tag">*</param>
<param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param>
<param name="versionformat">@PARENT_TAG@</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.0SIVvQ/_old 2024-07-04 16:23:39.892366349 +0200
+++ /var/tmp/diff_new_pack.0SIVvQ/_new 2024-07-04 16:23:39.896366495 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/mr-karan/doggo.git</param>
- <param name="changesrevision">c72c2ef9ec99053e33808bc03fee80d57ea017cb</param></service></servicedata>
+ <param name="changesrevision">bac855567c203714c35586f026b91e4caf687636</param></service></servicedata>
(No newline at EOF)
++++++ doggo-0.5.7.obscpio -> doggo-1.0.4.obscpio ++++++
++++ 9965 lines of diff (skipped)
++++++ doggo.obsinfo ++++++
--- /var/tmp/diff_new_pack.0SIVvQ/_old 2024-07-04 16:23:40.056372338 +0200
+++ /var/tmp/diff_new_pack.0SIVvQ/_new 2024-07-04 16:23:40.060372484 +0200
@@ -1,5 +1,5 @@
name: doggo
-version: 0.5.7
-mtime: 1691988406
-commit: c72c2ef9ec99053e33808bc03fee80d57ea017cb
+version: 1.0.4
+mtime: 1720024636
+commit: bac855567c203714c35586f026b91e4caf687636
++++++ vendor.tar.xz ++++++
++++ 146838 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package clang-extract for openSUSE:Factory checked in at 2024-07-04 16:22:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/clang-extract (Old)
and /work/SRC/openSUSE:Factory/.clang-extract.new.2080 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "clang-extract"
Thu Jul 4 16:22:42 2024 rev:2 rq:1185287 version:0~20240703.0b3e33c
Changes:
--------
--- /work/SRC/openSUSE:Factory/clang-extract/clang-extract.changes 2024-06-25 23:07:31.058393581 +0200
+++ /work/SRC/openSUSE:Factory/.clang-extract.new.2080/clang-extract.changes 2024-07-04 16:23:33.324126476 +0200
@@ -1,0 +2,31 @@
+Thu Jul 04 06:42:17 UTC 2024 - mvetter(a)suse.com
+
+- Update to version 0~20240703.0b3e33c:
+ * Initialize OutputFunctionPrototypeHeader
+
+-------------------------------------------------------------------
+Tue Jul 02 17:56:02 UTC 2024 - mvetter(a)suse.com
+
+- Update to version 0~20240702.cbdca46:
+ * README.md: Remove dependency on python311-subprocess-tee
+ * testsuite: attr: Adapt testcase to be executed on ppc64le
+- Remove BR python3-subprocess-tee
+
+-------------------------------------------------------------------
+Tue Jul 02 16:46:42 UTC 2024 - mvetter(a)suse.com
+
+- Update to version 0~20240702.1f3826f:
+ * testsuite/attr: Skip tests on s390x
+ * libtest: Add special dg-skip-on-archs option
+
+-------------------------------------------------------------------
+Fri Jun 28 05:08:31 UTC 2024 - mvetter(a)suse.com
+
+- Update to version 0~20240627.52683d1:
+ * testsuite: Adapt registers usage to aarch64
+ * SymbolExternalizer: Refactor Get_Range_Of_Identifier
+ * SymbolExternalizer: Rewrite to use RecursiveASTVisitor
+ * SymbolExternalizer: Reduce indentation of _Externalize_Symbol
+ * SymbolExternalizer: Simplify Externalize_Symbols
+
+-------------------------------------------------------------------
Old:
----
clang-extract-0~20240619.f7c935b.tar.xz
New:
----
_service
clang-extract-0~20240703.0b3e33c.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ clang-extract.spec ++++++
--- /var/tmp/diff_new_pack.KJjwQX/_old 2024-07-04 16:23:33.904147658 +0200
+++ /var/tmp/diff_new_pack.KJjwQX/_new 2024-07-04 16:23:33.904147658 +0200
@@ -17,7 +17,7 @@
Name: clang-extract
-Version: 0~20240619.f7c935b
+Version: 0~20240703.0b3e33c
Release: 0
Summary: A tool to extract code content from source files
License: Apache-2.0 WITH LLVM-exception AND NCSA
@@ -34,7 +34,6 @@
BuildRequires: python3-pexpect
BuildRequires: python3-psutil
BuildRequires: python3-pytest
-BuildRequires: python3-subprocess-tee
%description
A tool to extract code content from source files using the clang and LLVM infrastructure.
++++++ _service ++++++
<services>
<service name="tar_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://github.com/SUSE/clang-extract</param>
<param name="revision">0b3e33c774708b32937c21c8a61dec4bd4fa5027</param>
<param name="versionformat">0~%cd.%h</param>
<param name="changesgenerate">enable</param>
<param name="changesauthor">mvetter(a)suse.com</param>
</service>
<service name="recompress" mode="manual">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="manual"/>
</services>
++++++ clang-extract-0~20240619.f7c935b.tar.xz -> clang-extract-0~20240703.0b3e33c.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-extract-0~20240619.f7c935b/.github/workflows/testsuite.yml new/clang-extract-0~20240703.0b3e33c/.github/workflows/testsuite.yml
--- old/clang-extract-0~20240619.f7c935b/.github/workflows/testsuite.yml 2024-06-19 21:48:44.000000000 +0200
+++ new/clang-extract-0~20240703.0b3e33c/.github/workflows/testsuite.yml 2024-07-03 21:24:37.000000000 +0200
@@ -29,8 +29,7 @@
run: zypper -n install libelf-devel
llvm16-libclang13 clang16-devel libclang-cpp16
clang-tools libLLVM16 llvm16 llvm16-devel meson ninja
- python311-psutil python311-pexpect python311-subprocess-tee
- python311-pytest gcc findutils bash
+ python311-psutil python311-pexpect python311-pytest gcc findutils bash
- uses: actions/checkout@v2
- name: meson
run: meson setup build --buildtype=${{ matrix.build-type }} --native-file ce-native.ini
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-extract-0~20240619.f7c935b/README.md new/clang-extract-0~20240703.0b3e33c/README.md
--- old/clang-extract-0~20240619.f7c935b/README.md 2024-06-19 21:48:44.000000000 +0200
+++ new/clang-extract-0~20240703.0b3e33c/README.md 2024-07-03 21:24:37.000000000 +0200
@@ -12,7 +12,7 @@
```
$ sudo zypper install clang18 clang18-devel libclang-cpp18 \
clang-tools libLLVM18 llvm18 llvm18-devel libelf-devel meson ninja \
- python311-psutil python311-pexpect python311-subprocess-tee python311-pytest
+ python311-psutil python311-pexpect python311-pytest
```
It's advised to use LLVM 18 and higher, since it's well tested. But there
support for LLVM 16 and 17 as well, but you might find issues with it.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-extract-0~20240619.f7c935b/libcextract/ArgvParser.cpp new/clang-extract-0~20240703.0b3e33c/libcextract/ArgvParser.cpp
--- old/clang-extract-0~20240619.f7c935b/libcextract/ArgvParser.cpp 2024-06-19 21:48:44.000000000 +0200
+++ new/clang-extract-0~20240703.0b3e33c/libcextract/ArgvParser.cpp 2024-07-03 21:24:37.000000000 +0200
@@ -70,7 +70,8 @@
IpaclonesPath(nullptr),
SymversPath(nullptr),
DescOutputPath(nullptr),
- IncExpansionPolicy(nullptr)
+ IncExpansionPolicy(nullptr),
+ OutputFunctionPrototypeHeader(nullptr)
{
for (int i = 0; i < argc; i++) {
if (!Handle_Clang_Extract_Arg(argv[i])) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-extract-0~20240619.f7c935b/libcextract/Passes.cpp new/clang-extract-0~20240703.0b3e33c/libcextract/Passes.cpp
--- old/clang-extract-0~20240619.f7c935b/libcextract/Passes.cpp 2024-06-19 21:48:44.000000000 +0200
+++ new/clang-extract-0~20240703.0b3e33c/libcextract/Passes.cpp 2024-07-03 21:24:37.000000000 +0200
@@ -438,12 +438,12 @@
{
/* Issue externalization. */
SymbolExternalizer externalizer(ctx->AST.get(), ctx->IA, ctx->Ibt, ctx->PatchObject, ctx->DumpPasses);
- externalizer.Externalize_Symbols(ctx->Externalize);
- if (ctx->RenameSymbols) {
- /* The FuncExtractNames will be modified, as the function will be
- renamed. */
- externalizer.Rename_Symbols(ctx->FuncExtractNames);
- }
+ if (ctx->RenameSymbols)
+ /* The FuncExtractNames will be modified, as the function will be renamed. */
+ externalizer.Externalize_Symbols(ctx->Externalize, ctx->FuncExtractNames);
+ else
+ externalizer.Externalize_Symbols(ctx->Externalize);
+
externalizer.Commit_Changes_To_Source(ctx->OFS, ctx->MFS, ctx->HeadersToExpand);
/* Store the changed names. */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-extract-0~20240619.f7c935b/libcextract/SymbolExternalizer.cpp new/clang-extract-0~20240703.0b3e33c/libcextract/SymbolExternalizer.cpp
--- old/clang-extract-0~20240619.f7c935b/libcextract/SymbolExternalizer.cpp 2024-06-19 21:48:44.000000000 +0200
+++ new/clang-extract-0~20240703.0b3e33c/libcextract/SymbolExternalizer.cpp 2024-07-03 21:24:37.000000000 +0200
@@ -33,34 +33,53 @@
FileEntry => FileID that we are sure to have modifications. */
#pragma GCC poison translateFile
-/****** Begin hack: used to get a pointer to a private member of a class. *****/
-struct ASTUnit_TopLevelDecls
+/* Tokenize away the function-like macro stuff or expression, we only want
+ the identifier. */
+#define TOKEN_VECTOR " ().,;+-*/^|&{}[]<>^&|\r\n\t"
+
+/* Return the ranges for all identifiers on the ids vector */
+template <typename T>
+static std::vector<std::pair<std::string, SourceRange>>
+Get_Range_Of_Identifier(const SourceRange &range, const T &ids)
{
- typedef std::vector<Decl*> ASTUnit::*type;
- friend type Get(ASTUnit_TopLevelDecls);
-};
+ std::vector< std::pair < std::string, SourceRange> > ret = {};
+ StringRef string = PrettyPrint::Get_Source_Text(range);
+
+ /* Create temporary buff, strtok modifies it. */
+ unsigned len = string.size();
+ char buf[len + 1];
+ memcpy(buf, string.data(), len);
+ buf[len] = '\0';
+
+ char *tok = strtok(buf, TOKEN_VECTOR);
+ while (tok != nullptr) {
+ if (ids.find(StringRef(tok)) != ids.end()) {
+ /* Found. */
+ ptrdiff_t distance = (ptrdiff_t)(tok - buf);
+ assert(distance >= 0);
-template<typename Tag, typename Tag::type M>
-struct Rob {
- friend typename Tag::type Get(Tag) {
- return M;
+ /* Compute the distance from the original SourceRange of the
+ MacroExpansion. */
+ int32_t offset = (int32_t) distance;
+ SourceLocation start = range.getBegin().getLocWithOffset(offset);
+ SourceLocation end = start.getLocWithOffset(strlen(tok)-1);
+
+ /* Add to the list of output. */
+ ret.push_back(std::make_pair(std::string(tok), SourceRange(start, end)));
+ }
+
+ tok = strtok(nullptr, TOKEN_VECTOR);
}
-};
-template struct Rob<ASTUnit_TopLevelDecls, &ASTUnit::TopLevelDecls>;
+ return ret;
+}
-/** Get pointer to the TopLevelDecls vector in the ASTUnit.
- *
- * The TopLevelDecls attribute from the AST is private, but we need to
- * access that in order to remove nodes from the AST toplevel vector,
- * else we can't remove further declarations of the function we need
- * to externalize.
- */
-static std::vector<Decl *>* Get_Pointer_To_Toplev(ASTUnit *obj)
+static std::vector<std::pair<std::string, SourceRange>>
+Get_Range_Of_Identifier(const SourceRange &range, const StringRef &id)
{
- return &(obj->*Get(ASTUnit_TopLevelDecls()));
+ std::set<StringRef> ids = { id };
+ return Get_Range_Of_Identifier(range, ids);
}
-/****************************** End hack. ***********************************/
#define EXTERNALIZED_PREFIX "klpe_"
#define RENAME_PREFIX "klpp_"
@@ -71,46 +90,13 @@
/* IntervalTree. */
using namespace Intervals;
-// For debugging purposes.
-#if 0
-extern "C" void Debug_Range(const SourceRange &range)
-{
- llvm::outs() << PrettyPrint::Get_Source_Text_Raw(range) << '\n';
-}
-
-#define DEBUG_RANGE(x) do { \
- llvm::outs() << "line " << __LINE__ << " "; \
- Debug_Range(x); \
- } while (0)
-#endif
-
-/** Define a Visitor just to update TypeOfType instances:
- *
- * Kernel code sometime does things like this:
- *
- * typeof(symbol_to_externalize) x;
- *
- * this bizarre constructs come from macros, which sometimes explodes because
- * clang-extract is unable to determine which part of it generates the Decl
- * in question.
- *
- * Now we have to update those typeofs, but there is no easy way of parsing Types
- * to get to the Expr. But the RecursiveASTVisitor knows how to do it, so we
- * hack the class in order to setup a call to
- * FunctionUpdate::Update_References_To_Symbol and update those references.
- *
- */
-class TypeUpdaterVisitor : public RecursiveASTVisitor<TypeUpdaterVisitor>
+class ExternalizerVisitor: public RecursiveASTVisitor<ExternalizerVisitor>
{
public:
/* Constructor. Should match the FunctionUpdate constructor so we can
instantiate it in the Visitor. */
- TypeUpdaterVisitor(SymbolExternalizer &se, ValueDecl *new_decl,
- const std::string &old_decl_name, bool wrap)
- : SE(se),
- NewSymbolDecl(new_decl),
- OldSymbolName(old_decl_name),
- Wrap(wrap)
+ ExternalizerVisitor(SymbolExternalizer &se)
+ : SE(se)
{}
enum {
@@ -118,95 +104,150 @@
VISITOR_STOP = false, // Return this for the AST tranversal to stop completely;
};
- /* The updator method. This will be called by the Visitor when traversing the
- code. */
- bool VisitTypeOfExprType(TypeOfExprType *type)
+ /* This method will be used by LLVM whenever it finds a symbol declaration,
+ * being a variable or a method/function.
+ */
+ bool VisitDeclaratorDecl(DeclaratorDecl *decl)
{
- /* Create a instance of our tested-in-battle FunctionUpdater... */
- SymbolExternalizer::FunctionUpdater fu(SE, NewSymbolDecl, OldSymbolName, Wrap);
-
- /* ... and call the method which updates the body of a function. (but that
- is not a function! But who cares, and Expr is a special type of Stmt
- in clang so everything works! */
- fu.Update_References_To_Symbol(type->getUnderlyingExpr());
+ /* As we are dealing with variables that should be externalized, we are only
+ * interested in the symbols that are present in the hash. If the symbol
+ * found is not in the hash, just continue to the next symbol.
+ */
+ SymbolUpdateStatus *sym = SE.getSymbolsUpdateStatus(decl->getName());
+ if (sym == nullptr)
+ return VISITOR_CONTINUE;
+
+ ExternalizationType type = sym->ExtType;
+ if (type == ExternalizationType::STRONG) {
+ if (!sym->Done) {
+ std::string sym_name = decl->getName().str();
+
+ /* If we found the first instance of the function we want to externalize,
+ then proceed to create and replace the function declaration node with
+ a variable declaration node of proper type. */
+ const std::string new_name = EXTERNALIZED_PREFIX + sym_name;
+ sym->NewName = new_name;
+ DeclaratorDecl *new_decl = SE.Create_Externalized_Var(decl, new_name);
+ SE.Log.push_back({.OldName = sym_name,
+ .NewName = new_name,
+ .Type = type});
+
+ /* Create a string with the new variable type and name. */
+ std::string o;
+ llvm::raw_string_ostream outstr(o);
+
+ /*
+ * It won't be a problem to add the code below multiple times, since
+ * clang-extract will remove ifndefs for already defined macros
+ */
+ if (SE.Ibt) {
+ outstr << "#ifndef KLP_RELOC_SYMBOL_POS\n"
+ "# define KLP_RELOC_SYMBOL_POS(LP_OBJ_NAME, SYM_OBJ_NAME, SYM_NAME, SYM_POS) \\\n"
+ " asm(\"\\\".klp.sym.rela.\" #LP_OBJ_NAME \".\" #SYM_OBJ_NAME \".\" #SYM_NAME \",\" #SYM_POS \"\\\"\")\n"
+ "# define KLP_RELOC_SYMBOL(LP_OBJ_NAME, SYM_OBJ_NAME, SYM_NAME) \\\n"
+ " KLP_RELOC_SYMBOL_POS(LP_OBJ_NAME, SYM_OBJ_NAME, SYM_NAME, 0)\n"
+ "#endif\n\n";
+ }
- return VISITOR_CONTINUE;
- }
+ new_decl->print(outstr);
- /* To handle symbol renames on situations like the sizeof below
- *
- * static char x[4];
- *
- * void f(void) {
- * char y[sizeof(x)];
- * }
- */
- bool VisitArrayTypeLoc(const ArrayTypeLoc &type)
- {
- SymbolExternalizer::FunctionUpdater fu(SE, NewSymbolDecl, OldSymbolName, Wrap);
- fu.Update_References_To_Symbol(type.getSizeExpr());
+ if (SE.Ibt) {
+ std::string sym_mod = SE.IA.Get_Symbol_Module(sym_name);
+ if (sym_mod == "")
+ sym_mod = "vmlinux";
- return VISITOR_CONTINUE;
- }
+ outstr << " \\\n" << "\tKLP_RELOC_SYMBOL(" << SE.PatchObject << ", " <<
+ sym_mod << ", " << sym_name << ")";
+ }
+ outstr << ";\n";
- private:
+ SE.Replace_Text(decl->getSourceRange(), outstr.str(), 1000);
- /** A reference to SymbolExternalizer. */
- SymbolExternalizer &SE;
+ sym->Done = true;
+ sym->Wrap = !SE.Ibt;
+ } else {
+ /* If we externalized this function, then all further declarations of
+ this function shall be discarded. */
- /** The new variable declaration to replace the to be externalized function. */
- ValueDecl *NewSymbolDecl;
+ /* Get source location of old function declaration. */
+ SE.Remove_Text(decl->getSourceRange(), 1000);
+ }
+ } else if (type == ExternalizationType::WEAK) {
+ /* Now checks if this is a function or a variable delcaration. */
+ if (FunctionDecl *func = dyn_cast<FunctionDecl>(decl)) {
+ /* In the case it is a function we need to remove its declaration that
+ have a body. */
+ if (func->hasBody()) {
+ FunctionDecl *with_body = func->getDefinition();
+ if (with_body != func)
+ SE.Remove_Text(with_body->getSourceRange(), 1000);
+ }
+ }
+ } else if (type == ExternalizationType::RENAME) {
+ /* Get SourceRange where the function identifier is. */
+ auto ids = Get_Range_Of_Identifier(decl->getSourceRange(),
+ decl->getName());
+ assert(ids.size() > 0 && "Decl name do not match required identifier?");
+
+ SourceRange id_range = ids[0].second;
+ const std::string new_name = RENAME_PREFIX + decl->getName().str();
+ sym->NewName = new_name;
+ if (!sym->Done) {
+ /* Only register the first decl rename of the same variable. */
+ SE.Log.push_back({.OldName = decl->getName().str(),
+ .NewName = new_name,
+ .Type = type});
+ sym->Done = true;
+ }
- /** Name of the to be replaced function. */
- const std::string &OldSymbolName;
+ /* In the case there is a `static` modifier in function, try to drop it. */
+ if (FunctionDecl *fdecl = dyn_cast<FunctionDecl>(decl)) {
+ SE.Drop_Static(fdecl);
+ }
- bool Wrap;
-};
+ /* Replace text content of old declaration. */
+ SE.Replace_Text(id_range, new_name, 100);
-static std::vector<SourceRange>
-Get_Range_Of_Identifier_In_SrcRange(const SourceRange &range, const char *id)
-{
- std::vector<SourceRange> ret = {};
- StringRef string = PrettyPrint::Get_Source_Text(range);
+ sym->Wrap = false;
+ }
- /* Tokenize away the function-like macro stuff or expression, we only want
- the identifier. */
- const char *token_vector = " ().,;+-*/^|&{}[]<>^&|\r\n\t";
+ return VISITOR_CONTINUE;
+ }
- /* Create temporary buff, strtok modifies it. */
- unsigned len = string.size();
- char buf[len + 1];
- memcpy(buf, string.data(), len);
- buf[len] = '\0';
+ /* This visitor will be called by LLVM whenever a symbol is being referenced, being it a
+ * variable or a function call. We are only interested in the symbols that are
+ * present in the SymbolsMap. Once found, it updates the code to the new symbol externalized
+ * name of the symbol. */
+ bool VisitDeclRefExpr(DeclRefExpr *expr)
+ {
+ SourceLocation begin = expr->getBeginLoc();
+ SourceLocation end = expr->getEndLoc();
+ SourceRange range(begin, end);
+ const StringRef &sym_name = PrettyPrint::Get_Source_Text(range);
+ SymbolUpdateStatus *sym = SE.getSymbolsUpdateStatus(sym_name);
- char *tok = strtok(buf, token_vector);
- while (tok != nullptr) {
- if (strcmp(tok, id) == 0) {
- /* Found. */
- ptrdiff_t distance = (ptrdiff_t)(tok - buf);
- assert(distance >= 0);
+ /*
+ * Only execute the code in the visitor if we have already externalized the
+ * symbol
+ */
+ if (sym == nullptr || !sym->Done)
+ return VISITOR_CONTINUE;
- /* Compute the distance from the original SourceRange of the
- MacroExpansion. */
- int32_t offset = (int32_t) distance;
- SourceLocation start = range.getBegin().getLocWithOffset(offset);
- SourceLocation end = start.getLocWithOffset(strlen(tok)-1);
+ ValueDecl *decl = expr->getDecl();
- /* Add to the list of output. */
- ret.push_back(SourceRange(start, end));
+ if (decl->getName() == sym_name) {
+ /* Issue a text modification. */
+ SE.Replace_Text(range, sym->getUseName(), 100);
}
- tok = strtok(nullptr, token_vector);
+ return VISITOR_CONTINUE;
}
- return ret;
-}
+ private:
-static std::vector<SourceRange>
-Get_Range_Of_Identifier_In_SrcRange(const SourceRange &range, const StringRef id)
-{
- return Get_Range_Of_Identifier_In_SrcRange(range, id.str().c_str());
-}
+ /** A reference to SymbolExternalizer. */
+ SymbolExternalizer &SE;
+};
static SourceRange Get_Range_For_Rewriter(const ASTUnit *ast, const SourceRange &range)
{
@@ -234,10 +275,10 @@
bool SymbolExternalizer::Drop_Static(FunctionDecl *decl)
{
if (decl->isStatic()) {
- auto ids = Get_Range_Of_Identifier_In_SrcRange(decl->getSourceRange(), "static");
+ auto ids = Get_Range_Of_Identifier(decl->getSourceRange(), StringRef("static"));
assert(ids.size() > 0 && "static decl without static keyword?");
- SourceRange static_range = ids[0];
+ SourceRange static_range = ids[0].second;
Remove_Text(static_range, 10);
/* Update the storage class. */
@@ -477,86 +518,6 @@
/* ---- End of Deltas class -------- */
-bool SymbolExternalizer::FunctionUpdater::Update_References_To_Symbol(Stmt *stmt)
-{
- if (!stmt)
- return false;
-
- bool replaced = false;
-
- if (DeclRefExpr::classof(stmt)) {
- DeclRefExpr *expr = (DeclRefExpr *) stmt;
- ValueDecl *decl = expr->getDecl();
-
- /* In case we modified the Identifier of the original function, getName()
- will return the name of the new function but the SourceText will not
- be updated. Hence check if the SourceRange has it as well. */
- auto vec_of_ranges = Get_Range_Of_Identifier_In_SrcRange(expr->getSourceRange(),
- OldSymbolName.c_str());
- StringRef old_name_src_txt = "";
- if (!vec_of_ranges.empty()) {
- old_name_src_txt = PrettyPrint::Get_Source_Text(vec_of_ranges[0]);
- }
-
- if (decl->getName() == OldSymbolName || old_name_src_txt == OldSymbolName) {
- /* Rewrite the source code. */
- SourceLocation begin = expr->getBeginLoc();
- SourceLocation end = expr->getEndLoc();
-
- SourceRange range(begin, end);
- StringRef str = PrettyPrint::Get_Source_Text(range);
-
- /* Ensure that we indeed got the old symbol. */
- if (str == OldSymbolName) {
- /* Prepare the text modification. */
- std::string new_name;
- if (Wrap) {
- new_name = NewSymbolDecl->getName().str();
- } else {
- new_name = "(*" + NewSymbolDecl->getName().str() + ")";
- }
-
- /* Issue a text modification. */
- SE.Replace_Text(range, new_name, 100);
- } else {
- /* If we did not get the old symbol, it mostly means that the
- references comes from a macro. */
-
- //std::cout << "WARNING: Unable to find location of symbol name: " << OldSymbolName << '\n';
- }
-
- /* Replace reference with the rewiten name. */
- expr->setDecl(NewSymbolDecl);
- replaced = true;
- }
- }
-
- /* Repeat the process to child statements. */
- clang::Stmt::child_iterator it, it_end;
- for (it = stmt->child_begin(), it_end = stmt->child_end();
- it != it_end; ++it) {
-
- Stmt *child = *it;
- replaced |= Update_References_To_Symbol(child);
- }
-
- return replaced;
-}
-
-bool SymbolExternalizer::FunctionUpdater::Update_References_To_Symbol(DeclaratorDecl *to_update)
-{
- ToUpdate = to_update;
- if (to_update) {
- if (VarDecl *vdecl = dyn_cast<VarDecl>(to_update)) {
- return Update_References_To_Symbol(vdecl->getInit());
- }
- if (FunctionDecl *fdecl = dyn_cast<FunctionDecl>(to_update)) {
- return Update_References_To_Symbol(fdecl->getBody());
- }
- }
- return false;
-}
-
void SymbolExternalizer::Replace_Text(const SourceRange &range, StringRef new_name, int prio)
{
SourceRange rw_range = Get_Range_For_Rewriter(AST, range);
@@ -732,28 +693,18 @@
return std::string(main_buf.begin(), main_buf.end());
}
-void SymbolExternalizer::Strongly_Externalize_Symbol(const std::string &to_externalize)
-{
- _Externalize_Symbol(to_externalize, ExternalizationType::STRONG);
-}
-
-void SymbolExternalizer::Weakly_Externalize_Symbol(const std::string &to_externalize)
-{
- _Externalize_Symbol(to_externalize, ExternalizationType::WEAK);
-}
-
/** Given a MacroExpansion object, we try to get the location of where the token
appears on it.
TODO: clang may provide a way of doing this with a tokenizer, so maybe this
code can become cleaner with it. */
-static std::vector<SourceRange>
-Get_Range_Of_Identifier_In_Macro_Expansion(const MacroExpansion *exp, const char *id)
+std::vector<std::pair<std::string, SourceRange>>
+SymbolExternalizer::Get_Range_Of_Identifier_In_Macro_Expansion(const MacroExpansion *exp)
{
- return Get_Range_Of_Identifier_In_SrcRange(exp->getSourceRange(), id);
+ return Get_Range_Of_Identifier(exp->getSourceRange(), SymbolsMap);
}
-void SymbolExternalizer::Rewrite_Macros(std::string const &to_look_for, std::string const &replace_with)
+void SymbolExternalizer::Rewrite_Macros(void)
{
PreprocessingRecord *rec = AST->getPreprocessor().getPreprocessingRecord();
@@ -772,236 +723,68 @@
MacroInfo *maybe_macro = MW.Get_Macro_Info(id_info, def->getLocation());
if (!maybe_macro && !MacroWalker::Is_Identifier_Macro_Argument(info, id_info)) {
- if (id_info->getName() == to_look_for) {
- Replace_Text(SourceRange(tok.getLocation(), tok.getLastLoc()), replace_with, 10);
- }
+ SymbolUpdateStatus *sym = getSymbolsUpdateStatus(id_info->getName());
+ if (sym)
+ Replace_Text(SourceRange(tok.getLocation(), tok.getLastLoc()), sym->getUseName(), 10);
}
}
} else if (MacroExpansion *exp = dyn_cast<MacroExpansion>(entity)) {
/* We must look for references to externalized variables in funcion-like
macro expansions on the program's toplevel. */
- auto ranges = Get_Range_Of_Identifier_In_Macro_Expansion(exp, to_look_for.c_str());
+ auto ranges = Get_Range_Of_Identifier_In_Macro_Expansion(exp);
- for (SourceRange &tok_range : ranges) {
- Replace_Text(tok_range, replace_with, 10);
+ for (auto &tok_range : ranges) {
+ // At this point, tok_range will contain a valid symbol
+ SymbolUpdateStatus *sym = getSymbolsUpdateStatus(tok_range.first);
+ Replace_Text(tok_range.second, sym->getUseName(), 10);
}
}
}
}
-bool SymbolExternalizer::_Externalize_Symbol(const std::string &to_externalize,
- ExternalizationType type)
+enum ExternalizationType SymbolExternalizer::Get_Symbol_Ext_Type(const std::string &to_externalize)
{
- ASTUnit::top_level_iterator it;
- bool first = true;
- ValueDecl *new_decl = nullptr;
- bool must_update = false;
- bool wrap = false;
- bool externalized = false;
-
- /* The TopLevelDecls attribute from the AST is private, but we need to
- access that in order to remove nodes from the AST toplevel vector,
- else we can't remove further declarations of the function we need
- to externalize. */
- std::vector<Decl *> *topleveldecls = Get_Pointer_To_Toplev(AST);
-
- for (it = AST->top_level_begin(); it != AST->top_level_end(); ++it) {
- DeclaratorDecl *decl = dynamic_cast<DeclaratorDecl *>(*it);
-
- /* If we externalized some function, then we must start analyzing for further
- functions in order to find if there is a reference to the function we
- externalized. */
- if (must_update) {
- /* Call our hack to update the TypeOfTypes. */
- TypeUpdaterVisitor(*this, new_decl, to_externalize, wrap || Ibt)
- .TraverseDecl(decl);
-
- FunctionUpdater(*this, new_decl, to_externalize, wrap || Ibt)
- .Update_References_To_Symbol(decl);
- }
-
- if (decl && decl->getName() == to_externalize) {
- if (type == ExternalizationType::STRONG) {
- if (first) {
- /* If we found the first instance of the function we want to externalize,
- then proceed to create and replace the function declaration node with
- a variable declaration node of proper type. */
- std::string old_name = decl->getName().str();
- std::string new_name = EXTERNALIZED_PREFIX + old_name;
- new_decl = Create_Externalized_Var(decl, new_name);
- Log.push_back({.OldName = old_name,
- .NewName = new_name,
- .Type = ExternalizationType::STRONG});
-
- /* Create a string with the new variable type and name. */
- std::string o;
- llvm::raw_string_ostream outstr(o);
-
- /*
- * It won't be a problem to add the code below multiple times, since
- * clang-extract will remove ifndefs for already defined macros
- */
- if (Ibt) {
- outstr << "#ifndef KLP_RELOC_SYMBOL_POS\n"
- "# define KLP_RELOC_SYMBOL_POS(LP_OBJ_NAME, SYM_OBJ_NAME, SYM_NAME, SYM_POS) \\\n"
- " asm(\"\\\".klp.sym.rela.\" #LP_OBJ_NAME \".\" #SYM_OBJ_NAME \".\" #SYM_NAME \",\" #SYM_POS \"\\\"\")\n"
- "# define KLP_RELOC_SYMBOL(LP_OBJ_NAME, SYM_OBJ_NAME, SYM_NAME) \\\n"
- " KLP_RELOC_SYMBOL_POS(LP_OBJ_NAME, SYM_OBJ_NAME, SYM_NAME, 0)\n"
- "#endif\n\n";
- }
-
- new_decl->print(outstr, AST->getLangOpts());
-
- if (Ibt) {
- std::string sym_mod = IA.Get_Symbol_Module(old_name);
- if (sym_mod == "")
- sym_mod = "vmlinux";
-
- outstr << " \\\n" << "\tKLP_RELOC_SYMBOL(" << PatchObject << ", " <<
- sym_mod << ", " << old_name << ")";
- }
- outstr << ";\n";
-
- Replace_Text(decl->getSourceRange(), outstr.str(), 1000);
-
- must_update = true;
- wrap = false;
-
- std::string replacement = "(*" + new_decl->getName().str() + ")";
- /*
- * IBT uses extern variables, so we need to use the same type from the
- * private symbol.
- */
- if (Ibt)
- replacement = new_decl->getName().str();
-
- /* Update any macros that may reference the symbol. */
- Rewrite_Macros(to_externalize, replacement);
-
- /* Slaps the new node into the position of where was the function
- to be externalized. */
- *it = new_decl;
- first = false;
- externalized = true;
-
- } else {
- /* If we externalized this function, then all further delcarations of
- this function shall be discarded. */
-
- /* Get source location of old function declaration. */
- Remove_Text(decl->getSourceRange(), 1000);
-
- /* Remove node from AST. */
- topleveldecls->erase(it);
- /* We must decrease the iterator because we deleted an element from the
- vector. */
- it--;
- }
- } else if (type == ExternalizationType::WEAK) {
- /* Now checks if this is a function or a variable delcaration. */
- if (FunctionDecl *func = dyn_cast<FunctionDecl>(decl)) {
- /* In the case it is a function we need to remove its declaration that
- have a body. */
- if (func->hasBody()) {
- FunctionDecl *with_body = func->getDefinition();
- externalized = true;
- if (with_body == func) {
- /* Damn. This function do not have a prototype, we will have to
- craft it ourself. */
-
- /* FIXME: This reults in unwanted intersections. */
-#if 0
- Stmt *body = with_body->getBody();
- Replace_Text(body->getSourceRange(), ";\n", 1000);
-
- /* Remove the body from the AST. */
- with_body->setBody(nullptr);
-#endif
- } else {
- Remove_Text(with_body->getSourceRange(), 1000);
- topleveldecls->erase(it);
-
- /* We must decrease the iterator because we deleted an element from the
- vector. */
- it--;
- }
- }
- }
- } else if (type == ExternalizationType::RENAME) {
- /* Get SourceRange where the function identifier is. */
- auto ids = Get_Range_Of_Identifier_In_SrcRange(decl->getSourceRange(),
- decl->getName());
- assert(ids.size() > 0 && "Decl name do not match required identifier?");
-
- SourceRange id_range = ids[0];
- std::string new_name = RENAME_PREFIX + decl->getName().str();
- if (first) {
- /* Only register the first decl rename of the same variable. */
- Log.push_back({.OldName = decl->getName().str(),
- .NewName = new_name,
- .Type = ExternalizationType::RENAME});
- first = false;
- }
-
- /* In the case there is a `static` modifier in function, try to drop it. */
- if (FunctionDecl *fdecl = dyn_cast<FunctionDecl>(decl)) {
- Drop_Static(fdecl);
- }
+ /* If the symbol is available in the debuginfo and is an EXTERN symbol, we
+ do not need to rewrite it, but rather we need to erase any declaration
+ with body of it. */
+ if (IA.Can_Decide_Visibility()) {
+ if (IA.Is_Externally_Visible(to_externalize))
+ return ExternalizationType::WEAK;
- /* Rename the declaration. */
- IdentifierInfo *new_id = AST->getPreprocessor().getIdentifierInfo(new_name);
- DeclarationName new_decl_name(new_id);
-
- decl->setDeclName(new_decl_name);
- new_decl = decl;
-
- /* Replace text content of old declaration. */
- Replace_Text(id_range, new_name, 100);
-
- must_update = true;
- wrap = true;
-
- /* Update any macros that may reference the symbol. */
- Rewrite_Macros(to_externalize, new_name);
- externalized = true;
- }
- }
+ return ExternalizationType::STRONG;
}
- return externalized;
+ /* Well, we don't have information so we simply strongly externalize
+ everything. */
+ return ExternalizationType::STRONG;
}
-void SymbolExternalizer::Externalize_Symbol(const std::string &to_externalize)
+SymbolUpdateStatus *SymbolExternalizer::getSymbolsUpdateStatus(const StringRef &sym)
{
- /* If the symbol is available in the debuginfo and is an EXTERN symbol, we
- do not need to rewrite it, but rather we need to erase any declaration
- with body of it. */
- if (IA.Can_Decide_Visibility()) {
- if (IA.Is_Externally_Visible(to_externalize)) {
- Weakly_Externalize_Symbol(to_externalize);
- } else {
- Strongly_Externalize_Symbol(to_externalize);
- }
- } else {
- /* Well, we don't have information so we simply strongly externalize
- everything. */
- Strongly_Externalize_Symbol(to_externalize);
- }
+ auto ret = SymbolsMap.find(sym);
+ if (ret == SymbolsMap.end())
+ return nullptr;
+
+ return &ret->second;
}
-void SymbolExternalizer::Externalize_Symbols(std::vector<std::string> const &to_externalize_array)
+void SymbolExternalizer::Externalize_Symbols(std::vector<std::string> const &to_externalize_array,
+ std::vector<std::string> &to_rename_array)
{
for (const std::string &to_externalize : to_externalize_array) {
- Externalize_Symbol(to_externalize);
+ SymbolsMap.insert({to_externalize, SymbolUpdateStatus(Get_Symbol_Ext_Type(to_externalize))});
}
-}
-void SymbolExternalizer::Rename_Symbols(std::vector<std::string> &to_rename_array)
-{
for (std::string &to_externalize : to_rename_array) {
- if (_Externalize_Symbol(to_externalize, ExternalizationType::RENAME)) {
- /* Update the function names for the ClosurePass. */
- to_externalize = RENAME_PREFIX + to_externalize;
- }
+ SymbolsMap.insert({to_externalize, SymbolUpdateStatus(ExternalizationType::RENAME)});
+ to_externalize = RENAME_PREFIX + to_externalize;
}
+
+ /* Start traversing the AST to find all references to the symbols that we want
+ * to externalize or rename. */
+ ExternalizerVisitor(*this).TraverseDecl(AST->getASTContext().getTranslationUnitDecl());
+
+ /* Search for all macros and macro expansions and rewrite them using the new
+ * names for the externalized variables. */
+ Rewrite_Macros();
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-extract-0~20240619.f7c935b/libcextract/SymbolExternalizer.hh new/clang-extract-0~20240703.0b3e33c/libcextract/SymbolExternalizer.hh
--- old/clang-extract-0~20240619.f7c935b/libcextract/SymbolExternalizer.hh 2024-06-19 21:48:44.000000000 +0200
+++ new/clang-extract-0~20240703.0b3e33c/libcextract/SymbolExternalizer.hh 2024-07-03 21:24:37.000000000 +0200
@@ -20,6 +20,7 @@
#include <clang/Tooling/Tooling.h>
#include <clang/Rewrite/Core/Rewriter.h>
+#include "llvm/ADT/StringMap.h"
using namespace clang;
@@ -30,6 +31,48 @@
ExternalizationType Type;
};
+/* Contains the context of an externalized symbol. It's necessary when the
+ * symbol is being handled in different visitors to know why/if it was already
+ * externalized. */
+struct SymbolUpdateStatus
+{
+
+ SymbolUpdateStatus(std::string new_name, ExternalizationType ext, bool done, bool wrap) :
+ NewName(new_name),
+ ExtType(ext),
+ Done(done),
+ Wrap(wrap)
+ {
+ }
+
+ SymbolUpdateStatus(ExternalizationType ext) :
+ NewName(""),
+ ExtType(ext),
+ Done(false),
+ Wrap(false)
+ {
+ }
+
+ /* The name that was used when the symbol was externalized. */
+ std::string NewName;
+
+ /* The type of the externalization: STRONG, WEAK of RENAME. */
+ ExternalizationType ExtType;
+
+ /* Set when the symbol was externalized. */
+ bool Done;
+
+ /* Set when the symbol usage should be dereferenced when used. */
+ bool Wrap;
+
+ /* Get the correct name used when the code was transformed */
+ std::string getUseName(void)
+ {
+ return Wrap ? "(*" + NewName + ")"
+ : NewName;
+ }
+};
+
/** Text Modification class wrapping Clang's Rewriter.
*
* Clang has a Rewriter class in order to issue Text Modifications into the
@@ -192,59 +235,33 @@
TM(ast, dump),
IA(ia),
Ibt(ibt),
- PatchObject(patch_object)
+ PatchObject(patch_object),
+ SymbolsMap({})
{
}
- class FunctionUpdater
- {
- public:
- /** A reference to SymbolExternalizer. */
- SymbolExternalizer &SE;
-
- /** The new variable declaration to replace the to be externalized function. */
- ValueDecl *NewSymbolDecl;
-
- /** Name of the to be replaced function. */
- const std::string &OldSymbolName;
-
- FunctionUpdater(SymbolExternalizer &se, ValueDecl *new_decl,
- const std::string &old_decl_name, bool wrap)
- : SE(se),
- NewSymbolDecl(new_decl),
- OldSymbolName(old_decl_name),
- Wrap(wrap)
- {}
-
- /** Sweeps the function and update any reference to the old function, replacing
- it with the externalized variable. */
- bool Update_References_To_Symbol(DeclaratorDecl *to_update);
- bool Update_References_To_Symbol(Stmt *);
-
- private:
-
- /* Decl to update. */
- DeclaratorDecl *ToUpdate;
-
- /* Do we need to wrap the use in (*name)? */
- bool Wrap;
- };
- friend class FunctionUpdater;
+ friend class ExternalizerVisitor;
/* Create the externalized var as a AST node ready to be slapped into the
AST. */
VarDecl *Create_Externalized_Var(DeclaratorDecl *decl, const std::string &name);
- /** Externalize a symbol, that means transforming functions into a function
- pointer, or an global variable into a variable pointer. */
- void Externalize_Symbol(DeclaratorDecl *to_externalize);
- void Externalize_Symbol(const std::string &to_externalize);
- void Externalize_Symbols(std::vector<std::string> const &to_externalize_array);
+ /* Externalize a symbol, that means transforming functions into a function
+ pointer, or an global variable into a variable pointer.
+
+ WARNING: Modifies the to_rename_array vector. */
+ void Externalize_Symbols(std::vector<std::string> const &to_externalize_array,
+ std::vector<std::string> &to_rename_array);
+ inline void Externalize_Symbols(std::vector<std::string> const &to_externalize_array)
+ {
+ std::vector<std::string> empty = {};
+ Externalize_Symbols(to_externalize_array, empty);
+ }
- /* WARNING: Modifies the given vector. */
- void Rename_Symbols(std::vector<std::string> &to_rename_array);
+ std::vector<std::pair<std::string, SourceRange>>
+ Get_Range_Of_Identifier_In_Macro_Expansion(const MacroExpansion *exp);
- bool _Externalize_Symbol(const std::string &to_externalize, ExternalizationType type);
+ SymbolUpdateStatus *getSymbolsUpdateStatus(const StringRef &sym);
/* Drop `static` keyword in decl. */
bool Drop_Static(FunctionDecl *decl);
@@ -265,11 +282,9 @@
private:
- void Strongly_Externalize_Symbol(const std::string &to_externalize);
- void Weakly_Externalize_Symbol(const std::string &to_externalize);
- void _Externalize_Symbol(const std::string &to_externalize);
+ enum ExternalizationType Get_Symbol_Ext_Type(const std::string &to_externalize);
- void Rewrite_Macros(std::string const &to_look_for, std::string const &replace_with);
+ void Rewrite_Macros(void);
/* Issue a Text Replacement with a given `priority`. The priority will be
used in case that there are two replacements to the same piece of text. */
@@ -297,4 +312,7 @@
/* Name of the object that will be patched. */
std::string PatchObject;
+
+ /** Symbols and its externalization type */
+ llvm::StringMap<SymbolUpdateStatus> SymbolsMap;
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-extract-0~20240619.f7c935b/testsuite/lib/libtest.py new/clang-extract-0~20240703.0b3e33c/testsuite/lib/libtest.py
--- old/clang-extract-0~20240619.f7c935b/testsuite/lib/libtest.py 2024-06-19 21:48:44.000000000 +0200
+++ new/clang-extract-0~20240703.0b3e33c/testsuite/lib/libtest.py 2024-07-03 21:24:37.000000000 +0200
@@ -1,6 +1,7 @@
#!/usr/bin/env python3
import os
+import platform
import pathlib
import re
import signal
@@ -60,6 +61,7 @@
self.skip_silently = self.should_skip_test_silently()
self.no_debuginfo = self.without_debuginfo()
self.no_ipa_clones = self.without_ipaclones()
+ self.skip_on_archs = self.should_skip_test_on_archs()
self.binaries_path = binaries_path
@@ -171,6 +173,17 @@
return False
+ # The architectures should be specified with speaces between them, e.g.
+ # /* { dg-skip-on-archs "x86_64 ppc64le" }*/
+ def should_skip_test_on_archs(self):
+ p = re.compile('{ *dg-skip-on-archs "(.*)" }')
+ matched = re.search(p, self.file_content)
+ if matched is not None:
+ matches = matched.group(1).split(' ')
+ return platform.processor() in matches
+
+ return False
+
def without_debuginfo(self):
p = re.compile('{ *dg-no-debuginfo *}')
matched = re.search(p, self.file_content)
@@ -346,6 +359,10 @@
clang_extract = self.binaries_path + 'clang-extract'
ce_output_path = '/tmp/' + next(tempfile._get_candidate_names()) + '.CE.c'
+ if self.skip_on_archs:
+ self.print_result(77)
+ return 77
+
command = [ clang_extract, '-DCE_OUTPUT_FILE=' + ce_output_path,
self.test_path ]
command.extend(self.options)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-extract-0~20240619.f7c935b/testsuite/small/attr-1.c new/clang-extract-0~20240703.0b3e33c/testsuite/small/attr-1.c
--- old/clang-extract-0~20240619.f7c935b/testsuite/small/attr-1.c 2024-06-19 21:48:44.000000000 +0200
+++ new/clang-extract-0~20240703.0b3e33c/testsuite/small/attr-1.c 2024-07-03 21:24:37.000000000 +0200
@@ -1,5 +1,12 @@
/* { dg-options "-DCE_EXTRACT_FUNCTIONS=f -DCE_NO_EXTERNALIZATION" }*/
+/* { dg-skip-on-archs "s390x" }*/
+#ifdef __x86_64__
register unsigned long current_stack_pointer asm("rsp");
+#elif __aarch64__
+register unsigned long current_stack_pointer asm("sp");
+#elif __PPC64__
+register unsigned long current_stack_pointer asm("r1");
+#endif
unsigned long f()
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-extract-0~20240619.f7c935b/testsuite/small/attr-6.c new/clang-extract-0~20240703.0b3e33c/testsuite/small/attr-6.c
--- old/clang-extract-0~20240619.f7c935b/testsuite/small/attr-6.c 2024-06-19 21:48:44.000000000 +0200
+++ new/clang-extract-0~20240703.0b3e33c/testsuite/small/attr-6.c 2024-07-03 21:24:37.000000000 +0200
@@ -1,5 +1,12 @@
/* { dg-options "-DCE_EXTRACT_FUNCTIONS=f -DCE_NO_EXTERNALIZATION" }*/
+/* { dg-skip-on-archs "s390x" }*/
+#ifdef __x86_64__
#define REG "rsp"
+#elif __aarch64__
+#define REG "sp"
+#elif __PPC64__
+#define REG "r1"
+#endif
register unsigned long current_stack_pointer asm(REG);
@@ -8,6 +15,6 @@
return current_stack_pointer;
}
-/* { dg-final { scan-tree-dump "#define REG \"rsp\"" } } */
+/* { dg-final { scan-tree-dump "#define REG \"(rsp|sp|r1)\"" } } */
/* { dg-final { scan-tree-dump "current_stack_pointer asm\(REG\)" } } */
/* { dg-final { scan-tree-dump "unsigned long f" } } */
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package samba for openSUSE:Factory checked in at 2024-07-04 16:22:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/samba (Old)
and /work/SRC/openSUSE:Factory/.samba.new.2080 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "samba"
Thu Jul 4 16:22:39 2024 rev:307 rq:1185190 version:4.20.2+git.345.1e3d47bbda6
Changes:
--------
--- /work/SRC/openSUSE:Factory/samba/samba.changes 2024-06-06 12:30:45.532403927 +0200
+++ /work/SRC/openSUSE:Factory/.samba.new.2080/samba.changes 2024-07-04 16:23:30.224013259 +0200
@@ -1,0 +2,47 @@
+Wed Jun 19 15:02:44 UTC 2024 - Noel Power <nopower(a)suse.com>
+
+- Update to 4.20.2
+ * vfs_widelinks with DFS shares breaks case insensitivity;
+ (bso#15662); (bsc#1213607).
+ * Samba build is not reproducible; (bso#13213).
+ * ldb qsort might r/w out of bounds with an intransitive
+ compare function; (bso#15569).
+ * Many qsort() comparison functions are non-transitive, which
+ can lead to out-of-bounds access in some circumstances;
+ (bso#15625).
+ * Need to change gitlab-ci.yml tags in all branches to avoid CI
+ bill; (bso#15638).
+ * We have added new options --vendor-name and --vendor-patch-
+ revision arguments to ./configure to allow distributions and
+ packagers to put their name in the Samba version string so
+ that when debugging Samba the source of the binary is
+ obvious; (bso#15654).
+ * CTDB RADOS mutex helper misses namespace support;
+ (bso#15665).
+ * Dynamic DNS updates with the internal DNS are not working;
+ (bso#13019).
+ * netr_LogonSamLogonEx returns NR_STATUS_ACCESS_DENIED with
+ SysvolReady=0; (bso#14981).
+ * Anonymous smb3 signing/encryption should be allowed (similar
+ to Windows Server 2022); (bso#15412).
+ * Panic in dreplsrv_op_pull_source_apply_changes_trigger;
+ (bso#15573).
+ * s4:nbt_server: does not provide unexpected handling, so
+ winbindd can't use nmb requests instead cldap; (bso#15620).
+ * winbindd, net ads join and other things don't work on an ipv6
+ only host; (bso#15642).
+ * Segmentation fault when deleting files in vfs_recycle;
+ (bso#15659).
+ * Panic in vfs_offload_token_db_fetch_fsp(); (bso#15664).
+ * "client use kerberos" and --use-kerberos is ignored for the
+ machine account; (bso#15666).
+ * Regression DFS not working with widelinks = true;
+ (bso#15435).
+ * samba-gpupdate - Invalid NtVer in netlogon_samlogon_response;
+ (bso#15633).
+ * idmap_ad creates an incorrect local krb5.conf in case of
+ trusted domain lookups; (bso#15653).
+ * The images don't build after the git security release and
+ CentOS 8 Stream is EOL; (bso#15660).
+
+-------------------------------------------------------------------
Old:
----
samba-4.20.1+git.339.cf6e153bb2.tar.bz2
New:
----
samba-4.20.2+git.345.1e3d47bbda6.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ samba.spec ++++++
--- /var/tmp/diff_new_pack.HxYGJl/_old 2024-07-04 16:23:31.196048758 +0200
+++ /var/tmp/diff_new_pack.HxYGJl/_new 2024-07-04 16:23:31.196048758 +0200
@@ -41,7 +41,7 @@
%define talloc_version 2.4.2
%define tevent_version 0.16.1
%define tdb_version 1.4.10
-%define ldb_version 2.9.0
+%define ldb_version 2.9.1
# This table represents the possible combinations of build macros.
# They are defined only if not already defined in the build service
@@ -160,7 +160,7 @@
%endif
BuildRequires: sysuser-tools
-Version: 4.20.1+git.339.cf6e153bb2
+Version: 4.20.2+git.345.1e3d47bbda6
Release: 0
URL: https://www.samba.org/
Obsoletes: samba-32bit < %{version}
++++++ samba-4.20.1+git.339.cf6e153bb2.tar.bz2 -> samba-4.20.2+git.345.1e3d47bbda6.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/samba/samba-4.20.1+git.339.cf6e153bb2.tar.bz2 /work/SRC/openSUSE:Factory/.samba.new.2080/samba-4.20.2+git.345.1e3d47bbda6.tar.bz2 differ: char 11, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ldb for openSUSE:Factory checked in at 2024-07-04 16:22:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ldb (Old)
and /work/SRC/openSUSE:Factory/.ldb.new.2080 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ldb"
Thu Jul 4 16:22:37 2024 rev:67 rq:1185187 version:2.9.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ldb/ldb.changes 2024-05-30 15:32:40.544721563 +0200
+++ /work/SRC/openSUSE:Factory/.ldb.new.2080/ldb.changes 2024-07-04 16:23:26.515877837 +0200
@@ -1,0 +2,8 @@
+Fri Jun 28 10:25:19 UTC 2024 - Noel Power <nopower(a)suse.com>
+
+- Update to 2.9.1
+ * Many qsort() comparison functions are non-transitive, which
+ can lead to out-of-bounds access in some circumstances;
+ (bso#15569).
+
+-------------------------------------------------------------------
Old:
----
ldb-2.9.0.tar.asc
ldb-2.9.0.tar.gz
New:
----
ldb-2.9.1.tar.asc
ldb-2.9.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ldb.spec ++++++
--- /var/tmp/diff_new_pack.uIwPGs/_old 2024-07-04 16:23:27.531914943 +0200
+++ /var/tmp/diff_new_pack.uIwPGs/_new 2024-07-04 16:23:27.531914943 +0200
@@ -57,7 +57,7 @@
%endif
URL: https://ldb.samba.org/
-Version: 2.9.0
+Version: 2.9.1
Release: 0
Summary: An LDAP-like embedded database
License: LGPL-3.0-or-later
++++++ ldb-2.9.0.tar.gz -> ldb-2.9.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-2.9.0/ABI/ldb-2.9.1.sigs new/ldb-2.9.1/ABI/ldb-2.9.1.sigs
--- old/ldb-2.9.0/ABI/ldb-2.9.1.sigs 1970-01-01 01:00:00.000000000 +0100
+++ new/ldb-2.9.1/ABI/ldb-2.9.1.sigs 2024-06-19 16:22:44.436905900 +0200
@@ -0,0 +1,305 @@
+ldb_add: int (struct ldb_context *, const struct ldb_message *)
+ldb_any_comparison: int (struct ldb_context *, void *, ldb_attr_handler_t, const struct ldb_val *, const struct ldb_val *)
+ldb_asprintf_errstring: void (struct ldb_context *, const char *, ...)
+ldb_attr_casefold: char *(TALLOC_CTX *, const char *)
+ldb_attr_dn: int (const char *)
+ldb_attr_in_list: int (const char * const *, const char *)
+ldb_attr_list_copy: const char **(TALLOC_CTX *, const char * const *)
+ldb_attr_list_copy_add: const char **(TALLOC_CTX *, const char * const *, const char *)
+ldb_base64_decode: int (char *)
+ldb_base64_encode: char *(TALLOC_CTX *, const char *, int)
+ldb_binary_decode: struct ldb_val (TALLOC_CTX *, const char *)
+ldb_binary_encode: char *(TALLOC_CTX *, struct ldb_val)
+ldb_binary_encode_string: char *(TALLOC_CTX *, const char *)
+ldb_build_add_req: int (struct ldb_request **, struct ldb_context *, TALLOC_CTX *, const struct ldb_message *, struct ldb_control **, void *, ldb_request_callback_t, struct ldb_request *)
+ldb_build_del_req: int (struct ldb_request **, struct ldb_context *, TALLOC_CTX *, struct ldb_dn *, struct ldb_control **, void *, ldb_request_callback_t, struct ldb_request *)
+ldb_build_extended_req: int (struct ldb_request **, struct ldb_context *, TALLOC_CTX *, const char *, void *, struct ldb_control **, void *, ldb_request_callback_t, struct ldb_request *)
+ldb_build_mod_req: int (struct ldb_request **, struct ldb_context *, TALLOC_CTX *, const struct ldb_message *, struct ldb_control **, void *, ldb_request_callback_t, struct ldb_request *)
+ldb_build_rename_req: int (struct ldb_request **, struct ldb_context *, TALLOC_CTX *, struct ldb_dn *, struct ldb_dn *, struct ldb_control **, void *, ldb_request_callback_t, struct ldb_request *)
+ldb_build_search_req: int (struct ldb_request **, struct ldb_context *, TALLOC_CTX *, struct ldb_dn *, enum ldb_scope, const char *, const char * const *, struct ldb_control **, void *, ldb_request_callback_t, struct ldb_request *)
+ldb_build_search_req_ex: int (struct ldb_request **, struct ldb_context *, TALLOC_CTX *, struct ldb_dn *, enum ldb_scope, struct ldb_parse_tree *, const char * const *, struct ldb_control **, void *, ldb_request_callback_t, struct ldb_request *)
+ldb_casefold: char *(struct ldb_context *, TALLOC_CTX *, const char *, size_t)
+ldb_casefold_default: char *(void *, TALLOC_CTX *, const char *, size_t)
+ldb_check_critical_controls: int (struct ldb_control **)
+ldb_comparison_binary: int (struct ldb_context *, void *, const struct ldb_val *, const struct ldb_val *)
+ldb_comparison_fold: int (struct ldb_context *, void *, const struct ldb_val *, const struct ldb_val *)
+ldb_connect: int (struct ldb_context *, const char *, unsigned int, const char **)
+ldb_control_to_string: char *(TALLOC_CTX *, const struct ldb_control *)
+ldb_controls_except_specified: struct ldb_control **(struct ldb_control **, TALLOC_CTX *, struct ldb_control *)
+ldb_debug: void (struct ldb_context *, enum ldb_debug_level, const char *, ...)
+ldb_debug_add: void (struct ldb_context *, const char *, ...)
+ldb_debug_end: void (struct ldb_context *, enum ldb_debug_level)
+ldb_debug_set: void (struct ldb_context *, enum ldb_debug_level, const char *, ...)
+ldb_delete: int (struct ldb_context *, struct ldb_dn *)
+ldb_dn_add_base: bool (struct ldb_dn *, struct ldb_dn *)
+ldb_dn_add_base_fmt: bool (struct ldb_dn *, const char *, ...)
+ldb_dn_add_child: bool (struct ldb_dn *, struct ldb_dn *)
+ldb_dn_add_child_fmt: bool (struct ldb_dn *, const char *, ...)
+ldb_dn_add_child_val: bool (struct ldb_dn *, const char *, struct ldb_val)
+ldb_dn_alloc_casefold: char *(TALLOC_CTX *, struct ldb_dn *)
+ldb_dn_alloc_linearized: char *(TALLOC_CTX *, struct ldb_dn *)
+ldb_dn_canonical_ex_string: char *(TALLOC_CTX *, struct ldb_dn *)
+ldb_dn_canonical_string: char *(TALLOC_CTX *, struct ldb_dn *)
+ldb_dn_check_local: bool (struct ldb_module *, struct ldb_dn *)
+ldb_dn_check_special: bool (struct ldb_dn *, const char *)
+ldb_dn_compare: int (struct ldb_dn *, struct ldb_dn *)
+ldb_dn_compare_base: int (struct ldb_dn *, struct ldb_dn *)
+ldb_dn_copy: struct ldb_dn *(TALLOC_CTX *, struct ldb_dn *)
+ldb_dn_escape_value: char *(TALLOC_CTX *, struct ldb_val)
+ldb_dn_extended_add_syntax: int (struct ldb_context *, unsigned int, const struct ldb_dn_extended_syntax *)
+ldb_dn_extended_filter: void (struct ldb_dn *, const char * const *)
+ldb_dn_extended_syntax_by_name: const struct ldb_dn_extended_syntax *(struct ldb_context *, const char *)
+ldb_dn_from_ldb_val: struct ldb_dn *(TALLOC_CTX *, struct ldb_context *, const struct ldb_val *)
+ldb_dn_get_casefold: const char *(struct ldb_dn *)
+ldb_dn_get_comp_num: int (struct ldb_dn *)
+ldb_dn_get_component_name: const char *(struct ldb_dn *, unsigned int)
+ldb_dn_get_component_val: const struct ldb_val *(struct ldb_dn *, unsigned int)
+ldb_dn_get_extended_comp_num: int (struct ldb_dn *)
+ldb_dn_get_extended_component: const struct ldb_val *(struct ldb_dn *, const char *)
+ldb_dn_get_extended_linearized: char *(TALLOC_CTX *, struct ldb_dn *, int)
+ldb_dn_get_ldb_context: struct ldb_context *(struct ldb_dn *)
+ldb_dn_get_linearized: const char *(struct ldb_dn *)
+ldb_dn_get_parent: struct ldb_dn *(TALLOC_CTX *, struct ldb_dn *)
+ldb_dn_get_rdn_name: const char *(struct ldb_dn *)
+ldb_dn_get_rdn_val: const struct ldb_val *(struct ldb_dn *)
+ldb_dn_has_extended: bool (struct ldb_dn *)
+ldb_dn_is_null: bool (struct ldb_dn *)
+ldb_dn_is_special: bool (struct ldb_dn *)
+ldb_dn_is_valid: bool (struct ldb_dn *)
+ldb_dn_map_local: struct ldb_dn *(struct ldb_module *, void *, struct ldb_dn *)
+ldb_dn_map_rebase_remote: struct ldb_dn *(struct ldb_module *, void *, struct ldb_dn *)
+ldb_dn_map_remote: struct ldb_dn *(struct ldb_module *, void *, struct ldb_dn *)
+ldb_dn_minimise: bool (struct ldb_dn *)
+ldb_dn_new: struct ldb_dn *(TALLOC_CTX *, struct ldb_context *, const char *)
+ldb_dn_new_fmt: struct ldb_dn *(TALLOC_CTX *, struct ldb_context *, const char *, ...)
+ldb_dn_remove_base_components: bool (struct ldb_dn *, unsigned int)
+ldb_dn_remove_child_components: bool (struct ldb_dn *, unsigned int)
+ldb_dn_remove_extended_components: void (struct ldb_dn *)
+ldb_dn_replace_components: bool (struct ldb_dn *, struct ldb_dn *)
+ldb_dn_set_component: int (struct ldb_dn *, int, const char *, const struct ldb_val)
+ldb_dn_set_extended_component: int (struct ldb_dn *, const char *, const struct ldb_val *)
+ldb_dn_update_components: int (struct ldb_dn *, const struct ldb_dn *)
+ldb_dn_validate: bool (struct ldb_dn *)
+ldb_dump_results: void (struct ldb_context *, struct ldb_result *, FILE *)
+ldb_error_at: int (struct ldb_context *, int, const char *, const char *, int)
+ldb_errstring: const char *(struct ldb_context *)
+ldb_extended: int (struct ldb_context *, const char *, void *, struct ldb_result **)
+ldb_extended_default_callback: int (struct ldb_request *, struct ldb_reply *)
+ldb_filter_attrs: int (struct ldb_context *, const struct ldb_message *, const char * const *, struct ldb_message *)
+ldb_filter_attrs_in_place: int (struct ldb_message *, const char * const *)
+ldb_filter_from_tree: char *(TALLOC_CTX *, const struct ldb_parse_tree *)
+ldb_get_config_basedn: struct ldb_dn *(struct ldb_context *)
+ldb_get_create_perms: unsigned int (struct ldb_context *)
+ldb_get_default_basedn: struct ldb_dn *(struct ldb_context *)
+ldb_get_event_context: struct tevent_context *(struct ldb_context *)
+ldb_get_flags: unsigned int (struct ldb_context *)
+ldb_get_opaque: void *(struct ldb_context *, const char *)
+ldb_get_root_basedn: struct ldb_dn *(struct ldb_context *)
+ldb_get_schema_basedn: struct ldb_dn *(struct ldb_context *)
+ldb_global_init: int (void)
+ldb_handle_get_event_context: struct tevent_context *(struct ldb_handle *)
+ldb_handle_new: struct ldb_handle *(TALLOC_CTX *, struct ldb_context *)
+ldb_handle_use_global_event_context: void (struct ldb_handle *)
+ldb_handler_copy: int (struct ldb_context *, void *, const struct ldb_val *, struct ldb_val *)
+ldb_handler_fold: int (struct ldb_context *, void *, const struct ldb_val *, struct ldb_val *)
+ldb_init: struct ldb_context *(TALLOC_CTX *, struct tevent_context *)
+ldb_ldif_message_redacted_string: char *(struct ldb_context *, TALLOC_CTX *, enum ldb_changetype, const struct ldb_message *)
+ldb_ldif_message_string: char *(struct ldb_context *, TALLOC_CTX *, enum ldb_changetype, const struct ldb_message *)
+ldb_ldif_parse_modrdn: int (struct ldb_context *, const struct ldb_ldif *, TALLOC_CTX *, struct ldb_dn **, struct ldb_dn **, bool *, struct ldb_dn **, struct ldb_dn **)
+ldb_ldif_read: struct ldb_ldif *(struct ldb_context *, int (*)(void *), void *)
+ldb_ldif_read_file: struct ldb_ldif *(struct ldb_context *, FILE *)
+ldb_ldif_read_file_state: struct ldb_ldif *(struct ldb_context *, struct ldif_read_file_state *)
+ldb_ldif_read_free: void (struct ldb_context *, struct ldb_ldif *)
+ldb_ldif_read_string: struct ldb_ldif *(struct ldb_context *, const char **)
+ldb_ldif_write: int (struct ldb_context *, int (*)(void *, const char *, ...), void *, const struct ldb_ldif *)
+ldb_ldif_write_file: int (struct ldb_context *, FILE *, const struct ldb_ldif *)
+ldb_ldif_write_redacted_trace_string: char *(struct ldb_context *, TALLOC_CTX *, const struct ldb_ldif *)
+ldb_ldif_write_string: char *(struct ldb_context *, TALLOC_CTX *, const struct ldb_ldif *)
+ldb_load_modules: int (struct ldb_context *, const char **)
+ldb_map_add: int (struct ldb_module *, struct ldb_request *)
+ldb_map_delete: int (struct ldb_module *, struct ldb_request *)
+ldb_map_init: int (struct ldb_module *, const struct ldb_map_attribute *, const struct ldb_map_objectclass *, const char * const *, const char *, const char *)
+ldb_map_modify: int (struct ldb_module *, struct ldb_request *)
+ldb_map_rename: int (struct ldb_module *, struct ldb_request *)
+ldb_map_search: int (struct ldb_module *, struct ldb_request *)
+ldb_match_message: int (struct ldb_context *, const struct ldb_message *, const struct ldb_parse_tree *, enum ldb_scope, bool *)
+ldb_match_msg: int (struct ldb_context *, const struct ldb_message *, const struct ldb_parse_tree *, struct ldb_dn *, enum ldb_scope)
+ldb_match_msg_error: int (struct ldb_context *, const struct ldb_message *, const struct ldb_parse_tree *, struct ldb_dn *, enum ldb_scope, bool *)
+ldb_match_msg_objectclass: int (const struct ldb_message *, const char *)
+ldb_match_scope: int (struct ldb_context *, struct ldb_dn *, struct ldb_dn *, enum ldb_scope)
+ldb_mod_register_control: int (struct ldb_module *, const char *)
+ldb_modify: int (struct ldb_context *, const struct ldb_message *)
+ldb_modify_default_callback: int (struct ldb_request *, struct ldb_reply *)
+ldb_module_call_chain: char *(struct ldb_request *, TALLOC_CTX *)
+ldb_module_connect_backend: int (struct ldb_context *, const char *, const char **, struct ldb_module **)
+ldb_module_done: int (struct ldb_request *, struct ldb_control **, struct ldb_extended *, int)
+ldb_module_flags: uint32_t (struct ldb_context *)
+ldb_module_get_ctx: struct ldb_context *(struct ldb_module *)
+ldb_module_get_name: const char *(struct ldb_module *)
+ldb_module_get_ops: const struct ldb_module_ops *(struct ldb_module *)
+ldb_module_get_private: void *(struct ldb_module *)
+ldb_module_init_chain: int (struct ldb_context *, struct ldb_module *)
+ldb_module_load_list: int (struct ldb_context *, const char **, struct ldb_module *, struct ldb_module **)
+ldb_module_new: struct ldb_module *(TALLOC_CTX *, struct ldb_context *, const char *, const struct ldb_module_ops *)
+ldb_module_next: struct ldb_module *(struct ldb_module *)
+ldb_module_popt_options: struct poptOption **(struct ldb_context *)
+ldb_module_send_entry: int (struct ldb_request *, struct ldb_message *, struct ldb_control **)
+ldb_module_send_referral: int (struct ldb_request *, char *)
+ldb_module_set_next: void (struct ldb_module *, struct ldb_module *)
+ldb_module_set_private: void (struct ldb_module *, void *)
+ldb_modules_hook: int (struct ldb_context *, enum ldb_module_hook_type)
+ldb_modules_list_from_string: const char **(struct ldb_context *, TALLOC_CTX *, const char *)
+ldb_modules_load: int (const char *, const char *)
+ldb_msg_add: int (struct ldb_message *, const struct ldb_message_element *, int)
+ldb_msg_add_distinguished_name: int (struct ldb_message *)
+ldb_msg_add_empty: int (struct ldb_message *, const char *, int, struct ldb_message_element **)
+ldb_msg_add_fmt: int (struct ldb_message *, const char *, const char *, ...)
+ldb_msg_add_linearized_dn: int (struct ldb_message *, const char *, struct ldb_dn *)
+ldb_msg_add_steal_string: int (struct ldb_message *, const char *, char *)
+ldb_msg_add_steal_value: int (struct ldb_message *, const char *, struct ldb_val *)
+ldb_msg_add_string: int (struct ldb_message *, const char *, const char *)
+ldb_msg_add_string_flags: int (struct ldb_message *, const char *, const char *, int)
+ldb_msg_add_value: int (struct ldb_message *, const char *, const struct ldb_val *, struct ldb_message_element **)
+ldb_msg_append_fmt: int (struct ldb_message *, int, const char *, const char *, ...)
+ldb_msg_append_linearized_dn: int (struct ldb_message *, const char *, struct ldb_dn *, int)
+ldb_msg_append_steal_string: int (struct ldb_message *, const char *, char *, int)
+ldb_msg_append_steal_value: int (struct ldb_message *, const char *, struct ldb_val *, int)
+ldb_msg_append_string: int (struct ldb_message *, const char *, const char *, int)
+ldb_msg_append_value: int (struct ldb_message *, const char *, const struct ldb_val *, int)
+ldb_msg_canonicalize: struct ldb_message *(struct ldb_context *, const struct ldb_message *)
+ldb_msg_check_string_attribute: int (const struct ldb_message *, const char *, const char *)
+ldb_msg_copy: struct ldb_message *(TALLOC_CTX *, const struct ldb_message *)
+ldb_msg_copy_attr: int (struct ldb_message *, const char *, const char *)
+ldb_msg_copy_shallow: struct ldb_message *(TALLOC_CTX *, const struct ldb_message *)
+ldb_msg_diff: struct ldb_message *(struct ldb_context *, struct ldb_message *, struct ldb_message *)
+ldb_msg_difference: int (struct ldb_context *, TALLOC_CTX *, struct ldb_message *, struct ldb_message *, struct ldb_message **)
+ldb_msg_element_add_value: int (TALLOC_CTX *, struct ldb_message_element *, const struct ldb_val *)
+ldb_msg_element_compare: int (struct ldb_message_element *, struct ldb_message_element *)
+ldb_msg_element_compare_name: int (struct ldb_message_element *, struct ldb_message_element *)
+ldb_msg_element_equal_ordered: bool (const struct ldb_message_element *, const struct ldb_message_element *)
+ldb_msg_element_is_inaccessible: bool (const struct ldb_message_element *)
+ldb_msg_element_mark_inaccessible: void (struct ldb_message_element *)
+ldb_msg_elements_take_ownership: int (struct ldb_message *)
+ldb_msg_find_attr_as_bool: int (const struct ldb_message *, const char *, int)
+ldb_msg_find_attr_as_dn: struct ldb_dn *(struct ldb_context *, TALLOC_CTX *, const struct ldb_message *, const char *)
+ldb_msg_find_attr_as_double: double (const struct ldb_message *, const char *, double)
+ldb_msg_find_attr_as_int: int (const struct ldb_message *, const char *, int)
+ldb_msg_find_attr_as_int64: int64_t (const struct ldb_message *, const char *, int64_t)
+ldb_msg_find_attr_as_string: const char *(const struct ldb_message *, const char *, const char *)
+ldb_msg_find_attr_as_uint: unsigned int (const struct ldb_message *, const char *, unsigned int)
+ldb_msg_find_attr_as_uint64: uint64_t (const struct ldb_message *, const char *, uint64_t)
+ldb_msg_find_common_values: int (struct ldb_context *, TALLOC_CTX *, struct ldb_message_element *, struct ldb_message_element *, uint32_t)
+ldb_msg_find_duplicate_val: int (struct ldb_context *, TALLOC_CTX *, const struct ldb_message_element *, struct ldb_val **, uint32_t)
+ldb_msg_find_element: struct ldb_message_element *(const struct ldb_message *, const char *)
+ldb_msg_find_ldb_val: const struct ldb_val *(const struct ldb_message *, const char *)
+ldb_msg_find_val: struct ldb_val *(const struct ldb_message_element *, struct ldb_val *)
+ldb_msg_new: struct ldb_message *(TALLOC_CTX *)
+ldb_msg_normalize: int (struct ldb_context *, TALLOC_CTX *, const struct ldb_message *, struct ldb_message **)
+ldb_msg_remove_attr: void (struct ldb_message *, const char *)
+ldb_msg_remove_element: void (struct ldb_message *, struct ldb_message_element *)
+ldb_msg_remove_inaccessible: void (struct ldb_message *)
+ldb_msg_rename_attr: int (struct ldb_message *, const char *, const char *)
+ldb_msg_sanity_check: int (struct ldb_context *, const struct ldb_message *)
+ldb_msg_shrink_to_fit: void (struct ldb_message *)
+ldb_msg_sort_elements: void (struct ldb_message *)
+ldb_next_del_trans: int (struct ldb_module *)
+ldb_next_end_trans: int (struct ldb_module *)
+ldb_next_init: int (struct ldb_module *)
+ldb_next_prepare_commit: int (struct ldb_module *)
+ldb_next_read_lock: int (struct ldb_module *)
+ldb_next_read_unlock: int (struct ldb_module *)
+ldb_next_remote_request: int (struct ldb_module *, struct ldb_request *)
+ldb_next_request: int (struct ldb_module *, struct ldb_request *)
+ldb_next_start_trans: int (struct ldb_module *)
+ldb_op_default_callback: int (struct ldb_request *, struct ldb_reply *)
+ldb_options_copy: const char **(TALLOC_CTX *, const char **)
+ldb_options_find: const char *(struct ldb_context *, const char **, const char *)
+ldb_options_get: const char **(struct ldb_context *)
+ldb_pack_data: int (struct ldb_context *, const struct ldb_message *, struct ldb_val *, uint32_t)
+ldb_parse_control_from_string: struct ldb_control *(struct ldb_context *, TALLOC_CTX *, const char *)
+ldb_parse_control_strings: struct ldb_control **(struct ldb_context *, TALLOC_CTX *, const char **)
+ldb_parse_tree: struct ldb_parse_tree *(TALLOC_CTX *, const char *)
+ldb_parse_tree_attr_replace: void (struct ldb_parse_tree *, const char *, const char *)
+ldb_parse_tree_copy_shallow: struct ldb_parse_tree *(TALLOC_CTX *, const struct ldb_parse_tree *)
+ldb_parse_tree_get_attr: const char *(const struct ldb_parse_tree *)
+ldb_parse_tree_walk: int (struct ldb_parse_tree *, int (*)(struct ldb_parse_tree *, void *), void *)
+ldb_qsort: void (void * const, size_t, size_t, void *, ldb_qsort_cmp_fn_t)
+ldb_register_backend: int (const char *, ldb_connect_fn, bool)
+ldb_register_extended_match_rule: int (struct ldb_context *, const struct ldb_extended_match_rule *)
+ldb_register_hook: int (ldb_hook_fn)
+ldb_register_module: int (const struct ldb_module_ops *)
+ldb_register_redact_callback: int (struct ldb_context *, ldb_redact_fn, struct ldb_module *)
+ldb_rename: int (struct ldb_context *, struct ldb_dn *, struct ldb_dn *)
+ldb_reply_add_control: int (struct ldb_reply *, const char *, bool, void *)
+ldb_reply_get_control: struct ldb_control *(struct ldb_reply *, const char *)
+ldb_req_get_custom_flags: uint32_t (struct ldb_request *)
+ldb_req_is_untrusted: bool (struct ldb_request *)
+ldb_req_location: const char *(struct ldb_request *)
+ldb_req_mark_trusted: void (struct ldb_request *)
+ldb_req_mark_untrusted: void (struct ldb_request *)
+ldb_req_set_custom_flags: void (struct ldb_request *, uint32_t)
+ldb_req_set_location: void (struct ldb_request *, const char *)
+ldb_request: int (struct ldb_context *, struct ldb_request *)
+ldb_request_add_control: int (struct ldb_request *, const char *, bool, void *)
+ldb_request_done: int (struct ldb_request *, int)
+ldb_request_get_control: struct ldb_control *(struct ldb_request *, const char *)
+ldb_request_get_status: int (struct ldb_request *)
+ldb_request_replace_control: int (struct ldb_request *, const char *, bool, void *)
+ldb_request_set_state: void (struct ldb_request *, int)
+ldb_reset_err_string: void (struct ldb_context *)
+ldb_save_controls: int (struct ldb_control *, struct ldb_request *, struct ldb_control ***)
+ldb_schema_attribute_add: int (struct ldb_context *, const char *, unsigned int, const char *)
+ldb_schema_attribute_add_with_syntax: int (struct ldb_context *, const char *, unsigned int, const struct ldb_schema_syntax *)
+ldb_schema_attribute_by_name: const struct ldb_schema_attribute *(struct ldb_context *, const char *)
+ldb_schema_attribute_fill_with_syntax: int (struct ldb_context *, TALLOC_CTX *, const char *, unsigned int, const struct ldb_schema_syntax *, struct ldb_schema_attribute *)
+ldb_schema_attribute_remove: void (struct ldb_context *, const char *)
+ldb_schema_attribute_remove_flagged: void (struct ldb_context *, unsigned int)
+ldb_schema_attribute_set_override_handler: void (struct ldb_context *, ldb_attribute_handler_override_fn_t, void *)
+ldb_schema_set_override_GUID_index: void (struct ldb_context *, const char *, const char *)
+ldb_schema_set_override_indexlist: void (struct ldb_context *, bool)
+ldb_search: int (struct ldb_context *, TALLOC_CTX *, struct ldb_result **, struct ldb_dn *, enum ldb_scope, const char * const *, const char *, ...)
+ldb_search_default_callback: int (struct ldb_request *, struct ldb_reply *)
+ldb_sequence_number: int (struct ldb_context *, enum ldb_sequence_type, uint64_t *)
+ldb_set_create_perms: void (struct ldb_context *, unsigned int)
+ldb_set_debug: int (struct ldb_context *, void (*)(void *, enum ldb_debug_level, const char *, va_list), void *)
+ldb_set_debug_stderr: int (struct ldb_context *)
+ldb_set_default_dns: void (struct ldb_context *)
+ldb_set_errstring: void (struct ldb_context *, const char *)
+ldb_set_event_context: void (struct ldb_context *, struct tevent_context *)
+ldb_set_flags: void (struct ldb_context *, unsigned int)
+ldb_set_modules_dir: void (struct ldb_context *, const char *)
+ldb_set_opaque: int (struct ldb_context *, const char *, void *)
+ldb_set_require_private_event_context: void (struct ldb_context *)
+ldb_set_timeout: int (struct ldb_context *, struct ldb_request *, int)
+ldb_set_timeout_from_prev_req: int (struct ldb_context *, struct ldb_request *, struct ldb_request *)
+ldb_set_utf8_default: void (struct ldb_context *)
+ldb_set_utf8_fns: void (struct ldb_context *, void *, char *(*)(void *, void *, const char *, size_t))
+ldb_setup_wellknown_attributes: int (struct ldb_context *)
+ldb_should_b64_encode: int (struct ldb_context *, const struct ldb_val *)
+ldb_standard_syntax_by_name: const struct ldb_schema_syntax *(struct ldb_context *, const char *)
+ldb_strerror: const char *(int)
+ldb_string_to_time: time_t (const char *)
+ldb_string_utc_to_time: time_t (const char *)
+ldb_timestring: char *(TALLOC_CTX *, time_t)
+ldb_timestring_utc: char *(TALLOC_CTX *, time_t)
+ldb_transaction_cancel: int (struct ldb_context *)
+ldb_transaction_cancel_noerr: int (struct ldb_context *)
+ldb_transaction_commit: int (struct ldb_context *)
+ldb_transaction_prepare_commit: int (struct ldb_context *)
+ldb_transaction_start: int (struct ldb_context *)
+ldb_unpack_data: int (struct ldb_context *, const struct ldb_val *, struct ldb_message *)
+ldb_unpack_data_flags: int (struct ldb_context *, const struct ldb_val *, struct ldb_message *, unsigned int)
+ldb_unpack_get_format: int (const struct ldb_val *, uint32_t *)
+ldb_val_as_bool: int (const struct ldb_val *, bool *)
+ldb_val_as_dn: struct ldb_dn *(struct ldb_context *, TALLOC_CTX *, const struct ldb_val *)
+ldb_val_as_int64: int (const struct ldb_val *, int64_t *)
+ldb_val_as_uint64: int (const struct ldb_val *, uint64_t *)
+ldb_val_dup: struct ldb_val (TALLOC_CTX *, const struct ldb_val *)
+ldb_val_equal_exact: int (const struct ldb_val *, const struct ldb_val *)
+ldb_val_map_local: struct ldb_val (struct ldb_module *, void *, const struct ldb_map_attribute *, const struct ldb_val *)
+ldb_val_map_remote: struct ldb_val (struct ldb_module *, void *, const struct ldb_map_attribute *, const struct ldb_val *)
+ldb_val_string_cmp: int (const struct ldb_val *, const char *)
+ldb_val_to_time: int (const struct ldb_val *, time_t *)
+ldb_valid_attr_name: int (const char *)
+ldb_vdebug: void (struct ldb_context *, enum ldb_debug_level, const char *, va_list)
+ldb_wait: int (struct ldb_handle *, enum ldb_wait_type)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-2.9.0/ABI/pyldb-util-2.9.1.sigs new/ldb-2.9.1/ABI/pyldb-util-2.9.1.sigs
--- old/ldb-2.9.0/ABI/pyldb-util-2.9.1.sigs 1970-01-01 01:00:00.000000000 +0100
+++ new/ldb-2.9.1/ABI/pyldb-util-2.9.1.sigs 2024-06-19 16:22:44.436905900 +0200
@@ -0,0 +1,3 @@
+pyldb_Dn_FromDn: PyObject *(struct ldb_dn *)
+pyldb_Object_AsDn: bool (TALLOC_CTX *, PyObject *, struct ldb_context *, struct ldb_dn **)
+pyldb_check_type: bool (PyObject *, const char *)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-2.9.0/buildtools/wafsamba/samba_pidl.py new/ldb-2.9.1/buildtools/wafsamba/samba_pidl.py
--- old/ldb-2.9.0/buildtools/wafsamba/samba_pidl.py 2024-01-22 09:56:34.374532500 +0100
+++ new/ldb-2.9.1/buildtools/wafsamba/samba_pidl.py 2024-06-10 15:19:03.778659800 +0200
@@ -81,7 +81,9 @@
else:
cc = 'CC="%s"' % bld.CONFIG_GET("CC")
- t = bld(rule='cd ${PIDL_LAUNCH_DIR} && %s%s %s ${PERL} ${PIDL} --quiet ${OPTIONS} --outputdir ${OUTPUTDIR} -- "${IDLSRC}"' % (pidl_dev, cpp, cc),
+ t = bld(rule=('cd ${PIDL_LAUNCH_DIR} && PERL_HASH_SEED=0 %s%s %s ${PERL} '
+ '${PIDL} --quiet ${OPTIONS} --outputdir ${OUTPUTDIR} -- "${IDLSRC}"' %
+ (pidl_dev, cpp, cc)),
ext_out = '.c',
before = 'c',
update_outputs = True,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-2.9.0/buildtools/wafsamba/samba_third_party.py new/ldb-2.9.1/buildtools/wafsamba/samba_third_party.py
--- old/ldb-2.9.0/buildtools/wafsamba/samba_third_party.py 2023-07-14 16:41:08.806475200 +0200
+++ new/ldb-2.9.1/buildtools/wafsamba/samba_third_party.py 2024-06-19 11:21:05.152319700 +0200
@@ -24,7 +24,7 @@
@conf
def CHECK_SOCKET_WRAPPER(conf):
- return conf.CHECK_BUNDLED_SYSTEM_PKG('socket_wrapper', minversion='1.4.2')
+ return conf.CHECK_BUNDLED_SYSTEM_PKG('socket_wrapper', minversion='1.4.3')
Build.BuildContext.CHECK_SOCKET_WRAPPER = CHECK_SOCKET_WRAPPER
@conf
@@ -39,7 +39,7 @@
@conf
def CHECK_UID_WRAPPER(conf):
- return conf.CHECK_BUNDLED_SYSTEM_PKG('uid_wrapper', minversion='1.3.0')
+ return conf.CHECK_BUNDLED_SYSTEM_PKG('uid_wrapper', minversion='1.3.1')
Build.BuildContext.CHECK_UID_WRAPPER = CHECK_UID_WRAPPER
@conf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-2.9.0/buildtools/wafsamba/samba_version.py new/ldb-2.9.1/buildtools/wafsamba/samba_version.py
--- old/ldb-2.9.0/buildtools/wafsamba/samba_version.py 2024-01-22 09:56:34.374532500 +0100
+++ new/ldb-2.9.1/buildtools/wafsamba/samba_version.py 2024-06-18 09:25:21.296610000 +0200
@@ -253,6 +253,11 @@
print("Failed to parse line %s from %s" % (line, version_file))
raise
+ if "SAMBA_VERSION_VENDOR_SUFFIX" in env:
+ version_dict["SAMBA_VERSION_VENDOR_SUFFIX"] = env.SAMBA_VERSION_VENDOR_SUFFIX
+ if "SAMBA_VERSION_VENDOR_PATCH" in env:
+ version_dict["SAMBA_VERSION_VENDOR_PATCH"] = str(env.SAMBA_VERSION_VENDOR_PATCH)
+
return SambaVersion(version_dict, path, env=env, is_install=is_install)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-2.9.0/common/attrib_handlers.c new/ldb-2.9.1/common/attrib_handlers.c
--- old/ldb-2.9.0/common/attrib_handlers.c 2023-04-04 16:07:38.667663600 +0200
+++ new/ldb-2.9.1/common/attrib_handlers.c 2024-06-10 15:22:40.799787800 +0200
@@ -281,15 +281,36 @@
}
/*
- compare two Booleans
-*/
+ * compare two Booleans.
+ *
+ * According to RFC4517 4.2.2, "the booleanMatch rule is an equality matching
+ * rule", meaning it isn't used for ordering.
+ *
+ * However, it seems conceivable that Samba could be coerced into sorting on a
+ * field with Boolean syntax, so we might as well have consistent behaviour in
+ * that case.
+ *
+ * The most probably values are {"FALSE", 5} and {"TRUE", 4}. To save time we
+ * compare first by length, which makes FALSE > TRUE. This is somewhat
+ * contrary to convention, but is how Samba has worked forever.
+ *
+ * If somehow we are comparing incompletely normalised values where the length
+ * is the same (for example {"false", 5} and {"TRUE\0", 5}), the length is the
+ * same, and we fall back to a strncasecmp. In this case, since "FALSE" is
+ * alphabetically lower, we swap the order, so that "TRUE\0" again comes
+ * before "FALSE".
+ *
+ * ldb_canonicalise_Boolean (just above) gives us a clue as to what we might
+ * expect to cope with by way of invalid values.
+ */
static int ldb_comparison_Boolean(struct ldb_context *ldb, void *mem_ctx,
const struct ldb_val *v1, const struct ldb_val *v2)
{
if (v1->length != v2->length) {
- return v1->length - v2->length;
+ return NUMERIC_CMP(v2->length, v1->length);
}
- return strncasecmp((char *)v1->data, (char *)v2->data, v1->length);
+ /* reversed, see long comment above */
+ return strncasecmp((char *)v2->data, (char *)v1->data, v1->length);
}
@@ -300,7 +321,7 @@
const struct ldb_val *v1, const struct ldb_val *v2)
{
if (v1->length != v2->length) {
- return v1->length - v2->length;
+ return NUMERIC_CMP(v1->length, v2->length);
}
return memcmp(v1->data, v2->data, v1->length);
}
@@ -372,17 +393,27 @@
b2 = ldb_casefold(ldb, mem_ctx, s2, n2);
if (!b1 || !b2) {
- /* One of the strings was not UTF8, so we have no
- * options but to do a binary compare */
+ /*
+ * One of the strings was not UTF8, so we have no
+ * options but to do a binary compare.
+ */
talloc_free(b1);
talloc_free(b2);
ret = memcmp(s1, s2, MIN(n1, n2));
if (ret == 0) {
- if (n1 == n2) return 0;
+ if (n1 == n2) {
+ return 0;
+ }
if (n1 > n2) {
- return (int)ldb_ascii_toupper(s1[n2]);
+ if (s1[n2] == '\0') {
+ return 0;
+ }
+ return 1;
} else {
- return -(int)ldb_ascii_toupper(s2[n1]);
+ if (s2[n1] == '\0') {
+ return 0;
+ }
+ return -1;
}
}
return ret;
@@ -404,7 +435,7 @@
while (*u1 == ' ') u1++;
while (*u2 == ' ') u2++;
}
- ret = (int)(*u1 - *u2);
+ ret = NUMERIC_CMP(*u1, *u2);
talloc_free(b1);
talloc_free(b2);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-2.9.0/common/ldb_dn.c new/ldb-2.9.1/common/ldb_dn.c
--- old/ldb-2.9.0/common/ldb_dn.c 2023-01-18 16:27:05.368657800 +0100
+++ new/ldb-2.9.1/common/ldb_dn.c 2024-06-10 15:22:40.703787300 +0200
@@ -1111,7 +1111,7 @@
/* compare attr.cf_value. */
if (b_vlen != dn_vlen) {
- return b_vlen - dn_vlen;
+ return NUMERIC_CMP(b_vlen, dn_vlen);
}
ret = strncmp(b_vdata, dn_vdata, b_vlen);
if (ret != 0) return ret;
@@ -1132,8 +1132,32 @@
{
unsigned int i;
int ret;
-
- if (( ! dn0) || dn0->invalid || ! dn1 || dn1->invalid) {
+ /*
+ * If used in sort, we shift NULL and invalid DNs to the end.
+ *
+ * If ldb_dn_casefold_internal() fails, that goes to the end too, so
+ * we end up with:
+ *
+ * | normal DNs, sorted | casefold failed DNs | invalid DNs | NULLs |
+ */
+
+ if (dn0 == dn1) {
+ /* this includes the both-NULL case */
+ return 0;
+ }
+ if (dn0 == NULL) {
+ return 1;
+ }
+ if (dn1 == NULL) {
+ return -1;
+ }
+ if (dn0->invalid && dn1->invalid) {
+ return 0;
+ }
+ if (dn0->invalid) {
+ return 1;
+ }
+ if (dn1->invalid) {
return -1;
}
@@ -1190,7 +1214,7 @@
/* compare attr.cf_value. */
if (dn0_vlen != dn1_vlen) {
- return dn0_vlen - dn1_vlen;
+ return NUMERIC_CMP(dn0_vlen, dn1_vlen);
}
ret = strncmp(dn0_vdata, dn1_vdata, dn0_vlen);
if (ret != 0) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-2.9.0/common/ldb_msg.c new/ldb-2.9.1/common/ldb_msg.c
--- old/ldb-2.9.0/common/ldb_msg.c 2023-09-28 11:28:07.497609100 +0200
+++ new/ldb-2.9.1/common/ldb_msg.c 2024-06-10 15:22:40.039784000 +0200
@@ -93,7 +93,7 @@
static int ldb_val_cmp(const struct ldb_val *v1, const struct ldb_val *v2)
{
if (v1->length != v2->length) {
- return v1->length - v2->length;
+ return NUMERIC_CMP(v1->length, v2->length);
}
return memcmp(v1->data, v2->data, v1->length);
}
@@ -749,9 +749,16 @@
unsigned int i;
if (el1->num_values != el2->num_values) {
- return el1->num_values - el2->num_values;
+ return NUMERIC_CMP(el1->num_values, el2->num_values);
}
-
+ /*
+ * Note this is an inconsistent comparison, unsuitable for
+ * sorting. If A has values {a, b} and B has values {b, c},
+ * then
+ *
+ * ldb_msg_element_compare(A, B) returns -1, meaning A < B
+ * ldb_msg_element_compare(B, A) returns -1, meaning B < A
+ */
for (i=0;i<el1->num_values;i++) {
if (!ldb_msg_find_val(el2, &el1->values[i])) {
return -1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-2.9.0/common/qsort.c new/ldb-2.9.1/common/qsort.c
--- old/ldb-2.9.0/common/qsort.c 2022-03-02 12:26:09.112422500 +0100
+++ new/ldb-2.9.1/common/qsort.c 2024-06-10 15:22:38.975778300 +0200
@@ -227,7 +227,7 @@
while ((run_ptr += size) <= end_ptr)
{
tmp_ptr = run_ptr - size;
- while ((*cmp) ((void *) run_ptr, (void *) tmp_ptr, opaque) < 0)
+ while (tmp_ptr > base_ptr && (*cmp) ((void *) run_ptr, (void *) tmp_ptr, opaque) < 0)
tmp_ptr -= size;
tmp_ptr += size;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-2.9.0/include/ldb.h new/ldb-2.9.1/include/ldb.h
--- old/ldb-2.9.0/include/ldb.h 2024-01-22 09:56:34.406532300 +0100
+++ new/ldb-2.9.1/include/ldb.h 2024-06-10 15:22:39.279780000 +0200
@@ -2326,6 +2326,22 @@
} while (0)
#endif
+#ifndef NUMERIC_CMP
+/*
+ * NUMERIC_CMP is a safe replacement for `a - b` in comparison
+ * functions. It will work on integers, pointers, and floats.
+ *
+ * Rather than
+ *
+ * return a - b;
+ *
+ * use
+ *
+ * return NUMERIC_CMP(a, b);
+ */
+#define NUMERIC_CMP(a, b) (((a) > (b)) - ((a) < (b)))
+#endif
+
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-2.9.0/modules/sort.c new/ldb-2.9.1/modules/sort.c
--- old/ldb-2.9.0/modules/sort.c 2022-03-02 12:26:09.120422600 +0100
+++ new/ldb-2.9.1/modules/sort.c 2024-06-10 15:22:40.335785400 +0200
@@ -121,15 +121,28 @@
el1 = ldb_msg_find_element(*msg1, ac->attributeName);
el2 = ldb_msg_find_element(*msg2, ac->attributeName);
- if (!el1 && el2) {
+ /*
+ * NULL and empty elements sort at the end (regardless of ac->reverse flag).
+ * NULL elements come after empty ones.
+ */
+ if (el1 == el2) {
+ return 0;
+ }
+ if (el1 == NULL) {
return 1;
}
- if (el1 && !el2) {
+ if (el2 == NULL) {
return -1;
}
- if (!el1 && !el2) {
+ if (unlikely(el1->num_values == 0 && el2->num_values == 0)) {
return 0;
}
+ if (unlikely(el1->num_values == 0)) {
+ return 1;
+ }
+ if (unlikely(el2->num_values == 0)) {
+ return -1;
+ }
if (ac->reverse)
return ac->a->syntax->comparison_fn(ldb, ac, &el2->values[0], &el1->values[0]);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-2.9.0/wscript new/ldb-2.9.1/wscript
--- old/ldb-2.9.0/wscript 2024-01-29 17:20:28.452400700 +0100
+++ new/ldb-2.9.1/wscript 2024-06-19 16:22:44.436905900 +0200
@@ -2,7 +2,7 @@
APPNAME = 'ldb'
# For Samba 4.20.x !
-VERSION = '2.9.0'
+VERSION = '2.9.1'
import sys, os
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package cups for openSUSE:Factory checked in at 2024-07-04 16:21:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cups (Old)
and /work/SRC/openSUSE:Factory/.cups.new.2080 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cups"
Thu Jul 4 16:21:54 2024 rev:174 rq:1185108 version:2.4.10
Changes:
--------
--- /work/SRC/openSUSE:Factory/cups/cups.changes 2024-06-12 15:38:10.313795505 +0200
+++ /work/SRC/openSUSE:Factory/.cups.new.2080/cups.changes 2024-07-04 16:22:55.902759842 +0200
@@ -1,0 +2,46 @@
+Tue Jul 2 11:45:58 UTC 2024 - Johannes Meixner <jsmeix(a)suse.com>
+
+- Version upgrade to 2.4.10:
+ See https://github.com/openprinting/cups/releases
+ CUPS 2.4.10 brings two fixes:
+ * Fixed error handling when reading a mixed 1setOf attribute.
+ * Fixed scheduler start if there is only domain socket
+ to listen on (Issue #985) which is fix for regression
+ after fix for CVE-2024-35235 in scenarios where is
+ no other listeners in cupsd.conf than domain socket
+ created on demand by systemd, launchd or upstart.
+ Issues are those at https://github.com/OpenPrinting/cups/issues
+- Version upgrade to 2.4.9:
+ See https://github.com/openprinting/cups/releases
+ CUPS 2.4.9 brings security fix for CVE-2024-35235 and
+ several bug fixes regarding CUPS Web User Interface,
+ PPD generation and HTTP protocol implementation.
+ Detailed list (from CHANGES.md):
+ * Fixed domain socket handling (CVE-2024-35235)
+ * Fixed creating of `cupsUrfSupported` PPD keyword
+ (Issue #952)
+ * Fixed searching for destinations in web ui (Issue #954)
+ * Fixed TLS negotiation using OpenSSL with servers
+ that require the TLS SNI extension.
+ * Really raised `cups_enum_dests()` timeout for listing
+ available IPP printers (Issue #751)...
+ * Fixed `Host` header regression (Issue #967)
+ * Fixed DNS-SD lookups of local services with Avahi
+ (Issue #970)
+ * Fixed listing jobs in destinations in web ui.
+ (Apple issue #6204)
+ * Fixed showing search query in web ui help page.
+ (Issue #977)
+ Issues are those at https://github.com/OpenPrinting/cups/issues
+ Apple issues are those at https://github.com/apple/cups/issues
+- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
+- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
+ see the above CUPS 2.4.9 changes
+- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
+ "'for' loop initial declarations are only allowed in C99 mode"
+ that happens when building for SLE12
+ in scheduler/client.c at "for (char *start = ..." since
+ https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f…
+ see https://github.com/OpenPrinting/cups/issues/1000
+
+-------------------------------------------------------------------
Old:
----
cups-2.4.8-CVE-2024-35235.patch
cups-2.4.8-source.tar.gz
cups-2.4.8-source.tar.gz.sig
New:
----
avoid_C99_mode_for_loop_initial_declarations.patch
cups-2.4.10-source.tar.gz
cups-2.4.10-source.tar.gz.sig
BETA DEBUG BEGIN:
Old:- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
see the above CUPS 2.4.9 changes
BETA DEBUG END:
BETA DEBUG BEGIN:
New: see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
"'for' loop initial declarations are only allowed in C99 mode"
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cups.spec ++++++
--- /var/tmp/diff_new_pack.nQzspI/_old 2024-07-04 16:22:57.182806590 +0200
+++ /var/tmp/diff_new_pack.nQzspI/_new 2024-07-04 16:22:57.186806736 +0200
@@ -40,18 +40,18 @@
# "zypper vcmp 2.3.b99 2.3.0" shows "2.3.b99 is older than 2.3.0" and
# "zypper vcmp 2.2.99 2.3b6" show "2.2.99 is older than 2.3b6" so that
# version upgrades from 2.2.x via 2.3.b* to 2.3.0 work:
-Version: 2.4.8
+Version: 2.4.10
Release: 0
Summary: The Common UNIX Printing System
License: Apache-2.0
Group: Hardware/Printing
URL: https://openprinting.github.io/cups
# To get Source0 go to https://github.com/OpenPrinting/cups/releases or use e.g.
-# wget --no-check-certificate -O cups-2.4.7-source.tar.gz https://github.com/OpenPrinting/cups/releases/download/v2.4.7/cups-2.4.7-so…
-Source0: https://github.com/OpenPrinting/cups/releases/download/v2.4.8/cups-2.4.8-so…
+# wget --no-check-certificate -O cups-2.4.10-source.tar.gz https://github.com/OpenPrinting/cups/releases/download/v2.4.10/cups-2.4.10-…
+Source0: https://github.com/OpenPrinting/cups/releases/download/v2.4.10/cups-2.4.10-…
# To get Source1 go to https://github.com/OpenPrinting/cups/releases or use e.g.
-# wget --no-check-certificate -O cups-2.4.7-source.tar.gz.sig https://github.com/OpenPrinting/cups/releases/download/v2.4.7/cups-2.4.7-so…
-Source1: https://github.com/OpenPrinting/cups/releases/download/v2.4.8/cups-2.4.8-so…
+# wget --no-check-certificate -O cups-2.4.10-source.tar.gz.sig https://github.com/OpenPrinting/cups/releases/download/v2.4.10/cups-2.4.10-…
+Source1: https://github.com/OpenPrinting/cups/releases/download/v2.4.10/cups-2.4.10-…
# To make Source2 use e.g.
# gpg --keyserver keys.openpgp.org --recv-keys 7082A0A50A2E92640F3880E0E4522DCC9B246FF7
# gpg --export --armor 7082A0A50A2E92640F3880E0E4522DCC9B246FF7 >cups.keyring
@@ -61,7 +61,7 @@
# To manually verify Source0 with Source1 and Source2 do e.g.
# gpg --import cups.keyring
# gpg --list-keys | grep -1 'Zdenek Dohnal'
-# gpg --verify cups-2.4.7-source.tar.gz.sig cups-2.4.7-source.tar.gz
+# gpg --verify cups-2.4.10-source.tar.gz.sig cups-2.4.10-source.tar.gz
Source102: Postscript.ppd.gz
Source105: Postscript-level1.ppd.gz
Source106: Postscript-level2.ppd.gz
@@ -77,6 +77,12 @@
# because the files of the CUPS web content are no documentation, see CUPS STR #3578
# and https://bugzilla.suse.com/show_bug.cgi?id=546023#c6 and subsequent comments:
Patch11: cups-2.1.0-default-webcontent-path.patch
+# Patch12 avoid_C99_mode_for_loop_initial_declarations.patch
+# avoids "error: 'for' loop initial declarations are only allowed in C99 mode"
+# that happens when building for SLE12 at "for (char *start = ..." since
+# https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f…
+# see https://github.com/OpenPrinting/cups/issues/1000
+Patch12: avoid_C99_mode_for_loop_initial_declarations.patch
# Patch100...Patch999 is for private patches from SUSE which are not intended for upstream:
# Patch100 cups-pam.diff adds conf/pam.suse regarding support for PAM for SUSE:
Patch100: cups-pam.diff
@@ -103,13 +109,6 @@
# Patch112 cups-2.4.2-additional_policies.patch adds the 'allowallforanybody' policy to cupsd.conf
# see SUSE FATE 303515 and https://bugzilla.suse.com/show_bug.cgi?id=936309
Patch112: cups-2.4.2-additional_policies.patch
-# Patch113 cups-2.4.8-CVE-2024-35235.patch is derived from the upstream patch against master (CUPS 2.5)
-# https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6…
-# to apply to CUPS 2.4.8 in openSUSE Factory
-# to fix CVE-2024-35235 "cupsd Listen port arbitrary chmod 0140777"
-# https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
-# https://bugzilla.suse.com/show_bug.cgi?id=1225365
-Patch113: cups-2.4.8-CVE-2024-35235.patch
# Build Requirements:
BuildRequires: dbus-1-devel
BuildRequires: fdupes
@@ -337,13 +336,12 @@
# Patch112 cups-2.4.2-additional_policies.patch adds the 'allowallforanybody' policy to cupsd.conf
# see SUSE FATE 303515 and https://bugzilla.suse.com/show_bug.cgi?id=936309
%patch -P 112 -b cups-2.4.2-additional_policies.orig
-# Patch113 cups-2.4.8-CVE-2024-35235.patch is derived from the upstream patch against master (CUPS 2.5)
-# https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6…
-# to apply to CUPS 2.4.8 in openSUSE Factory
-# to fix CVE-2024-35235 "cupsd Listen port arbitrary chmod 0140777"
-# https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
-# https://bugzilla.suse.com/show_bug.cgi?id=1225365
-%patch -P 113 -b cups-2.4.8-CVE-2024-35235.orig
+# Patch12 avoid_C99_mode_for_loop_initial_declarations.patch
+# avoids "error: 'for' loop initial declarations are only allowed in C99 mode"
+# that happens when building for SLE12 at "for (char *start = ..." since
+# https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f…
+# see https://github.com/OpenPrinting/cups/issues/1000
+%patch -P 12 -b avoid_C99_mode_for_loop_initial_declarations.orig
%build
# Remove ".SILENT" rule for verbose build output
++++++ avoid_C99_mode_for_loop_initial_declarations.patch ++++++
--- scheduler/client.c.orig 2024-06-18 13:11:05.000000000 +0200
+++ scheduler/client.c 2024-07-02 14:51:25.359712447 +0200
@@ -566,6 +566,7 @@ cupsdReadClient(cupsd_client_t *con) /*
struct stat filestats; /* File information */
mime_type_t *type; /* MIME type of file */
static unsigned request_id = 0; /* Request ID for temp files */
+ char *start; /* Avoid error: 'for' loop initial declarations are only allowed in C99 mode */
status = HTTP_STATUS_CONTINUE;
@@ -1145,7 +1146,7 @@ cupsdReadClient(cupsd_client_t *con) /*
{
unsigned int i = 0; // Array index
- for (char *start = con->uri + 9; *start && *start != '?' && i < sizeof(name);)
+ for (*start = con->uri + 9; *start && *start != '?' && i < sizeof(name);)
name[i++] = *start++;
name[i] = '\0';
@@ -1185,7 +1186,7 @@ cupsdReadClient(cupsd_client_t *con) /*
{
unsigned int i = 0; // Array index
- for (char *start = con->uri + 10; *start && *start != '?' && i < sizeof(name);)
+ for (*start = con->uri + 10; *start && *start != '?' && i < sizeof(name);)
name[i++] = *start++;
name[i] = '\0';
++++++ cups-2.4.8-source.tar.gz -> cups-2.4.10-source.tar.gz ++++++
/work/SRC/openSUSE:Factory/cups/cups-2.4.8-source.tar.gz /work/SRC/openSUSE:Factory/.cups.new.2080/cups-2.4.10-source.tar.gz differ: char 5, line 1
++++++ downgrade-autoconf-requirement.patch ++++++
--- /var/tmp/diff_new_pack.nQzspI/_old 2024-07-04 16:22:57.326811849 +0200
+++ /var/tmp/diff_new_pack.nQzspI/_new 2024-07-04 16:22:57.330811995 +0200
@@ -1,7 +1,5 @@
-Index: configure.ac
-===================================================================
---- configure.ac.orig
-+++ configure.ac
+--- configure.ac.orig 2024-06-18 13:11:05.000000000 +0200
++++ configure.ac 2024-07-02 13:55:46.880533719 +0200
@@ -9,8 +9,8 @@ dnl Licensed under Apache License v2.0.
dnl information.
dnl
@@ -12,5 +10,5 @@
+AC_PREREQ([2.69])
dnl Package name and version...
- AC_INIT([CUPS],[2.4.8],[https://github.com/openprinting/cups/issues],[cups]…
+ AC_INIT([CUPS],[2.4.10],[https://github.com/openprinting/cups/issues],[cups…
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-botocore for openSUSE:Factory checked in at 2024-07-04 16:21:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-botocore (Old)
and /work/SRC/openSUSE:Factory/.python-botocore.new.2080 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-botocore"
Thu Jul 4 16:21:44 2024 rev:132 rq:1185100 version:1.34.138
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-botocore/python-botocore.changes 2024-06-11 18:27:50.141676959 +0200
+++ /work/SRC/openSUSE:Factory/.python-botocore.new.2080/python-botocore.changes 2024-07-04 16:22:51.254590090 +0200
@@ -1,0 +2,214 @@
+Wed Jul 3 06:34:27 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- Update to 1.34.138
+ * api-change:``ec2``: Documentation updates for Elastic Compute Cloud (EC2).
+ * api-change:``fms``: Increases Customer API's ManagedServiceData length
+ * api-change:``s3``: Added response overrides to Head Object requests.
+- from version 1.34.137
+ * api-change:``apigateway``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``cognito-identity``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``connect``: Authentication profiles are Amazon Connect resources (in gated preview)
+ that allow you to configure authentication settings for users in your contact center. This release
+ adds support for new ListAuthenticationProfiles, DescribeAuthenticationProfile and
+ UpdateAuthenticationProfile APIs.
+ * api-change:``docdb``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``eks``: Updates EKS managed node groups to support EC2 Capacity Blocks for ML
+ * api-change:``payment-cryptography``: Added further restrictions on logging of potentially
+ sensitive inputs and outputs.
+ * api-change:``payment-cryptography-data``: Adding support for dynamic keys for encrypt, decrypt,
+ re-encrypt and translate pin functions. With this change, customers can use one-time TR-31 keys
+ directly in dataplane operations without the need to first import them into the service.
+ * api-change:``stepfunctions``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``swf``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``wafv2``: JSON body inspection: Update documentation to clarify that JSON parsing
+ doesn't include full validation.
+- from version 1.34.136
+ * api-change:``acm-pca``: Added CCPC_LEVEL_1_OR_HIGHER KeyStorageSecurityStandard and SM2
+ KeyAlgorithm and SM3WITHSM2 SigningAlgorithm for China regions.
+ * api-change:``cloudhsmv2``: Added 3 new APIs to support backup sharing: GetResourcePolicy,
+ PutResourcePolicy, and DeleteResourcePolicy. Added BackupArn to the output of the DescribeBackups
+ API. Added support for BackupArn in the CreateCluster API.
+ * api-change:``connect``: This release supports showing PreferredAgentRouting step via
+ DescribeContact API.
+ * api-change:``emr``: This release provides the support for new allocation strategies i.e.
+ CAPACITY_OPTIMIZED_PRIORITIZED for Spot and PRIORITIZED for On-Demand by taking input of priority
+ value for each instance type for instance fleet clusters.
+ * api-change:``glue``: Added AttributesToGet parameter to Glue GetDatabases, allowing caller to
+ limit output to include only the database name.
+ * api-change:``kinesisanalyticsv2``: Support for Flink 1.19 in Managed Service for Apache Flink
+ * api-change:``opensearch``: This release removes support for enabling or disabling Natural
+ Language Query Processing feature for Amazon OpenSearch Service domains.
+ * api-change:``pi``: Noting that the filter db.sql.db_id isn't available for RDS for SQL Server DB
+ instances.
+ * api-change:``workspaces``: Added support for Red Hat Enterprise Linux 8 on Amazon WorkSpaces
+ Personal.
+- from version 1.34.135
+ * api-change:``application-autoscaling``: Amazon WorkSpaces customers can now use Application Auto
+ Scaling to automatically scale the number of virtual desktops in a WorkSpaces pool.
+ * api-change:``chime-sdk-media-pipelines``: Added Amazon Transcribe multi language identification
+ to Chime SDK call analytics. Enabling customers sending single stream audio to generate call
+ recordings using Chime SDK call analytics
+ * api-change:``cloudfront``: Doc only update for CloudFront that fixes customer-reported issue
+ * api-change:``datazone``: This release supports the data lineage feature of business data catalog
+ in Amazon DataZone.
+ * api-change:``elasticache``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``mq``: This release makes the EngineVersion field optional for both broker and
+ configuration and uses the latest available version by default. The AutoMinorVersionUpgrade field
+ is also now optional for broker creation and defaults to 'true'.
+ * api-change:``qconnect``: Adds CreateContentAssociation, ListContentAssociations,
+ GetContentAssociation, and DeleteContentAssociation APIs.
+ * api-change:``quicksight``: Adding support for Repeating Sections, Nested Filters
+ * api-change:``rds``: Updates Amazon RDS documentation for TAZ export to S3.
+ * api-change:``sagemaker``: Add capability for Admins to customize Studio experience for the user
+ by showing or hiding Apps and MLTools.
+ * api-change:``workspaces``: Added support for WorkSpaces Pools.
+- from version 1.34.134
+ * api-change:``controltower``: Added ListLandingZoneOperations API.
+ * api-change:``eks``: Added support for disabling unmanaged addons during cluster creation.
+ * api-change:``ivs-realtime``: IVS Real-Time now offers customers the ability to upload public keys
+ for customer vended participant tokens.
+ * api-change:``kinesisanalyticsv2``: This release adds support for new ListApplicationOperations
+ and DescribeApplicationOperation APIs. It adds a new configuration to enable system rollbacks, adds
+ field ApplicationVersionCreateTimestamp for clarity and improves support for pagination for APIs.
+ * api-change:``opensearch``: This release adds support for enabling or disabling Natural Language
+ Query Processing feature for Amazon OpenSearch Service domains, and provides visibility into the
+ current state of the setup or tear-down.
+- from version 1.34.133
+ * api-change:``autoscaling``: Doc only update for Auto Scaling's TargetTrackingMetricDataQuery
+ * api-change:``ec2``: This release is for the launch of the new u7ib-12tb.224xlarge, R8g,
+ c7gn.metal and mac2-m1ultra.metal instance types
+ * api-change:``networkmanager``: This is model changes & documentation update for the Asynchronous
+ Error Reporting feature for AWS Cloud WAN. This feature allows customers to view errors that occur
+ while their resources are being provisioned, enabling customers to fix their resources without
+ needing external support.
+ * api-change:``workspaces-thin-client``: This release adds the deviceCreationTags field to
+ CreateEnvironment API input, UpdateEnvironment API input and GetEnvironment API output.
+- from version 1.34.132
+ * api-change:``bedrock-runtime``: Increases Converse API's document name length
+ * api-change:``customer-profiles``: This release includes changes to ProfileObjectType APIs, adds
+ functionality top set and get capacity for profile object types.
+ * api-change:``ec2``: Fix EC2 multi-protocol info in models.
+ * api-change:``qbusiness``: Allow enable/disable Q Apps when creating/updating a Q application;
+ Return the Q Apps enablement information when getting a Q application.
+ * api-change:``ssm``: Add sensitive trait to SSM IPAddress property for CloudTrail redaction
+ * api-change:``workspaces-web``: Added ability to enable DeepLinking functionality on a Portal via
+ UserSettings as well as added support for IdentityProvider resource tagging.
+- from version 1.34.131
+ * api-change:``bedrock-runtime``: This release adds document support to Converse and ConverseStream
+ APIs
+ * api-change:``codeartifact``: Add support for the Cargo package format.
+ * api-change:``compute-optimizer``: This release enables AWS Compute Optimizer to analyze and
+ generate optimization recommendations for Amazon RDS MySQL and RDS PostgreSQL.
+ * api-change:``cost-optimization-hub``: This release enables AWS Cost Optimization Hub to show cost
+ optimization recommendations for Amazon RDS MySQL and RDS PostgreSQL.
+ * api-change:``dynamodb``: Doc-only update for DynamoDB. Fixed Important note in 6 Global table
+ APIs - CreateGlobalTable, DescribeGlobalTable, DescribeGlobalTableSettings, ListGlobalTables,
+ UpdateGlobalTable, and UpdateGlobalTableSettings.
+ * api-change:``glue``: Fix Glue paginators for Jobs, JobRuns, Triggers, Blueprints and Workflows.
+ * api-change:``ivs-realtime``: IVS Real-Time now offers customers the ability to record individual
+ stage participants to S3.
+ * api-change:``sagemaker``: Adds support for model references in Hub service, and adds support for
+ cross-account access of Hubs
+ * api-change:``securityhub``: Documentation updates for Security Hub
+- from version 1.34.130
+ * api-change:``artifact``: This release adds an acceptanceType field to the ReportSummary structure
+ (used in the ListReports API response).
+ * api-change:``athena``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``cur``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``directconnect``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``elastictranscoder``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``opensearch``: This release enables customers to use JSON Web Tokens (JWT) for
+ authentication on their Amazon OpenSearch Service domains.
+- from version 1.34.129
+ * api-change:``bedrock-runtime``: This release adds support for using Guardrails with the Converse
+ and ConverseStream APIs.
+ * api-change:``cloudtrail``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``config``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``eks``: This release adds support to surface async fargate customer errors from async
+ path to customer through describe-fargate-profile API response.
+ * api-change:``lightsail``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``polly``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``rekognition``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``sagemaker``: Launched a new feature in SageMaker to provide managed MLflow Tracking
+ Servers for customers to track ML experiments. This release also adds a new capability of attaching
+ additional storage to SageMaker HyperPod cluster instances.
+ * api-change:``shield``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``snowball``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+- from version 1.34.128
+ * api-change:``acm-pca``: Doc-only update that adds name constraints as an allowed extension for
+ ImportCertificateAuthorityCertificate.
+ * api-change:``batch``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``codebuild``: AWS CodeBuild now supports global and organization GitHub webhooks
+ * api-change:``cognito-idp``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``ds``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``efs``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``glue``: This release introduces a new feature, Usage profiles. Usage profiles allow
+ the AWS Glue admin to create different profiles for various classes of users within the account,
+ enforcing limits and defaults for jobs and sessions.
+ * api-change:``mediaconvert``: This release includes support for creating I-frame only video
+ segments for DASH trick play.
+ * api-change:``secretsmanager``: Doc only update for Secrets Manager
+ * api-change:``waf``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+- from version 1.34.127
+ * api-change:``datazone``: This release introduces a new default service blueprint for custom
+ environment creation.
+ * api-change:``ec2``: Documentation updates for Amazon EC2.
+ * api-change:``macie2``: This release adds support for managing the status of automated sensitive
+ data discovery for individual accounts in an organization, and determining whether individual S3
+ buckets are included in the scope of the analyses.
+ * api-change:``mediaconvert``: This release adds the ability to search for historical job records
+ within the management console using a search box and/or via the SDK/CLI with partial string
+ matching search on input file name.
+ * api-change:``route53domains``: Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+- from version 1.34.126
+ * api-change:``cloudhsmv2``: Added support for hsm type hsm2m.medium. Added supported for creating
+ a cluster in FIPS or NON_FIPS mode.
+ * api-change:``glue``: This release adds support for configuration of evaluation method for
+ composite rules in Glue Data Quality rulesets.
+ * api-change:``iotwireless``: Add RoamingDeviceSNR and RoamingDeviceRSSI to Customer Metrics.
+ * api-change:``kms``: This feature allows customers to use their keys stored in KMS to derive a
+ shared secret which can then be used to establish a secured channel for communication, provide
+ proof of possession, or establish trust with other parties.
+ * api-change:``mediapackagev2``: This release adds support for CMAF ingest (DASH-IF live media
+ ingest protocol interface 1)
+- from version 1.34.125
+ * api-change:``apptest``: AWS Mainframe Modernization Application Testing is an AWS Mainframe
+ Modernization service feature that automates functional equivalence testing for mainframe
+ application modernization and migration to AWS, and regression testing.
+ * api-change:``backupstorage``: The backupstorage client has been removed following the deprecation
+ of the service.
+ * api-change:``ec2``: Tagging support for Traffic Mirroring FilterRule resource
+ * api-change:``osis``: SDK changes for self-managed vpc endpoint to OpenSearch ingestion pipelines.
+ * api-change:``redshift``: Updates to remove DC1 and DS2 node types.
+ * api-change:``secretsmanager``: Introducing RotationToken parameter for PutSecretValue API
+ * api-change:``securitylake``: This release updates request validation regex to account for
+ non-commercial aws partitions.
+ * api-change:``sesv2``: This release adds support for Amazon EventBridge as an email sending events
+ destination.
+- from version 1.34.124
+ * api-change:``accessanalyzer``: IAM Access Analyzer now provides policy recommendations to help
+ resolve unused permissions for IAM roles and users. Additionally, IAM Access Analyzer now extends
+ its custom policy checks to detect when IAM policies grant public access or access to critical
+ resources ahead of deployments.
+ * api-change:``guardduty``: Added API support for GuardDuty Malware Protection for S3.
+ * api-change:``networkmanager``: This is model changes & documentation update for Service Insertion
+ feature for AWS Cloud WAN. This feature allows insertion of AWS/3rd party security services on
+ Cloud WAN. This allows to steer inter/intra segment traffic via security appliances and provide
+ visibility to the route updates.
+ * api-change:``pca-connector-scep``: Connector for SCEP allows you to use a managed, cloud CA to
+ enroll mobile devices and networking gear. SCEP is a widely-adopted protocol used by mobile device
+ management (MDM) solutions for enrolling mobile devices. With the connector, you can use AWS
+ Private CA with popular MDM solutions.
+ * api-change:``sagemaker``: Introduced Scope and AuthenticationRequestExtraParams to SageMaker
+ Workforce OIDC configuration; this allows customers to modify these options for their private
+ Workforce IdP integration. Model Registry Cross-account model package groups are discoverable.
+- from version 1.34.123
+ * api-change:``application-signals``: This is the initial SDK release for Amazon CloudWatch
+ Application Signals. Amazon CloudWatch Application Signals provides curated application performance
+ monitoring for developers to monitor and troubleshoot application health using pre-built dashboards
+ and Service Level Objectives.
+ * api-change:``ecs``: This release introduces a new cluster configuration to support the
+ customer-managed keys for ECS managed storage encryption.
+ * api-change:``imagebuilder``: This release updates the regex pattern for Image Builder ARNs.
+
+-------------------------------------------------------------------
Old:
----
botocore-1.34.122.tar.gz
New:
----
botocore-1.34.138.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-botocore.spec ++++++
--- /var/tmp/diff_new_pack.4zUzDk/_old 2024-07-04 16:22:52.402632016 +0200
+++ /var/tmp/diff_new_pack.4zUzDk/_new 2024-07-04 16:22:52.406632163 +0200
@@ -28,7 +28,7 @@
%{?sle15_python_module_pythons}
Name: python-botocore%{?psuffix}
-Version: 1.34.122
+Version: 1.34.138
Release: 0
Summary: Python interface for AWS
License: Apache-2.0
++++++ botocore-1.34.122.tar.gz -> botocore-1.34.138.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-botocore/botocore-1.34.122.tar.gz /work/SRC/openSUSE:Factory/.python-botocore.new.2080/botocore-1.34.138.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-boto3 for openSUSE:Factory checked in at 2024-07-04 16:21:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-boto3 (Old)
and /work/SRC/openSUSE:Factory/.python-boto3.new.2080 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-boto3"
Thu Jul 4 16:21:41 2024 rev:110 rq:1185099 version:1.34.138
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-boto3/python-boto3.changes 2024-06-11 18:27:53.449797685 +0200
+++ /work/SRC/openSUSE:Factory/.python-boto3.new.2080/python-boto3.changes 2024-07-04 16:22:47.590456275 +0200
@@ -1,0 +2,249 @@
+Wed Jul 3 06:36:51 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- Update to 1.34.138
+ * api-change:``ec2``: [``botocore``] Documentation updates for Elastic Compute Cloud (EC2).
+ * api-change:``fms``: [``botocore``] Increases Customer API's ManagedServiceData length
+ * api-change:``s3``: [``botocore``] Added response overrides to Head Object requests.
+- from version 1.34.137
+ * api-change:``apigateway``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK
+ testing.
+ * api-change:``cognito-identity``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait
+ for SDK testing.
+ * api-change:``connect``: [``botocore``] Authentication profiles are Amazon Connect resources (in
+ gated preview) that allow you to configure authentication settings for users in your contact
+ center. This release adds support for new ListAuthenticationProfiles, DescribeAuthenticationProfile
+ and UpdateAuthenticationProfile APIs.
+ * api-change:``docdb``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK
+ testing.
+ * api-change:``eks``: [``botocore``] Updates EKS managed node groups to support EC2 Capacity Blocks
+ for ML
+ * api-change:``payment-cryptography``: [``botocore``] Added further restrictions on logging of
+ potentially sensitive inputs and outputs.
+ * api-change:``payment-cryptography-data``: [``botocore``] Adding support for dynamic keys for
+ encrypt, decrypt, re-encrypt and translate pin functions. With this change, customers can use
+ one-time TR-31 keys directly in dataplane operations without the need to first import them into the
+ service.
+ * api-change:``stepfunctions``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for
+ SDK testing.
+ * api-change:``swf``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``wafv2``: [``botocore``] JSON body inspection: Update documentation to clarify that
+ JSON parsing doesn't include full validation.
+- from version 1.34.136
+ * api-change:``acm-pca``: [``botocore``] Added CCPC_LEVEL_1_OR_HIGHER KeyStorageSecurityStandard
+ and SM2 KeyAlgorithm and SM3WITHSM2 SigningAlgorithm for China regions.
+ * api-change:``cloudhsmv2``: [``botocore``] Added 3 new APIs to support backup sharing:
+ GetResourcePolicy, PutResourcePolicy, and DeleteResourcePolicy. Added BackupArn to the output of
+ the DescribeBackups API. Added support for BackupArn in the CreateCluster API.
+ * api-change:``connect``: [``botocore``] This release supports showing PreferredAgentRouting step
+ via DescribeContact API.
+ * api-change:``emr``: [``botocore``] This release provides the support for new allocation
+ strategies i.e. CAPACITY_OPTIMIZED_PRIORITIZED for Spot and PRIORITIZED for On-Demand by taking
+ input of priority value for each instance type for instance fleet clusters.
+ * api-change:``glue``: [``botocore``] Added AttributesToGet parameter to Glue GetDatabases,
+ allowing caller to limit output to include only the database name.
+ * api-change:``kinesisanalyticsv2``: [``botocore``] Support for Flink 1.19 in Managed Service for
+ Apache Flink
+ * api-change:``opensearch``: [``botocore``] This release removes support for enabling or disabling
+ Natural Language Query Processing feature for Amazon OpenSearch Service domains.
+ * api-change:``pi``: [``botocore``] Noting that the filter db.sql.db_id isn't available for RDS for
+ SQL Server DB instances.
+ * api-change:``workspaces``: [``botocore``] Added support for Red Hat Enterprise Linux 8 on Amazon
+ WorkSpaces Personal.
+- from version 1.34.135
+ * api-change:``application-autoscaling``: [``botocore``] Amazon WorkSpaces customers can now use
+ Application Auto Scaling to automatically scale the number of virtual desktops in a WorkSpaces pool.
+ * api-change:``chime-sdk-media-pipelines``: [``botocore``] Added Amazon Transcribe multi language
+ identification to Chime SDK call analytics. Enabling customers sending single stream audio to
+ generate call recordings using Chime SDK call analytics
+ * api-change:``cloudfront``: [``botocore``] Doc only update for CloudFront that fixes
+ customer-reported issue
+ * api-change:``datazone``: [``botocore``] This release supports the data lineage feature of
+ business data catalog in Amazon DataZone.
+ * api-change:``elasticache``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK
+ testing.
+ * api-change:``mq``: [``botocore``] This release makes the EngineVersion field optional for both
+ broker and configuration and uses the latest available version by default. The
+ AutoMinorVersionUpgrade field is also now optional for broker creation and defaults to 'true'.
+ * api-change:``qconnect``: [``botocore``] Adds CreateContentAssociation, ListContentAssociations,
+ GetContentAssociation, and DeleteContentAssociation APIs.
+ * api-change:``quicksight``: [``botocore``] Adding support for Repeating Sections, Nested Filters
+ * api-change:``rds``: [``botocore``] Updates Amazon RDS documentation for TAZ export to S3.
+ * api-change:``sagemaker``: [``botocore``] Add capability for Admins to customize Studio experience
+ for the user by showing or hiding Apps and MLTools.
+ * api-change:``workspaces``: [``botocore``] Added support for WorkSpaces Pools.
+- from version 1.34.134
+ * api-change:``controltower``: [``botocore``] Added ListLandingZoneOperations API.
+ * api-change:``eks``: [``botocore``] Added support for disabling unmanaged addons during cluster
+ creation.
+ * api-change:``ivs-realtime``: [``botocore``] IVS Real-Time now offers customers the ability to
+ upload public keys for customer vended participant tokens.
+ * api-change:``kinesisanalyticsv2``: [``botocore``] This release adds support for new
+ ListApplicationOperations and DescribeApplicationOperation APIs. It adds a new configuration to
+ enable system rollbacks, adds field ApplicationVersionCreateTimestamp for clarity and improves
+ support for pagination for APIs.
+ * api-change:``opensearch``: [``botocore``] This release adds support for enabling or disabling
+ Natural Language Query Processing feature for Amazon OpenSearch Service domains, and provides
+ visibility into the current state of the setup or tear-down.
+- from version 1.34.133
+ * api-change:``autoscaling``: [``botocore``] Doc only update for Auto Scaling's
+ TargetTrackingMetricDataQuery
+ * api-change:``ec2``: [``botocore``] This release is for the launch of the new u7ib-12tb.224xlarge,
+ R8g, c7gn.metal and mac2-m1ultra.metal instance types
+ * api-change:``networkmanager``: [``botocore``] This is model changes & documentation update for
+ the Asynchronous Error Reporting feature for AWS Cloud WAN. This feature allows customers to view
+ errors that occur while their resources are being provisioned, enabling customers to fix their
+ resources without needing external support.
+ * api-change:``workspaces-thin-client``: [``botocore``] This release adds the deviceCreationTags
+ field to CreateEnvironment API input, UpdateEnvironment API input and GetEnvironment API output.
+- from version 1.34.132
+ * api-change:``bedrock-runtime``: [``botocore``] Increases Converse API's document name length
+ * api-change:``customer-profiles``: [``botocore``] This release includes changes to
+ ProfileObjectType APIs, adds functionality top set and get capacity for profile object types.
+ * api-change:``ec2``: [``botocore``] Fix EC2 multi-protocol info in models.
+ * api-change:``qbusiness``: [``botocore``] Allow enable/disable Q Apps when creating/updating a Q
+ application; Return the Q Apps enablement information when getting a Q application.
+ * api-change:``ssm``: [``botocore``] Add sensitive trait to SSM IPAddress property for CloudTrail
+ redaction
+ * api-change:``workspaces-web``: [``botocore``] Added ability to enable DeepLinking functionality
+ on a Portal via UserSettings as well as added support for IdentityProvider resource tagging.
+- from version 1.34.131
+ * api-change:``bedrock-runtime``: [``botocore``] This release adds document support to Converse and
+ ConverseStream APIs
+ * api-change:``codeartifact``: [``botocore``] Add support for the Cargo package format.
+ * api-change:``compute-optimizer``: [``botocore``] This release enables AWS Compute Optimizer to
+ analyze and generate optimization recommendations for Amazon RDS MySQL and RDS PostgreSQL.
+ * api-change:``cost-optimization-hub``: [``botocore``] This release enables AWS Cost Optimization
+ Hub to show cost optimization recommendations for Amazon RDS MySQL and RDS PostgreSQL.
+ * api-change:``dynamodb``: [``botocore``] Doc-only update for DynamoDB. Fixed Important note in 6
+ Global table APIs - CreateGlobalTable, DescribeGlobalTable, DescribeGlobalTableSettings,
+ ListGlobalTables, UpdateGlobalTable, and UpdateGlobalTableSettings.
+ * api-change:``glue``: [``botocore``] Fix Glue paginators for Jobs, JobRuns, Triggers, Blueprints
+ and Workflows.
+ * api-change:``ivs-realtime``: [``botocore``] IVS Real-Time now offers customers the ability to
+ record individual stage participants to S3.
+ * api-change:``sagemaker``: [``botocore``] Adds support for model references in Hub service, and
+ adds support for cross-account access of Hubs
+ * api-change:``securityhub``: [``botocore``] Documentation updates for Security Hub
+- from version 1.34.130
+ * api-change:``artifact``: [``botocore``] This release adds an acceptanceType field to the
+ ReportSummary structure (used in the ListReports API response).
+ * api-change:``athena``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK
+ testing.
+ * api-change:``cur``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``directconnect``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for
+ SDK testing.
+ * api-change:``elastictranscoder``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait
+ for SDK testing.
+ * api-change:``opensearch``: [``botocore``] This release enables customers to use JSON Web Tokens
+ (JWT) for authentication on their Amazon OpenSearch Service domains.
+- from version 1.34.129
+ * api-change:``bedrock-runtime``: [``botocore``] This release adds support for using Guardrails
+ with the Converse and ConverseStream APIs.
+ * api-change:``cloudtrail``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK
+ testing.
+ * api-change:``config``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK
+ testing.
+ * api-change:``eks``: [``botocore``] This release adds support to surface async fargate customer
+ errors from async path to customer through describe-fargate-profile API response.
+ * api-change:``lightsail``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK
+ testing.
+ * api-change:``polly``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK
+ testing.
+ * api-change:``rekognition``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK
+ testing.
+ * api-change:``sagemaker``: [``botocore``] Launched a new feature in SageMaker to provide managed
+ MLflow Tracking Servers for customers to track ML experiments. This release also adds a new
+ capability of attaching additional storage to SageMaker HyperPod cluster instances.
+ * api-change:``shield``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK
+ testing.
+ * api-change:``snowball``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK
+ testing.
+- from version 1.34.128
+ * api-change:``acm-pca``: [``botocore``] Doc-only update that adds name constraints as an allowed
+ extension for ImportCertificateAuthorityCertificate.
+ * api-change:``batch``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK
+ testing.
+ * api-change:``codebuild``: [``botocore``] AWS CodeBuild now supports global and organization
+ GitHub webhooks
+ * api-change:``cognito-idp``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK
+ testing.
+ * api-change:``ds``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``efs``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+ * api-change:``glue``: [``botocore``] This release introduces a new feature, Usage profiles. Usage
+ profiles allow the AWS Glue admin to create different profiles for various classes of users within
+ the account, enforcing limits and defaults for jobs and sessions.
+ * api-change:``mediaconvert``: [``botocore``] This release includes support for creating I-frame
+ only video segments for DASH trick play.
+ * api-change:``secretsmanager``: [``botocore``] Doc only update for Secrets Manager
+ * api-change:``waf``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+- from version 1.34.127
+ * api-change:``datazone``: [``botocore``] This release introduces a new default service blueprint
+ for custom environment creation.
+ * api-change:``ec2``: [``botocore``] Documentation updates for Amazon EC2.
+ * api-change:``macie2``: [``botocore``] This release adds support for managing the status of
+ automated sensitive data discovery for individual accounts in an organization, and determining
+ whether individual S3 buckets are included in the scope of the analyses.
+ * api-change:``mediaconvert``: [``botocore``] This release adds the ability to search for
+ historical job records within the management console using a search box and/or via the SDK/CLI with
+ partial string matching search on input file name.
+ * api-change:``route53domains``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for
+ SDK testing.
+- from version 1.34.126
+ * api-change:``cloudhsmv2``: [``botocore``] Added support for hsm type hsm2m.medium. Added
+ supported for creating a cluster in FIPS or NON_FIPS mode.
+ * api-change:``glue``: [``botocore``] This release adds support for configuration of evaluation
+ method for composite rules in Glue Data Quality rulesets.
+ * api-change:``iotwireless``: [``botocore``] Add RoamingDeviceSNR and RoamingDeviceRSSI to Customer
+ Metrics.
+ * api-change:``kms``: [``botocore``] This feature allows customers to use their keys stored in KMS
+ to derive a shared secret which can then be used to establish a secured channel for communication,
+ provide proof of possession, or establish trust with other parties.
+ * api-change:``mediapackagev2``: [``botocore``] This release adds support for CMAF ingest (DASH-IF
+ live media ingest protocol interface 1)
+- from version 1.34.125
+ * api-change:``apptest``: [``botocore``] AWS Mainframe Modernization Application Testing is an AWS
+ Mainframe Modernization service feature that automates functional equivalence testing for mainframe
+ application modernization and migration to AWS, and regression testing.
+ * api-change:``backupstorage``: [``botocore``] The backupstorage client has been removed following
+ the deprecation of the service.
+ * api-change:``ec2``: [``botocore``] Tagging support for Traffic Mirroring FilterRule resource
+ * api-change:``osis``: [``botocore``] SDK changes for self-managed vpc endpoint to OpenSearch
+ ingestion pipelines.
+ * api-change:``redshift``: [``botocore``] Updates to remove DC1 and DS2 node types.
+ * api-change:``secretsmanager``: [``botocore``] Introducing RotationToken parameter for
+ PutSecretValue API
+ * api-change:``securitylake``: [``botocore``] This release updates request validation regex to
+ account for non-commercial aws partitions.
+ * api-change:``sesv2``: [``botocore``] This release adds support for Amazon EventBridge as an email
+ sending events destination.
+- from version 1.34.124
+ * api-change:``accessanalyzer``: [``botocore``] IAM Access Analyzer now provides policy
+ recommendations to help resolve unused permissions for IAM roles and users. Additionally, IAM
+ Access Analyzer now extends its custom policy checks to detect when IAM policies grant public
+ access or access to critical resources ahead of deployments.
+ * api-change:``guardduty``: [``botocore``] Added API support for GuardDuty Malware Protection for
+ S3.
+ * api-change:``networkmanager``: [``botocore``] This is model changes & documentation update for
+ Service Insertion feature for AWS Cloud WAN. This feature allows insertion of AWS/3rd party
+ security services on Cloud WAN. This allows to steer inter/intra segment traffic via security
+ appliances and provide visibility to the route updates.
+ * api-change:``pca-connector-scep``: [``botocore``] Connector for SCEP allows you to use a managed,
+ cloud CA to enroll mobile devices and networking gear. SCEP is a widely-adopted protocol used by
+ mobile device management (MDM) solutions for enrolling mobile devices. With the connector, you can
+ use AWS Private CA with popular MDM solutions.
+ * api-change:``sagemaker``: [``botocore``] Introduced Scope and AuthenticationRequestExtraParams to
+ SageMaker Workforce OIDC configuration; this allows customers to modify these options for their
+ private Workforce IdP integration. Model Registry Cross-account model package groups are
+ discoverable.
+- from version 1.34.123
+ * api-change:``application-signals``: [``botocore``] This is the initial SDK release for Amazon
+ CloudWatch Application Signals. Amazon CloudWatch Application Signals provides curated application
+ performance monitoring for developers to monitor and troubleshoot application health using
+ pre-built dashboards and Service Level Objectives.
+ * api-change:``ecs``: [``botocore``] This release introduces a new cluster configuration to support
+ the customer-managed keys for ECS managed storage encryption.
+ * api-change:``imagebuilder``: [``botocore``] This release updates the regex pattern for Image
+ Builder ARNs.
+- Update BuildRequires and Requires from setup.py
+
+-------------------------------------------------------------------
Old:
----
1.34.122.tar.gz
New:
----
1.34.138.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-boto3.spec ++++++
--- /var/tmp/diff_new_pack.m7RED0/_old 2024-07-04 16:22:48.094474682 +0200
+++ /var/tmp/diff_new_pack.m7RED0/_new 2024-07-04 16:22:48.110475267 +0200
@@ -18,14 +18,14 @@
%{?sle15_python_module_pythons}
Name: python-boto3
-Version: 1.34.122
+Version: 1.34.138
Release: 0
Summary: Amazon Web Services Library
License: Apache-2.0
URL: https://github.com/boto/boto3
Source: https://github.com/boto/boto3/archive/%{version}.tar.gz
# Related test dependencies
-BuildRequires: %{python_module botocore >= 1.34.122 with %python-botocore < 1.35.0}
+BuildRequires: %{python_module botocore >= 1.34.138 with %python-botocore < 1.35.0}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module pytest}
@@ -34,7 +34,7 @@
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-Requires: (python-botocore >= 1.34.122 with python-botocore < 1.35.0)
+Requires: (python-botocore >= 1.34.138 with python-botocore < 1.35.0)
Requires: (python-jmespath >= 0.7.1 with python-jmespath < 2.0.0)
Requires: (python-s3transfer >= 0.10.0 with python-s3transfer < 0.11.0)
BuildArch: noarch
@@ -57,10 +57,10 @@
+
# Note to maintainers also familia with python-boto:
# The documentation generation requires access to AWS, thus it is not
# possible to generate the documentation in OBS
-
%prep
%setup -q -n boto3-%{version}
++++++ 1.34.122.tar.gz -> 1.34.138.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/.changes/1.34.123.json new/boto3-1.34.138/.changes/1.34.123.json
--- old/boto3-1.34.122/.changes/1.34.123.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.34.138/.changes/1.34.123.json 2024-07-02 20:08:54.000000000 +0200
@@ -0,0 +1,17 @@
+[
+ {
+ "category": "``application-signals``",
+ "description": "[``botocore``] This is the initial SDK release for Amazon CloudWatch Application Signals. Amazon CloudWatch Application Signals provides curated application performance monitoring for developers to monitor and troubleshoot application health using pre-built dashboards and Service Level Objectives.",
+ "type": "api-change"
+ },
+ {
+ "category": "``ecs``",
+ "description": "[``botocore``] This release introduces a new cluster configuration to support the customer-managed keys for ECS managed storage encryption.",
+ "type": "api-change"
+ },
+ {
+ "category": "``imagebuilder``",
+ "description": "[``botocore``] This release updates the regex pattern for Image Builder ARNs.",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/.changes/1.34.124.json new/boto3-1.34.138/.changes/1.34.124.json
--- old/boto3-1.34.122/.changes/1.34.124.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.34.138/.changes/1.34.124.json 2024-07-02 20:08:54.000000000 +0200
@@ -0,0 +1,27 @@
+[
+ {
+ "category": "``accessanalyzer``",
+ "description": "[``botocore``] IAM Access Analyzer now provides policy recommendations to help resolve unused permissions for IAM roles and users. Additionally, IAM Access Analyzer now extends its custom policy checks to detect when IAM policies grant public access or access to critical resources ahead of deployments.",
+ "type": "api-change"
+ },
+ {
+ "category": "``guardduty``",
+ "description": "[``botocore``] Added API support for GuardDuty Malware Protection for S3.",
+ "type": "api-change"
+ },
+ {
+ "category": "``networkmanager``",
+ "description": "[``botocore``] This is model changes & documentation update for Service Insertion feature for AWS Cloud WAN. This feature allows insertion of AWS/3rd party security services on Cloud WAN. This allows to steer inter/intra segment traffic via security appliances and provide visibility to the route updates.",
+ "type": "api-change"
+ },
+ {
+ "category": "``pca-connector-scep``",
+ "description": "[``botocore``] Connector for SCEP allows you to use a managed, cloud CA to enroll mobile devices and networking gear. SCEP is a widely-adopted protocol used by mobile device management (MDM) solutions for enrolling mobile devices. With the connector, you can use AWS Private CA with popular MDM solutions.",
+ "type": "api-change"
+ },
+ {
+ "category": "``sagemaker``",
+ "description": "[``botocore``] Introduced Scope and AuthenticationRequestExtraParams to SageMaker Workforce OIDC configuration; this allows customers to modify these options for their private Workforce IdP integration. Model Registry Cross-account model package groups are discoverable.",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/.changes/1.34.125.json new/boto3-1.34.138/.changes/1.34.125.json
--- old/boto3-1.34.122/.changes/1.34.125.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.34.138/.changes/1.34.125.json 2024-07-02 20:08:54.000000000 +0200
@@ -0,0 +1,42 @@
+[
+ {
+ "category": "``apptest``",
+ "description": "[``botocore``] AWS Mainframe Modernization Application Testing is an AWS Mainframe Modernization service feature that automates functional equivalence testing for mainframe application modernization and migration to AWS, and regression testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``backupstorage``",
+ "description": "[``botocore``] The backupstorage client has been removed following the deprecation of the service.",
+ "type": "api-change"
+ },
+ {
+ "category": "``ec2``",
+ "description": "[``botocore``] Tagging support for Traffic Mirroring FilterRule resource",
+ "type": "api-change"
+ },
+ {
+ "category": "``osis``",
+ "description": "[``botocore``] SDK changes for self-managed vpc endpoint to OpenSearch ingestion pipelines.",
+ "type": "api-change"
+ },
+ {
+ "category": "``redshift``",
+ "description": "[``botocore``] Updates to remove DC1 and DS2 node types.",
+ "type": "api-change"
+ },
+ {
+ "category": "``secretsmanager``",
+ "description": "[``botocore``] Introducing RotationToken parameter for PutSecretValue API",
+ "type": "api-change"
+ },
+ {
+ "category": "``securitylake``",
+ "description": "[``botocore``] This release updates request validation regex to account for non-commercial aws partitions.",
+ "type": "api-change"
+ },
+ {
+ "category": "``sesv2``",
+ "description": "[``botocore``] This release adds support for Amazon EventBridge as an email sending events destination.",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/.changes/1.34.126.json new/boto3-1.34.138/.changes/1.34.126.json
--- old/boto3-1.34.122/.changes/1.34.126.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.34.138/.changes/1.34.126.json 2024-07-02 20:08:54.000000000 +0200
@@ -0,0 +1,27 @@
+[
+ {
+ "category": "``cloudhsmv2``",
+ "description": "[``botocore``] Added support for hsm type hsm2m.medium. Added supported for creating a cluster in FIPS or NON_FIPS mode.",
+ "type": "api-change"
+ },
+ {
+ "category": "``glue``",
+ "description": "[``botocore``] This release adds support for configuration of evaluation method for composite rules in Glue Data Quality rulesets.",
+ "type": "api-change"
+ },
+ {
+ "category": "``iotwireless``",
+ "description": "[``botocore``] Add RoamingDeviceSNR and RoamingDeviceRSSI to Customer Metrics.",
+ "type": "api-change"
+ },
+ {
+ "category": "``kms``",
+ "description": "[``botocore``] This feature allows customers to use their keys stored in KMS to derive a shared secret which can then be used to establish a secured channel for communication, provide proof of possession, or establish trust with other parties.",
+ "type": "api-change"
+ },
+ {
+ "category": "``mediapackagev2``",
+ "description": "[``botocore``] This release adds support for CMAF ingest (DASH-IF live media ingest protocol interface 1)",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/.changes/1.34.127.json new/boto3-1.34.138/.changes/1.34.127.json
--- old/boto3-1.34.122/.changes/1.34.127.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.34.138/.changes/1.34.127.json 2024-07-02 20:08:54.000000000 +0200
@@ -0,0 +1,27 @@
+[
+ {
+ "category": "``datazone``",
+ "description": "[``botocore``] This release introduces a new default service blueprint for custom environment creation.",
+ "type": "api-change"
+ },
+ {
+ "category": "``ec2``",
+ "description": "[``botocore``] Documentation updates for Amazon EC2.",
+ "type": "api-change"
+ },
+ {
+ "category": "``macie2``",
+ "description": "[``botocore``] This release adds support for managing the status of automated sensitive data discovery for individual accounts in an organization, and determining whether individual S3 buckets are included in the scope of the analyses.",
+ "type": "api-change"
+ },
+ {
+ "category": "``mediaconvert``",
+ "description": "[``botocore``] This release adds the ability to search for historical job records within the management console using a search box and/or via the SDK/CLI with partial string matching search on input file name.",
+ "type": "api-change"
+ },
+ {
+ "category": "``route53domains``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/.changes/1.34.128.json new/boto3-1.34.138/.changes/1.34.128.json
--- old/boto3-1.34.122/.changes/1.34.128.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.34.138/.changes/1.34.128.json 2024-07-02 20:08:54.000000000 +0200
@@ -0,0 +1,52 @@
+[
+ {
+ "category": "``acm-pca``",
+ "description": "[``botocore``] Doc-only update that adds name constraints as an allowed extension for ImportCertificateAuthorityCertificate.",
+ "type": "api-change"
+ },
+ {
+ "category": "``batch``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``codebuild``",
+ "description": "[``botocore``] AWS CodeBuild now supports global and organization GitHub webhooks",
+ "type": "api-change"
+ },
+ {
+ "category": "``cognito-idp``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``ds``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``efs``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``glue``",
+ "description": "[``botocore``] This release introduces a new feature, Usage profiles. Usage profiles allow the AWS Glue admin to create different profiles for various classes of users within the account, enforcing limits and defaults for jobs and sessions.",
+ "type": "api-change"
+ },
+ {
+ "category": "``mediaconvert``",
+ "description": "[``botocore``] This release includes support for creating I-frame only video segments for DASH trick play.",
+ "type": "api-change"
+ },
+ {
+ "category": "``secretsmanager``",
+ "description": "[``botocore``] Doc only update for Secrets Manager",
+ "type": "api-change"
+ },
+ {
+ "category": "``waf``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/.changes/1.34.129.json new/boto3-1.34.138/.changes/1.34.129.json
--- old/boto3-1.34.122/.changes/1.34.129.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.34.138/.changes/1.34.129.json 2024-07-02 20:08:54.000000000 +0200
@@ -0,0 +1,52 @@
+[
+ {
+ "category": "``bedrock-runtime``",
+ "description": "[``botocore``] This release adds support for using Guardrails with the Converse and ConverseStream APIs.",
+ "type": "api-change"
+ },
+ {
+ "category": "``cloudtrail``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``config``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``eks``",
+ "description": "[``botocore``] This release adds support to surface async fargate customer errors from async path to customer through describe-fargate-profile API response.",
+ "type": "api-change"
+ },
+ {
+ "category": "``lightsail``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``polly``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``rekognition``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``sagemaker``",
+ "description": "[``botocore``] Launched a new feature in SageMaker to provide managed MLflow Tracking Servers for customers to track ML experiments. This release also adds a new capability of attaching additional storage to SageMaker HyperPod cluster instances.",
+ "type": "api-change"
+ },
+ {
+ "category": "``shield``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``snowball``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/.changes/1.34.130.json new/boto3-1.34.138/.changes/1.34.130.json
--- old/boto3-1.34.122/.changes/1.34.130.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.34.138/.changes/1.34.130.json 2024-07-02 20:08:54.000000000 +0200
@@ -0,0 +1,32 @@
+[
+ {
+ "category": "``artifact``",
+ "description": "[``botocore``] This release adds an acceptanceType field to the ReportSummary structure (used in the ListReports API response).",
+ "type": "api-change"
+ },
+ {
+ "category": "``athena``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``cur``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``directconnect``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``elastictranscoder``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``opensearch``",
+ "description": "[``botocore``] This release enables customers to use JSON Web Tokens (JWT) for authentication on their Amazon OpenSearch Service domains.",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/.changes/1.34.131.json new/boto3-1.34.138/.changes/1.34.131.json
--- old/boto3-1.34.122/.changes/1.34.131.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.34.138/.changes/1.34.131.json 2024-07-02 20:08:54.000000000 +0200
@@ -0,0 +1,47 @@
+[
+ {
+ "category": "``bedrock-runtime``",
+ "description": "[``botocore``] This release adds document support to Converse and ConverseStream APIs",
+ "type": "api-change"
+ },
+ {
+ "category": "``codeartifact``",
+ "description": "[``botocore``] Add support for the Cargo package format.",
+ "type": "api-change"
+ },
+ {
+ "category": "``compute-optimizer``",
+ "description": "[``botocore``] This release enables AWS Compute Optimizer to analyze and generate optimization recommendations for Amazon RDS MySQL and RDS PostgreSQL.",
+ "type": "api-change"
+ },
+ {
+ "category": "``cost-optimization-hub``",
+ "description": "[``botocore``] This release enables AWS Cost Optimization Hub to show cost optimization recommendations for Amazon RDS MySQL and RDS PostgreSQL.",
+ "type": "api-change"
+ },
+ {
+ "category": "``dynamodb``",
+ "description": "[``botocore``] Doc-only update for DynamoDB. Fixed Important note in 6 Global table APIs - CreateGlobalTable, DescribeGlobalTable, DescribeGlobalTableSettings, ListGlobalTables, UpdateGlobalTable, and UpdateGlobalTableSettings.",
+ "type": "api-change"
+ },
+ {
+ "category": "``glue``",
+ "description": "[``botocore``] Fix Glue paginators for Jobs, JobRuns, Triggers, Blueprints and Workflows.",
+ "type": "api-change"
+ },
+ {
+ "category": "``ivs-realtime``",
+ "description": "[``botocore``] IVS Real-Time now offers customers the ability to record individual stage participants to S3.",
+ "type": "api-change"
+ },
+ {
+ "category": "``sagemaker``",
+ "description": "[``botocore``] Adds support for model references in Hub service, and adds support for cross-account access of Hubs",
+ "type": "api-change"
+ },
+ {
+ "category": "``securityhub``",
+ "description": "[``botocore``] Documentation updates for Security Hub",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/.changes/1.34.132.json new/boto3-1.34.138/.changes/1.34.132.json
--- old/boto3-1.34.122/.changes/1.34.132.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.34.138/.changes/1.34.132.json 2024-07-02 20:08:54.000000000 +0200
@@ -0,0 +1,32 @@
+[
+ {
+ "category": "``bedrock-runtime``",
+ "description": "[``botocore``] Increases Converse API's document name length",
+ "type": "api-change"
+ },
+ {
+ "category": "``customer-profiles``",
+ "description": "[``botocore``] This release includes changes to ProfileObjectType APIs, adds functionality top set and get capacity for profile object types.",
+ "type": "api-change"
+ },
+ {
+ "category": "``ec2``",
+ "description": "[``botocore``] Fix EC2 multi-protocol info in models.",
+ "type": "api-change"
+ },
+ {
+ "category": "``qbusiness``",
+ "description": "[``botocore``] Allow enable/disable Q Apps when creating/updating a Q application; Return the Q Apps enablement information when getting a Q application.",
+ "type": "api-change"
+ },
+ {
+ "category": "``ssm``",
+ "description": "[``botocore``] Add sensitive trait to SSM IPAddress property for CloudTrail redaction",
+ "type": "api-change"
+ },
+ {
+ "category": "``workspaces-web``",
+ "description": "[``botocore``] Added ability to enable DeepLinking functionality on a Portal via UserSettings as well as added support for IdentityProvider resource tagging.",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/.changes/1.34.133.json new/boto3-1.34.138/.changes/1.34.133.json
--- old/boto3-1.34.122/.changes/1.34.133.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.34.138/.changes/1.34.133.json 2024-07-02 20:08:54.000000000 +0200
@@ -0,0 +1,22 @@
+[
+ {
+ "category": "``autoscaling``",
+ "description": "[``botocore``] Doc only update for Auto Scaling's TargetTrackingMetricDataQuery",
+ "type": "api-change"
+ },
+ {
+ "category": "``ec2``",
+ "description": "[``botocore``] This release is for the launch of the new u7ib-12tb.224xlarge, R8g, c7gn.metal and mac2-m1ultra.metal instance types",
+ "type": "api-change"
+ },
+ {
+ "category": "``networkmanager``",
+ "description": "[``botocore``] This is model changes & documentation update for the Asynchronous Error Reporting feature for AWS Cloud WAN. This feature allows customers to view errors that occur while their resources are being provisioned, enabling customers to fix their resources without needing external support.",
+ "type": "api-change"
+ },
+ {
+ "category": "``workspaces-thin-client``",
+ "description": "[``botocore``] This release adds the deviceCreationTags field to CreateEnvironment API input, UpdateEnvironment API input and GetEnvironment API output.",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/.changes/1.34.134.json new/boto3-1.34.138/.changes/1.34.134.json
--- old/boto3-1.34.122/.changes/1.34.134.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.34.138/.changes/1.34.134.json 2024-07-02 20:08:54.000000000 +0200
@@ -0,0 +1,27 @@
+[
+ {
+ "category": "``controltower``",
+ "description": "[``botocore``] Added ListLandingZoneOperations API.",
+ "type": "api-change"
+ },
+ {
+ "category": "``eks``",
+ "description": "[``botocore``] Added support for disabling unmanaged addons during cluster creation.",
+ "type": "api-change"
+ },
+ {
+ "category": "``ivs-realtime``",
+ "description": "[``botocore``] IVS Real-Time now offers customers the ability to upload public keys for customer vended participant tokens.",
+ "type": "api-change"
+ },
+ {
+ "category": "``kinesisanalyticsv2``",
+ "description": "[``botocore``] This release adds support for new ListApplicationOperations and DescribeApplicationOperation APIs. It adds a new configuration to enable system rollbacks, adds field ApplicationVersionCreateTimestamp for clarity and improves support for pagination for APIs.",
+ "type": "api-change"
+ },
+ {
+ "category": "``opensearch``",
+ "description": "[``botocore``] This release adds support for enabling or disabling Natural Language Query Processing feature for Amazon OpenSearch Service domains, and provides visibility into the current state of the setup or tear-down.",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/.changes/1.34.135.json new/boto3-1.34.138/.changes/1.34.135.json
--- old/boto3-1.34.122/.changes/1.34.135.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.34.138/.changes/1.34.135.json 2024-07-02 20:08:54.000000000 +0200
@@ -0,0 +1,57 @@
+[
+ {
+ "category": "``application-autoscaling``",
+ "description": "[``botocore``] Amazon WorkSpaces customers can now use Application Auto Scaling to automatically scale the number of virtual desktops in a WorkSpaces pool.",
+ "type": "api-change"
+ },
+ {
+ "category": "``chime-sdk-media-pipelines``",
+ "description": "[``botocore``] Added Amazon Transcribe multi language identification to Chime SDK call analytics. Enabling customers sending single stream audio to generate call recordings using Chime SDK call analytics",
+ "type": "api-change"
+ },
+ {
+ "category": "``cloudfront``",
+ "description": "[``botocore``] Doc only update for CloudFront that fixes customer-reported issue",
+ "type": "api-change"
+ },
+ {
+ "category": "``datazone``",
+ "description": "[``botocore``] This release supports the data lineage feature of business data catalog in Amazon DataZone.",
+ "type": "api-change"
+ },
+ {
+ "category": "``elasticache``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``mq``",
+ "description": "[``botocore``] This release makes the EngineVersion field optional for both broker and configuration and uses the latest available version by default. The AutoMinorVersionUpgrade field is also now optional for broker creation and defaults to 'true'.",
+ "type": "api-change"
+ },
+ {
+ "category": "``qconnect``",
+ "description": "[``botocore``] Adds CreateContentAssociation, ListContentAssociations, GetContentAssociation, and DeleteContentAssociation APIs.",
+ "type": "api-change"
+ },
+ {
+ "category": "``quicksight``",
+ "description": "[``botocore``] Adding support for Repeating Sections, Nested Filters",
+ "type": "api-change"
+ },
+ {
+ "category": "``rds``",
+ "description": "[``botocore``] Updates Amazon RDS documentation for TAZ export to S3.",
+ "type": "api-change"
+ },
+ {
+ "category": "``sagemaker``",
+ "description": "[``botocore``] Add capability for Admins to customize Studio experience for the user by showing or hiding Apps and MLTools.",
+ "type": "api-change"
+ },
+ {
+ "category": "``workspaces``",
+ "description": "[``botocore``] Added support for WorkSpaces Pools.",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/.changes/1.34.136.json new/boto3-1.34.138/.changes/1.34.136.json
--- old/boto3-1.34.122/.changes/1.34.136.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.34.138/.changes/1.34.136.json 2024-07-02 20:08:54.000000000 +0200
@@ -0,0 +1,47 @@
+[
+ {
+ "category": "``acm-pca``",
+ "description": "[``botocore``] Added CCPC_LEVEL_1_OR_HIGHER KeyStorageSecurityStandard and SM2 KeyAlgorithm and SM3WITHSM2 SigningAlgorithm for China regions.",
+ "type": "api-change"
+ },
+ {
+ "category": "``cloudhsmv2``",
+ "description": "[``botocore``] Added 3 new APIs to support backup sharing: GetResourcePolicy, PutResourcePolicy, and DeleteResourcePolicy. Added BackupArn to the output of the DescribeBackups API. Added support for BackupArn in the CreateCluster API.",
+ "type": "api-change"
+ },
+ {
+ "category": "``connect``",
+ "description": "[``botocore``] This release supports showing PreferredAgentRouting step via DescribeContact API.",
+ "type": "api-change"
+ },
+ {
+ "category": "``emr``",
+ "description": "[``botocore``] This release provides the support for new allocation strategies i.e. CAPACITY_OPTIMIZED_PRIORITIZED for Spot and PRIORITIZED for On-Demand by taking input of priority value for each instance type for instance fleet clusters.",
+ "type": "api-change"
+ },
+ {
+ "category": "``glue``",
+ "description": "[``botocore``] Added AttributesToGet parameter to Glue GetDatabases, allowing caller to limit output to include only the database name.",
+ "type": "api-change"
+ },
+ {
+ "category": "``kinesisanalyticsv2``",
+ "description": "[``botocore``] Support for Flink 1.19 in Managed Service for Apache Flink",
+ "type": "api-change"
+ },
+ {
+ "category": "``opensearch``",
+ "description": "[``botocore``] This release removes support for enabling or disabling Natural Language Query Processing feature for Amazon OpenSearch Service domains.",
+ "type": "api-change"
+ },
+ {
+ "category": "``pi``",
+ "description": "[``botocore``] Noting that the filter db.sql.db_id isn't available for RDS for SQL Server DB instances.",
+ "type": "api-change"
+ },
+ {
+ "category": "``workspaces``",
+ "description": "[``botocore``] Added support for Red Hat Enterprise Linux 8 on Amazon WorkSpaces Personal.",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/.changes/1.34.137.json new/boto3-1.34.138/.changes/1.34.137.json
--- old/boto3-1.34.122/.changes/1.34.137.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.34.138/.changes/1.34.137.json 2024-07-02 20:08:54.000000000 +0200
@@ -0,0 +1,52 @@
+[
+ {
+ "category": "``apigateway``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``cognito-identity``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``connect``",
+ "description": "[``botocore``] Authentication profiles are Amazon Connect resources (in gated preview) that allow you to configure authentication settings for users in your contact center. This release adds support for new ListAuthenticationProfiles, DescribeAuthenticationProfile and UpdateAuthenticationProfile APIs.",
+ "type": "api-change"
+ },
+ {
+ "category": "``docdb``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``eks``",
+ "description": "[``botocore``] Updates EKS managed node groups to support EC2 Capacity Blocks for ML",
+ "type": "api-change"
+ },
+ {
+ "category": "``payment-cryptography``",
+ "description": "[``botocore``] Added further restrictions on logging of potentially sensitive inputs and outputs.",
+ "type": "api-change"
+ },
+ {
+ "category": "``payment-cryptography-data``",
+ "description": "[``botocore``] Adding support for dynamic keys for encrypt, decrypt, re-encrypt and translate pin functions. With this change, customers can use one-time TR-31 keys directly in dataplane operations without the need to first import them into the service.",
+ "type": "api-change"
+ },
+ {
+ "category": "``stepfunctions``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``swf``",
+ "description": "[``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.",
+ "type": "api-change"
+ },
+ {
+ "category": "``wafv2``",
+ "description": "[``botocore``] JSON body inspection: Update documentation to clarify that JSON parsing doesn't include full validation.",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/.changes/1.34.138.json new/boto3-1.34.138/.changes/1.34.138.json
--- old/boto3-1.34.122/.changes/1.34.138.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.34.138/.changes/1.34.138.json 2024-07-02 20:08:54.000000000 +0200
@@ -0,0 +1,17 @@
+[
+ {
+ "category": "``ec2``",
+ "description": "[``botocore``] Documentation updates for Elastic Compute Cloud (EC2).",
+ "type": "api-change"
+ },
+ {
+ "category": "``fms``",
+ "description": "[``botocore``] Increases Customer API's ManagedServiceData length",
+ "type": "api-change"
+ },
+ {
+ "category": "``s3``",
+ "description": "[``botocore``] Added response overrides to Head Object requests.",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/.git-blame-ignore-revs new/boto3-1.34.138/.git-blame-ignore-revs
--- old/boto3-1.34.122/.git-blame-ignore-revs 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.34.138/.git-blame-ignore-revs 2024-07-02 20:08:54.000000000 +0200
@@ -0,0 +1,5 @@
+# You can configure git to automatically use this file with the following config:
+# git config --global blame.ignoreRevsFile .git-blame-ignore-revs
+
+# Run ruff over codebase
+50d25e9b90a74763d4f2fa411fa6a5092fcaa98c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/.pre-commit-config.yaml new/boto3-1.34.138/.pre-commit-config.yaml
--- old/boto3-1.34.122/.pre-commit-config.yaml 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/.pre-commit-config.yaml 2024-07-02 20:08:54.000000000 +0200
@@ -6,21 +6,9 @@
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace
- - repo: 'https://github.com/asottile/pyupgrade'
- rev: v3.15.0
+ - repo: https://github.com/astral-sh/ruff-pre-commit
+ rev: v0.4.8
hooks:
- - id: pyupgrade
- args:
- - '--py38-plus'
- - repo: 'https://github.com/PyCQA/isort'
- rev: 5.12.0
- hooks:
- - id: isort
- - repo: 'https://github.com/psf/black'
- rev: 23.11.0
- hooks:
- - id: black
- - repo: 'https://github.com/pycqa/flake8'
- rev: 6.1.0
- hooks:
- - id: flake8
+ - id: ruff
+ args: [ --fix ]
+ - id: ruff-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/CHANGELOG.rst new/boto3-1.34.138/CHANGELOG.rst
--- old/boto3-1.34.122/CHANGELOG.rst 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/CHANGELOG.rst 2024-07-02 20:08:54.000000000 +0200
@@ -2,6 +2,195 @@
CHANGELOG
=========
+1.34.138
+========
+
+* api-change:``ec2``: [``botocore``] Documentation updates for Elastic Compute Cloud (EC2).
+* api-change:``fms``: [``botocore``] Increases Customer API's ManagedServiceData length
+* api-change:``s3``: [``botocore``] Added response overrides to Head Object requests.
+
+
+1.34.137
+========
+
+* api-change:``apigateway``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+* api-change:``cognito-identity``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+* api-change:``connect``: [``botocore``] Authentication profiles are Amazon Connect resources (in gated preview) that allow you to configure authentication settings for users in your contact center. This release adds support for new ListAuthenticationProfiles, DescribeAuthenticationProfile and UpdateAuthenticationProfile APIs.
+* api-change:``docdb``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+* api-change:``eks``: [``botocore``] Updates EKS managed node groups to support EC2 Capacity Blocks for ML
+* api-change:``payment-cryptography``: [``botocore``] Added further restrictions on logging of potentially sensitive inputs and outputs.
+* api-change:``payment-cryptography-data``: [``botocore``] Adding support for dynamic keys for encrypt, decrypt, re-encrypt and translate pin functions. With this change, customers can use one-time TR-31 keys directly in dataplane operations without the need to first import them into the service.
+* api-change:``stepfunctions``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+* api-change:``swf``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+* api-change:``wafv2``: [``botocore``] JSON body inspection: Update documentation to clarify that JSON parsing doesn't include full validation.
+
+
+1.34.136
+========
+
+* api-change:``acm-pca``: [``botocore``] Added CCPC_LEVEL_1_OR_HIGHER KeyStorageSecurityStandard and SM2 KeyAlgorithm and SM3WITHSM2 SigningAlgorithm for China regions.
+* api-change:``cloudhsmv2``: [``botocore``] Added 3 new APIs to support backup sharing: GetResourcePolicy, PutResourcePolicy, and DeleteResourcePolicy. Added BackupArn to the output of the DescribeBackups API. Added support for BackupArn in the CreateCluster API.
+* api-change:``connect``: [``botocore``] This release supports showing PreferredAgentRouting step via DescribeContact API.
+* api-change:``emr``: [``botocore``] This release provides the support for new allocation strategies i.e. CAPACITY_OPTIMIZED_PRIORITIZED for Spot and PRIORITIZED for On-Demand by taking input of priority value for each instance type for instance fleet clusters.
+* api-change:``glue``: [``botocore``] Added AttributesToGet parameter to Glue GetDatabases, allowing caller to limit output to include only the database name.
+* api-change:``kinesisanalyticsv2``: [``botocore``] Support for Flink 1.19 in Managed Service for Apache Flink
+* api-change:``opensearch``: [``botocore``] This release removes support for enabling or disabling Natural Language Query Processing feature for Amazon OpenSearch Service domains.
+* api-change:``pi``: [``botocore``] Noting that the filter db.sql.db_id isn't available for RDS for SQL Server DB instances.
+* api-change:``workspaces``: [``botocore``] Added support for Red Hat Enterprise Linux 8 on Amazon WorkSpaces Personal.
+
+
+1.34.135
+========
+
+* api-change:``application-autoscaling``: [``botocore``] Amazon WorkSpaces customers can now use Application Auto Scaling to automatically scale the number of virtual desktops in a WorkSpaces pool.
+* api-change:``chime-sdk-media-pipelines``: [``botocore``] Added Amazon Transcribe multi language identification to Chime SDK call analytics. Enabling customers sending single stream audio to generate call recordings using Chime SDK call analytics
+* api-change:``cloudfront``: [``botocore``] Doc only update for CloudFront that fixes customer-reported issue
+* api-change:``datazone``: [``botocore``] This release supports the data lineage feature of business data catalog in Amazon DataZone.
+* api-change:``elasticache``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+* api-change:``mq``: [``botocore``] This release makes the EngineVersion field optional for both broker and configuration and uses the latest available version by default. The AutoMinorVersionUpgrade field is also now optional for broker creation and defaults to 'true'.
+* api-change:``qconnect``: [``botocore``] Adds CreateContentAssociation, ListContentAssociations, GetContentAssociation, and DeleteContentAssociation APIs.
+* api-change:``quicksight``: [``botocore``] Adding support for Repeating Sections, Nested Filters
+* api-change:``rds``: [``botocore``] Updates Amazon RDS documentation for TAZ export to S3.
+* api-change:``sagemaker``: [``botocore``] Add capability for Admins to customize Studio experience for the user by showing or hiding Apps and MLTools.
+* api-change:``workspaces``: [``botocore``] Added support for WorkSpaces Pools.
+
+
+1.34.134
+========
+
+* api-change:``controltower``: [``botocore``] Added ListLandingZoneOperations API.
+* api-change:``eks``: [``botocore``] Added support for disabling unmanaged addons during cluster creation.
+* api-change:``ivs-realtime``: [``botocore``] IVS Real-Time now offers customers the ability to upload public keys for customer vended participant tokens.
+* api-change:``kinesisanalyticsv2``: [``botocore``] This release adds support for new ListApplicationOperations and DescribeApplicationOperation APIs. It adds a new configuration to enable system rollbacks, adds field ApplicationVersionCreateTimestamp for clarity and improves support for pagination for APIs.
+* api-change:``opensearch``: [``botocore``] This release adds support for enabling or disabling Natural Language Query Processing feature for Amazon OpenSearch Service domains, and provides visibility into the current state of the setup or tear-down.
+
+
+1.34.133
+========
+
+* api-change:``autoscaling``: [``botocore``] Doc only update for Auto Scaling's TargetTrackingMetricDataQuery
+* api-change:``ec2``: [``botocore``] This release is for the launch of the new u7ib-12tb.224xlarge, R8g, c7gn.metal and mac2-m1ultra.metal instance types
+* api-change:``networkmanager``: [``botocore``] This is model changes & documentation update for the Asynchronous Error Reporting feature for AWS Cloud WAN. This feature allows customers to view errors that occur while their resources are being provisioned, enabling customers to fix their resources without needing external support.
+* api-change:``workspaces-thin-client``: [``botocore``] This release adds the deviceCreationTags field to CreateEnvironment API input, UpdateEnvironment API input and GetEnvironment API output.
+
+
+1.34.132
+========
+
+* api-change:``bedrock-runtime``: [``botocore``] Increases Converse API's document name length
+* api-change:``customer-profiles``: [``botocore``] This release includes changes to ProfileObjectType APIs, adds functionality top set and get capacity for profile object types.
+* api-change:``ec2``: [``botocore``] Fix EC2 multi-protocol info in models.
+* api-change:``qbusiness``: [``botocore``] Allow enable/disable Q Apps when creating/updating a Q application; Return the Q Apps enablement information when getting a Q application.
+* api-change:``ssm``: [``botocore``] Add sensitive trait to SSM IPAddress property for CloudTrail redaction
+* api-change:``workspaces-web``: [``botocore``] Added ability to enable DeepLinking functionality on a Portal via UserSettings as well as added support for IdentityProvider resource tagging.
+
+
+1.34.131
+========
+
+* api-change:``bedrock-runtime``: [``botocore``] This release adds document support to Converse and ConverseStream APIs
+* api-change:``codeartifact``: [``botocore``] Add support for the Cargo package format.
+* api-change:``compute-optimizer``: [``botocore``] This release enables AWS Compute Optimizer to analyze and generate optimization recommendations for Amazon RDS MySQL and RDS PostgreSQL.
+* api-change:``cost-optimization-hub``: [``botocore``] This release enables AWS Cost Optimization Hub to show cost optimization recommendations for Amazon RDS MySQL and RDS PostgreSQL.
+* api-change:``dynamodb``: [``botocore``] Doc-only update for DynamoDB. Fixed Important note in 6 Global table APIs - CreateGlobalTable, DescribeGlobalTable, DescribeGlobalTableSettings, ListGlobalTables, UpdateGlobalTable, and UpdateGlobalTableSettings.
+* api-change:``glue``: [``botocore``] Fix Glue paginators for Jobs, JobRuns, Triggers, Blueprints and Workflows.
+* api-change:``ivs-realtime``: [``botocore``] IVS Real-Time now offers customers the ability to record individual stage participants to S3.
+* api-change:``sagemaker``: [``botocore``] Adds support for model references in Hub service, and adds support for cross-account access of Hubs
+* api-change:``securityhub``: [``botocore``] Documentation updates for Security Hub
+
+
+1.34.130
+========
+
+* api-change:``artifact``: [``botocore``] This release adds an acceptanceType field to the ReportSummary structure (used in the ListReports API response).
+* api-change:``athena``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+* api-change:``cur``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+* api-change:``directconnect``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+* api-change:``elastictranscoder``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+* api-change:``opensearch``: [``botocore``] This release enables customers to use JSON Web Tokens (JWT) for authentication on their Amazon OpenSearch Service domains.
+
+
+1.34.129
+========
+
+* api-change:``bedrock-runtime``: [``botocore``] This release adds support for using Guardrails with the Converse and ConverseStream APIs.
+* api-change:``cloudtrail``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+* api-change:``config``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+* api-change:``eks``: [``botocore``] This release adds support to surface async fargate customer errors from async path to customer through describe-fargate-profile API response.
+* api-change:``lightsail``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+* api-change:``polly``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+* api-change:``rekognition``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+* api-change:``sagemaker``: [``botocore``] Launched a new feature in SageMaker to provide managed MLflow Tracking Servers for customers to track ML experiments. This release also adds a new capability of attaching additional storage to SageMaker HyperPod cluster instances.
+* api-change:``shield``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+* api-change:``snowball``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+
+
+1.34.128
+========
+
+* api-change:``acm-pca``: [``botocore``] Doc-only update that adds name constraints as an allowed extension for ImportCertificateAuthorityCertificate.
+* api-change:``batch``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+* api-change:``codebuild``: [``botocore``] AWS CodeBuild now supports global and organization GitHub webhooks
+* api-change:``cognito-idp``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+* api-change:``ds``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+* api-change:``efs``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+* api-change:``glue``: [``botocore``] This release introduces a new feature, Usage profiles. Usage profiles allow the AWS Glue admin to create different profiles for various classes of users within the account, enforcing limits and defaults for jobs and sessions.
+* api-change:``mediaconvert``: [``botocore``] This release includes support for creating I-frame only video segments for DASH trick play.
+* api-change:``secretsmanager``: [``botocore``] Doc only update for Secrets Manager
+* api-change:``waf``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+
+
+1.34.127
+========
+
+* api-change:``datazone``: [``botocore``] This release introduces a new default service blueprint for custom environment creation.
+* api-change:``ec2``: [``botocore``] Documentation updates for Amazon EC2.
+* api-change:``macie2``: [``botocore``] This release adds support for managing the status of automated sensitive data discovery for individual accounts in an organization, and determining whether individual S3 buckets are included in the scope of the analyses.
+* api-change:``mediaconvert``: [``botocore``] This release adds the ability to search for historical job records within the management console using a search box and/or via the SDK/CLI with partial string matching search on input file name.
+* api-change:``route53domains``: [``botocore``] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
+
+
+1.34.126
+========
+
+* api-change:``cloudhsmv2``: [``botocore``] Added support for hsm type hsm2m.medium. Added supported for creating a cluster in FIPS or NON_FIPS mode.
+* api-change:``glue``: [``botocore``] This release adds support for configuration of evaluation method for composite rules in Glue Data Quality rulesets.
+* api-change:``iotwireless``: [``botocore``] Add RoamingDeviceSNR and RoamingDeviceRSSI to Customer Metrics.
+* api-change:``kms``: [``botocore``] This feature allows customers to use their keys stored in KMS to derive a shared secret which can then be used to establish a secured channel for communication, provide proof of possession, or establish trust with other parties.
+* api-change:``mediapackagev2``: [``botocore``] This release adds support for CMAF ingest (DASH-IF live media ingest protocol interface 1)
+
+
+1.34.125
+========
+
+* api-change:``apptest``: [``botocore``] AWS Mainframe Modernization Application Testing is an AWS Mainframe Modernization service feature that automates functional equivalence testing for mainframe application modernization and migration to AWS, and regression testing.
+* api-change:``backupstorage``: [``botocore``] The backupstorage client has been removed following the deprecation of the service.
+* api-change:``ec2``: [``botocore``] Tagging support for Traffic Mirroring FilterRule resource
+* api-change:``osis``: [``botocore``] SDK changes for self-managed vpc endpoint to OpenSearch ingestion pipelines.
+* api-change:``redshift``: [``botocore``] Updates to remove DC1 and DS2 node types.
+* api-change:``secretsmanager``: [``botocore``] Introducing RotationToken parameter for PutSecretValue API
+* api-change:``securitylake``: [``botocore``] This release updates request validation regex to account for non-commercial aws partitions.
+* api-change:``sesv2``: [``botocore``] This release adds support for Amazon EventBridge as an email sending events destination.
+
+
+1.34.124
+========
+
+* api-change:``accessanalyzer``: [``botocore``] IAM Access Analyzer now provides policy recommendations to help resolve unused permissions for IAM roles and users. Additionally, IAM Access Analyzer now extends its custom policy checks to detect when IAM policies grant public access or access to critical resources ahead of deployments.
+* api-change:``guardduty``: [``botocore``] Added API support for GuardDuty Malware Protection for S3.
+* api-change:``networkmanager``: [``botocore``] This is model changes & documentation update for Service Insertion feature for AWS Cloud WAN. This feature allows insertion of AWS/3rd party security services on Cloud WAN. This allows to steer inter/intra segment traffic via security appliances and provide visibility to the route updates.
+* api-change:``pca-connector-scep``: [``botocore``] Connector for SCEP allows you to use a managed, cloud CA to enroll mobile devices and networking gear. SCEP is a widely-adopted protocol used by mobile device management (MDM) solutions for enrolling mobile devices. With the connector, you can use AWS Private CA with popular MDM solutions.
+* api-change:``sagemaker``: [``botocore``] Introduced Scope and AuthenticationRequestExtraParams to SageMaker Workforce OIDC configuration; this allows customers to modify these options for their private Workforce IdP integration. Model Registry Cross-account model package groups are discoverable.
+
+
+1.34.123
+========
+
+* api-change:``application-signals``: [``botocore``] This is the initial SDK release for Amazon CloudWatch Application Signals. Amazon CloudWatch Application Signals provides curated application performance monitoring for developers to monitor and troubleshoot application health using pre-built dashboards and Service Level Objectives.
+* api-change:``ecs``: [``botocore``] This release introduces a new cluster configuration to support the customer-managed keys for ECS managed storage encryption.
+* api-change:``imagebuilder``: [``botocore``] This release updates the regex pattern for Image Builder ARNs.
+
+
1.34.122
========
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/boto3/__init__.py new/boto3-1.34.138/boto3/__init__.py
--- old/boto3-1.34.122/boto3/__init__.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/boto3/__init__.py 2024-07-02 20:08:54.000000000 +0200
@@ -17,7 +17,7 @@
from boto3.session import Session
__author__ = 'Amazon Web Services'
-__version__ = '1.34.122'
+__version__ = '1.34.138'
# The default Boto3 session; autoloaded when needed.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/boto3/docs/action.py new/boto3-1.34.138/boto3/docs/action.py
--- old/boto3-1.34.122/boto3/docs/action.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/boto3/docs/action.py 2024-07-02 20:08:54.000000000 +0200
@@ -147,8 +147,8 @@
example_resource_name = xform_name(resource_name)
if service_model.service_name == resource_name:
example_resource_name = resource_name
- example_prefix = '{} = {}.{}'.format(
- example_return_value, example_resource_name, action_model.name
+ example_prefix = (
+ f'{example_return_value} = {example_resource_name}.{action_model.name}'
)
full_action_name = (
f"{section.context.get('qualifier', '')}{action_model.name}"
@@ -193,13 +193,10 @@
It is useful for generating docstrings.
"""
description = (
- 'Calls :py:meth:`{}.Client.{}` to update the attributes of the '
- '{} resource. Note that the load and reload methods are '
- 'the same method and can be used interchangeably.'.format(
- get_service_module_name(service_model),
- xform_name(load_model.request.operation),
- resource_name,
- )
+ f'Calls :py:meth:`{get_service_module_name(service_model)}.Client.'
+ f'{xform_name(load_model.request.operation)}` to update the attributes of the '
+ f'{resource_name} resource. Note that the load and reload methods are '
+ 'the same method and can be used interchangeably.'
)
example_resource_name = xform_name(resource_name)
if service_model.service_name == resource_name:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/boto3/docs/client.py new/boto3-1.34.138/boto3/docs/client.py
--- old/boto3-1.34.122/boto3/docs/client.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/boto3/docs/client.py 2024-07-02 20:08:54.000000000 +0200
@@ -20,9 +20,5 @@
section.write('import boto3')
section.style.new_line()
section.style.new_line()
- section.write(
- 'client = boto3.client(\'{service}\')'.format(
- service=self._service_name
- )
- )
+ section.write(f'client = boto3.client(\'{self._service_name}\')')
section.style.end_codeblock()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/boto3/docs/collection.py new/boto3-1.34.138/boto3/docs/collection.py
--- old/boto3-1.34.122/boto3/docs/collection.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/boto3/docs/collection.py 2024-07-02 20:08:54.000000000 +0200
@@ -165,12 +165,7 @@
example_resource_name = xform_name(resource_name)
if service_model.service_name == resource_name:
example_resource_name = resource_name
- example_prefix = '{} = {}.{}.{}'.format(
- example_return_value,
- example_resource_name,
- collection_model.name,
- batch_action_model.name,
- )
+ example_prefix = f'{example_return_value} = {example_resource_name}.{collection_model.name}.{batch_action_model.name}'
document_model_driven_resource_method(
section=section,
method_name=batch_action_model.name,
@@ -229,11 +224,7 @@
f'Creates an iterable of all {collection_model.resource.type} '
f'resources in the collection.'
),
- 'example_prefix': '{}_iterator = {}.{}.all'.format(
- xform_name(collection_model.resource.type),
- example_resource_name,
- collection_model.name,
- ),
+ 'example_prefix': f'{xform_name(collection_model.resource.type)}_iterator = {example_resource_name}.{collection_model.name}.all',
'exclude_input': underlying_operation_members,
},
'filter': {
@@ -245,11 +236,7 @@
f'and extreme caution should be taken when performing actions '
f'on all resources.'
),
- 'example_prefix': '{}_iterator = {}.{}.filter'.format(
- xform_name(collection_model.resource.type),
- example_resource_name,
- collection_model.name,
- ),
+ 'example_prefix': f'{xform_name(collection_model.resource.type)}_iterator = {example_resource_name}.{collection_model.name}.filter',
'exclude_input': get_resource_ignore_params(
collection_model.request.params
),
@@ -259,11 +246,7 @@
f'Creates an iterable up to a specified amount of '
f'{collection_model.resource.type} resources in the collection.'
),
- 'example_prefix': '{}_iterator = {}.{}.limit'.format(
- xform_name(collection_model.resource.type),
- example_resource_name,
- collection_model.name,
- ),
+ 'example_prefix': f'{xform_name(collection_model.resource.type)}_iterator = {example_resource_name}.{collection_model.name}.limit',
'include_input': [
DocumentedShape(
name='count',
@@ -282,11 +265,7 @@
f'resources in the collection, but limits the number of '
f'items returned by each service call by the specified amount.'
),
- 'example_prefix': '{}_iterator = {}.{}.page_size'.format(
- xform_name(collection_model.resource.type),
- example_resource_name,
- collection_model.name,
- ),
+ 'example_prefix': f'{xform_name(collection_model.resource.type)}_iterator = {example_resource_name}.{collection_model.name}.page_size',
'include_input': [
DocumentedShape(
name='count',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/boto3/docs/method.py new/boto3-1.34.138/boto3/docs/method.py
--- old/boto3-1.34.122/boto3/docs/method.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/boto3/docs/method.py 2024-07-02 20:08:54.000000000 +0200
@@ -51,8 +51,8 @@
resource_type = resource_action_model.resource.type
new_return_section = section.add_new_section('return')
- return_resource_type = '{}.{}'.format(
- operation_model.service_model.service_name, resource_type
+ return_resource_type = (
+ f'{operation_model.service_model.service_name}.{resource_type}'
)
return_type = f':py:class:`{return_resource_type}`'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/boto3/docs/resource.py new/boto3-1.34.138/boto3/docs/resource.py
--- old/boto3-1.34.122/boto3/docs/resource.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/boto3/docs/resource.py 2024-07-02 20:08:54.000000000 +0200
@@ -91,9 +91,7 @@
def _add_description(self, section):
official_service_name = get_official_service_name(self._service_model)
section.write(
- 'A resource representing an {} {}'.format(
- official_service_name, self._resource_name
- )
+ f'A resource representing an {official_service_name} {self._resource_name}'
)
def _add_example(self, section, identifier_names):
@@ -103,19 +101,12 @@
section.style.new_line()
section.style.new_line()
section.write(
- '{} = boto3.resource(\'{}\')'.format(
- self._service_name, self._service_name
- )
+ f'{self._service_name} = boto3.resource(\'{self._service_name}\')'
)
section.style.new_line()
example_values = get_identifier_values_for_example(identifier_names)
section.write(
- '{} = {}.{}({})'.format(
- xform_name(self._resource_name),
- self._service_name,
- self._resource_name,
- example_values,
- )
+ f'{xform_name(self._resource_name)} = {self._service_name}.{self._resource_name}({example_values})'
)
section.style.end_codeblock()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/boto3/docs/subresource.py new/boto3-1.34.138/boto3/docs/subresource.py
--- old/boto3-1.34.122/boto3/docs/subresource.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/boto3/docs/subresource.py 2024-07-02 20:08:54.000000000 +0200
@@ -118,12 +118,7 @@
example_resource_name = xform_name(resource_name)
if service_model.service_name == resource_name:
example_resource_name = resource_name
- example = '{} = {}.{}({})'.format(
- xform_name(sub_resource_model.resource.type),
- example_resource_name,
- sub_resource_model.name,
- example_values,
- )
+ example = f'{xform_name(sub_resource_model.resource.type)} = {example_resource_name}.{sub_resource_model.name}({example_values})'
example_section.style.start_codeblock()
example_section.write(example)
example_section.style.end_codeblock()
@@ -141,10 +136,7 @@
return_section = section.add_new_section('return')
return_section.style.new_line()
return_section.write(
- ':rtype: :py:class:`{}.{}`'.format(
- get_service_module_name(service_model),
- sub_resource_model.resource.type,
- )
+ f':rtype: :py:class:`{get_service_module_name(service_model)}.{sub_resource_model.resource.type}`'
)
return_section.style.new_line()
return_section.write(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/boto3/docs/waiter.py new/boto3-1.34.138/boto3/docs/waiter.py
--- old/boto3-1.34.122/boto3/docs/waiter.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/boto3/docs/waiter.py 2024-07-02 20:08:54.000000000 +0200
@@ -104,8 +104,8 @@
waiter_model.max_attempts,
)
)
- example_prefix = '{}.{}'.format(
- xform_name(resource_name), resource_waiter_model.name
+ example_prefix = (
+ f'{xform_name(resource_name)}.{resource_waiter_model.name}'
)
full_waiter_name = (
f"{section.context.get('qualifier', '')}{resource_waiter_model.name}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/boto3/resources/base.py new/boto3-1.34.138/boto3/resources/base.py
--- old/boto3-1.34.122/boto3/resources/base.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/boto3/resources/base.py 2024-07-02 20:08:54.000000000 +0200
@@ -48,9 +48,7 @@
self.resource_model = resource_model
def __repr__(self):
- return 'ResourceMeta(\'{}\', identifiers={})'.format(
- self.service_name, self.identifiers
- )
+ return f'ResourceMeta(\'{self.service_name}\', identifiers={self.identifiers})'
def __eq__(self, other):
# Two metas are equal if their components are all equal
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/boto3/resources/collection.py new/boto3-1.34.138/boto3/resources/collection.py
--- old/boto3-1.34.122/boto3/resources/collection.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/boto3/resources/collection.py 2024-07-02 20:08:54.000000000 +0200
@@ -54,9 +54,7 @@
return '{}({}, {})'.format(
self.__class__.__name__,
self._parent,
- '{}.{}'.format(
- self._parent.meta.service_name, self._model.resource.type
- ),
+ f'{self._parent.meta.service_name}.{self._model.resource.type}',
)
def __iter__(self):
@@ -154,7 +152,7 @@
paginator = client.get_paginator(self._py_operation_name)
pages = paginator.paginate(
PaginationConfig={'MaxItems': limit, 'PageSize': page_size},
- **params
+ **params,
)
else:
logger.debug(
@@ -327,9 +325,7 @@
return '{}({}, {})'.format(
self.__class__.__name__,
self._parent,
- '{}.{}'.format(
- self._parent.meta.service_name, self._model.resource.type
- ),
+ f'{self._parent.meta.service_name}.{self._model.resource.type}',
)
def iterator(self, **kwargs):
@@ -424,13 +420,11 @@
)
if service_context.service_name == resource_name:
- cls_name = '{}.{}Collection'.format(
- service_context.service_name, collection_name
+ cls_name = (
+ f'{service_context.service_name}.{collection_name}Collection'
)
else:
- cls_name = '{}.{}.{}Collection'.format(
- service_context.service_name, resource_name, collection_name
- )
+ cls_name = f'{service_context.service_name}.{resource_name}.{collection_name}Collection'
collection_cls = type(str(cls_name), (ResourceCollection,), attrs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/boto3/resources/model.py new/boto3-1.34.138/boto3/resources/model.py
--- old/boto3-1.34.122/boto3/resources/model.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/boto3/resources/model.py 2024-07-02 20:08:54.000000000 +0200
@@ -374,9 +374,7 @@
# This isn't good, let's raise instead of trying to keep
# renaming this value.
raise ValueError(
- 'Problem renaming {} {} to {}!'.format(
- self.name, category, name
- )
+ f'Problem renaming {self.name} {category} to {name}!'
)
names.add(name)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/boto3/resources/response.py new/boto3-1.34.138/boto3/resources/response.py
--- old/boto3-1.34.122/boto3/resources/response.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/boto3/resources/response.py 2024-07-02 20:08:54.000000000 +0200
@@ -110,9 +110,7 @@
shape = shape.member
else:
raise NotImplementedError(
- 'Search path hits shape type {} from {}'.format(
- shape.type_name, item
- )
+ f'Search path hits shape type {shape.type_name} from {item}'
)
# Anything not handled here is set to None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/boto3/s3/transfer.py new/boto3-1.34.138/boto3/s3/transfer.py
--- old/boto3-1.34.122/boto3/s3/transfer.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/boto3/s3/transfer.py 2024-07-02 20:08:54.000000000 +0200
@@ -122,6 +122,7 @@
"""
+
import logging
import threading
from os import PathLike, fspath, getpid
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/boto3/session.py new/boto3-1.34.138/boto3/session.py
--- old/boto3-1.34.122/boto3/session.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/boto3/session.py 2024-07-02 20:08:54.000000000 +0200
@@ -63,9 +63,7 @@
# Setup custom user-agent string if it isn't already customized
if self._session.user_agent_name == 'Botocore':
- botocore_info = 'Botocore/{}'.format(
- self._session.user_agent_version
- )
+ botocore_info = f'Botocore/{self._session.user_agent_version}'
if self._session.user_agent_extra:
self._session.user_agent_extra += ' ' + botocore_info
else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/docs/source/guide/security.rst new/boto3-1.34.138/docs/source/guide/security.rst
--- old/boto3-1.34.122/docs/source/guide/security.rst 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/docs/source/guide/security.rst 2024-07-02 20:08:54.000000000 +0200
@@ -60,17 +60,13 @@
------------------------------
AWS Identity and Access Management (IAM) is an AWS service that helps an administrator securely control access to AWS resources.
-IAM administrators control who can be *authenticated* (signed in) and *authorized* (have permissions) to use AWS resources. IAM is an AWS service that you can use with no additional charge.
+IAM administrators control who can be *authenticated* (signed in) and *authorized* (have permissions) to use AWS resources. IAM is an AWS service that you can use at no additional charge.
+For details about working with IAM, see `AWS Identity and Access Management <https://aws.amazon.com/iam/>`_. We also strongly recommend reviewing the `Security best practices in IAM <https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html>`_.
-To use Boto3 to access AWS, you need an AWS account and AWS credentials. To increase the security of your
-AWS account, we recommend that you use an *IAM user* to provide access credentials instead of using your AWS
-account credentials.
-For details about working with IAM, see `IAM <https://aws.amazon.com/iam/>`_.
-
-For an overview of IAM users and why they are important for the security of your account,
-see `AWS Security Credentials <https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html>`_
-in the `Amazon Web Services General Reference <https://docs.aws.amazon.com/general/latest/gr/>`_.
+To use Boto3 to access AWS, you need an AWS account and AWS credentials. For more information on credentials
+see `AWS security credentials <https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html>`_
+in the `AWS General Reference <https://docs.aws.amazon.com/general/latest/gr/>`_.
.. _compliance_validation_intro:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/pyproject.toml new/boto3-1.34.138/pyproject.toml
--- old/boto3-1.34.122/pyproject.toml 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/pyproject.toml 2024-07-02 20:08:54.000000000 +0200
@@ -3,12 +3,63 @@
"slow: marks tests as slow",
]
-[tool.isort]
-profile = "black"
-line_length = 79
-honor_noqa = true
-src_paths = ["boto3", "tests"]
+[tool.ruff]
+exclude = [
+ ".bzr",
+ ".direnv",
+ ".eggs",
+ ".git",
+ ".git-rewrite",
+ ".hg",
+ ".ipynb_checkpoints",
+ ".mypy_cache",
+ ".nox",
+ ".pants.d",
+ ".pyenv",
+ ".pytest_cache",
+ ".pytype",
+ ".ruff_cache",
+ ".svn",
+ ".tox",
+ ".venv",
+ ".vscode",
+ "__pypackages__",
+ "_build",
+ "buck-out",
+ "build",
+ "dist",
+ "node_modules",
+ "site-packages",
+ "venv",
+]
-[tool.black]
+# Format same as Black.
line-length = 79
-skip_string_normalization = true
+indent-width = 4
+
+target-version = "py38"
+
+[tool.ruff.lint]
+# Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default.
+# Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or
+# McCabe complexity (`C901`) by default.
+select = ["E4", "E7", "E9", "F", "I", "UP"]
+ignore = []
+
+# Allow fix for all enabled rules (when `--fix`) is provided.
+fixable = ["ALL"]
+unfixable = []
+
+# Allow unused variables when underscore-prefixed.
+dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
+
+[tool.ruff.format]
+# Like Black, use double quotes for strings, spaces for indents
+# and trailing commas.
+quote-style = "preserve"
+indent-style = "space"
+skip-magic-trailing-comma = false
+line-ending = "auto"
+
+docstring-code-format = false
+docstring-code-line-length = "dynamic"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/scripts/new-change new/boto3-1.34.138/scripts/new-change
--- old/boto3-1.34.122/scripts/new-change 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/scripts/new-change 2024-07-02 20:08:54.000000000 +0200
@@ -36,6 +36,7 @@
CHANGELOG.rst file.
"""
+
import argparse
import json
import os
@@ -132,9 +133,7 @@
def linkify(match):
number = match.group()[1:]
- return '`{} <https://github.com/{}/issues/{}>`__'.format(
- match.group(), repo_name, number
- )
+ return f'`{match.group()} <https://github.com/{repo_name}/issues/{number}>`__'
new_description = re.sub(r'#\d+', linkify, description)
parsed['description'] = new_description
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/setup.cfg new/boto3-1.34.138/setup.cfg
--- old/boto3-1.34.122/setup.cfg 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/setup.cfg 2024-07-02 20:08:54.000000000 +0200
@@ -3,7 +3,7 @@
[metadata]
requires_dist =
- botocore>=1.34.122,<1.35.0
+ botocore>=1.34.138,<1.35.0
jmespath>=0.7.1,<2.0.0
s3transfer>=0.10.0,<0.11.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/setup.py new/boto3-1.34.138/setup.py
--- old/boto3-1.34.122/setup.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/setup.py 2024-07-02 20:08:54.000000000 +0200
@@ -3,6 +3,7 @@
"""
distutils/setuptools install script.
"""
+
import os
import re
@@ -13,7 +14,7 @@
requires = [
- 'botocore>=1.34.122,<1.35.0',
+ 'botocore>=1.34.138,<1.35.0',
'jmespath>=0.7.1,<2.0.0',
's3transfer>=0.10.0,<0.11.0',
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/tests/functional/docs/__init__.py new/boto3-1.34.138/tests/functional/docs/__init__.py
--- old/boto3-1.34.122/tests/functional/docs/__init__.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/tests/functional/docs/__init__.py 2024-07-02 20:08:54.000000000 +0200
@@ -34,7 +34,7 @@
contents = contents[(beginning + len(line)) :]
def get_class_document_block(self, class_name, contents):
- start_class_document = '.. py:class:: %s' % class_name
+ start_class_document = f'.. py:class:: {class_name}'
start_index = contents.find(start_class_document)
assert start_index != -1, 'Class is not found in contents'
contents = contents[start_index:]
@@ -42,7 +42,7 @@
return contents[:end_index]
def get_method_document_block(self, method_name, contents):
- start_method_document = ' .. py:method:: %s(' % method_name
+ start_method_document = f' .. py:method:: {method_name}('
start_index = contents.find(start_method_document)
assert start_index != -1, 'Method is not found in contents'
contents = contents[start_index:]
@@ -68,7 +68,7 @@
return contents[:end_index]
def get_request_parameter_document_block(self, param_name, contents):
- start_param_document = ':type %s:' % param_name
+ start_param_document = f':type {param_name}:'
start_index = contents.find(start_param_document)
assert start_index != -1, 'Param is not found in contents'
contents = contents[start_index:]
@@ -80,7 +80,7 @@
start_index = contents.find(start_param_document)
assert start_index != -1, 'There is no response structure'
- start_param_document = '- **%s**' % param_name
+ start_param_document = f'- **{param_name}**'
start_index = contents.find(start_param_document)
assert start_index != -1, 'Param is not found in contents'
contents = contents[start_index:]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/tests/functional/docs/test_smoke.py new/boto3-1.34.138/tests/functional/docs/test_smoke.py
--- old/boto3-1.34.122/tests/functional/docs/test_smoke.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/tests/functional/docs/test_smoke.py 2024-07-02 20:08:54.000000000 +0200
@@ -119,13 +119,13 @@
'======',
'Client',
'======',
- '.. py:class:: %s.Client' % class_name,
+ f'.. py:class:: {class_name}.Client',
' A low-level client representing',
' import boto3',
- ' client = boto3.client(\'%s\')' % service_name,
+ f' client = boto3.client(\'{service_name}\')',
'These are the available methods:',
- ' %s/client/get_paginator' % service_name,
- ' %s/client/get_waiter' % service_name,
+ f' {service_name}/client/get_paginator',
+ f' {service_name}/client/get_waiter',
]
_assert_contains_lines_in_order(ref_lines, generated_docs)
for method_name in ['get_paginator', 'get_waiter']:
@@ -153,9 +153,7 @@
for paginator_name in paginator_names:
_assert_contains_lines_in_order(
[
- '.. py:class:: {}.Paginator.{}'.format(
- client.__class__.__name__, paginator_name
- ),
+ f'.. py:class:: {client.__class__.__name__}.Paginator.{paginator_name}',
' .. py:method:: paginate(',
],
get_nested_file_contents(
@@ -176,11 +174,8 @@
for waiter_name in waiter_model.waiter_names:
_assert_contains_lines_in_order(
[
- '.. py:class:: {}.Waiter.{}'.format(
- client.__class__.__name__, waiter_name
- ),
- ' waiter = client.get_waiter(\'%s\')'
- % xform_name(waiter_name),
+ f'.. py:class:: {client.__class__.__name__}.Waiter.{waiter_name}',
+ f' waiter = client.get_waiter(\'{xform_name(waiter_name)}\')',
' .. py:method:: wait(',
],
get_nested_file_contents(service_name, 'waiter', waiter_name),
@@ -203,8 +198,7 @@
'================',
'Service Resource',
'================',
- '.. py:class:: %s.ServiceResource'
- % (resource.meta.client.__class__.__name__),
+ f'.. py:class:: {resource.meta.client.__class__.__name__}.ServiceResource',
' A resource representing',
' import boto3',
f' {service_name} = boto3.resource(\'{service_name}\')',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/tests/functional/test_s3.py new/boto3-1.34.138/tests/functional/test_s3.py
--- old/boto3-1.34.122/tests/functional/test_s3.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/tests/functional/test_s3.py 2024-07-02 20:08:54.000000000 +0200
@@ -147,8 +147,8 @@
for i in range(num_parts):
# Fill in the parts
part_number = i + 1
- copy_range = "bytes={}-{}".format(
- i * part_size, i * part_size + (part_size - 1)
+ copy_range = (
+ f"bytes={i * part_size}-{i * part_size + (part_size - 1)}"
)
self.stub_copy_part(part_number=part_number, copy_range=copy_range)
parts.append({'ETag': self.etag, 'PartNumber': part_number})
@@ -389,8 +389,8 @@
if end_byte is not None:
contents = full_contents[start_byte : end_byte + 1]
part_range = f'bytes={start_byte}-{end_byte_range}'
- content_range = 'bytes={}-{}/{}'.format(
- start_byte, end_byte, len(full_contents)
+ content_range = (
+ f'bytes={start_byte}-{end_byte}/{len(full_contents)}'
)
get_object_response['ContentRange'] = content_range
expected_params['Range'] = part_range
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/tests/integration/test_collections.py new/boto3-1.34.138/tests/integration/test_collections.py
--- old/boto3-1.34.122/tests/integration/test_collections.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/tests/integration/test_collections.py 2024-07-02 20:08:54.000000000 +0200
@@ -27,6 +27,7 @@
'ec2': ['images'],
'iam': ['signing_certificates'],
'sqs': ['dead_letter_source_queues'],
+ 'opsworks': [],
}
@@ -35,6 +36,9 @@
# except those which have been blocklisted.
session = boto3.session.Session()
for service_name in session.get_available_resources():
+ if BLOCKLIST.get(service_name, None) == []:
+ continue
+
resource = session.resource(
service_name, region_name=REGION_MAP.get(service_name, 'us-west-2')
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/tests/integration/test_dynamodb.py new/boto3-1.34.138/tests/integration/test_dynamodb.py
--- old/boto3-1.34.122/tests/integration/test_dynamodb.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/tests/integration/test_dynamodb.py 2024-07-02 20:08:54.000000000 +0200
@@ -210,7 +210,7 @@
num_elements = 1000
items = []
for i in range(num_elements):
- items.append({'MyHashKey': 'foo%s' % i, 'OtherKey': 'bar%s' % i})
+ items.append({'MyHashKey': f'foo{i}', 'OtherKey': f'bar{i}'})
with self.table.batch_writer() as batch:
for item in items:
batch.put_item(Item=item)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/tests/integration/test_s3.py new/boto3-1.34.138/tests/integration/test_s3.py
--- old/boto3-1.34.122/tests/integration/test_s3.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/tests/integration/test_s3.py 2024-07-02 20:08:54.000000000 +0200
@@ -38,9 +38,7 @@
second_md5 = md5_checksum(second)
if first_md5 != second_md5:
raise AssertionError(
- "Files are not equal: {}(md5={}) != {}(md5={})".format(
- first, first_md5, second, second_md5
- )
+ f"Files are not equal: {first}(md5={first_md5}) != {second}(md5={second_md5})"
)
@@ -270,7 +268,7 @@
# Create several versions of an object
obj = self.bucket.Object('test.txt')
for i in range(10):
- obj.put(Body="Version %s" % i)
+ obj.put(Body=f"Version {i}")
# Delete all the versions of the object
bucket.object_versions.all().delete()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/tests/unit/resources/test_action.py new/boto3-1.34.138/tests/unit/resources/test_action.py
--- old/boto3-1.34.122/tests/unit/resources/test_action.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/tests/unit/resources/test_action.py 2024-07-02 20:08:54.000000000 +0200
@@ -126,9 +126,7 @@
def test_service_action_call_positional_argument(self):
def _api_call(*args, **kwargs):
if args:
- raise TypeError(
- "%s() only accepts keyword arguments." % 'get_frobs'
- )
+ raise TypeError("get_frobs() only accepts keyword arguments.")
resource = mock.Mock()
resource.meta = ResourceMeta('test', client=mock.Mock())
@@ -304,9 +302,7 @@
def _api_call(*args, **kwargs):
if args:
- raise TypeError(
- "%s() only accepts keyword arguments." % 'get_frobs'
- )
+ raise TypeError("get_frobs() only accepts keyword arguments.")
crp_mock.side_effect = side_effect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.34.122/tests/unit/resources/test_factory.py new/boto3-1.34.138/tests/unit/resources/test_factory.py
--- old/boto3-1.34.122/tests/unit/resources/test_factory.py 2024-06-07 20:05:38.000000000 +0200
+++ new/boto3-1.34.138/tests/unit/resources/test_factory.py 2024-07-02 20:08:54.000000000 +0200
@@ -379,7 +379,7 @@
def test_resource_lazy_properties_missing_load(self, action_cls):
model = {
'shape': 'TestShape',
- 'identifiers': [{'name': 'Url'}]
+ 'identifiers': [{'name': 'Url'}],
# Note the lack of a `load` method. These resources
# are usually loaded via a call on a parent resource.
}
1
0