Skip to content

Commit 91efa21

Browse files
Python: Bump bleach from 6.3.0 to 6.4.0 in /python (#14089)
Bumps [bleach](https://github.com/mozilla/bleach) from 6.3.0 to 6.4.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/mozilla/bleach/blob/main/CHANGES">bleach's changelog</a>.</em></p> <blockquote> <h2>Version 6.4.0 (June 5th, 2026)</h2> <p><strong>NOTE: 2026-06-05: Bleach is no longer maintained. There will be no future releases including for security issues.</strong> See issue: <code>&lt;https://github.com/mozilla/bleach/issues/698&gt;</code>__</p> <p><strong>Backwards incompatible changes</strong></p> <ul> <li>Dropped support for pypy 3.10. (<a href="https://redirect.github.com/mozilla/bleach/issues/764">#764</a>)</li> </ul> <p><strong>Security fixes</strong></p> <ul> <li> <p>Fix bug 2023812 / GHSA-8rfp-98v4-mmr6.</p> <p>Fix XSS issue with sanitize_uri_value where disallowed schemes with Unicode invisible characters wouldn't be rejected.</p> <p>For example::</p> <p>import bleach payload1 = '<!-- raw HTML omitted -->Click<!-- raw HTML omitted -->' result1 = bleach.clean(payload1) print(repr(result1))</p> <p>outputs::</p> <p>'<!-- raw HTML omitted -->Click<!-- raw HTML omitted -->'</p> <p>See the advisory for details.</p> </li> <li> <p>Fix GHSA-gj48-438w-jh9v.</p> <p>Fix issue where URI sanitization wasn't happening in formaction attributes.</p> <p>See the advisory for details.</p> </li> </ul> <p><strong>Bug fixes</strong></p> <ul> <li> <p>Add support for pypy 3.11. (<a href="https://redirect.github.com/mozilla/bleach/issues/764">#764</a>)</p> </li> <li> <p>Drop version max in tinycss2 pin. (<a href="https://redirect.github.com/mozilla/bleach/issues/772">#772</a>)</p> <p>This removes one of the things we had to keep checking and updating. Users now own the responsibility for correctness with the version of tinycss2 they're using.</p> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/mozilla/bleach/commit/f0355a7af00500482c5292c6c83290c6a178068d"><code>f0355a7</code></a> fix: fix last release date in CHANGES</li> <li><a href="https://github.com/mozilla/bleach/commit/ae4e8a26706516ad01b92e66321b480208a440da"><code>ae4e8a2</code></a> chore: bleach 6.4.0 and final release</li> <li><a href="https://github.com/mozilla/bleach/commit/970df58e9f0c55cc52244f3f0106e473a40d886d"><code>970df58</code></a> fix: uri-sanitization in formaction attributes</li> <li><a href="https://github.com/mozilla/bleach/commit/7c4867c32344d1c961107fae62240a6f0dc680dc"><code>7c4867c</code></a> fix: xss bypass in allowed protocol test using unicode invisible characters</li> <li><a href="https://github.com/mozilla/bleach/commit/913ab75992b845e2c9c060c41f24d46921db4693"><code>913ab75</code></a> fix: reduce redundancy in workflow jobs</li> <li><a href="https://github.com/mozilla/bleach/commit/218c15af455c8dec14f98fcb2e235f8680e93930"><code>218c15a</code></a> fix: rework pip caching</li> <li><a href="https://github.com/mozilla/bleach/commit/4f0b097bf80548a022050e2f71f024d755a9f154"><code>4f0b097</code></a> fix: fix tox platform restrictions</li> <li><a href="https://github.com/mozilla/bleach/commit/e95a79d07bb5d792425c2bc0ef5dd03f6614f3bb"><code>e95a79d</code></a> chore: update pytest</li> <li><a href="https://github.com/mozilla/bleach/commit/91539d4e80d4685b8f2bedc79076ff0ff6c1b911"><code>91539d4</code></a> Bump actions/cache from 5.0.3 to 5.0.4</li> <li><a href="https://github.com/mozilla/bleach/commit/cd47b4ce495859065da23c2116f651e591e1e90d"><code>cd47b4c</code></a> fix: handle left-angle-bracket that's not a tag (<a href="https://redirect.github.com/mozilla/bleach/issues/733">#733</a>)</li> <li>Additional commits viewable in <a href="https://github.com/mozilla/bleach/compare/v6.3.0...v6.4.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=bleach&package-manager=uv&previous-version=6.3.0&new-version=6.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/microsoft/semantic-kernel/network/alerts). </details> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
1 parent 8ce2bcc commit 91efa21

3 files changed

Lines changed: 32 additions & 31 deletions

File tree

python/tests/unit/data/conftest.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,17 @@ def data_model_pandas_definition() -> object:
240240
)
241241

242242

243+
@fixture
244+
async def pandas_vector_store_record_collection(DictVectorStoreRecordCollection, data_model_pandas_definition):
245+
from pandas import DataFrame
246+
247+
return DictVectorStoreRecordCollection(
248+
collection_name="test",
249+
record_type=DataFrame,
250+
definition=data_model_pandas_definition,
251+
)
252+
253+
243254
@fixture
244255
def record_type_vanilla():
245256
@vectorstoremodel

python/tests/unit/data/test_vector_store_record_collection.py

Lines changed: 18 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -172,46 +172,36 @@ async def test_crud_batch_operations_container(vector_store_record_collection):
172172
assert len(vector_store_record_collection.inner_storage) == 0
173173

174174

175-
@mark.parametrize(
176-
"vector_store_record_collection",
177-
["definition_pandas"],
178-
indirect=True,
179-
)
180-
async def test_crud_operations_pandas(vector_store_record_collection):
175+
async def test_crud_operations_pandas(pandas_vector_store_record_collection):
181176
id = "test_id"
182177
record = DataFrame([{"id": id, "content": "test_content", "vector": [1.0, 2.0, 3.0]}])
183-
no_records = await vector_store_record_collection.get(id)
178+
no_records = await pandas_vector_store_record_collection.get(id)
184179
assert no_records is None
185-
await vector_store_record_collection.upsert(record)
186-
assert len(vector_store_record_collection.inner_storage) == 1
180+
await pandas_vector_store_record_collection.upsert(record)
181+
assert len(pandas_vector_store_record_collection.inner_storage) == 1
187182

188-
assert vector_store_record_collection.inner_storage[id]["content"] == record["content"].values[0]
189-
assert vector_store_record_collection.inner_storage[id]["vector"] == record["vector"].values[0]
190-
record_2 = await vector_store_record_collection.get(id)
183+
assert pandas_vector_store_record_collection.inner_storage[id]["content"] == record["content"].values[0]
184+
assert pandas_vector_store_record_collection.inner_storage[id]["vector"] == record["vector"].values[0]
185+
record_2 = await pandas_vector_store_record_collection.get(id)
191186
assert record_2.equals(record)
192-
await vector_store_record_collection.delete(id)
193-
assert len(vector_store_record_collection.inner_storage) == 0
187+
await pandas_vector_store_record_collection.delete(id)
188+
assert len(pandas_vector_store_record_collection.inner_storage) == 0
194189

195190

196-
@mark.parametrize(
197-
"vector_store_record_collection",
198-
["definition_pandas"],
199-
indirect=True,
200-
)
201-
async def test_crud_batch_operations_pandas(vector_store_record_collection):
191+
async def test_crud_batch_operations_pandas(pandas_vector_store_record_collection):
202192
ids = ["test_id_1", "test_id_2"]
203193

204194
batch = DataFrame([{"id": id, "content": "test_content", "vector": [1.0, 2.0, 3.0]} for id in ids])
205-
no_records = await vector_store_record_collection.get(ids)
195+
no_records = await pandas_vector_store_record_collection.get(ids)
206196
assert no_records is None
207-
await vector_store_record_collection.upsert(batch)
208-
assert len(vector_store_record_collection.inner_storage) == 2
209-
assert vector_store_record_collection.inner_storage[ids[0]]["content"] == batch["content"].values[0]
210-
assert vector_store_record_collection.inner_storage[ids[0]]["vector"] == batch["vector"].values[0]
211-
records = await vector_store_record_collection.get(ids)
197+
await pandas_vector_store_record_collection.upsert(batch)
198+
assert len(pandas_vector_store_record_collection.inner_storage) == 2
199+
assert pandas_vector_store_record_collection.inner_storage[ids[0]]["content"] == batch["content"].values[0]
200+
assert pandas_vector_store_record_collection.inner_storage[ids[0]]["vector"] == batch["vector"].values[0]
201+
records = await pandas_vector_store_record_collection.get(ids)
212202
assert records.equals(batch)
213-
await vector_store_record_collection.delete(ids)
214-
assert len(vector_store_record_collection.inner_storage) == 0
203+
await pandas_vector_store_record_collection.delete(ids)
204+
assert len(pandas_vector_store_record_collection.inner_storage) == 0
215205

216206

217207
# region Fails

python/uv.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)