-
Notifications
You must be signed in to change notification settings - Fork 769
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
Conversation
Signed-off-by: Zahira Ammarguellat <[email protected]>
Signed-off-by: Zahira Ammarguellat <[email protected]>
Signed-off-by: Zahira Ammarguellat <[email protected]>
Signed-off-by: Zahira Ammarguellat <[email protected]>
Signed-off-by: Zahira Ammarguellat <[email protected]>
Signed-off-by: Zahira Ammarguellat <[email protected]>
Signed-off-by: Zahira Ammarguellat <[email protected]>
Signed-off-by: Zahira Ammarguellat <[email protected]>
@@ -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; |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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; }
};
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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; |
There was a problem hiding this comment.
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 | |||
|
There was a problem hiding this comment.
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.
There was a problem hiding this 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.
Signed-off-by: Zahira Ammarguellat <[email protected]>
class SyclOptReportHandler { | ||
private: | ||
struct OptReportInfo { | ||
StringRef KernelArgName; |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SmallVector<OptReportInfo, 4> &getInfo(const FunctionDecl *FD) { | |
SmallVector<OptReportInfo, 4> &GetInfo(const FunctionDecl *FD) const { |
return It->second; | ||
} | ||
|
||
bool HasOptReportInfo(const FunctionDecl *FD) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bool HasOptReportInfo(const FunctionDecl *FD) { | |
bool HasOptReportInfo(const FunctionDecl *FD) const { |
clang/lib/CodeGen/CodeGenAction.cpp
Outdated
BackendConsumer &BC) | ||
: Ctx(Ctx) { | ||
CompilerInstance &CI = CGA.getCompilerInstance(); | ||
auto &CodeGenOpts = CI.getCodeGenOpts(); |
There was a problem hiding this comment.
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; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
int count = 0; | |
int Count = 0; |
if (OptReportHandler.HasOptReportInfo(FD)) { | ||
llvm::OptimizationRemarkEmitter ORE(Fn); | ||
int count = 0; | ||
for (auto &ORI : OptReportHandler.getInfo(FD)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for (auto &ORI : OptReportHandler.getInfo(FD)) { | |
for (const auto &ORI : OptReportHandler.getInfo(FD)) { |
Sorry! no need to review. I haven't pushed anything new. |
There was a problem hiding this 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) { |
There was a problem hiding this comment.
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) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
: KernelArgName(ArgName), KernelArgType(ArgType), KernelArgLoc(ArgLoc) { | |
: KernelArgName(std::move(ArgName)), KernelArgType(std::move(ArgType)), KernelArgLoc(ArgLoc) { |
Might as well use the move constructors.
clang/lib/CodeGen/CodeGenAction.cpp
Outdated
: Ctx(Ctx) { | ||
CompilerInstance &CI = CGA.getCompilerInstance(); | ||
CodeGenOptions &CodeGenOpts = CI.getCodeGenOpts(); | ||
|
||
OldDiagnosticHandler = Ctx.getDiagnosticHandler(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
: 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(); |
Can you please add a commit message. You can mention we will be refining the actual output in follow-up PR |
Signed-off-by: Zahira Ammarguellat <[email protected]>
@@ -0,0 +1,57 @@ | |||
//===---------------------- SyclOptReport.h ---------------------*- C++ -*-===// |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Filename is SyclOptReportHandler.h
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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); |
There was a problem hiding this comment.
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]>
There was a problem hiding this 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++ -*-===// |
There was a problem hiding this comment.
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?
Signed-off-by: Zahira Ammarguellat <[email protected]>
There was a problem hiding this 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()); |
There was a problem hiding this comment.
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]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* 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)
* 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)
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]>
) 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]>
…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]>
…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>"Deleted duplicate code in test" 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 & options, rather than first matching method & 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` &lt;/tr&gt;&lt;/table&gt; </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/python-babel/babel/commit/b50a1d2186c20f3359f7e10853d2b2225a46ed40"><code>b50a1d2</code></a> Prepare for 2.17.0 (<a href="https://redirect.github.com/python-babel/babel/issues/1182">#1182</a>)</li> <li><a href="https://github.com/python-babel/babel/commit/5f117b2689573aa98acc8a47108c49b99f4d1394"><code>5f117b2</code></a> Increase test coverage of the <code>python_format</code> checker (<a href="https://redirect.github.com/python-babel/babel/issues/1176">#1176</a>)</li> <li><a href="https://github.com/python-babel/babel/commit/363ad7531fb5dcdc3e9844573592b0b44afb914b"><code>363ad75</code></a> Fix dates formatting <code>Y</code>, <code>w</code> and <code>W</code> symbols for week-numbering (<a href="https://redirect.github.com/python-babel/babel/issues/1179">#1179</a>)</li> <li><a href="https://github.com/python-babel/babel/commit/e9c3ef8d0de3080ca59f7f8dbabf9b52983adc7d"><code>e9c3ef8</code></a> Merge pull request <a href="https://redirect.github.com/python-babel/babel/issues/1173">#1173</a> from python-babel/lc-monetary-2</li> <li><a href="https://github.com/python-babel/babel/commit/56ef7c7f578a904917464c187e399abb762bd5e3"><code>56ef7c7</code></a> Prefer LC_MONETARY when formatting currency</li> <li><a href="https://github.com/python-babel/babel/commit/aee6d698b541dc50439280d7e093092cc0d4b832"><code>aee6d69</code></a> <code>default_locale</code>: support multiple keys</li> <li><a href="https://github.com/python-babel/babel/commit/2d8a808864d1aae5d3d02d4f95917c79740c5d35"><code>2d8a808</code></a> Import <code>Literal</code> &amp; <code>TypedDict</code> from the typing module (<a href="https://redirect.github.com/python-babel/babel/issues/1175">#1175</a>)</li> <li><a href="https://github.com/python-babel/babel/commit/98b9562c05e5276038c27ec12c12f3e92dc027b6"><code>98b9562</code></a> Add basic support for <code>Message.python_brace_format</code> (<a href="https://redirect.github.com/python-babel/babel/issues/1169">#1169</a>)</li> <li><a href="https://github.com/python-babel/babel/commit/0c1091c9de9543e30bc4b845eb10b5bf84516d7b"><code>0c1091c</code></a> Small test cleanup (<a href="https://redirect.github.com/python-babel/babel/issues/1172">#1172</a>)</li> <li><a href="https://github.com/python-babel/babel/commit/db4879136a7fbcef475f26b75dbdd65d0ce488f9"><code>db48791</code></a> Merge pull request <a href="https://redirect.github.com/python-babel/babel/issues/1170">#1170</a> from python-babel/small-cleanup</li> <li>Additional commits viewable in <a href="https://github.com/python-babel/babel/compare/v2.16.0...v2.17.0">compare view</a></li> </ul> </details> <br /> </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 >= 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 "'count' is passed as positional argument" 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 >= 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 "'count' is passed as positional argument" 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 "HTTP/11" instead of "HTTP/1.1". (<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 <https://opencollective.com/urllib3/contributions/815307></code><strong>. (<code>[#2868](https://github.com/urllib3/urllib3/issues/2868) <https://github.com/urllib3/urllib3/issues/2868></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) <https://github.com/urllib3/urllib3/issues/3400></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) <https://github.com/urllib3/urllib3/issues/3285></code>__)</li> <li>Added pickling support to <code>NewConnectionError</code> and <code>NameResolutionError</code>. (<code>[#3480](https://github.com/urllib3/urllib3/issues/3480) <https://github.com/urllib3/urllib3/issues/3480></code>__)</li> </ul> <h2>Bugfixes</h2> <ul> <li>Fixed an issue in debug logs where the HTTP version was rendering as "HTTP/11" instead of "HTTP/1.1". (<code>[#3489](https://github.com/urllib3/urllib3/issues/3489) <https://github.com/urllib3/urllib3/issues/3489></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) <https://github.com/urllib3/urllib3/issues/3492></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>
…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>"Deleted duplicate code in test" 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 & options, rather than first matching method & 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` &lt;/tr&gt;&lt;/table&gt; </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/python-babel/babel/commit/b50a1d2186c20f3359f7e10853d2b2225a46ed40"><code>b50a1d2</code></a> Prepare for 2.17.0 (<a href="https://redirect.github.com/python-babel/babel/issues/1182">#1182</a>)</li> <li><a href="https://github.com/python-babel/babel/commit/5f117b2689573aa98acc8a47108c49b99f4d1394"><code>5f117b2</code></a> Increase test coverage of the <code>python_format</code> checker (<a href="https://redirect.github.com/python-babel/babel/issues/1176">#1176</a>)</li> <li><a href="https://github.com/python-babel/babel/commit/363ad7531fb5dcdc3e9844573592b0b44afb914b"><code>363ad75</code></a> Fix dates formatting <code>Y</code>, <code>w</code> and <code>W</code> symbols for week-numbering (<a href="https://redirect.github.com/python-babel/babel/issues/1179">#1179</a>)</li> <li><a href="https://github.com/python-babel/babel/commit/e9c3ef8d0de3080ca59f7f8dbabf9b52983adc7d"><code>e9c3ef8</code></a> Merge pull request <a href="https://redirect.github.com/python-babel/babel/issues/1173">#1173</a> from python-babel/lc-monetary-2</li> <li><a href="https://github.com/python-babel/babel/commit/56ef7c7f578a904917464c187e399abb762bd5e3"><code>56ef7c7</code></a> Prefer LC_MONETARY when formatting currency</li> <li><a href="https://github.com/python-babel/babel/commit/aee6d698b541dc50439280d7e093092cc0d4b832"><code>aee6d69</code></a> <code>default_locale</code>: support multiple keys</li> <li><a href="https://github.com/python-babel/babel/commit/2d8a808864d1aae5d3d02d4f95917c79740c5d35"><code>2d8a808</code></a> Import <code>Literal</code> &amp; <code>TypedDict</code> from the typing module (<a href="https://redirect.github.com/python-babel/babel/issues/1175">#1175</a>)</li> <li><a href="https://github.com/python-babel/babel/commit/98b9562c05e5276038c27ec12c12f3e92dc027b6"><code>98b9562</code></a> Add basic support for <code>Message.python_brace_format</code> (<a href="https://redirect.github.com/python-babel/babel/issues/1169">#1169</a>)</li> <li><a href="https://github.com/python-babel/babel/commit/0c1091c9de9543e30bc4b845eb10b5bf84516d7b"><code>0c1091c</code></a> Small test cleanup (<a href="https://redirect.github.com/python-babel/babel/issues/1172">#1172</a>)</li> <li><a href="https://github.com/python-babel/babel/commit/db4879136a7fbcef475f26b75dbdd65d0ce488f9"><code>db48791</code></a> Merge pull request <a href="https://redirect.github.com/python-babel/babel/issues/1170">#1170</a> from python-babel/small-cleanup</li> <li>Additional commits viewable in <a href="https://github.com/python-babel/babel/compare/v2.16.0...v2.17.0">compare view</a></li> </ul> </details> <br /> </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 >= 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 "'count' is passed as positional argument" 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 >= 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 "'count' is passed as positional argument" 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 "HTTP/11" instead of "HTTP/1.1". (<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 <https://opencollective.com/urllib3/contributions/815307></code><strong>. (<code>[#2868](https://github.com/urllib3/urllib3/issues/2868) <https://github.com/urllib3/urllib3/issues/2868></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) <https://github.com/urllib3/urllib3/issues/3400></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) <https://github.com/urllib3/urllib3/issues/3285></code>__)</li> <li>Added pickling support to <code>NewConnectionError</code> and <code>NameResolutionError</code>. (<code>[#3480](https://github.com/urllib3/urllib3/issues/3480) <https://github.com/urllib3/urllib3/issues/3480></code>__)</li> </ul> <h2>Bugfixes</h2> <ul> <li>Fixed an issue in debug logs where the HTTP version was rendering as "HTTP/11" instead of "HTTP/1.1". (<code>[#3489](https://github.com/urllib3/urllib3/issues/3489) <https://github.com/urllib3/urllib3/issues/3489></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) <https://github.com/urllib3/urllib3/issues/3492></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>
This implementation will be followed by an upcoming PR that will have the purpose of creating a more user-friendly report.