Skip to content

Generate an opt report of kernel arguments. #3492

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 32 commits into from
Apr 25, 2021
Merged

Conversation

zahiraam
Copy link
Contributor

@zahiraam zahiraam commented Apr 5, 2021

This implementation will be followed by an upcoming PR that will have the purpose of creating a more user-friendly report.

@zahiraam zahiraam requested a review from premanandrao April 15, 2021 00:52
@@ -547,6 +548,8 @@ class DiagnosticsEngine : public RefCountedBase<DiagnosticsEngine> {
LLVM_DUMP_METHOD void dump() const;
LLVM_DUMP_METHOD void dump(StringRef DiagName) const;

SyclOptReportHandler OptReportHandler;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason this must be public?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is being used in SemaSYCL.cpp referenced SemaRef.getDiagnostics().OptReportHandler.
It wouldn't be able to access private member.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It could still be a private data member with a public member accessor, which is a bit cleaner.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Getting still the same error. Making it private to DiagnosticEngine and make the data member to it public didn't seem to change anything. Am I missing something?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you try doing something similar to what getDiags() does for Diags in that class?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tried a few things and changing the data member of SyclOptReportHandler to public seems to lead me to the same issue. Will keep looking at it.
getDiags() is public?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we may be crossing wires somewhere -- the suggestion is to convert:

struct S {
private:
  ...
public:
  SyclOptReportHandler OptReportHandler;
};

into:

struct S {
private:
  ...
  SyclOptReportHandler OptReportHandler;

public:
  SyclOptReportHandler &getSYCLOptReportHandler() { return OptReportHandler; }
  const SyclOptReportHandler &getSYCLOptReportHandler() const { return OptReportHandler; }
};

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Grrr! I was putting the declaration on the innermost private inside DiagnosticsEngine class, that's why it didn't work.

@@ -0,0 +1,42 @@
// RUN: %clang_cc1 -triple spir64-unknown-unknown-sycldevice -fsycl-is-device \
// RUN: -Wno-sycl-2017-compat -emit-llvm-bc %s -o %t-host.bc -opt-record-file %t-host.yaml
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you expand this test to check for basic things in the opt-report file? I would like to see that to understand the changes in CodeGenFunction better.

};

int main() {
cl::sycl::queue q;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can avoid 'cl::' since it is an inline namespace.

@@ -0,0 +1,42 @@
// RUN: %clang_cc1 -triple spir64-unknown-unknown-sycldevice -fsycl-is-device \
// RUN: -Wno-sycl-2017-compat -emit-llvm-bc %s -o %t-host.bc -opt-record-file %t-host.yaml

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also add a comment here describing what the test is testing for.

Copy link
Contributor

@premanandrao premanandrao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also clang-format does not like some of the formatting. You might as well fix those too.

@zahiraam zahiraam marked this pull request as ready for review April 18, 2021 19:25
class SyclOptReportHandler {
private:
struct OptReportInfo {
StringRef KernelArgName;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a use-after-free waiting to happen -- StringRef is a non-owning object.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should KernelArgName be a std::unique_ptr?

std::string ArgType, SourceLocation ArgLoc) {
Map[FD].emplace_back(ArgName, ArgType, ArgLoc);
}
SmallVector<OptReportInfo, 4> &getInfo(const FunctionDecl *FD) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
SmallVector<OptReportInfo, 4> &getInfo(const FunctionDecl *FD) {
SmallVector<OptReportInfo, 4> &GetInfo(const FunctionDecl *FD) const {

return It->second;
}

bool HasOptReportInfo(const FunctionDecl *FD) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
bool HasOptReportInfo(const FunctionDecl *FD) {
bool HasOptReportInfo(const FunctionDecl *FD) const {

BackendConsumer &BC)
: Ctx(Ctx) {
CompilerInstance &CI = CGA.getCompilerInstance();
auto &CodeGenOpts = CI.getCodeGenOpts();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please spell out the type.

SyclOptReportHandler &OptReportHandler = CGM.getDiags().OptReportHandler;
if (OptReportHandler.HasOptReportInfo(FD)) {
llvm::OptimizationRemarkEmitter ORE(Fn);
int count = 0;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
int count = 0;
int Count = 0;

if (OptReportHandler.HasOptReportInfo(FD)) {
llvm::OptimizationRemarkEmitter ORE(Fn);
int count = 0;
for (auto &ORI : OptReportHandler.getInfo(FD)) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
for (auto &ORI : OptReportHandler.getInfo(FD)) {
for (const auto &ORI : OptReportHandler.getInfo(FD)) {

@zahiraam
Copy link
Contributor Author

Sorry! no need to review. I haven't pushed anything new.

premanandrao
premanandrao previously approved these changes Apr 22, 2021
Copy link
Contributor

@premanandrao premanandrao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am okay with the changes. @elizabethandrews, can you take a look?

std::string ArgType, SourceLocation ArgLoc) {
Map[FD].emplace_back(ArgName, ArgType, ArgLoc);
}
SmallVector<OptReportInfo, 4> &GetInfo(const FunctionDecl *FD) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bummer! Thanks for trying!

Then I think the only other suggestion I have is to return a SmallVectorImpl<OptReportInfo> instead of the concrete SmallVector<> type, if possible. This way, callers can decide for themselves what constitutes "small" and aren't stuck agreeing that 4 is it.


OptReportInfo(std::string ArgName, std::string ArgType,
SourceLocation ArgLoc)
: KernelArgName(ArgName), KernelArgType(ArgType), KernelArgLoc(ArgLoc) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
: KernelArgName(ArgName), KernelArgType(ArgType), KernelArgLoc(ArgLoc) {
: KernelArgName(std::move(ArgName)), KernelArgType(std::move(ArgType)), KernelArgLoc(ArgLoc) {

Might as well use the move constructors.

Comment on lines 1041 to 1045
: Ctx(Ctx) {
CompilerInstance &CI = CGA.getCompilerInstance();
CodeGenOptions &CodeGenOpts = CI.getCodeGenOpts();

OldDiagnosticHandler = Ctx.getDiagnosticHandler();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
: Ctx(Ctx) {
CompilerInstance &CI = CGA.getCompilerInstance();
CodeGenOptions &CodeGenOpts = CI.getCodeGenOpts();
OldDiagnosticHandler = Ctx.getDiagnosticHandler();
: Ctx(Ctx), OldDiagnosticHandler(Ctx.getDiagnosticHandler()) {
CompilerInstance &CI = CGA.getCompilerInstance();
CodeGenOptions &CodeGenOpts = CI.getCodeGenOpts();

@elizabethandrews
Copy link
Contributor

Can you please add a commit message. You can mention we will be refining the actual output in follow-up PR

@zahiraam zahiraam changed the title Opt report Generate an opt report of kernel arguments. Apr 22, 2021
Signed-off-by: Zahira Ammarguellat <[email protected]>
@@ -0,0 +1,57 @@
//===---------------------- SyclOptReport.h ---------------------*- C++ -*-===//
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Filename is SyclOptReportHandler.h

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please change this as well?

//===----------------------------------------------------------------------===//
///
/// \file
/// Defines clang::SyclOptReport class.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SyclOptReportHandler*

@@ -2623,8 +2645,7 @@ Address CodeGenFunction::EmitIntelFPGAFieldAnnotations(SourceLocation Location,
// llvm.ptr.annotation intrinsic accepts a pointer to integer of any width -
// don't perform bitcasts if value is integer
if (VTy->getPointerElementType()->isIntegerTy()) {
llvm::Function *F =
CGM.getIntrinsic(llvm::Intrinsic::ptr_annotation, VTy);
llvm::Function *F = CGM.getIntrinsic(llvm::Intrinsic::ptr_annotation, VTy);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unrelated change?

Signed-off-by: Zahira Ammarguellat <[email protected]>
Copy link
Contributor

@elizabethandrews elizabethandrews left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM other than a minor comment

@@ -0,0 +1,57 @@
//===---------------------- SyclOptReport.h ---------------------*- C++ -*-===//
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please change this as well?

Copy link
Contributor

@premanandrao premanandrao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a minor thing that I noticed now.

llvm::DiagnosticLocation DL =
SourceLocToDebugLoc(ORI.value().KernelArgLoc);
llvm::OptimizationRemark Remark("sycl", "Region", DL,
&Fn->getEntryBlock());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We seem to calling ORI.value() multiple times below; perhaps save ORI.value().KernelArgName in a variable here and the reuse that?

Signed-off-by: Zahira Ammarguellat <[email protected]>
Copy link
Contributor

@AaronBallman AaronBallman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@bader bader merged commit 201f902 into intel:sycl Apr 25, 2021
alexbatashev pushed a commit to alexbatashev/llvm that referenced this pull request Apr 27, 2021
* upstream/sycl:
  [NFC][SYCL] Avoid -Wreorder warning about order of initialization (intel#3620)
  [SYCL][DOC] Initial Draft of Extension for querying free device memory on Level Zero (intel#3468)
  [SYCL][PI][L0] Submit open command batch on event status query (intel#3612)
  [NFC] Fix the comment (intel#3613)
  Rename misleading attribute flag (intel#3610)
  [SYCL] Generate an opt report of kernel arguments.  (intel#3492)
  [SYCL] Support extra environment variables in LIT (intel#3598)
  [SYCL][Matrix] Make joint_matrix_mad return A*B+C's result instead of C=A*B+C (intel#3586)
alexbatashev pushed a commit to alexbatashev/llvm that referenced this pull request Apr 28, 2021
* upstream/sycl:
  [SYCL][Doc] Add group sorting algorithms extension specification (intel#3514)
  [Buildbot] Update Windows GPU driver to 27.20.100.9466 (intel#3594)
  [SYCL][NFC] Update tests for FPGA attributes (intel#3632)
  [CODEOWNERS] Add @kbobrovs back to few projects (intel#3638)
  [NFC] Update codeowners (intel#3619)
  [SYCL] Support 3-, 16-elements vectors in SG load/store (intel#3617)
  [SYCL-PTX] Fix libclc dependencies (intel#3624)
  [SYCL] Add sycl::span for SYCL2020 support (intel#3569)
  [NFC][SYCL] Avoid -Wreorder warning about order of initialization (intel#3620)
  [SYCL][DOC] Initial Draft of Extension for querying free device memory on Level Zero (intel#3468)
  [SYCL][PI][L0] Submit open command batch on event status query (intel#3612)
  [NFC] Fix the comment (intel#3613)
  Rename misleading attribute flag (intel#3610)
  [SYCL] Generate an opt report of kernel arguments.  (intel#3492)
  [SYCL] Support extra environment variables in LIT (intel#3598)
  [SYCL][Matrix] Make joint_matrix_mad return A*B+C's result instead of C=A*B+C (intel#3586)
elizabethandrews added a commit to elizabethandrews/llvm that referenced this pull request May 18, 2022
Collect information for optimization record only if the optmization
record is saved by user (i.e. -fsave-optimization-record or
-opt-record-file is passed). This patch prevents unecessary calls
to opt-report handlers when not required.

I couldn't think of a way to add a test for this since there is no
change in output. Information is collected when the flag is passed
and emitted into optimization record. Information is no longer
collected when there is no optimization record.

This is a follow up to intel#3492
and intel#3730

Signed-off-by: Elizabeth Andrews <[email protected]>
steffenlarsen pushed a commit that referenced this pull request May 19, 2022
)

Collect information for optimization record only if the optmization
record is saved by user (i.e. -fsave-optimization-record or
-opt-record-file is passed). This patch prevents unecessary calls
to opt-report handlers when not required.

I couldn't think of a way to add a test for this since there is no
change in output. Information is collected when the flag is passed
and emitted into optimization record. Information is no longer
collected when there is no optimization record.

This is a follow up to #3492
and #3730

Signed-off-by: Elizabeth Andrews <[email protected]>
yinyangsx pushed a commit to yinyangsx/llvm that referenced this pull request May 25, 2022
…tel#6170)

Collect information for optimization record only if the optmization
record is saved by user (i.e. -fsave-optimization-record or
-opt-record-file is passed). This patch prevents unecessary calls
to opt-report handlers when not required.

I couldn't think of a way to add a test for this since there is no
change in output. Information is collected when the flag is passed
and emitted into optimization record. Information is no longer
collected when there is no optimization record.

This is a follow up to intel#3492
and intel#3730

Signed-off-by: Elizabeth Andrews <[email protected]>
sarnex pushed a commit that referenced this pull request Apr 1, 2025
…17770)

Bumps the llvm-docs-requirements group in /llvm/docs with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [babel](https://github.com/python-babel/babel) | `2.16.0` | `2.17.0` |
| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) |
`4.12.3` | `4.13.3` |
| [certifi](https://github.com/certifi/python-certifi) | `2024.8.30` |
`2025.1.31` |
| [charset-normalizer](https://github.com/jawah/charset_normalizer) |
`3.4.0` | `3.4.1` |
| [pygments](https://github.com/pygments/pygments) | `2.18.0` | `2.19.1`
|
| [sphinx-reredirects](https://github.com/documatt/sphinx-reredirects) |
`0.1.2` | `0.1.6` |
| [urllib3](https://github.com/urllib3/urllib3) | `2.2.3` | `2.3.0` |

Updates `babel` from 2.16.0 to 2.17.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python-babel/babel/releases">babel's
releases</a>.</em></p>
<blockquote>
<h2>v2.17.0</h2>
<p>Happy 2025! This release is being made from FOSDEM 2025, in Brussels,
Belgium. 🇧🇪</p>
<p>Thank you to all contributors, new and old, and here's to another
great year of internationalization and localization!</p>
<hr />
<p>The changelog below is auto-generated by GitHub.</p>
<p>Please see <a
href="https://github.com/python-babel/babel/blob/b50a1d2186c20f3359f7e10853d2b2225a46ed40/CHANGES.rst">CHANGELOG.rst</a>
for additional details.</p>
<hr />
<h2>What's Changed</h2>
<ul>
<li>Fix deprecation warnings for <code>datetime.utcnow()</code> by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1119">python-babel/babel#1119</a></li>
<li>Enclose white spaces in references by <a
href="https://github.com/Dunedan"><code>@​Dunedan</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1105">python-babel/babel#1105</a></li>
<li>Replace <code>str.index</code> with <code>str.find</code> by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1130">python-babel/babel#1130</a></li>
<li>Replace more alternate characters in <code>format_skeleton</code> by
<a href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1122">python-babel/babel#1122</a></li>
<li>Fix extracted lineno with nested calls by <a
href="https://github.com/dylankiss"><code>@​dylankiss</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1126">python-babel/babel#1126</a></li>
<li>&quot;Deleted duplicate code in test&quot; by <a
href="https://github.com/mattdiaz007"><code>@​mattdiaz007</code></a> in
<a
href="https://redirect.github.com/python-babel/babel/pull/1138">python-babel/babel#1138</a></li>
<li>Fix of list index out of range error in PoFileParser.add_message
when translations is empty by <a
href="https://github.com/gabe-sherman"><code>@​gabe-sherman</code></a>
in <a
href="https://redirect.github.com/python-babel/babel/pull/1135">python-babel/babel#1135</a></li>
<li>Make seconds optional in <code>parse_time</code> time formats by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1141">python-babel/babel#1141</a></li>
<li>Mark <code>wraptext</code> deprecated; use <code>TextWrapper</code>
directly in <code>write_po</code> by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1140">python-babel/babel#1140</a></li>
<li>Fix the way obsolete messages are stored by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1132">python-babel/babel#1132</a></li>
<li>Replace <code>OrderedDict</code> with just <code>dict</code> by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1149">python-babel/babel#1149</a></li>
<li>Use CLDR 46 by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1145">python-babel/babel#1145</a></li>
<li>Update CI to use python 3.13 and Ubuntu 24.04 by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1153">python-babel/babel#1153</a></li>
<li>Adjust docs/conf.py to add compatibility with sphinx 8 by <a
href="https://github.com/hrnciar"><code>@​hrnciar</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1155">python-babel/babel#1155</a></li>
<li>Allow specifying an explicit format in parse_date/parse_time by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1131">python-babel/babel#1131</a></li>
<li>Simplify <code>read_mo</code> logic regarding
<code>catalog.charset</code> by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1148">python-babel/babel#1148</a></li>
<li>Bump CI/tool versions by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1160">python-babel/babel#1160</a></li>
<li>fix: check_and_call_extract_file uses the first matching method and
options, instead of the first matching method and last matching options
by <a href="https://github.com/jpmckinney"><code>@​jpmckinney</code></a>
in <a
href="https://redirect.github.com/python-babel/babel/pull/1121">python-babel/babel#1121</a></li>
<li>Prevent wrapping file locations containing white space by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1120">python-babel/babel#1120</a></li>
<li>Add tzdata as dev dependency and sync with tox.ini by <a
href="https://github.com/wandrew004"><code>@​wandrew004</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1159">python-babel/babel#1159</a></li>
<li>Support short and narrow formats for format_timedelta when using
<code>add_direction</code> by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1163">python-babel/babel#1163</a></li>
<li>Improve handling for <code>locale=None</code> by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1164">python-babel/babel#1164</a></li>
<li>Use <code>pytest.raises(match=...)</code> by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1166">python-babel/babel#1166</a></li>
<li>Strip extra leading slashes in <code>/etc/localtime</code> by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1165">python-babel/babel#1165</a></li>
<li>Remove redundant assignment in <code>Catalog.__setitem__</code> by
<a href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1167">python-babel/babel#1167</a></li>
<li>Small cleanups by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1170">python-babel/babel#1170</a></li>
<li>Small test cleanup by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1172">python-babel/babel#1172</a></li>
<li>Add <code>Message.python_brace_format</code> by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1169">python-babel/babel#1169</a></li>
<li>Import <code>Literal</code> from the typing module by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1175">python-babel/babel#1175</a></li>
<li>Prefer LC_MONETARY when formatting currencies by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1173">python-babel/babel#1173</a></li>
<li>Fix dates formatting <code>Y</code>, <code>w</code> and
<code>W</code> symbols for week-numbering by <a
href="https://github.com/jun66j5"><code>@​jun66j5</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1179">python-babel/babel#1179</a></li>
<li>Increase test coverage of the <code>python_format</code> checker by
<a href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1176">python-babel/babel#1176</a></li>
<li>Prepare for 2.17.0 by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1182">python-babel/babel#1182</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Dunedan"><code>@​Dunedan</code></a> made
their first contribution in <a
href="https://redirect.github.com/python-babel/babel/pull/1105">python-babel/babel#1105</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python-babel/babel/blob/master/CHANGES.rst">babel's
changelog</a>.</em></p>
<blockquote>
<h2>Version 2.17.0</h2>
<p>Happy 2025! This release is being made from FOSDEM 2025, in Brussels,
Belgium.</p>
<p>Thank you to all contributors, new and old,
and here's to another great year of internationalization and
localization!</p>
<p>Features</p>
<pre><code>
* CLDR: Babel now uses CLDR 46, by @tomasr8 in :gh:`1145`
* Dates: Allow specifying an explicit format in parse_date/parse_time by
@tomasr8 in :gh:`1131`
* Dates: More alternate characters are now supported by
`format_skeleton`. By @tomasr8 in :gh:`1122`
* Dates: Support short and narrow formats for format_timedelta when
using `add_direction`, by @akx in :gh:`1163`
* Messages: .po files now enclose white spaces in filenames like GNU
gettext does. By @Dunedan in :gh:`1105`, and @tomasr8 in :gh:`1120`
* Messages: Initial support for `Message.python_brace_format`, by
@tomasr8 in :gh:`1169`
* Numbers: LC_MONETARY is now preferred when formatting currencies, by
@akx in :gh:`1173`
<p>Bugfixes<br />
</code></pre></p>
<ul>
<li>Dates: Make seconds optional in <code>parse_time</code> time formats
by <a href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in
:gh:<code>1141</code></li>
<li>Dates: Replace <code>str.index</code> with <code>str.find</code> by
<a href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in
:gh:<code>1130</code></li>
<li>Dates: Strip extra leading slashes in <code>/etc/localtime</code> by
<a href="https://github.com/akx"><code>@​akx</code></a> in
:gh:<code>1165</code></li>
<li>Dates: Week numbering and formatting of dates with week numbers was
repaired by <a
href="https://github.com/jun66j5"><code>@​jun66j5</code></a> in
:gh:<code>1179</code></li>
<li>General: Improve handling for <code>locale=None</code> by <a
href="https://github.com/akx"><code>@​akx</code></a> in
:gh:<code>1164</code></li>
<li>General: Remove redundant assignment in
<code>Catalog.__setitem__</code> by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in
:gh:<code>1167</code></li>
<li>Messages: Fix extracted lineno with nested calls, by <a
href="https://github.com/dylankiss"><code>@​dylankiss</code></a> in
:gh:<code>1126</code></li>
<li>Messages: Fix of list index out of range when translations is empty,
by <a
href="https://github.com/gabe-sherman"><code>@​gabe-sherman</code></a>
in :gh:<code>1135</code></li>
<li>Messages: Fix the way obsolete messages are stored by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in
:gh:<code>1132</code></li>
<li>Messages: Simplify <code>read_mo</code> logic regarding
<code>catalog.charset</code> by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in
:gh:<code>1148</code></li>
<li>Messages: Use the first matching method &amp; options, rather than
first matching method &amp; last options, by <a
href="https://github.com/jpmckinney"><code>@​jpmckinney</code></a> in
:gh:<code>1121</code></li>
</ul>
<p>Deprecation and compatibility</p>
<pre><code>
* Dates: Fix deprecation warnings for `datetime.utcnow()` by @tomasr8 in
:gh:`1119`
* Docs: Adjust docs/conf.py to add compatibility with sphinx 8 by
@hrnciar in :gh:`1155`
* General: Import `Literal` from the typing module by @tomasr8 in
:gh:`1175`
* General: Replace `OrderedDict` with just `dict` by @tomasr8 in
:gh:`1149`
* Messages: Mark `wraptext` deprecated; use `TextWrapper` directly in
`write_po` by @akx in :gh:`1140`
<p>Infrastructure</p>
<pre><code>
* Add tzdata as dev dependency and sync with tox.ini by @wandrew004 in
:gh:`1159`
* Duplicate test code was deleted by @mattdiaz007 in :gh:`1138`
* Increase test coverage of the `python_format` checker by @tomasr8 in
:gh:`1176`
* Small cleanups by @akx in :gh:`1160`, :gh:`1166`, :gh:`1170` and
:gh:`1172`
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt; 
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;... (truncated)&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;Commits&lt;/summary&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/python-babel/babel/commit/b50a1d2186c20f3359f7e10853d2b2225a46ed40&quot;&gt;&lt;code&gt;b50a1d2&lt;/code&gt;&lt;/a&gt;
Prepare for 2.17.0 (&lt;a
href=&quot;https://redirect.github.com/python-babel/babel/issues/1182&quot;&gt;#1182&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/python-babel/babel/commit/5f117b2689573aa98acc8a47108c49b99f4d1394&quot;&gt;&lt;code&gt;5f117b2&lt;/code&gt;&lt;/a&gt;
Increase test coverage of the &lt;code&gt;python_format&lt;/code&gt;
checker (&lt;a
href=&quot;https://redirect.github.com/python-babel/babel/issues/1176&quot;&gt;#1176&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/python-babel/babel/commit/363ad7531fb5dcdc3e9844573592b0b44afb914b&quot;&gt;&lt;code&gt;363ad75&lt;/code&gt;&lt;/a&gt;
Fix dates formatting &lt;code&gt;Y&lt;/code&gt;,
&lt;code&gt;w&lt;/code&gt; and &lt;code&gt;W&lt;/code&gt; symbols for
week-numbering (&lt;a
href=&quot;https://redirect.github.com/python-babel/babel/issues/1179&quot;&gt;#1179&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/python-babel/babel/commit/e9c3ef8d0de3080ca59f7f8dbabf9b52983adc7d&quot;&gt;&lt;code&gt;e9c3ef8&lt;/code&gt;&lt;/a&gt;
Merge pull request &lt;a
href=&quot;https://redirect.github.com/python-babel/babel/issues/1173&quot;&gt;#1173&lt;/a&gt;
from python-babel/lc-monetary-2&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/python-babel/babel/commit/56ef7c7f578a904917464c187e399abb762bd5e3&quot;&gt;&lt;code&gt;56ef7c7&lt;/code&gt;&lt;/a&gt;
Prefer LC_MONETARY when formatting currency&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/python-babel/babel/commit/aee6d698b541dc50439280d7e093092cc0d4b832&quot;&gt;&lt;code&gt;aee6d69&lt;/code&gt;&lt;/a&gt;
&lt;code&gt;default_locale&lt;/code&gt;: support multiple
keys&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/python-babel/babel/commit/2d8a808864d1aae5d3d02d4f95917c79740c5d35&quot;&gt;&lt;code&gt;2d8a808&lt;/code&gt;&lt;/a&gt;
Import &lt;code&gt;Literal&lt;/code&gt; &amp;amp;
&lt;code&gt;TypedDict&lt;/code&gt; from the typing module (&lt;a
href=&quot;https://redirect.github.com/python-babel/babel/issues/1175&quot;&gt;#1175&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/python-babel/babel/commit/98b9562c05e5276038c27ec12c12f3e92dc027b6&quot;&gt;&lt;code&gt;98b9562&lt;/code&gt;&lt;/a&gt;
Add basic support for
&lt;code&gt;Message.python_brace_format&lt;/code&gt; (&lt;a
href=&quot;https://redirect.github.com/python-babel/babel/issues/1169&quot;&gt;#1169&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/python-babel/babel/commit/0c1091c9de9543e30bc4b845eb10b5bf84516d7b&quot;&gt;&lt;code&gt;0c1091c&lt;/code&gt;&lt;/a&gt;
Small test cleanup (&lt;a
href=&quot;https://redirect.github.com/python-babel/babel/issues/1172&quot;&gt;#1172&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/python-babel/babel/commit/db4879136a7fbcef475f26b75dbdd65d0ce488f9&quot;&gt;&lt;code&gt;db48791&lt;/code&gt;&lt;/a&gt;
Merge pull request &lt;a
href=&quot;https://redirect.github.com/python-babel/babel/issues/1170&quot;&gt;#1170&lt;/a&gt;
from python-babel/small-cleanup&lt;/li&gt;
&lt;li&gt;Additional commits viewable in &lt;a
href=&quot;https://github.com/python-babel/babel/compare/v2.16.0...v2.17.0&quot;&gt;compare
view&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;

&lt;br /&gt;
</code></pre>

Updates `beautifulsoup4` from 4.12.3 to 4.13.3

Updates `certifi` from 2024.8.30 to 2025.1.31
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/certifi/python-certifi/commit/088f93122ea7c91cfdaeea7fa76ab2f850b8064d"><code>088f931</code></a>
2025.01.31 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/336">#336</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/1c177954a1d9f46efdff5956fe16de88bdcefc34"><code>1c17795</code></a>
Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/335">#335</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/a2e88f0eb5bab543e97f43dac5d38739bd193bd0"><code>a2e88f0</code></a>
Bump actions/upload-artifact from 4.5.0 to 4.6.0 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/334">#334</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/82284ed1f981c6a3ba4ef9de739cd32918e70a26"><code>82284ed</code></a>
Bump peter-evans/create-pull-request from 7.0.5 to 7.0.6 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/333">#333</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/10d3d1d86c89e4054ce2c021cf2309af8c26aa57"><code>10d3d1d</code></a>
Bump actions/upload-artifact from 4.4.3 to 4.5.0 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/332">#332</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/4ba39005afa1958ee24af51a11b64299fba61025"><code>4ba3900</code></a>
2024.12.14 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/329">#329</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/9164660735d61e7eee69e7ff28dec5200eddf20f"><code>9164660</code></a>
Bump pypa/gh-action-pypi-publish from 1.12.2 to 1.12.3 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/331">#331</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/3dc36518666bb84a2feeaa45d60a231af494c35b"><code>3dc3651</code></a>
Bump pypa/gh-action-pypi-publish from 1.11.0 to 1.12.2 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/328">#328</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/c5bf18dcd30be7e743268c2d0ce484e539b589c0"><code>c5bf18d</code></a>
Bump pypa/gh-action-pypi-publish from 1.10.3 to 1.11.0 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/327">#327</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/b9083917686e810b56e305cb45364af482b63099"><code>b908391</code></a>
Bump actions/setup-python from 5.2.0 to 5.3.0 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/326">#326</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/certifi/python-certifi/compare/2024.08.30...2025.01.31">compare
view</a></li>
</ul>
</details>
<br />

Updates `charset-normalizer` from 3.4.0 to 3.4.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jawah/charset_normalizer/releases">charset-normalizer's
releases</a>.</em></p>
<blockquote>
<h2>Version 3.4.1</h2>
<h2>🚀 We're still raising awareness around HTTP/2, and HTTP/3!</h2>
<p>Did you know that Internet Explorer 11 shipped with an optional
HTTP/2 support back in 2013? also libcurl did ship it in 2014[...]
Using Requests today is the rough equivalent of using EOL Windows 8! We
promptly invite Python developers to look at the first drop-in
replacement for Requests, <a
href="https://github.com/jawah/niquests">namely Niquests</a>. Ship with
native WebSocket, SSE, Happy Eyeballs, DNS over HTTPS, and so on[...]
All of this while remaining compatible with all Requests prior plug-ins
/ add-ons.</p>
<p>It leverages charset-normalizer in a better way! Check it out, you
will gain up to being 3X faster and get a real/respectable support with
it.</p>
<h2><a
href="https://github.com/Ousret/charset_normalizer/compare/3.4.0...3.4.1">3.4.1</a>
(2024-12-24)</h2>
<h3>Changed</h3>
<ul>
<li>Project metadata are now stored using <code>pyproject.toml</code>
instead of <code>setup.cfg</code> using setuptools as the build
backend.</li>
<li>Enforce annotation delayed loading for a simpler and consistent
types in the project.</li>
<li>Optional mypyc compilation upgraded to version 1.14 for Python &gt;=
3.8</li>
</ul>
<h3>Added</h3>
<ul>
<li>pre-commit configuration.</li>
<li>noxfile.</li>
</ul>
<h3>Removed</h3>
<ul>
<li><code>build-requirements.txt</code> as per using
<code>pyproject.toml</code> native build configuration.</li>
<li><code>bin/integration.py</code> and <code>bin/serve.py</code> in
favor of downstream integration test (see noxfile).</li>
<li><code>setup.cfg</code> in favor of <code>pyproject.toml</code>
metadata configuration.</li>
<li>Unused <code>utils.range_scan</code> function.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Converting content to Unicode bytes may insert <code>utf_8</code>
instead of preferred <code>utf-8</code>. (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/572">#572</a>)</li>
<li>Deprecation warning &quot;'count' is passed as positional
argument&quot; when converting to Unicode bytes on Python 3.13+</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md">charset-normalizer's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/Ousret/charset_normalizer/compare/3.4.0...3.4.1">3.4.1</a>
(2024-12-24)</h2>
<h3>Changed</h3>
<ul>
<li>Project metadata are now stored using <code>pyproject.toml</code>
instead of <code>setup.cfg</code> using setuptools as the build
backend.</li>
<li>Enforce annotation delayed loading for a simpler and consistent
types in the project.</li>
<li>Optional mypyc compilation upgraded to version 1.14 for Python &gt;=
3.8</li>
</ul>
<h3>Added</h3>
<ul>
<li>pre-commit configuration.</li>
<li>noxfile.</li>
</ul>
<h3>Removed</h3>
<ul>
<li><code>build-requirements.txt</code> as per using
<code>pyproject.toml</code> native build configuration.</li>
<li><code>bin/integration.py</code> and <code>bin/serve.py</code> in
favor of downstream integration test (see noxfile).</li>
<li><code>setup.cfg</code> in favor of <code>pyproject.toml</code>
metadata configuration.</li>
<li>Unused <code>utils.range_scan</code> function.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Converting content to Unicode bytes may insert <code>utf_8</code>
instead of preferred <code>utf-8</code>. (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/572">#572</a>)</li>
<li>Deprecation warning &quot;'count' is passed as positional
argument&quot; when converting to Unicode bytes on Python 3.13+</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/ffdf7f5f08beb0ceb92dc0637e97382ba27cecfa"><code>ffdf7f5</code></a>
:wrench: fix long description content-type inferred as rst instead of
md</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/c7197b7b425835dd7abf028f45e6b533060886e3"><code>c7197b7</code></a>
:pencil: fix changelog entries (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/582">#582</a>)</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/c390e1f231473f2766dd860dc70a1ee1ae5609e6"><code>c390e1f</code></a>
Merge pull request <a
href="https://redirect.github.com/jawah/charset_normalizer/issues/581">#581</a>
from jawah/refresh-part-2</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/f9d6b8cf32c36cbeefcd42f585bf57bfc39cee11"><code>f9d6b8c</code></a>
:lock: add CODEOWNERS</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/7ce1ef1de3148d18eb6a01448c9a15bf5324a9cf"><code>7ce1ef1</code></a>
:wrench: use ubuntu-22.04 for cibuildwheel in continuous deployment
workflow</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/deed20577ba5358bb9624c17e6c8aa6ab26f6e08"><code>deed205</code></a>
:wrench: update LICENSE copyright</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/f11f5710799db58947a6fb61c20dbb75e57e3b5d"><code>f11f571</code></a>
:wrench: include noxfile in sdist</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/1ec7c0632f15324afd769208553bf603be5f917e"><code>1ec7c06</code></a>
:wrench: update changelog</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/14b4649fa24ee0d58e351c106011fb1bace4a9bc"><code>14b4649</code></a>
:bug: output(...) replace declarative mark using non iana compliant
encoding ...</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/1b06bc0407dc0f47e9629cbc802977711d0ffc7b"><code>1b06bc0</code></a>
Merge branch 'refresh-part-2' of github.com:jawah/charset_normalizer
into ref...</li>
<li>Additional commits viewable in <a
href="https://github.com/jawah/charset_normalizer/compare/3.4.0...3.4.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `pygments` from 2.18.0 to 2.19.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pygments/pygments/releases">pygments's
releases</a>.</em></p>
<blockquote>
<h2>2.19.1</h2>
<ul>
<li>
<p>Updated lexers:</p>
<ul>
<li>Ini: Fix quoted string regression introduced in 2.19.0</li>
<li>Lua: Fix a regression introduced in 2.19.0</li>
</ul>
</li>
</ul>
<h2>2.19.0</h2>
<ul>
<li>
<p>New lexers:</p>
<ul>
<li>CodeQL (<a
href="https://redirect.github.com/pygments/pygments/issues/2819">#2819</a>)</li>
<li>Debian Sources (<a
href="https://redirect.github.com/pygments/pygments/issues/2788">#2788</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2747">#2747</a>)</li>
<li>Gleam (<a
href="https://redirect.github.com/pygments/pygments/issues/2662">#2662</a>)</li>
<li>GoogleSQL (<a
href="https://redirect.github.com/pygments/pygments/issues/2820">#2820</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2814">#2814</a>)</li>
<li>JSON5 (<a
href="https://redirect.github.com/pygments/pygments/issues/2734">#2734</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/1880">#1880</a>)</li>
<li>Maple (<a
href="https://redirect.github.com/pygments/pygments/issues/2763">#2763</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2548">#2548</a>)</li>
<li>NumbaIR (<a
href="https://redirect.github.com/pygments/pygments/issues/2433">#2433</a>)</li>
<li>PDDL (<a
href="https://redirect.github.com/pygments/pygments/issues/2799">#2799</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2616">#2616</a>)</li>
<li>Rego (<a
href="https://redirect.github.com/pygments/pygments/issues/2794">#2794</a>)</li>
<li>TableGen (<a
href="https://redirect.github.com/pygments/pygments/issues/2751">#2751</a>)</li>
<li>Vue.js (<a
href="https://redirect.github.com/pygments/pygments/issues/2832">#2832</a>)</li>
</ul>
</li>
<li>
<p>Updated lexers:</p>
<ul>
<li>BQN: Various improvements (<a
href="https://redirect.github.com/pygments/pygments/issues/2789">#2789</a>)</li>
<li>C#: Fix number highlighting (<a
href="https://redirect.github.com/pygments/pygments/issues/986">#986</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2727">#2727</a>),
add <code>file</code> keyword (<a
href="https://redirect.github.com/pygments/pygments/issues/2726">#2726</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2805">#2805</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2806">#2806</a>),
add various other keywords (<a
href="https://redirect.github.com/pygments/pygments/issues/2745">#2745</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2770">#2770</a>)</li>
<li>CSS: Add <code>revert</code> (<a
href="https://redirect.github.com/pygments/pygments/issues/2766">#2766</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2775">#2775</a>)</li>
<li>Debian control: Add <code>Change-By</code> field (<a
href="https://redirect.github.com/pygments/pygments/issues/2757">#2757</a>)</li>
<li>Elip: Improve punctuation handling (<a
href="https://redirect.github.com/pygments/pygments/issues/2651">#2651</a>)</li>
<li>Igor: Add <code>int</code> (<a
href="https://redirect.github.com/pygments/pygments/issues/2801">#2801</a>)</li>
<li>Ini: Fix quoted strings with embedded comment characters (<a
href="https://redirect.github.com/pygments/pygments/issues/2767">#2767</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2720">#2720</a>)</li>
<li>Java: Support functions returning types containing a question mark
(<a
href="https://redirect.github.com/pygments/pygments/issues/2737">#2737</a>)</li>
<li>JavaScript: Support private identiiers (<a
href="https://redirect.github.com/pygments/pygments/issues/2729">#2729</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2671">#2671</a>)</li>
<li>LLVM: Add <code>splat</code>, improve floating-point number parsing
(<a
href="https://redirect.github.com/pygments/pygments/issues/2755">#2755</a>)</li>
<li>Lua: Improve variable detection, add built-in functions (<a
href="https://redirect.github.com/pygments/pygments/issues/2829">#2829</a>)</li>
<li>Macaulay2: Update to 1.24.11 (<a
href="https://redirect.github.com/pygments/pygments/issues/2800">#2800</a>)</li>
<li>PostgreSQL: Add more <code>EXPLAIN</code> keywords (<a
href="https://redirect.github.com/pygments/pygments/issues/2785">#2785</a>),
handle <code>/</code> (<a
href="https://redirect.github.com/pygments/pygments/issues/2774">#2774</a>)</li>
<li>S-Lexer: Fix keywords (<a
href="https://redirect.github.com/pygments/pygments/issues/2082">#2082</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2750">#2750</a>)</li>
<li>TransactSQL: Fix single-line comments (<a
href="https://redirect.github.com/pygments/pygments/issues/2717">#2717</a>)</li>
<li>Turtle: Fix triple quoted strings (<a
href="https://redirect.github.com/pygments/pygments/issues/2744">#2744</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2758">#2758</a>)</li>
<li>Typst: Various improvements (<a
href="https://redirect.github.com/pygments/pygments/issues/2724">#2724</a>)</li>
<li>Various: Add <code>^</code> as an operator to Matlab, Octave and
Scilab (<a
href="https://redirect.github.com/pygments/pygments/issues/2798">#2798</a>)</li>
<li>Vyper: Add <code>staticcall</code> and <code>extcall</code> (<a
href="https://redirect.github.com/pygments/pygments/issues/2719">#2719</a>)</li>
</ul>
</li>
</ul>
<ul>
<li>Mark file extensions for <code>HTML/XML+Evoque</code> as aliases (<a
href="https://redirect.github.com/pygments/pygments/issues/2743">#2743</a>)</li>
<li>Add a color for <code>Operator.Word</code> to the <code>rrt</code>
style (<a
href="https://redirect.github.com/pygments/pygments/issues/2709">#2709</a>)</li>
<li>Fix broken link in the documentation (<a
href="https://redirect.github.com/pygments/pygments/issues/2803">#2803</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2804">#2804</a>)</li>
<li>Drop executable bit where not needed (<a
href="https://redirect.github.com/pygments/pygments/issues/2781">#2781</a>)</li>
<li>Reduce Mojo priority relative to Python in ``analyze_text´` (<a
href="https://redirect.github.com/pygments/pygments/issues/2771">#2771</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2772">#2772</a>)</li>
<li>Fix documentation builds (<a
href="https://redirect.github.com/pygments/pygments/issues/2712">#2712</a>)</li>
<li>Match example file names to the lexer's name (<a
href="https://redirect.github.com/pygments/pygments/issues/2713">#2713</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2715">#2715</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pygments/pygments/blob/master/CHANGES">pygments's
changelog</a>.</em></p>
<blockquote>
<h2>Version 2.19.1</h2>
<p>(released January 6th, 2025)</p>
<ul>
<li>
<p>Updated lexers:</p>
<ul>
<li>Ini: Fix quoted string regression introduced in 2.19.0</li>
<li>Lua: Fix a regression introduced in 2.19.0</li>
</ul>
</li>
</ul>
<h2>Version 2.19.0</h2>
<p>(released January 5th, 2025)</p>
<ul>
<li>
<p>New lexers:</p>
<ul>
<li>CodeQL (<a
href="https://redirect.github.com/pygments/pygments/issues/2819">#2819</a>)</li>
<li>Debian Sources (<a
href="https://redirect.github.com/pygments/pygments/issues/2788">#2788</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2747">#2747</a>)</li>
<li>Gleam (<a
href="https://redirect.github.com/pygments/pygments/issues/2662">#2662</a>)</li>
<li>GoogleSQL (<a
href="https://redirect.github.com/pygments/pygments/issues/2820">#2820</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2814">#2814</a>)</li>
<li>JSON5 (<a
href="https://redirect.github.com/pygments/pygments/issues/2734">#2734</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/1880">#1880</a>)</li>
<li>Maple (<a
href="https://redirect.github.com/pygments/pygments/issues/2763">#2763</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2548">#2548</a>)</li>
<li>NumbaIR (<a
href="https://redirect.github.com/pygments/pygments/issues/2433">#2433</a>)</li>
<li>PDDL (<a
href="https://redirect.github.com/pygments/pygments/issues/2799">#2799</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2616">#2616</a>)</li>
<li>Rego (<a
href="https://redirect.github.com/pygments/pygments/issues/2794">#2794</a>)</li>
<li>TableGen (<a
href="https://redirect.github.com/pygments/pygments/issues/2751">#2751</a>)</li>
<li>Vue.js (<a
href="https://redirect.github.com/pygments/pygments/issues/2832">#2832</a>)</li>
</ul>
</li>
<li>
<p>Updated lexers:</p>
<ul>
<li>BQN: Various improvements (<a
href="https://redirect.github.com/pygments/pygments/issues/2789">#2789</a>)</li>
<li>C#: Fix number highlighting (<a
href="https://redirect.github.com/pygments/pygments/issues/986">#986</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2727">#2727</a>),
add <code>file</code> keyword (<a
href="https://redirect.github.com/pygments/pygments/issues/2726">#2726</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2805">#2805</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2806">#2806</a>),
add various other keywords (<a
href="https://redirect.github.com/pygments/pygments/issues/2745">#2745</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2770">#2770</a>)</li>
<li>CSS: Add <code>revert</code> (<a
href="https://redirect.github.com/pygments/pygments/issues/2766">#2766</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2775">#2775</a>)</li>
<li>Debian control: Add <code>Change-By</code> field (<a
href="https://redirect.github.com/pygments/pygments/issues/2757">#2757</a>)</li>
<li>Elip: Improve punctuation handling (<a
href="https://redirect.github.com/pygments/pygments/issues/2651">#2651</a>)</li>
<li>Igor: Add <code>int</code> (<a
href="https://redirect.github.com/pygments/pygments/issues/2801">#2801</a>)</li>
<li>Ini: Fix quoted strings with embedded comment characters (<a
href="https://redirect.github.com/pygments/pygments/issues/2767">#2767</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2720">#2720</a>)</li>
<li>Java: Support functions returning types containing a question mark
(<a
href="https://redirect.github.com/pygments/pygments/issues/2737">#2737</a>)</li>
<li>JavaScript: Support private identiiers (<a
href="https://redirect.github.com/pygments/pygments/issues/2729">#2729</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2671">#2671</a>)</li>
<li>LLVM: Add <code>splat</code>, improve floating-point number parsing
(<a
href="https://redirect.github.com/pygments/pygments/issues/2755">#2755</a>)</li>
<li>Lua: Improve variable detection, add built-in functions (<a
href="https://redirect.github.com/pygments/pygments/issues/2829">#2829</a>)</li>
<li>Macaulay2: Update to 1.24.11 (<a
href="https://redirect.github.com/pygments/pygments/issues/2800">#2800</a>)</li>
<li>PostgreSQL: Add more <code>EXPLAIN</code> keywords (<a
href="https://redirect.github.com/pygments/pygments/issues/2785">#2785</a>),
handle <code>/</code> (<a
href="https://redirect.github.com/pygments/pygments/issues/2774">#2774</a>)</li>
<li>S-Lexer: Fix keywords (<a
href="https://redirect.github.com/pygments/pygments/issues/2082">#2082</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2750">#2750</a>)</li>
<li>TransactSQL: Fix single-line comments (<a
href="https://redirect.github.com/pygments/pygments/issues/2717">#2717</a>)</li>
<li>Turtle: Fix triple quoted strings (<a
href="https://redirect.github.com/pygments/pygments/issues/2744">#2744</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2758">#2758</a>)</li>
<li>Typst: Various improvements (<a
href="https://redirect.github.com/pygments/pygments/issues/2724">#2724</a>)</li>
<li>Various: Add <code>^</code> as an operator to Matlab, Octave and
Scilab (<a
href="https://redirect.github.com/pygments/pygments/issues/2798">#2798</a>)</li>
<li>Vyper: Add <code>staticcall</code> and <code>extcall</code> (<a
href="https://redirect.github.com/pygments/pygments/issues/2719">#2719</a>)</li>
</ul>
</li>
</ul>
<ul>
<li>Mark file extensions for <code>HTML/XML+Evoque</code> as aliases (<a
href="https://redirect.github.com/pygments/pygments/issues/2743">#2743</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pygments/pygments/commit/b583de4794e94b4dc4c2da03a7c29f462482293e"><code>b583de4</code></a>
Prepare 2.19.1 release.</li>
<li><a
href="https://github.com/pygments/pygments/commit/c13f3f11b8594decd01a8867e17a1a078ba2defd"><code>c13f3f1</code></a>
Prepare 2.19.1 release.</li>
<li><a
href="https://github.com/pygments/pygments/commit/cdbcd43227ea838909abada93533013a99b564c7"><code>cdbcd43</code></a>
Add regression test for .ini issue, update CHANGES.</li>
<li><a
href="https://github.com/pygments/pygments/commit/5792a21f452cd85c40c5a45bd6d69abb4d3a6d3e"><code>5792a21</code></a>
Update CHANGES.</li>
<li><a
href="https://github.com/pygments/pygments/commit/a9858663ed85219ed7475f5877b22b9cb49f660f"><code>a985866</code></a>
Merge pull request <a
href="https://redirect.github.com/pygments/pygments/issues/2835">#2835</a>
from kartben/fix_ini_double_quotes</li>
<li><a
href="https://github.com/pygments/pygments/commit/5822fd1fda4ded57651b6e95664da2c37bd0ed58"><code>5822fd1</code></a>
Fix Lua regressions.</li>
<li><a
href="https://github.com/pygments/pygments/commit/673d8243c1c66363c83ae5467b4cecf13b506f3c"><code>673d824</code></a>
Fix quoted string handling</li>
<li><a
href="https://github.com/pygments/pygments/commit/43bf86fb86f0a3a4bacedc65eace650947ecee51"><code>43bf86f</code></a>
Improve example regex in the docs.</li>
<li><a
href="https://github.com/pygments/pygments/commit/452ac621811e946c8276c298dc318343d63371e4"><code>452ac62</code></a>
Move on past 2.19.0.</li>
<li><a
href="https://github.com/pygments/pygments/commit/62dff316900a548aabf741d662b79edc39ed78b5"><code>62dff31</code></a>
Prepare 2.19 release.</li>
<li>Additional commits viewable in <a
href="https://github.com/pygments/pygments/compare/2.18.0...2.19.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `sphinx-reredirects` from 0.1.2 to 0.1.6
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/documatt/sphinx-reredirects/commit/9c21d3b53855a7783c00becbbdc60ed509ba84bb"><code>9c21d3b</code></a>
chore: release 0.1.6</li>
<li><a
href="https://github.com/documatt/sphinx-reredirects/commit/638f011c6406ab92b7ca96d14cfd1da4bf108ff4"><code>638f011</code></a>
Merge branch 'davidekete-preserve-url-fragments'</li>
<li><a
href="https://github.com/documatt/sphinx-reredirects/commit/e50560fcc30a187d50412d47a7e74c286a7eff63"><code>e50560f</code></a>
Merge branch 'main' into preserve-url-fragments</li>
<li><a
href="https://github.com/documatt/sphinx-reredirects/commit/a0822b53aa33c624a086160ee6f17efaf27b3c6a"><code>a0822b5</code></a>
feat: update default HTML template to preserve url fragments</li>
<li><a
href="https://github.com/documatt/sphinx-reredirects/commit/29503e30720d151109e4cf38708d44bdde388982"><code>29503e3</code></a>
style: reformatted with prettier</li>
<li><a
href="https://github.com/documatt/sphinx-reredirects/commit/19207de769213abd98214db4741428ace73e043e"><code>19207de</code></a>
chore: setup maintenance tools</li>
<li><a
href="https://github.com/documatt/sphinx-reredirects/commit/4671309394be569e15cf004598242588bdbd9ce7"><code>4671309</code></a>
feat: update FAQ to match new default template</li>
<li><a
href="https://github.com/documatt/sphinx-reredirects/commit/36c6a8bb7126d5e3d28c69525bb4747da744e30b"><code>36c6a8b</code></a>
feat: update default HTML template to preserve url fragments</li>
<li><a
href="https://github.com/documatt/sphinx-reredirects/commit/7b3cf64a77893e69cdccffb228dd5df8b5b1bff9"><code>7b3cf64</code></a>
docs: Update LICENSE to MIT</li>
<li><a
href="https://github.com/documatt/sphinx-reredirects/commit/1fb15c82b8951a5701301f774497627a77cb2900"><code>1fb15c8</code></a>
docs: create README.md</li>
<li>Additional commits viewable in <a
href="https://github.com/documatt/sphinx-reredirects/compare/v0.1.2...v0.1.6">compare
view</a></li>
</ul>
</details>
<br />

Updates `urllib3` from 2.2.3 to 2.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/urllib3/urllib3/releases">urllib3's
releases</a>.</em></p>
<blockquote>
<h2>2.3.0</h2>
<h2>🚀 urllib3 is fundraising for HTTP/2 support</h2>
<p><a
href="https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support">urllib3
is raising ~$40,000 USD</a> to release HTTP/2 support and ensure
long-term sustainable maintenance of the project after a sharp decline
in financial support for 2023. If your company or organization uses
Python and would benefit from HTTP/2 support in Requests, pip, cloud
SDKs, and thousands of other projects <a
href="https://opencollective.com/urllib3">please consider contributing
financially</a> to ensure HTTP/2 support is developed sustainably and
maintained for the long-haul.</p>
<p>Thank you for your support.</p>
<h2>Features</h2>
<ul>
<li>Added <code>HTTPResponse.shutdown()</code> to stop any ongoing or
future reads for a specific response. It calls
<code>shutdown(SHUT_RD)</code> on the underlying socket. This feature
was <a
href="https://opencollective.com/urllib3/contributions/815307">sponsored
by LaunchDarkly</a>. (<a
href="https://redirect.github.com/urllib3/urllib3/issues/2868">urllib3/urllib3#2868</a>)</li>
<li>Added support for JavaScript Promise Integration on Emscripten. This
enables more efficient WebAssembly requests and streaming, and makes it
possible to use in Node.js if you launch it as node
<code>--experimental-wasm-stack-switching</code>. (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3400">urllib3/urllib3#3400</a>)</li>
<li>Added the <code>proxy_is_tunneling</code> property to
<code>HTTPConnection</code> and <code>HTTPSConnection</code>. (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3285">urllib3/urllib3#3285</a>)</li>
<li>Added pickling support to <code>NewConnectionError</code> and
<code>NameResolutionError</code>. (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3480">urllib3/urllib3#3480</a>)</li>
</ul>
<h2>Bugfixes</h2>
<ul>
<li>Fixed an issue in debug logs where the HTTP version was rendering as
&quot;HTTP/11&quot; instead of &quot;HTTP/1.1&quot;. (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3489">urllib3/urllib3#3489</a>)</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>Removed support for Python 3.8. (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3492">urllib3/urllib3#3492</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/urllib3/urllib3/compare/2.2.3...2.3.0">https://github.com/urllib3/urllib3/compare/2.2.3...2.3.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/urllib3/urllib3/blob/main/CHANGES.rst">urllib3's
changelog</a>.</em></p>
<blockquote>
<h1>2.3.0 (2024-12-22)</h1>
<h2>Features</h2>
<ul>
<li>Added <code>HTTPResponse.shutdown()</code> to stop any ongoing or
future reads for a specific response. It calls
<code>shutdown(SHUT_RD)</code> on the underlying socket. This feature
was <code>sponsored by LaunchDarkly
&lt;https://opencollective.com/urllib3/contributions/815307&gt;</code><strong>.
(<code>[#2868](https://github.com/urllib3/urllib3/issues/2868)
&lt;https://github.com/urllib3/urllib3/issues/2868&gt;</code></strong>)</li>
<li>Added support for JavaScript Promise Integration on Emscripten. This
enables more efficient WebAssembly
requests and streaming, and makes it possible to use in Node.js if you
launch it as <code>node --experimental-wasm-stack-switching</code>.
(<code>[#3400](https://github.com/urllib3/urllib3/issues/3400)
&lt;https://github.com/urllib3/urllib3/issues/3400&gt;</code>__)</li>
<li>Added the <code>proxy_is_tunneling</code> property to
<code>HTTPConnection</code> and <code>HTTPSConnection</code>.
(<code>[#3285](https://github.com/urllib3/urllib3/issues/3285)
&lt;https://github.com/urllib3/urllib3/issues/3285&gt;</code>__)</li>
<li>Added pickling support to <code>NewConnectionError</code> and
<code>NameResolutionError</code>.
(<code>[#3480](https://github.com/urllib3/urllib3/issues/3480)
&lt;https://github.com/urllib3/urllib3/issues/3480&gt;</code>__)</li>
</ul>
<h2>Bugfixes</h2>
<ul>
<li>Fixed an issue in debug logs where the HTTP version was rendering as
&quot;HTTP/11&quot; instead of &quot;HTTP/1.1&quot;.
(<code>[#3489](https://github.com/urllib3/urllib3/issues/3489)
&lt;https://github.com/urllib3/urllib3/issues/3489&gt;</code>__)</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>Removed support for Python 3.8.
(<code>[#3492](https://github.com/urllib3/urllib3/issues/3492)
&lt;https://github.com/urllib3/urllib3/issues/3492&gt;</code>__)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/urllib3/urllib3/commit/2f68c5363ef632d73dd4d9300289d7ce5ff275b4"><code>2f68c53</code></a>
Release 2.3.0</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/f7bcf6986fa9c43fc7884b648f66688db593b491"><code>f7bcf69</code></a>
Add HTTPResponse.shutdown() to stop blocking reads (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3527">#3527</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/e94224931feddf9e12bb25452bf0d0c21da8a7e0"><code>e942249</code></a>
Update .readthedocs.yml addressing a deprecation (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3534">#3534</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/905549d64a948abd4b6962edecb8dd5569166275"><code>905549d</code></a>
Upgrade Python pre-commit tools (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3529">#3529</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/716d8340b89f7d8ec549579d14e3c0a7e5f859a5"><code>716d834</code></a>
Fix PyPI publish with Core metadata 2.4 (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3531">#3531</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/7ab935c6ddd546c7d57b03c0269685c61c8e60c6"><code>7ab935c</code></a>
Address zizmor issues</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/181357ed2aecf9c523f2664c05f176cde9692994"><code>181357e</code></a>
Bump Quart to fix CI (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3524">#3524</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/0e7e0df0586573d51c78076d4871050783bec7c8"><code>0e7e0df</code></a>
Start testing with Python 3.14</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/d67d09bfd04ecdae1280a563d06b32949befaf71"><code>d67d09b</code></a>
Bump mypy version</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/20032ec38a09680bcfb6d97b4c43b276af43cc64"><code>20032ec</code></a>
Drop unneeded dependency pins and a warning filter</li>
<li>Additional commits viewable in <a
href="https://github.com/urllib3/urllib3/compare/2.2.3...2.3.0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ggojska pushed a commit to ggojska/llvm that referenced this pull request Apr 7, 2025
…ntel#17770)

Bumps the llvm-docs-requirements group in /llvm/docs with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [babel](https://github.com/python-babel/babel) | `2.16.0` | `2.17.0` |
| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) |
`4.12.3` | `4.13.3` |
| [certifi](https://github.com/certifi/python-certifi) | `2024.8.30` |
`2025.1.31` |
| [charset-normalizer](https://github.com/jawah/charset_normalizer) |
`3.4.0` | `3.4.1` |
| [pygments](https://github.com/pygments/pygments) | `2.18.0` | `2.19.1`
|
| [sphinx-reredirects](https://github.com/documatt/sphinx-reredirects) |
`0.1.2` | `0.1.6` |
| [urllib3](https://github.com/urllib3/urllib3) | `2.2.3` | `2.3.0` |

Updates `babel` from 2.16.0 to 2.17.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python-babel/babel/releases">babel's
releases</a>.</em></p>
<blockquote>
<h2>v2.17.0</h2>
<p>Happy 2025! This release is being made from FOSDEM 2025, in Brussels,
Belgium. 🇧🇪</p>
<p>Thank you to all contributors, new and old, and here's to another
great year of internationalization and localization!</p>
<hr />
<p>The changelog below is auto-generated by GitHub.</p>
<p>Please see <a
href="https://github.com/python-babel/babel/blob/b50a1d2186c20f3359f7e10853d2b2225a46ed40/CHANGES.rst">CHANGELOG.rst</a>
for additional details.</p>
<hr />
<h2>What's Changed</h2>
<ul>
<li>Fix deprecation warnings for <code>datetime.utcnow()</code> by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1119">python-babel/babel#1119</a></li>
<li>Enclose white spaces in references by <a
href="https://github.com/Dunedan"><code>@​Dunedan</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1105">python-babel/babel#1105</a></li>
<li>Replace <code>str.index</code> with <code>str.find</code> by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1130">python-babel/babel#1130</a></li>
<li>Replace more alternate characters in <code>format_skeleton</code> by
<a href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1122">python-babel/babel#1122</a></li>
<li>Fix extracted lineno with nested calls by <a
href="https://github.com/dylankiss"><code>@​dylankiss</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1126">python-babel/babel#1126</a></li>
<li>&quot;Deleted duplicate code in test&quot; by <a
href="https://github.com/mattdiaz007"><code>@​mattdiaz007</code></a> in
<a
href="https://redirect.github.com/python-babel/babel/pull/1138">python-babel/babel#1138</a></li>
<li>Fix of list index out of range error in PoFileParser.add_message
when translations is empty by <a
href="https://github.com/gabe-sherman"><code>@​gabe-sherman</code></a>
in <a
href="https://redirect.github.com/python-babel/babel/pull/1135">python-babel/babel#1135</a></li>
<li>Make seconds optional in <code>parse_time</code> time formats by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1141">python-babel/babel#1141</a></li>
<li>Mark <code>wraptext</code> deprecated; use <code>TextWrapper</code>
directly in <code>write_po</code> by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1140">python-babel/babel#1140</a></li>
<li>Fix the way obsolete messages are stored by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1132">python-babel/babel#1132</a></li>
<li>Replace <code>OrderedDict</code> with just <code>dict</code> by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1149">python-babel/babel#1149</a></li>
<li>Use CLDR 46 by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1145">python-babel/babel#1145</a></li>
<li>Update CI to use python 3.13 and Ubuntu 24.04 by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1153">python-babel/babel#1153</a></li>
<li>Adjust docs/conf.py to add compatibility with sphinx 8 by <a
href="https://github.com/hrnciar"><code>@​hrnciar</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1155">python-babel/babel#1155</a></li>
<li>Allow specifying an explicit format in parse_date/parse_time by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1131">python-babel/babel#1131</a></li>
<li>Simplify <code>read_mo</code> logic regarding
<code>catalog.charset</code> by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1148">python-babel/babel#1148</a></li>
<li>Bump CI/tool versions by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1160">python-babel/babel#1160</a></li>
<li>fix: check_and_call_extract_file uses the first matching method and
options, instead of the first matching method and last matching options
by <a href="https://github.com/jpmckinney"><code>@​jpmckinney</code></a>
in <a
href="https://redirect.github.com/python-babel/babel/pull/1121">python-babel/babel#1121</a></li>
<li>Prevent wrapping file locations containing white space by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1120">python-babel/babel#1120</a></li>
<li>Add tzdata as dev dependency and sync with tox.ini by <a
href="https://github.com/wandrew004"><code>@​wandrew004</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1159">python-babel/babel#1159</a></li>
<li>Support short and narrow formats for format_timedelta when using
<code>add_direction</code> by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1163">python-babel/babel#1163</a></li>
<li>Improve handling for <code>locale=None</code> by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1164">python-babel/babel#1164</a></li>
<li>Use <code>pytest.raises(match=...)</code> by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1166">python-babel/babel#1166</a></li>
<li>Strip extra leading slashes in <code>/etc/localtime</code> by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1165">python-babel/babel#1165</a></li>
<li>Remove redundant assignment in <code>Catalog.__setitem__</code> by
<a href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1167">python-babel/babel#1167</a></li>
<li>Small cleanups by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1170">python-babel/babel#1170</a></li>
<li>Small test cleanup by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1172">python-babel/babel#1172</a></li>
<li>Add <code>Message.python_brace_format</code> by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1169">python-babel/babel#1169</a></li>
<li>Import <code>Literal</code> from the typing module by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1175">python-babel/babel#1175</a></li>
<li>Prefer LC_MONETARY when formatting currencies by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1173">python-babel/babel#1173</a></li>
<li>Fix dates formatting <code>Y</code>, <code>w</code> and
<code>W</code> symbols for week-numbering by <a
href="https://github.com/jun66j5"><code>@​jun66j5</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1179">python-babel/babel#1179</a></li>
<li>Increase test coverage of the <code>python_format</code> checker by
<a href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1176">python-babel/babel#1176</a></li>
<li>Prepare for 2.17.0 by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/python-babel/babel/pull/1182">python-babel/babel#1182</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Dunedan"><code>@​Dunedan</code></a> made
their first contribution in <a
href="https://redirect.github.com/python-babel/babel/pull/1105">python-babel/babel#1105</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python-babel/babel/blob/master/CHANGES.rst">babel's
changelog</a>.</em></p>
<blockquote>
<h2>Version 2.17.0</h2>
<p>Happy 2025! This release is being made from FOSDEM 2025, in Brussels,
Belgium.</p>
<p>Thank you to all contributors, new and old,
and here's to another great year of internationalization and
localization!</p>
<p>Features</p>
<pre><code>
* CLDR: Babel now uses CLDR 46, by @tomasr8 in :gh:`1145`
* Dates: Allow specifying an explicit format in parse_date/parse_time by
@tomasr8 in :gh:`1131`
* Dates: More alternate characters are now supported by
`format_skeleton`. By @tomasr8 in :gh:`1122`
* Dates: Support short and narrow formats for format_timedelta when
using `add_direction`, by @akx in :gh:`1163`
* Messages: .po files now enclose white spaces in filenames like GNU
gettext does. By @Dunedan in :gh:`1105`, and @tomasr8 in :gh:`1120`
* Messages: Initial support for `Message.python_brace_format`, by
@tomasr8 in :gh:`1169`
* Numbers: LC_MONETARY is now preferred when formatting currencies, by
@akx in :gh:`1173`
<p>Bugfixes<br />
</code></pre></p>
<ul>
<li>Dates: Make seconds optional in <code>parse_time</code> time formats
by <a href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in
:gh:<code>1141</code></li>
<li>Dates: Replace <code>str.index</code> with <code>str.find</code> by
<a href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in
:gh:<code>1130</code></li>
<li>Dates: Strip extra leading slashes in <code>/etc/localtime</code> by
<a href="https://github.com/akx"><code>@​akx</code></a> in
:gh:<code>1165</code></li>
<li>Dates: Week numbering and formatting of dates with week numbers was
repaired by <a
href="https://github.com/jun66j5"><code>@​jun66j5</code></a> in
:gh:<code>1179</code></li>
<li>General: Improve handling for <code>locale=None</code> by <a
href="https://github.com/akx"><code>@​akx</code></a> in
:gh:<code>1164</code></li>
<li>General: Remove redundant assignment in
<code>Catalog.__setitem__</code> by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in
:gh:<code>1167</code></li>
<li>Messages: Fix extracted lineno with nested calls, by <a
href="https://github.com/dylankiss"><code>@​dylankiss</code></a> in
:gh:<code>1126</code></li>
<li>Messages: Fix of list index out of range when translations is empty,
by <a
href="https://github.com/gabe-sherman"><code>@​gabe-sherman</code></a>
in :gh:<code>1135</code></li>
<li>Messages: Fix the way obsolete messages are stored by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in
:gh:<code>1132</code></li>
<li>Messages: Simplify <code>read_mo</code> logic regarding
<code>catalog.charset</code> by <a
href="https://github.com/tomasr8"><code>@​tomasr8</code></a> in
:gh:<code>1148</code></li>
<li>Messages: Use the first matching method &amp; options, rather than
first matching method &amp; last options, by <a
href="https://github.com/jpmckinney"><code>@​jpmckinney</code></a> in
:gh:<code>1121</code></li>
</ul>
<p>Deprecation and compatibility</p>
<pre><code>
* Dates: Fix deprecation warnings for `datetime.utcnow()` by @tomasr8 in
:gh:`1119`
* Docs: Adjust docs/conf.py to add compatibility with sphinx 8 by
@hrnciar in :gh:`1155`
* General: Import `Literal` from the typing module by @tomasr8 in
:gh:`1175`
* General: Replace `OrderedDict` with just `dict` by @tomasr8 in
:gh:`1149`
* Messages: Mark `wraptext` deprecated; use `TextWrapper` directly in
`write_po` by @akx in :gh:`1140`
<p>Infrastructure</p>
<pre><code>
* Add tzdata as dev dependency and sync with tox.ini by @wandrew004 in
:gh:`1159`
* Duplicate test code was deleted by @mattdiaz007 in :gh:`1138`
* Increase test coverage of the `python_format` checker by @tomasr8 in
:gh:`1176`
* Small cleanups by @akx in :gh:`1160`, :gh:`1166`, :gh:`1170` and
:gh:`1172`
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt; 
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;... (truncated)&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;Commits&lt;/summary&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/python-babel/babel/commit/b50a1d2186c20f3359f7e10853d2b2225a46ed40&quot;&gt;&lt;code&gt;b50a1d2&lt;/code&gt;&lt;/a&gt;
Prepare for 2.17.0 (&lt;a
href=&quot;https://redirect.github.com/python-babel/babel/issues/1182&quot;&gt;#1182&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/python-babel/babel/commit/5f117b2689573aa98acc8a47108c49b99f4d1394&quot;&gt;&lt;code&gt;5f117b2&lt;/code&gt;&lt;/a&gt;
Increase test coverage of the &lt;code&gt;python_format&lt;/code&gt;
checker (&lt;a
href=&quot;https://redirect.github.com/python-babel/babel/issues/1176&quot;&gt;#1176&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/python-babel/babel/commit/363ad7531fb5dcdc3e9844573592b0b44afb914b&quot;&gt;&lt;code&gt;363ad75&lt;/code&gt;&lt;/a&gt;
Fix dates formatting &lt;code&gt;Y&lt;/code&gt;,
&lt;code&gt;w&lt;/code&gt; and &lt;code&gt;W&lt;/code&gt; symbols for
week-numbering (&lt;a
href=&quot;https://redirect.github.com/python-babel/babel/issues/1179&quot;&gt;#1179&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/python-babel/babel/commit/e9c3ef8d0de3080ca59f7f8dbabf9b52983adc7d&quot;&gt;&lt;code&gt;e9c3ef8&lt;/code&gt;&lt;/a&gt;
Merge pull request &lt;a
href=&quot;https://redirect.github.com/python-babel/babel/issues/1173&quot;&gt;#1173&lt;/a&gt;
from python-babel/lc-monetary-2&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/python-babel/babel/commit/56ef7c7f578a904917464c187e399abb762bd5e3&quot;&gt;&lt;code&gt;56ef7c7&lt;/code&gt;&lt;/a&gt;
Prefer LC_MONETARY when formatting currency&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/python-babel/babel/commit/aee6d698b541dc50439280d7e093092cc0d4b832&quot;&gt;&lt;code&gt;aee6d69&lt;/code&gt;&lt;/a&gt;
&lt;code&gt;default_locale&lt;/code&gt;: support multiple
keys&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/python-babel/babel/commit/2d8a808864d1aae5d3d02d4f95917c79740c5d35&quot;&gt;&lt;code&gt;2d8a808&lt;/code&gt;&lt;/a&gt;
Import &lt;code&gt;Literal&lt;/code&gt; &amp;amp;
&lt;code&gt;TypedDict&lt;/code&gt; from the typing module (&lt;a
href=&quot;https://redirect.github.com/python-babel/babel/issues/1175&quot;&gt;#1175&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/python-babel/babel/commit/98b9562c05e5276038c27ec12c12f3e92dc027b6&quot;&gt;&lt;code&gt;98b9562&lt;/code&gt;&lt;/a&gt;
Add basic support for
&lt;code&gt;Message.python_brace_format&lt;/code&gt; (&lt;a
href=&quot;https://redirect.github.com/python-babel/babel/issues/1169&quot;&gt;#1169&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/python-babel/babel/commit/0c1091c9de9543e30bc4b845eb10b5bf84516d7b&quot;&gt;&lt;code&gt;0c1091c&lt;/code&gt;&lt;/a&gt;
Small test cleanup (&lt;a
href=&quot;https://redirect.github.com/python-babel/babel/issues/1172&quot;&gt;#1172&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/python-babel/babel/commit/db4879136a7fbcef475f26b75dbdd65d0ce488f9&quot;&gt;&lt;code&gt;db48791&lt;/code&gt;&lt;/a&gt;
Merge pull request &lt;a
href=&quot;https://redirect.github.com/python-babel/babel/issues/1170&quot;&gt;#1170&lt;/a&gt;
from python-babel/small-cleanup&lt;/li&gt;
&lt;li&gt;Additional commits viewable in &lt;a
href=&quot;https://github.com/python-babel/babel/compare/v2.16.0...v2.17.0&quot;&gt;compare
view&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;

&lt;br /&gt;
</code></pre>

Updates `beautifulsoup4` from 4.12.3 to 4.13.3

Updates `certifi` from 2024.8.30 to 2025.1.31
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/certifi/python-certifi/commit/088f93122ea7c91cfdaeea7fa76ab2f850b8064d"><code>088f931</code></a>
2025.01.31 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/336">#336</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/1c177954a1d9f46efdff5956fe16de88bdcefc34"><code>1c17795</code></a>
Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/335">#335</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/a2e88f0eb5bab543e97f43dac5d38739bd193bd0"><code>a2e88f0</code></a>
Bump actions/upload-artifact from 4.5.0 to 4.6.0 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/334">#334</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/82284ed1f981c6a3ba4ef9de739cd32918e70a26"><code>82284ed</code></a>
Bump peter-evans/create-pull-request from 7.0.5 to 7.0.6 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/333">#333</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/10d3d1d86c89e4054ce2c021cf2309af8c26aa57"><code>10d3d1d</code></a>
Bump actions/upload-artifact from 4.4.3 to 4.5.0 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/332">#332</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/4ba39005afa1958ee24af51a11b64299fba61025"><code>4ba3900</code></a>
2024.12.14 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/329">#329</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/9164660735d61e7eee69e7ff28dec5200eddf20f"><code>9164660</code></a>
Bump pypa/gh-action-pypi-publish from 1.12.2 to 1.12.3 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/331">#331</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/3dc36518666bb84a2feeaa45d60a231af494c35b"><code>3dc3651</code></a>
Bump pypa/gh-action-pypi-publish from 1.11.0 to 1.12.2 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/328">#328</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/c5bf18dcd30be7e743268c2d0ce484e539b589c0"><code>c5bf18d</code></a>
Bump pypa/gh-action-pypi-publish from 1.10.3 to 1.11.0 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/327">#327</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/b9083917686e810b56e305cb45364af482b63099"><code>b908391</code></a>
Bump actions/setup-python from 5.2.0 to 5.3.0 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/326">#326</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/certifi/python-certifi/compare/2024.08.30...2025.01.31">compare
view</a></li>
</ul>
</details>
<br />

Updates `charset-normalizer` from 3.4.0 to 3.4.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jawah/charset_normalizer/releases">charset-normalizer's
releases</a>.</em></p>
<blockquote>
<h2>Version 3.4.1</h2>
<h2>🚀 We're still raising awareness around HTTP/2, and HTTP/3!</h2>
<p>Did you know that Internet Explorer 11 shipped with an optional
HTTP/2 support back in 2013? also libcurl did ship it in 2014[...]
Using Requests today is the rough equivalent of using EOL Windows 8! We
promptly invite Python developers to look at the first drop-in
replacement for Requests, <a
href="https://github.com/jawah/niquests">namely Niquests</a>. Ship with
native WebSocket, SSE, Happy Eyeballs, DNS over HTTPS, and so on[...]
All of this while remaining compatible with all Requests prior plug-ins
/ add-ons.</p>
<p>It leverages charset-normalizer in a better way! Check it out, you
will gain up to being 3X faster and get a real/respectable support with
it.</p>
<h2><a
href="https://github.com/Ousret/charset_normalizer/compare/3.4.0...3.4.1">3.4.1</a>
(2024-12-24)</h2>
<h3>Changed</h3>
<ul>
<li>Project metadata are now stored using <code>pyproject.toml</code>
instead of <code>setup.cfg</code> using setuptools as the build
backend.</li>
<li>Enforce annotation delayed loading for a simpler and consistent
types in the project.</li>
<li>Optional mypyc compilation upgraded to version 1.14 for Python &gt;=
3.8</li>
</ul>
<h3>Added</h3>
<ul>
<li>pre-commit configuration.</li>
<li>noxfile.</li>
</ul>
<h3>Removed</h3>
<ul>
<li><code>build-requirements.txt</code> as per using
<code>pyproject.toml</code> native build configuration.</li>
<li><code>bin/integration.py</code> and <code>bin/serve.py</code> in
favor of downstream integration test (see noxfile).</li>
<li><code>setup.cfg</code> in favor of <code>pyproject.toml</code>
metadata configuration.</li>
<li>Unused <code>utils.range_scan</code> function.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Converting content to Unicode bytes may insert <code>utf_8</code>
instead of preferred <code>utf-8</code>. (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/572">#572</a>)</li>
<li>Deprecation warning &quot;'count' is passed as positional
argument&quot; when converting to Unicode bytes on Python 3.13+</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md">charset-normalizer's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/Ousret/charset_normalizer/compare/3.4.0...3.4.1">3.4.1</a>
(2024-12-24)</h2>
<h3>Changed</h3>
<ul>
<li>Project metadata are now stored using <code>pyproject.toml</code>
instead of <code>setup.cfg</code> using setuptools as the build
backend.</li>
<li>Enforce annotation delayed loading for a simpler and consistent
types in the project.</li>
<li>Optional mypyc compilation upgraded to version 1.14 for Python &gt;=
3.8</li>
</ul>
<h3>Added</h3>
<ul>
<li>pre-commit configuration.</li>
<li>noxfile.</li>
</ul>
<h3>Removed</h3>
<ul>
<li><code>build-requirements.txt</code> as per using
<code>pyproject.toml</code> native build configuration.</li>
<li><code>bin/integration.py</code> and <code>bin/serve.py</code> in
favor of downstream integration test (see noxfile).</li>
<li><code>setup.cfg</code> in favor of <code>pyproject.toml</code>
metadata configuration.</li>
<li>Unused <code>utils.range_scan</code> function.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Converting content to Unicode bytes may insert <code>utf_8</code>
instead of preferred <code>utf-8</code>. (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/572">#572</a>)</li>
<li>Deprecation warning &quot;'count' is passed as positional
argument&quot; when converting to Unicode bytes on Python 3.13+</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/ffdf7f5f08beb0ceb92dc0637e97382ba27cecfa"><code>ffdf7f5</code></a>
:wrench: fix long description content-type inferred as rst instead of
md</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/c7197b7b425835dd7abf028f45e6b533060886e3"><code>c7197b7</code></a>
:pencil: fix changelog entries (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/582">#582</a>)</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/c390e1f231473f2766dd860dc70a1ee1ae5609e6"><code>c390e1f</code></a>
Merge pull request <a
href="https://redirect.github.com/jawah/charset_normalizer/issues/581">#581</a>
from jawah/refresh-part-2</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/f9d6b8cf32c36cbeefcd42f585bf57bfc39cee11"><code>f9d6b8c</code></a>
:lock: add CODEOWNERS</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/7ce1ef1de3148d18eb6a01448c9a15bf5324a9cf"><code>7ce1ef1</code></a>
:wrench: use ubuntu-22.04 for cibuildwheel in continuous deployment
workflow</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/deed20577ba5358bb9624c17e6c8aa6ab26f6e08"><code>deed205</code></a>
:wrench: update LICENSE copyright</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/f11f5710799db58947a6fb61c20dbb75e57e3b5d"><code>f11f571</code></a>
:wrench: include noxfile in sdist</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/1ec7c0632f15324afd769208553bf603be5f917e"><code>1ec7c06</code></a>
:wrench: update changelog</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/14b4649fa24ee0d58e351c106011fb1bace4a9bc"><code>14b4649</code></a>
:bug: output(...) replace declarative mark using non iana compliant
encoding ...</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/1b06bc0407dc0f47e9629cbc802977711d0ffc7b"><code>1b06bc0</code></a>
Merge branch 'refresh-part-2' of github.com:jawah/charset_normalizer
into ref...</li>
<li>Additional commits viewable in <a
href="https://github.com/jawah/charset_normalizer/compare/3.4.0...3.4.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `pygments` from 2.18.0 to 2.19.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pygments/pygments/releases">pygments's
releases</a>.</em></p>
<blockquote>
<h2>2.19.1</h2>
<ul>
<li>
<p>Updated lexers:</p>
<ul>
<li>Ini: Fix quoted string regression introduced in 2.19.0</li>
<li>Lua: Fix a regression introduced in 2.19.0</li>
</ul>
</li>
</ul>
<h2>2.19.0</h2>
<ul>
<li>
<p>New lexers:</p>
<ul>
<li>CodeQL (<a
href="https://redirect.github.com/pygments/pygments/issues/2819">#2819</a>)</li>
<li>Debian Sources (<a
href="https://redirect.github.com/pygments/pygments/issues/2788">#2788</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2747">#2747</a>)</li>
<li>Gleam (<a
href="https://redirect.github.com/pygments/pygments/issues/2662">#2662</a>)</li>
<li>GoogleSQL (<a
href="https://redirect.github.com/pygments/pygments/issues/2820">#2820</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2814">#2814</a>)</li>
<li>JSON5 (<a
href="https://redirect.github.com/pygments/pygments/issues/2734">#2734</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/1880">#1880</a>)</li>
<li>Maple (<a
href="https://redirect.github.com/pygments/pygments/issues/2763">#2763</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2548">#2548</a>)</li>
<li>NumbaIR (<a
href="https://redirect.github.com/pygments/pygments/issues/2433">#2433</a>)</li>
<li>PDDL (<a
href="https://redirect.github.com/pygments/pygments/issues/2799">#2799</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2616">#2616</a>)</li>
<li>Rego (<a
href="https://redirect.github.com/pygments/pygments/issues/2794">#2794</a>)</li>
<li>TableGen (<a
href="https://redirect.github.com/pygments/pygments/issues/2751">#2751</a>)</li>
<li>Vue.js (<a
href="https://redirect.github.com/pygments/pygments/issues/2832">#2832</a>)</li>
</ul>
</li>
<li>
<p>Updated lexers:</p>
<ul>
<li>BQN: Various improvements (<a
href="https://redirect.github.com/pygments/pygments/issues/2789">#2789</a>)</li>
<li>C#: Fix number highlighting (<a
href="https://redirect.github.com/pygments/pygments/issues/986">#986</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2727">#2727</a>),
add <code>file</code> keyword (<a
href="https://redirect.github.com/pygments/pygments/issues/2726">#2726</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2805">#2805</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2806">#2806</a>),
add various other keywords (<a
href="https://redirect.github.com/pygments/pygments/issues/2745">#2745</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2770">#2770</a>)</li>
<li>CSS: Add <code>revert</code> (<a
href="https://redirect.github.com/pygments/pygments/issues/2766">#2766</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2775">#2775</a>)</li>
<li>Debian control: Add <code>Change-By</code> field (<a
href="https://redirect.github.com/pygments/pygments/issues/2757">#2757</a>)</li>
<li>Elip: Improve punctuation handling (<a
href="https://redirect.github.com/pygments/pygments/issues/2651">#2651</a>)</li>
<li>Igor: Add <code>int</code> (<a
href="https://redirect.github.com/pygments/pygments/issues/2801">#2801</a>)</li>
<li>Ini: Fix quoted strings with embedded comment characters (<a
href="https://redirect.github.com/pygments/pygments/issues/2767">#2767</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2720">#2720</a>)</li>
<li>Java: Support functions returning types containing a question mark
(<a
href="https://redirect.github.com/pygments/pygments/issues/2737">#2737</a>)</li>
<li>JavaScript: Support private identiiers (<a
href="https://redirect.github.com/pygments/pygments/issues/2729">#2729</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2671">#2671</a>)</li>
<li>LLVM: Add <code>splat</code>, improve floating-point number parsing
(<a
href="https://redirect.github.com/pygments/pygments/issues/2755">#2755</a>)</li>
<li>Lua: Improve variable detection, add built-in functions (<a
href="https://redirect.github.com/pygments/pygments/issues/2829">#2829</a>)</li>
<li>Macaulay2: Update to 1.24.11 (<a
href="https://redirect.github.com/pygments/pygments/issues/2800">#2800</a>)</li>
<li>PostgreSQL: Add more <code>EXPLAIN</code> keywords (<a
href="https://redirect.github.com/pygments/pygments/issues/2785">#2785</a>),
handle <code>/</code> (<a
href="https://redirect.github.com/pygments/pygments/issues/2774">#2774</a>)</li>
<li>S-Lexer: Fix keywords (<a
href="https://redirect.github.com/pygments/pygments/issues/2082">#2082</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2750">#2750</a>)</li>
<li>TransactSQL: Fix single-line comments (<a
href="https://redirect.github.com/pygments/pygments/issues/2717">#2717</a>)</li>
<li>Turtle: Fix triple quoted strings (<a
href="https://redirect.github.com/pygments/pygments/issues/2744">#2744</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2758">#2758</a>)</li>
<li>Typst: Various improvements (<a
href="https://redirect.github.com/pygments/pygments/issues/2724">#2724</a>)</li>
<li>Various: Add <code>^</code> as an operator to Matlab, Octave and
Scilab (<a
href="https://redirect.github.com/pygments/pygments/issues/2798">#2798</a>)</li>
<li>Vyper: Add <code>staticcall</code> and <code>extcall</code> (<a
href="https://redirect.github.com/pygments/pygments/issues/2719">#2719</a>)</li>
</ul>
</li>
</ul>
<ul>
<li>Mark file extensions for <code>HTML/XML+Evoque</code> as aliases (<a
href="https://redirect.github.com/pygments/pygments/issues/2743">#2743</a>)</li>
<li>Add a color for <code>Operator.Word</code> to the <code>rrt</code>
style (<a
href="https://redirect.github.com/pygments/pygments/issues/2709">#2709</a>)</li>
<li>Fix broken link in the documentation (<a
href="https://redirect.github.com/pygments/pygments/issues/2803">#2803</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2804">#2804</a>)</li>
<li>Drop executable bit where not needed (<a
href="https://redirect.github.com/pygments/pygments/issues/2781">#2781</a>)</li>
<li>Reduce Mojo priority relative to Python in ``analyze_text´` (<a
href="https://redirect.github.com/pygments/pygments/issues/2771">#2771</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2772">#2772</a>)</li>
<li>Fix documentation builds (<a
href="https://redirect.github.com/pygments/pygments/issues/2712">#2712</a>)</li>
<li>Match example file names to the lexer's name (<a
href="https://redirect.github.com/pygments/pygments/issues/2713">#2713</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2715">#2715</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pygments/pygments/blob/master/CHANGES">pygments's
changelog</a>.</em></p>
<blockquote>
<h2>Version 2.19.1</h2>
<p>(released January 6th, 2025)</p>
<ul>
<li>
<p>Updated lexers:</p>
<ul>
<li>Ini: Fix quoted string regression introduced in 2.19.0</li>
<li>Lua: Fix a regression introduced in 2.19.0</li>
</ul>
</li>
</ul>
<h2>Version 2.19.0</h2>
<p>(released January 5th, 2025)</p>
<ul>
<li>
<p>New lexers:</p>
<ul>
<li>CodeQL (<a
href="https://redirect.github.com/pygments/pygments/issues/2819">#2819</a>)</li>
<li>Debian Sources (<a
href="https://redirect.github.com/pygments/pygments/issues/2788">#2788</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2747">#2747</a>)</li>
<li>Gleam (<a
href="https://redirect.github.com/pygments/pygments/issues/2662">#2662</a>)</li>
<li>GoogleSQL (<a
href="https://redirect.github.com/pygments/pygments/issues/2820">#2820</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2814">#2814</a>)</li>
<li>JSON5 (<a
href="https://redirect.github.com/pygments/pygments/issues/2734">#2734</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/1880">#1880</a>)</li>
<li>Maple (<a
href="https://redirect.github.com/pygments/pygments/issues/2763">#2763</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2548">#2548</a>)</li>
<li>NumbaIR (<a
href="https://redirect.github.com/pygments/pygments/issues/2433">#2433</a>)</li>
<li>PDDL (<a
href="https://redirect.github.com/pygments/pygments/issues/2799">#2799</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2616">#2616</a>)</li>
<li>Rego (<a
href="https://redirect.github.com/pygments/pygments/issues/2794">#2794</a>)</li>
<li>TableGen (<a
href="https://redirect.github.com/pygments/pygments/issues/2751">#2751</a>)</li>
<li>Vue.js (<a
href="https://redirect.github.com/pygments/pygments/issues/2832">#2832</a>)</li>
</ul>
</li>
<li>
<p>Updated lexers:</p>
<ul>
<li>BQN: Various improvements (<a
href="https://redirect.github.com/pygments/pygments/issues/2789">#2789</a>)</li>
<li>C#: Fix number highlighting (<a
href="https://redirect.github.com/pygments/pygments/issues/986">#986</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2727">#2727</a>),
add <code>file</code> keyword (<a
href="https://redirect.github.com/pygments/pygments/issues/2726">#2726</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2805">#2805</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2806">#2806</a>),
add various other keywords (<a
href="https://redirect.github.com/pygments/pygments/issues/2745">#2745</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2770">#2770</a>)</li>
<li>CSS: Add <code>revert</code> (<a
href="https://redirect.github.com/pygments/pygments/issues/2766">#2766</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2775">#2775</a>)</li>
<li>Debian control: Add <code>Change-By</code> field (<a
href="https://redirect.github.com/pygments/pygments/issues/2757">#2757</a>)</li>
<li>Elip: Improve punctuation handling (<a
href="https://redirect.github.com/pygments/pygments/issues/2651">#2651</a>)</li>
<li>Igor: Add <code>int</code> (<a
href="https://redirect.github.com/pygments/pygments/issues/2801">#2801</a>)</li>
<li>Ini: Fix quoted strings with embedded comment characters (<a
href="https://redirect.github.com/pygments/pygments/issues/2767">#2767</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2720">#2720</a>)</li>
<li>Java: Support functions returning types containing a question mark
(<a
href="https://redirect.github.com/pygments/pygments/issues/2737">#2737</a>)</li>
<li>JavaScript: Support private identiiers (<a
href="https://redirect.github.com/pygments/pygments/issues/2729">#2729</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2671">#2671</a>)</li>
<li>LLVM: Add <code>splat</code>, improve floating-point number parsing
(<a
href="https://redirect.github.com/pygments/pygments/issues/2755">#2755</a>)</li>
<li>Lua: Improve variable detection, add built-in functions (<a
href="https://redirect.github.com/pygments/pygments/issues/2829">#2829</a>)</li>
<li>Macaulay2: Update to 1.24.11 (<a
href="https://redirect.github.com/pygments/pygments/issues/2800">#2800</a>)</li>
<li>PostgreSQL: Add more <code>EXPLAIN</code> keywords (<a
href="https://redirect.github.com/pygments/pygments/issues/2785">#2785</a>),
handle <code>/</code> (<a
href="https://redirect.github.com/pygments/pygments/issues/2774">#2774</a>)</li>
<li>S-Lexer: Fix keywords (<a
href="https://redirect.github.com/pygments/pygments/issues/2082">#2082</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2750">#2750</a>)</li>
<li>TransactSQL: Fix single-line comments (<a
href="https://redirect.github.com/pygments/pygments/issues/2717">#2717</a>)</li>
<li>Turtle: Fix triple quoted strings (<a
href="https://redirect.github.com/pygments/pygments/issues/2744">#2744</a>,
<a
href="https://redirect.github.com/pygments/pygments/issues/2758">#2758</a>)</li>
<li>Typst: Various improvements (<a
href="https://redirect.github.com/pygments/pygments/issues/2724">#2724</a>)</li>
<li>Various: Add <code>^</code> as an operator to Matlab, Octave and
Scilab (<a
href="https://redirect.github.com/pygments/pygments/issues/2798">#2798</a>)</li>
<li>Vyper: Add <code>staticcall</code> and <code>extcall</code> (<a
href="https://redirect.github.com/pygments/pygments/issues/2719">#2719</a>)</li>
</ul>
</li>
</ul>
<ul>
<li>Mark file extensions for <code>HTML/XML+Evoque</code> as aliases (<a
href="https://redirect.github.com/pygments/pygments/issues/2743">#2743</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pygments/pygments/commit/b583de4794e94b4dc4c2da03a7c29f462482293e"><code>b583de4</code></a>
Prepare 2.19.1 release.</li>
<li><a
href="https://github.com/pygments/pygments/commit/c13f3f11b8594decd01a8867e17a1a078ba2defd"><code>c13f3f1</code></a>
Prepare 2.19.1 release.</li>
<li><a
href="https://github.com/pygments/pygments/commit/cdbcd43227ea838909abada93533013a99b564c7"><code>cdbcd43</code></a>
Add regression test for .ini issue, update CHANGES.</li>
<li><a
href="https://github.com/pygments/pygments/commit/5792a21f452cd85c40c5a45bd6d69abb4d3a6d3e"><code>5792a21</code></a>
Update CHANGES.</li>
<li><a
href="https://github.com/pygments/pygments/commit/a9858663ed85219ed7475f5877b22b9cb49f660f"><code>a985866</code></a>
Merge pull request <a
href="https://redirect.github.com/pygments/pygments/issues/2835">#2835</a>
from kartben/fix_ini_double_quotes</li>
<li><a
href="https://github.com/pygments/pygments/commit/5822fd1fda4ded57651b6e95664da2c37bd0ed58"><code>5822fd1</code></a>
Fix Lua regressions.</li>
<li><a
href="https://github.com/pygments/pygments/commit/673d8243c1c66363c83ae5467b4cecf13b506f3c"><code>673d824</code></a>
Fix quoted string handling</li>
<li><a
href="https://github.com/pygments/pygments/commit/43bf86fb86f0a3a4bacedc65eace650947ecee51"><code>43bf86f</code></a>
Improve example regex in the docs.</li>
<li><a
href="https://github.com/pygments/pygments/commit/452ac621811e946c8276c298dc318343d63371e4"><code>452ac62</code></a>
Move on past 2.19.0.</li>
<li><a
href="https://github.com/pygments/pygments/commit/62dff316900a548aabf741d662b79edc39ed78b5"><code>62dff31</code></a>
Prepare 2.19 release.</li>
<li>Additional commits viewable in <a
href="https://github.com/pygments/pygments/compare/2.18.0...2.19.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `sphinx-reredirects` from 0.1.2 to 0.1.6
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/documatt/sphinx-reredirects/commit/9c21d3b53855a7783c00becbbdc60ed509ba84bb"><code>9c21d3b</code></a>
chore: release 0.1.6</li>
<li><a
href="https://github.com/documatt/sphinx-reredirects/commit/638f011c6406ab92b7ca96d14cfd1da4bf108ff4"><code>638f011</code></a>
Merge branch 'davidekete-preserve-url-fragments'</li>
<li><a
href="https://github.com/documatt/sphinx-reredirects/commit/e50560fcc30a187d50412d47a7e74c286a7eff63"><code>e50560f</code></a>
Merge branch 'main' into preserve-url-fragments</li>
<li><a
href="https://github.com/documatt/sphinx-reredirects/commit/a0822b53aa33c624a086160ee6f17efaf27b3c6a"><code>a0822b5</code></a>
feat: update default HTML template to preserve url fragments</li>
<li><a
href="https://github.com/documatt/sphinx-reredirects/commit/29503e30720d151109e4cf38708d44bdde388982"><code>29503e3</code></a>
style: reformatted with prettier</li>
<li><a
href="https://github.com/documatt/sphinx-reredirects/commit/19207de769213abd98214db4741428ace73e043e"><code>19207de</code></a>
chore: setup maintenance tools</li>
<li><a
href="https://github.com/documatt/sphinx-reredirects/commit/4671309394be569e15cf004598242588bdbd9ce7"><code>4671309</code></a>
feat: update FAQ to match new default template</li>
<li><a
href="https://github.com/documatt/sphinx-reredirects/commit/36c6a8bb7126d5e3d28c69525bb4747da744e30b"><code>36c6a8b</code></a>
feat: update default HTML template to preserve url fragments</li>
<li><a
href="https://github.com/documatt/sphinx-reredirects/commit/7b3cf64a77893e69cdccffb228dd5df8b5b1bff9"><code>7b3cf64</code></a>
docs: Update LICENSE to MIT</li>
<li><a
href="https://github.com/documatt/sphinx-reredirects/commit/1fb15c82b8951a5701301f774497627a77cb2900"><code>1fb15c8</code></a>
docs: create README.md</li>
<li>Additional commits viewable in <a
href="https://github.com/documatt/sphinx-reredirects/compare/v0.1.2...v0.1.6">compare
view</a></li>
</ul>
</details>
<br />

Updates `urllib3` from 2.2.3 to 2.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/urllib3/urllib3/releases">urllib3's
releases</a>.</em></p>
<blockquote>
<h2>2.3.0</h2>
<h2>🚀 urllib3 is fundraising for HTTP/2 support</h2>
<p><a
href="https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support">urllib3
is raising ~$40,000 USD</a> to release HTTP/2 support and ensure
long-term sustainable maintenance of the project after a sharp decline
in financial support for 2023. If your company or organization uses
Python and would benefit from HTTP/2 support in Requests, pip, cloud
SDKs, and thousands of other projects <a
href="https://opencollective.com/urllib3">please consider contributing
financially</a> to ensure HTTP/2 support is developed sustainably and
maintained for the long-haul.</p>
<p>Thank you for your support.</p>
<h2>Features</h2>
<ul>
<li>Added <code>HTTPResponse.shutdown()</code> to stop any ongoing or
future reads for a specific response. It calls
<code>shutdown(SHUT_RD)</code> on the underlying socket. This feature
was <a
href="https://opencollective.com/urllib3/contributions/815307">sponsored
by LaunchDarkly</a>. (<a
href="https://redirect.github.com/urllib3/urllib3/issues/2868">urllib3/urllib3#2868</a>)</li>
<li>Added support for JavaScript Promise Integration on Emscripten. This
enables more efficient WebAssembly requests and streaming, and makes it
possible to use in Node.js if you launch it as node
<code>--experimental-wasm-stack-switching</code>. (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3400">urllib3/urllib3#3400</a>)</li>
<li>Added the <code>proxy_is_tunneling</code> property to
<code>HTTPConnection</code> and <code>HTTPSConnection</code>. (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3285">urllib3/urllib3#3285</a>)</li>
<li>Added pickling support to <code>NewConnectionError</code> and
<code>NameResolutionError</code>. (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3480">urllib3/urllib3#3480</a>)</li>
</ul>
<h2>Bugfixes</h2>
<ul>
<li>Fixed an issue in debug logs where the HTTP version was rendering as
&quot;HTTP/11&quot; instead of &quot;HTTP/1.1&quot;. (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3489">urllib3/urllib3#3489</a>)</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>Removed support for Python 3.8. (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3492">urllib3/urllib3#3492</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/urllib3/urllib3/compare/2.2.3...2.3.0">https://github.com/urllib3/urllib3/compare/2.2.3...2.3.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/urllib3/urllib3/blob/main/CHANGES.rst">urllib3's
changelog</a>.</em></p>
<blockquote>
<h1>2.3.0 (2024-12-22)</h1>
<h2>Features</h2>
<ul>
<li>Added <code>HTTPResponse.shutdown()</code> to stop any ongoing or
future reads for a specific response. It calls
<code>shutdown(SHUT_RD)</code> on the underlying socket. This feature
was <code>sponsored by LaunchDarkly
&lt;https://opencollective.com/urllib3/contributions/815307&gt;</code><strong>.
(<code>[#2868](https://github.com/urllib3/urllib3/issues/2868)
&lt;https://github.com/urllib3/urllib3/issues/2868&gt;</code></strong>)</li>
<li>Added support for JavaScript Promise Integration on Emscripten. This
enables more efficient WebAssembly
requests and streaming, and makes it possible to use in Node.js if you
launch it as <code>node --experimental-wasm-stack-switching</code>.
(<code>[#3400](https://github.com/urllib3/urllib3/issues/3400)
&lt;https://github.com/urllib3/urllib3/issues/3400&gt;</code>__)</li>
<li>Added the <code>proxy_is_tunneling</code> property to
<code>HTTPConnection</code> and <code>HTTPSConnection</code>.
(<code>[#3285](https://github.com/urllib3/urllib3/issues/3285)
&lt;https://github.com/urllib3/urllib3/issues/3285&gt;</code>__)</li>
<li>Added pickling support to <code>NewConnectionError</code> and
<code>NameResolutionError</code>.
(<code>[#3480](https://github.com/urllib3/urllib3/issues/3480)
&lt;https://github.com/urllib3/urllib3/issues/3480&gt;</code>__)</li>
</ul>
<h2>Bugfixes</h2>
<ul>
<li>Fixed an issue in debug logs where the HTTP version was rendering as
&quot;HTTP/11&quot; instead of &quot;HTTP/1.1&quot;.
(<code>[#3489](https://github.com/urllib3/urllib3/issues/3489)
&lt;https://github.com/urllib3/urllib3/issues/3489&gt;</code>__)</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>Removed support for Python 3.8.
(<code>[#3492](https://github.com/urllib3/urllib3/issues/3492)
&lt;https://github.com/urllib3/urllib3/issues/3492&gt;</code>__)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/urllib3/urllib3/commit/2f68c5363ef632d73dd4d9300289d7ce5ff275b4"><code>2f68c53</code></a>
Release 2.3.0</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/f7bcf6986fa9c43fc7884b648f66688db593b491"><code>f7bcf69</code></a>
Add HTTPResponse.shutdown() to stop blocking reads (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3527">#3527</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/e94224931feddf9e12bb25452bf0d0c21da8a7e0"><code>e942249</code></a>
Update .readthedocs.yml addressing a deprecation (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3534">#3534</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/905549d64a948abd4b6962edecb8dd5569166275"><code>905549d</code></a>
Upgrade Python pre-commit tools (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3529">#3529</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/716d8340b89f7d8ec549579d14e3c0a7e5f859a5"><code>716d834</code></a>
Fix PyPI publish with Core metadata 2.4 (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3531">#3531</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/7ab935c6ddd546c7d57b03c0269685c61c8e60c6"><code>7ab935c</code></a>
Address zizmor issues</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/181357ed2aecf9c523f2664c05f176cde9692994"><code>181357e</code></a>
Bump Quart to fix CI (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3524">#3524</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/0e7e0df0586573d51c78076d4871050783bec7c8"><code>0e7e0df</code></a>
Start testing with Python 3.14</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/d67d09bfd04ecdae1280a563d06b32949befaf71"><code>d67d09b</code></a>
Bump mypy version</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/20032ec38a09680bcfb6d97b4c43b276af43cc64"><code>20032ec</code></a>
Drop unneeded dependency pins and a warning filter</li>
<li>Additional commits viewable in <a
href="https://github.com/urllib3/urllib3/compare/2.2.3...2.3.0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants