Commit Graph

22 Commits

Author SHA1 Message Date
40341c3e0c fix: resolve TypeScript and pip build errors
- tsconfig.json: remove duplicate target, add missing comma
- requirements.txt: fix boto3/botocore version conflict
- deployAll.ts, deployService.ts: remove duplicate concatenated code

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

RoadChain-SHA2048: f3e2c6a6f3c323b4
RoadChain-Identity: alexa@sovereign
RoadChain-Full: f3e2c6a6f3c323b4d200ae278824975d0b102ec0ee1708560ccae57bf0f31819f19805317aa33b967b58b06750443394fafd250e40985dc35d2d89c12f369ef2083bcd4b0496043e87bfa1ef7ec7d307065d63190fa31461367dc3f2d76410326c1bd9602aac1587084f3d7ec068b6abffb94ff1bf18ce5408a4cd7523ff9a078c60c6f0050434c562b18b9f9ac81af72a23590e6d8e2ed79ea7de61cf2b9a1e1e44051ee2a151cb0c57f23b04db771944889473eb0ec2bf5d42bbd3727422c6e28987af96fb6006ee55604dfbded15a70cbe196da844945f373d838d446f33c0465e463f244992bc506e4ca6b414cc8b935e7d5fe993297444805dddb9af436
2026-03-10 20:54:56 -05:00
dependabot[bot]
8a86a7240f chore: bump stripe from 7.8.0 to 14.4.0
Bumps [stripe](https://github.com/stripe/stripe-python) from 7.8.0 to 14.4.0.
- [Release notes](https://github.com/stripe/stripe-python/releases)
- [Changelog](https://github.com/stripe/stripe-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-python/compare/v7.8.0...v14.4.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-version: 14.4.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-09 06:37:27 +00:00
Alexa Amundson
80d20263c4 chore: bump python-dotenv from 1.0.0 to 1.2.2 (#173)
Bumps [python-dotenv](https://github.com/theskumar/python-dotenv) from
1.0.0 to 1.2.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/theskumar/python-dotenv/releases">python-dotenv's
releases</a>.</em></p>
<blockquote>
<h2>v1.2.2</h2>
<h3>Added</h3>
<ul>
<li>Support for Python 3.14, including the free-threaded (3.14t) build.
(#)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>The <code>dotenv run</code> command now forwards flags directly to
the specified command by <a
href="https://github.com/bbc2"><code>@​bbc2</code></a> in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/607">theskumar/python-dotenv#607</a></li>
<li>Improved documentation clarity regarding override behavior and the
reference page.</li>
<li>Updated PyPy support to version 3.11.</li>
<li>Documentation for FIFO file support.</li>
<li>Support for Python 3.9.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Improved <code>set_key</code> and <code>unset_key</code> behavior
when interacting with symlinks by <a
href="https://github.com/bbc2"><code>@​bbc2</code></a> in <a
href="790c5c0299">#790c5</a></li>
<li>Corrected the license specifier and added missing Python 3.14
classifiers in package metadata by <a
href="https://github.com/JYOuyang"><code>@​JYOuyang</code></a> in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/590">theskumar/python-dotenv#590</a></li>
</ul>
<h3>Breaking Changes</h3>
<ul>
<li>
<p><code>dotenv.set_key</code> and <code>dotenv.unset_key</code> used to
follow symlinks in some
situations. This is no longer the case. For that behavior to be restored
in
all cases, <code>follow_symlinks=True</code> should be used.</p>
</li>
<li>
<p>In the CLI, <code>set</code> and <code>unset</code> used to follow
symlinks in some situations. This
is no longer the case.</p>
</li>
<li>
<p><code>dotenv.set_key</code>, <code>dotenv.unset_key</code> and the
CLI commands <code>set</code> and <code>unset</code>
used to reset the file mode of the modified .env file to
<code>0o600</code> in some
situations. This is no longer the case: The original mode of the file is
now
preserved. Is the file needed to be created or wasn't a regular file,
mode
<code>0o600</code> is used.</p>
</li>
</ul>
<h3>Misc</h3>
<ul>
<li>skip 000 permission tests for root user by <a
href="https://github.com/burnout-projects"><code>@​burnout-projects</code></a>
in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/561">theskumar/python-dotenv#561</a></li>
<li>Bump actions/checkout from 5 to 6 in the github-actions group by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/593">theskumar/python-dotenv#593</a></li>
<li>Add Windows testing to CI by <a
href="https://github.com/bbc2"><code>@​bbc2</code></a> in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/604">theskumar/python-dotenv#604</a></li>
<li>Improve workflow efficiency with best practices by <a
href="https://github.com/theskumar"><code>@​theskumar</code></a> in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/609">theskumar/python-dotenv#609</a></li>
<li>Remove the use of <code>sh</code> in tests by <a
href="https://github.com/bbc2"><code>@​bbc2</code></a> in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/612">theskumar/python-dotenv#612</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/JYOuyang"><code>@​JYOuyang</code></a>
made their first contribution in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/590">theskumar/python-dotenv#590</a></li>
<li><a
href="https://github.com/burnout-projects"><code>@​burnout-projects</code></a>
made their first contribution in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/561">theskumar/python-dotenv#561</a></li>
<li><a
href="https://github.com/cpackham-atlnz"><code>@​cpackham-atlnz</code></a>
made their first contribution in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/597">theskumar/python-dotenv#597</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2">https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2</a></p>
<h2>v1.2.1</h2>
<h2>What's Changed</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md">python-dotenv's
changelog</a>.</em></p>
<blockquote>
<h2>[1.2.2] - 2026-03-01</h2>
<h3>Added</h3>
<ul>
<li>Support for Python 3.14, including the free-threaded (3.14t) build.
(<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/588">#588</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>The <code>dotenv run</code> command now forwards flags directly to
the specified command by [<a
href="https://github.com/bbc2"><code>@​bbc2</code></a>] in <a
href="https://redirect.github.com/theskumar/python-dotenv/issues/607">#607</a></li>
<li>Improved documentation clarity regarding override behavior and the
reference page.</li>
<li>Updated PyPy support to version 3.11.</li>
<li>Documentation for FIFO file support.</li>
<li>Dropped Support for Python 3.9.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Improved <code>set_key</code> and <code>unset_key</code> behavior
when interacting with symlinks by [<a
href="https://github.com/bbc2"><code>@​bbc2</code></a>] in
[790c5c0]</li>
<li>Corrected the license specifier and added missing Python 3.14
classifiers in package metadata by [<a
href="https://github.com/JYOuyang"><code>@​JYOuyang</code></a>] in <a
href="https://redirect.github.com/theskumar/python-dotenv/issues/590">#590</a></li>
</ul>
<h3>Breaking Changes</h3>
<ul>
<li>
<p><code>dotenv.set_key</code> and <code>dotenv.unset_key</code> used to
follow symlinks in some
situations. This is no longer the case. For that behavior to be restored
in
all cases, <code>follow_symlinks=True</code> should be used.</p>
</li>
<li>
<p>In the CLI, <code>set</code> and <code>unset</code> used to follow
symlinks in some situations. This
is no longer the case.</p>
</li>
<li>
<p><code>dotenv.set_key</code>, <code>dotenv.unset_key</code> and the
CLI commands <code>set</code> and <code>unset</code>
used to reset the file mode of the modified .env file to
<code>0o600</code> in some
situations. This is no longer the case: The original mode of the file is
now
preserved. Is the file needed to be created or wasn't a regular file,
mode
<code>0o600</code> is used.</p>
</li>
</ul>
<h2>[1.2.1] - 2025-10-26</h2>
<ul>
<li>Move more config to <code>pyproject.toml</code>, removed
<code>setup.cfg</code></li>
<li>Add support for reading <code>.env</code> from FIFOs (Unix) by [<a
href="https://github.com/sidharth-sudhir"><code>@​sidharth-sudhir</code></a>]
in <a
href="https://redirect.github.com/theskumar/python-dotenv/issues/586">#586</a></li>
</ul>
<h2>[1.2.0] - 2025-10-26</h2>
<ul>
<li>Upgrade build system to use PEP 517 &amp; PEP 518 to use
<code>build</code> and <code>pyproject.toml</code> by [<a
href="https://github.com/EpicWink"><code>@​EpicWink</code></a>] in <a
href="https://redirect.github.com/theskumar/python-dotenv/issues/583">#583</a></li>
<li>Add support for Python 3.14 by [<a
href="https://github.com/23f3001135"><code>@​23f3001135</code></a>] in
<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/579">#579</a></li>
<li>Add support for disabling of <code>load_dotenv()</code> using
<code>PYTHON_DOTENV_DISABLED</code> env var. by [<a
href="https://github.com/matthewfranglen"><code>@​matthewfranglen</code></a>]
in <a
href="https://redirect.github.com/theskumar/python-dotenv/issues/569">#569</a></li>
</ul>
<h2>[1.1.1] - 2025-06-24</h2>
<h3>Fixed</h3>
<ul>
<li>CLI: Ensure <code>find_dotenv</code> work reliably on python 3.13 by
[<a href="https://github.com/theskumar"><code>@​theskumar</code></a>] in
<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/563">#563</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="36004e0e34"><code>36004e0</code></a>
Bump version: 1.2.1 → 1.2.2</li>
<li><a
href="eb202520e5"><code>eb20252</code></a>
docs: update changelog for v1.2.2</li>
<li><a
href="790c5c0299"><code>790c5c0</code></a>
Merge commit from fork</li>
<li><a
href="43340da220"><code>43340da</code></a>
Remove the use of <code>sh</code> in tests (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/612">#612</a>)</li>
<li><a
href="09d7cee324"><code>09d7cee</code></a>
docs: clarify override behavior and document FIFO support (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/610">#610</a>)</li>
<li><a
href="c8de2887c0"><code>c8de288</code></a>
ci: improve workflow efficiency with best practices (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/609">#609</a>)</li>
<li><a
href="7bd9e3dbfe"><code>7bd9e3d</code></a>
Add Windows testing to CI (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/604">#604</a>)</li>
<li><a
href="1baaf04f33"><code>1baaf04</code></a>
Drop Python 3.9 support and update to PyPy 3.11 (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/608">#608</a>)</li>
<li><a
href="4a22cf8993"><code>4a22cf8</code></a>
ci: enable testing on Python 3.14t (free-threaded) (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/588">#588</a>)</li>
<li><a
href="e2e8e776b4"><code>e2e8e77</code></a>
Fix license specifier (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/597">#597</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/theskumar/python-dotenv/compare/v1.0.0...v1.2.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=python-dotenv&package-manager=pip&previous-version=1.0.0&new-version=1.2.2)](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)


</details>
2026-03-09 01:32:43 -05:00
dependabot[bot]
e6d495d182 chore: bump python-dotenv from 1.0.0 to 1.2.2
Bumps [python-dotenv](https://github.com/theskumar/python-dotenv) from 1.0.0 to 1.2.2.
- [Release notes](https://github.com/theskumar/python-dotenv/releases)
- [Changelog](https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md)
- [Commits](https://github.com/theskumar/python-dotenv/compare/v1.0.0...v1.2.2)

---
updated-dependencies:
- dependency-name: python-dotenv
  dependency-version: 1.2.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-09 05:05:55 +00:00
dependabot[bot]
0122157027 chore(deps): bump the pip group across 2 directories with 5 updates
Bumps the pip group with 5 updates in the /backend directory:

| Package | From | To |
| --- | --- | --- |
| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.6` | `0.0.22` |
| [jinja2](https://github.com/pallets/jinja) | `3.1.2` | `3.1.6` |
| [cryptography](https://github.com/pyca/cryptography) | `41.0.7` | `46.0.5` |
| [ecdsa](https://github.com/tlsfuzzer/python-ecdsa) | `0.18.0` | `0.19.1` |
| [sentry-sdk](https://github.com/getsentry/sentry-python) | `1.39.1` | `1.45.1` |

Bumps the pip group with 1 update in the /templates/minimal-service directory: [python-multipart](https://github.com/Kludex/python-multipart).


Updates `python-multipart` from 0.0.6 to 0.0.22
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.6...0.0.22)

Updates `jinja2` from 3.1.2 to 3.1.6
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.2...3.1.6)

Updates `cryptography` from 41.0.7 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/41.0.7...46.0.5)

Updates `ecdsa` from 0.18.0 to 0.19.1
- [Release notes](https://github.com/tlsfuzzer/python-ecdsa/releases)
- [Changelog](https://github.com/tlsfuzzer/python-ecdsa/blob/master/NEWS)
- [Commits](https://github.com/tlsfuzzer/python-ecdsa/compare/python-ecdsa-0.18.0...python-ecdsa-0.19.1)

Updates `sentry-sdk` from 1.39.1 to 1.45.1
- [Release notes](https://github.com/getsentry/sentry-python/releases)
- [Changelog](https://github.com/getsentry/sentry-python/blob/1.45.1/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-python/compare/1.39.1...1.45.1)

Updates `python-multipart` from 0.0.6 to 0.0.22
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.6...0.0.22)

Updates `python-multipart` from 0.0.6 to 0.0.22
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.6...0.0.22)

Updates `python-multipart` from 0.0.6 to 0.0.22
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.6...0.0.22)

---
updated-dependencies:
- dependency-name: python-multipart
  dependency-version: 0.0.22
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: jinja2
  dependency-version: 3.1.6
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: ecdsa
  dependency-version: 0.19.1
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: sentry-sdk
  dependency-version: 1.45.1
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: python-multipart
  dependency-version: 0.0.22
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: python-multipart
  dependency-version: 0.0.22
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: python-multipart
  dependency-version: 0.0.22
  dependency-type: direct:production
  dependency-group: pip
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-09 04:57:30 +00:00
Alexa Amundson
6c55a8f488 chore: bump botocore from 1.32.7 to 1.42.59 (#177)
Bumps [botocore](https://github.com/boto/botocore) from 1.32.7 to
1.42.59.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c204bb1da1"><code>c204bb1</code></a>
Merge branch 'release-1.42.59'</li>
<li><a
href="7e59865407"><code>7e59865</code></a>
Bumping version to 1.42.59</li>
<li><a
href="b38a03ce4d"><code>b38a03c</code></a>
Update to latest models</li>
<li><a
href="97336ff38f"><code>97336ff</code></a>
Merge customizations for ARC Region switch</li>
<li><a
href="f76046b4bd"><code>f76046b</code></a>
Merge branch 'release-1.42.58'</li>
<li><a
href="be2689a1ee"><code>be2689a</code></a>
Merge branch 'release-1.42.58' into develop</li>
<li><a
href="47f8789f55"><code>47f8789</code></a>
Bumping version to 1.42.58</li>
<li><a
href="14bc74f6f6"><code>14bc74f</code></a>
Update to latest models</li>
<li><a
href="8c0427aaab"><code>8c0427a</code></a>
Add support for None values in list parsing (<a
href="https://redirect.github.com/boto/botocore/issues/3618">#3618</a>)</li>
<li><a
href="86d9ec3b0f"><code>86d9ec3</code></a>
Merge branch 'release-1.42.57'</li>
<li>Additional commits viewable in <a
href="https://github.com/boto/botocore/compare/1.32.7...1.42.59">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=botocore&package-manager=pip&previous-version=1.32.7&new-version=1.42.59)](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)


</details>
2026-03-08 23:50:13 -05:00
Alexa Amundson
60a65e137f chore: bump email-validator from 2.1.0.post1 to 2.3.0 (#178)
Bumps
[email-validator](https://github.com/JoshData/python-email-validator)
from 2.1.0.post1 to 2.3.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/JoshData/python-email-validator/releases">email-validator's
releases</a>.</em></p>
<blockquote>
<h2>v2.3.0</h2>
<ul>
<li>The package name is changed from using an underscore
(email_validator) to a dash (email-validator) to match PyPi's normalized
package name.</li>
<li>The library no longer checks that the local part is at most 64
characters because a more careful reading of RFC 5321 indicates the
limit is optional and such email addresses have been found in the wild.
However the check can be restored using a new <code>strict=True</code>
parameter, and the overall 254 character email address length limit is
still in place.</li>
<li>New EmailSyntaxError messages are used for some exiting syntax
errors related to @-sign homoglyphs and invalid characters in
internationalized domains.</li>
<li>When using <code>allow_display_name=True</code>, display names are
now returned with Unicode NFC normalization.</li>
<li>TypeError is now raised if something other than str (or bytes) is
passed as the email address.</li>
</ul>
<h2>2.2.0 (June 20, 2024)</h2>
<ul>
<li>Email addresses with internationalized local parts could, with rare
Unicode characters, be returned as valid but actually be invalid in
their normalized form (returned in the <code>normalized</code> field).
Local parts now re-validated after Unicode NFC normalization to ensure
that invalid characters cannot be injected into the normalized address
and that characters with length-increasing NFC normalizations cannot
cause a local part to exceed the maximum length after
normalization.</li>
<li>The length check for email addresses with internationalized local
parts is now also applied to the original address string prior to
Unicode NFC normalization, which may be longer and could exceed the
maximum email address length, to protect callers who do not use the
returned normalized address.</li>
<li>Improved error message for IDNA domains that are too long or have
invalid characters after Unicode normalization.</li>
<li>A new option to parse <code>My Name &lt;address@domain&gt;</code>
strings, i.e. a display name plus an email address in angle brackets, is
now available. It is off by default.</li>
<li>Improvements to Python typing.</li>
<li>Some additional tests added.</li>
</ul>
<h2>v2.1.2</h2>
<h2>2.1.2 (June 16, 2024)</h2>
<ul>
<li>The domain name length limit is corrected from 255 to 253 IDNA ASCII
characters. I misread the RFCs.</li>
<li>When a domain name has no MX record but does have an A or AAAA
record, if none of the IP addresses in the response are globally
reachable (i.e. not Private-Use, Loopback, etc.), the response is
treated as if there was no A/AAAA response and the email address will
fail the deliverability check.</li>
<li>When a domain name has no MX record but does have an A or AAAA
record, the mx field in the object returned by validate_email
incorrectly held the IP addresses rather than the domain itself.</li>
<li>Fixes in tests.</li>
</ul>
<h2>v2.1.1 (February 26, 2024)</h2>
<ul>
<li>Fixed typo 'marking' instead of 'marketing' in case-insensitive
mailbox name list.</li>
<li>When DNS-based deliverability checks fail, in some cases exceptions
are now thrown with <code>raise ... from</code> for better nested
exception tracking.</li>
<li>Fixed tests to work when no local resolver can be configured.</li>
<li>This project is now licensed under the Unlicense (instead of
CC0).</li>
<li>Minor improvements to tests.</li>
<li>Minor improvements to code style.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/JoshData/python-email-validator/blob/main/CHANGELOG.md">email-validator's
changelog</a>.</em></p>
<blockquote>
<h2>2.3.0 (August 26, 2025)</h2>
<ul>
<li>The package name is changed from using an underscore
(email_validator) to a dash (email-validator) to match PyPi's normalized
package name.</li>
<li>The library no longer checks that the local part is at most 64
characters because a more careful reading of RFC 5321 indicates the
limit is optional and such email addresses have been found in the wild.
However the check can be restored using a new <code>strict=True</code>
parameter, and the overall 254 character email address length limit is
still in place.</li>
<li>New EmailSyntaxError messages are used for some exiting syntax
errors related to @-sign homoglyphs and invalid characters in
internationalized domains.</li>
<li>When using <code>allow_display_name=True</code>, display names are
now returned with Unicode NFC normalization.</li>
<li>TypeError is now raised if something other than str (or bytes) is
passed as the email address.</li>
</ul>
<h2>2.2.0 (June 20, 2024)</h2>
<ul>
<li>Email addresses with internationalized local parts could, with rare
Unicode characters, be returned as valid but actually be invalid in
their normalized form (returned in the <code>normalized</code> field).
In particular, it is possible to get a normalized address with a
&quot;;&quot; character, which is not valid and could change the
interpretation of the address. Local parts now re-validated after
Unicode NFC normalization to ensure that invalid characters cannot be
injected into the normalized address and that characters with
length-increasing NFC normalizations cannot cause a local part to exceed
the maximum length after normalization. Thanks to <a
href="mailto:khanh@calif.io">khanh@calif.io</a> from <a
href="https://calif.io">https://calif.io</a> for reporting the
issue.</li>
<li>The length check for email addresses with internationalized local
parts is now also applied to the original address string prior to
Unicode NFC normalization, which may be longer and could exceed the
maximum email address length, to protect callers who do not use the
returned normalized address.</li>
<li>Improved error message for IDNA domains that are too long or have
invalid characters after Unicode normalization.</li>
<li>A new option to parse <code>My Name &lt;address@domain&gt;</code>
strings, i.e. a display name plus an email address in angle brackets, is
now available. It is off by default.</li>
<li>Improvements to Python typing.</li>
<li>Some additional tests added.</li>
</ul>
<h2>2.1.2 (June 16, 2024)</h2>
<ul>
<li>The domain name length limit is corrected from 255 to 253 IDNA ASCII
characters. I misread the RFCs.</li>
<li>When a domain name has no MX record but does have an A or AAAA
record, if none of the IP addresses in the response are globally
reachable (i.e. not Private-Use, Loopback, etc.), the response is
treated as if there was no A/AAAA response and the email address will
fail the deliverability check.</li>
<li>When a domain name has no MX record but does have an A or AAAA
record, the mx field in the object returned by validate_email
incorrectly held the IP addresses rather than the domain itself.</li>
<li>Fixes in tests.</li>
</ul>
<h2>2.1.1 (February 26, 2024)</h2>
<ul>
<li>Fixed typo 'marking' instead of 'marketing' in case-insensitive
mailbox name list.</li>
<li>When DNS-based deliverability checks fail, in some cases exceptions
are now thrown with <code>raise ... from</code> for better nested
exception tracking.</li>
<li>Fixed tests to work when no local resolver can be configured.</li>
<li>This project is now licensed under the Unlicense (instead of
CC0).</li>
<li>Minor improvements to tests.</li>
<li>Minor improvements to code style.</li>
</ul>
<h2>2.1.0 (October 22, 2023)</h2>
<ul>
<li>Python 3.8+ is now required (support for Python 3.7 was
dropped).</li>
<li>The old <code>email</code> field on the returned
<code>ValidatedEmail</code> object, which in the previous version was
superseded by <code>normalized</code>, will now raise a deprecation
warning if used. See <a
href="https://stackoverflow.com/q/879173">https://stackoverflow.com/q/879173</a>
for strategies to suppress the DeprecationWarning.</li>
<li>A <code>__version__</code> module attribute is added.</li>
<li>The email address argument to validate_email is now marked as
positional-only to better reflect the documented usage using the new
Python 3.8 feature.</li>
</ul>
<h2>2.0.0 (April 15, 2023)</h2>
<p>This is a major update to the library, but since email address specs
haven't changed there should be no significant changes to which email
addresses are considered valid or invalid with default options. There
are new options for accepting unusual email addresses that were
previously always rejected, some changes to how DNS errors are handled,
many changes in error message text, and major internal improvements
including the addition of type annotations. Python 3.7+ is now required.
Details follow:</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/JoshData/python-email-validator/commits/v2.3.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=email-validator&package-manager=pip&previous-version=2.1.0.post1&new-version=2.3.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)


</details>
2026-03-08 23:50:11 -05:00
Alexa Amundson
e3284bea4f chore: bump hiredis from 2.2.3 to 3.3.0 (#180)
Bumps [hiredis](https://github.com/redis/hiredis-py) from 2.2.3 to
3.3.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/redis/hiredis-py/releases">hiredis's
releases</a>.</em></p>
<blockquote>
<h2>3.3.0</h2>
<h1>Changes</h1>
<ul>
<li>Add Python 3.14 to CI and wheels (<a
href="https://redirect.github.com/redis/hiredis-py/issues/213">#213</a>
by <a
href="https://github.com/zweizeichen"><code>@​zweizeichen</code></a>)</li>
</ul>
<h2>Contributors</h2>
<p>We'd like to thank all the contributors who worked on this
release!</p>
<h2>3.2.1</h2>
<h1>Changes</h1>
<ul>
<li>Fix assertion in reader.c (<a
href="https://redirect.github.com/redis/hiredis-py/issues/212">#212</a>)</li>
</ul>
<h2>Contributors</h2>
<p>We'd like to thank all the contributors who worked on this
release!</p>
<p><a href="https://github.com/uglide"><code>@​uglide</code></a></p>
<h2>3.2.0</h2>
<h1>Changes</h1>
<ul>
<li>Introduce new type for RESP3 PUSH notifications (<a
href="https://redirect.github.com/redis/hiredis-py/issues/208">#208</a>)</li>
<li>Run integration workflow on version branches (<a
href="https://redirect.github.com/redis/hiredis-py/issues/210">#210</a>)</li>
<li>Update hiredis to 1.3.0 (<a
href="https://redirect.github.com/redis/hiredis-py/issues/203">#203</a>)</li>
</ul>
<h2>Contributors</h2>
<p>We'd like to thank all the contributors who worked on this
release!</p>
<p><a href="https://github.com/uglide"><code>@​uglide</code></a></p>
<h2>3.1.1</h2>
<h2>Summary</h2>
<p>This is a maintenance release that addresses issues in RESP3
parsing.</p>
<h2>Changes</h2>
<ul>
<li>Fix memory leaks and segfaults in RESP3 map parsing (<a
href="https://redirect.github.com/redis/hiredis-py/issues/204">#204</a>,
<a
href="https://redirect.github.com/redis/hiredis-py/issues/205">#205</a>,
<a
href="https://redirect.github.com/redis/hiredis-py/issues/206">#206</a>)</li>
</ul>
<h2>3.1.0</h2>
<h1>Changes</h1>
<ul>
<li>Update Python 3.13 compatibility (<a
href="https://redirect.github.com/redis/hiredis-py/issues/199">#199</a>)</li>
</ul>
<h2>Contributors</h2>
<p>We'd like to thank all the contributors who worked on this
release!</p>
<p><a href="https://github.com/DeD1rk"><code>@​DeD1rk</code></a></p>
<h2>3.0.0</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="187d0f387a"><code>187d0f3</code></a>
Version 3.3.0</li>
<li><a
href="3efcf037ed"><code>3efcf03</code></a>
Add Python 3.14 to CI and wheels (<a
href="https://redirect.github.com/redis/hiredis-py/issues/213">#213</a>)
(<a
href="https://redirect.github.com/redis/hiredis-py/issues/215">#215</a>)</li>
<li><a
href="966cede2c0"><code>966cede</code></a>
Fix assertion in reader.c (<a
href="https://redirect.github.com/redis/hiredis-py/issues/212">#212</a>)</li>
<li><a
href="78def309e5"><code>78def30</code></a>
Bump version to 3.3.0-dev</li>
<li><a
href="f715de2e7c"><code>f715de2</code></a>
Version 3.2.0</li>
<li><a
href="d5548270b6"><code>d554827</code></a>
Introduce new type for RESP3 PUSH notifications (<a
href="https://redirect.github.com/redis/hiredis-py/issues/208">#208</a>)</li>
<li><a
href="58fe9603cd"><code>58fe960</code></a>
Run integration workflow on version branches (<a
href="https://redirect.github.com/redis/hiredis-py/issues/210">#210</a>)</li>
<li><a
href="8608965483"><code>8608965</code></a>
Update hiredis to 1.3.0 (<a
href="https://redirect.github.com/redis/hiredis-py/issues/203">#203</a>)</li>
<li><a
href="ac31d58c5f"><code>ac31d58</code></a>
Bump version to 3.2.0-dev (<a
href="https://redirect.github.com/redis/hiredis-py/issues/207">#207</a>)</li>
<li><a
href="7e77f22963"><code>7e77f22</code></a>
Fix memory leak in RESP3 map parsing (<a
href="https://redirect.github.com/redis/hiredis-py/issues/204">#204</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/redis/hiredis-py/compare/v2.2.3...v3.3.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hiredis&package-manager=pip&previous-version=2.2.3&new-version=3.3.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)


</details>
2026-03-08 23:50:09 -05:00
Alexa Amundson
9d74f47acf chore: bump psycopg2-binary from 2.9.9 to 2.9.11 (#181)
Bumps [psycopg2-binary](https://github.com/psycopg/psycopg2) from 2.9.9
to 2.9.11.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/psycopg/psycopg2/blob/master/NEWS">psycopg2-binary's
changelog</a>.</em></p>
<blockquote>
<h2>Current release</h2>
<p>What's new in psycopg 2.9.11
^^^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<ul>
<li>Add support for Python 3.14.</li>
<li>Avoid a segfault passing more arguments than placeholders if Python
is built
with assertions enabled
(🎫<code>[#1791](https://github.com/psycopg/psycopg2/issues/1791)</code>).</li>
<li>Add riscv64 platform binary packages
(🎫<code>[#1813](https://github.com/psycopg/psycopg2/issues/1813)</code>).</li>
<li><code>~psycopg2.errorcodes</code> map and
<code>~psycopg2.errors</code> classes updated to
PostgreSQL 18.</li>
<li>Drop support for Python 3.8.</li>
</ul>
<p>What's new in psycopg 2.9.10
^^^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<ul>
<li>Add support for Python 3.13.</li>
<li>Receive notifications on commit
(🎫<code>[#1728](https://github.com/psycopg/psycopg2/issues/1728)</code>).</li>
<li><code>~psycopg2.errorcodes</code> map and
<code>~psycopg2.errors</code> classes updated to
PostgreSQL 17.</li>
<li>Drop support for Python 3.7.</li>
</ul>
<p>What's new in psycopg 2.9.9
^^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<ul>
<li>Add support for Python 3.12.</li>
<li>Drop support for Python 3.6.</li>
</ul>
<p>What's new in psycopg 2.9.8
^^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<ul>
<li>Wheel package bundled with PostgreSQL 16 libpq in order to add
support for
recent features, such as <code>sslcertmode</code>.</li>
</ul>
<p>What's new in psycopg 2.9.7
^^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<ul>
<li>Fix propagation of exceptions raised during module initialization

(🎫<code>[#1598](https://github.com/psycopg/psycopg2/issues/1598)</code>).</li>
<li>Fix building when pg_config returns an empty string
(🎫<code>[#1599](https://github.com/psycopg/psycopg2/issues/1599)</code>).</li>
<li>Wheel package bundled with OpenSSL 1.1.1v.</li>
</ul>
<p>What's new in psycopg 2.9.6
^^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="fd9ae8cad2"><code>fd9ae8c</code></a>
chore: bump to version 2.9.11</li>
<li><a
href="d923840546"><code>d923840</code></a>
chore: update docs requirements</li>
<li><a
href="d42dc7169d"><code>d42dc71</code></a>
Merge branch 'fix-1791'</li>
<li><a
href="4fde6560c3"><code>4fde656</code></a>
fix: avoid failed assert passing more arguments than placeholders</li>
<li><a
href="8308c19d6a"><code>8308c19</code></a>
fix: drop warning about the use of deprecated PyWeakref_GetObject
function</li>
<li><a
href="1a1eabf098"><code>1a1eabf</code></a>
build(deps): bump actions/github-script from 7 to 8</li>
<li><a
href="897af8b38b"><code>897af8b</code></a>
build(deps): bump peter-evans/repository-dispatch from 3 to 4</li>
<li><a
href="ceefd30511"><code>ceefd30</code></a>
build(deps): bump actions/checkout from 4 to 5</li>
<li><a
href="4dc585430c"><code>4dc5854</code></a>
build(deps): bump actions/setup-python from 5 to 6</li>
<li><a
href="1945788dcf"><code>1945788</code></a>
Merge pull request <a
href="https://redirect.github.com/psycopg/psycopg2/issues/1802">#1802</a>
from edgarrmondragon/cp314-wheels</li>
<li>Additional commits viewable in <a
href="https://github.com/psycopg/psycopg2/compare/2.9.9...2.9.11">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=psycopg2-binary&package-manager=pip&previous-version=2.9.9&new-version=2.9.11)](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)


</details>
2026-03-08 23:50:06 -05:00
Alexa Amundson
63d0e0aa0e chore: bump hashlib-additional from 1.0.0 to 1.1 (#182)
Bumps
[hashlib-additional](https://github.com/rfinnie/python-hashlib-additional)
from 1.0.0 to 1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rfinnie/python-hashlib-additional/releases">hashlib-additional's
releases</a>.</em></p>
<blockquote>
<h2>hashlib-additional 1.1</h2>
<ul>
<li>Fix setup.py encoding issue on Windows</li>
<li>Add new checksums: cksum, sysv, fletcher16, fletcher32,
fletcher64</li>
<li>Additional build/CI/test improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="42c209ed4b"><code>42c209e</code></a>
hashlib-additional 1.1</li>
<li><a
href="02f80b372e"><code>02f80b3</code></a>
Small fix, if -&gt; elif</li>
<li><a
href="1ea6ae2d8f"><code>1ea6ae2</code></a>
Add Fletcher checksums</li>
<li><a
href="f38943cb7e"><code>f38943c</code></a>
Test Python 3.9</li>
<li><a
href="96a7e305d9"><code>96a7e30</code></a>
Enforce coverage</li>
<li><a
href="9682c93ccf"><code>9682c93</code></a>
Remove unneeded flake8 C901 ignore</li>
<li><a
href="baf2a07ddf"><code>baf2a07</code></a>
setup.py: force UTF-8 README for Windows</li>
<li><a
href="189ef49eb2"><code>189ef49</code></a>
100% code coverage</li>
<li><a
href="005805d2bc"><code>005805d</code></a>
Implement tox, CI</li>
<li><a
href="26523727ca"><code>2652372</code></a>
Doc updates</li>
<li>Additional commits viewable in <a
href="https://github.com/rfinnie/python-hashlib-additional/compare/v1.0...v1.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hashlib-additional&package-manager=pip&previous-version=1.0.0&new-version=1.1)](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)


</details>
2026-03-08 23:50:04 -05:00
Alexa Amundson
c36bd72d38 chore: bump psutil from 5.9.6 to 7.2.2 (#183)
Bumps [psutil](https://github.com/giampaolo/psutil) from 5.9.6 to 7.2.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/giampaolo/psutil/blob/master/HISTORY.rst">psutil's
changelog</a>.</em></p>
<blockquote>
<h1>7.2.2</h1>
<p>2026-01-28</p>
<p><strong>Enhancements</strong></p>
<ul>
<li>2705_: [Linux]: <code>Process.wait()</code>_ now uses
<code>pidfd_open()</code> + <code>poll()</code> for
waiting, resulting in no busy loop and faster response times. Requires
Linux &gt;= 5.3 and Python &gt;= 3.9. Falls back to traditional polling
if
unavailable.</li>
<li>2705_: [macOS], [BSD]: <code>Process.wait()</code>_ now uses
<code>kqueue()</code> for waiting,
resulting in no busy loop and faster response times.</li>
</ul>
<p><strong>Bug fixes</strong></p>
<ul>
<li>2701_, [macOS]: fix compilation error on macOS &lt; 10.7. (patch by
Sergey
Fedorov)</li>
<li>2707_, [macOS]: fix potential memory leaks in error paths of
<code>Process.memory_full_info()</code> and
<code>Process.threads()</code>.</li>
<li>2708_, [macOS]: Process.cmdline()<code>_ and
</code>Process.environ()<code>_ may fail with ``OSError: [Errno 0]
Undefined error`` (from ``sysctl(KERN_PROCARGS2)``). They now raise
</code>AccessDenied`_ instead.</li>
</ul>
<h1>7.2.1</h1>
<p>2025-12-29</p>
<p><strong>Bug fixes</strong></p>
<ul>
<li>2699_, [FreeBSD], [NetBSD]: <code>heap_info()</code>_ does not
detect small allocations
(&lt;= 1K). In order to fix that, we now flush internal jemalloc cache
before
fetching the metrics.</li>
</ul>
<h1>7.2.0</h1>
<p>2025-12-23</p>
<p><strong>Enhancements</strong></p>
<ul>
<li>1275_: new <code>heap_info()</code>_ and <code>heap_trim()</code>_
functions, providing direct
access to the platform's native C heap allocator (glibc, mimalloc,
libmalloc). Useful to create tools to detect memory leaks.</li>
<li>2403_, [Linux]: publish wheels for Linux musl.</li>
<li>2680_: unit tests are no longer installed / part of the
distribution. They
now live under <code>tests/</code> instead of
<code>psutil/tests</code>.</li>
</ul>
<p><strong>Bug fixes</strong></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9eea97dd6f"><code>9eea97d</code></a>
Pre-release</li>
<li><a
href="938ac64741"><code>938ac64</code></a>
Rm sphinxcontrib.googleanalytics; override layout.html</li>
<li><a
href="9dcbb7e60e"><code>9dcbb7e</code></a>
Add sphinxcontrib-googleanalytics to requirements.txt</li>
<li><a
href="76eaf9ae0f"><code>76eaf9a</code></a>
Try to add google analytics to doc</li>
<li><a
href="de1cafa56f"><code>de1cafa</code></a>
Update doc mentioning Process.wait() internal details</li>
<li><a
href="bb30943b03"><code>bb30943</code></a>
Refact can_use_pidfd_open() and can_use_kqueue()</li>
<li><a
href="a571717d65"><code>a571717</code></a>
<a
href="https://redirect.github.com/giampaolo/psutil/issues/2708">#2708</a>,
macos / cmdline / environ; raise AD instead of OSError(0) (<a
href="https://redirect.github.com/giampaolo/psutil/issues/2709">#2709</a>)</li>
<li><a
href="8b98c3effc"><code>8b98c3e</code></a>
Pre-release</li>
<li><a
href="700b7e6a41"><code>700b7e6</code></a>
[macOS] fix potential leaks in error paths (<a
href="https://redirect.github.com/giampaolo/psutil/issues/2707">#2707</a>)</li>
<li><a
href="7cc7923a14"><code>7cc7923</code></a>
Windows / cmdline(): be more defensive in free()ing in case of
error</li>
<li>Additional commits viewable in <a
href="https://github.com/giampaolo/psutil/compare/release-5.9.6...release-7.2.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=psutil&package-manager=pip&previous-version=5.9.6&new-version=7.2.2)](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)


</details>
2026-03-08 23:50:01 -05:00
dependabot[bot]
85beb444a6 chore: bump aiohttp from 3.9.1 to 3.13.3
---
updated-dependencies:
- dependency-name: aiohttp
  dependency-version: 3.13.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 02:23:51 +00:00
dependabot[bot]
9b7fafd11d chore: bump psutil from 5.9.6 to 7.2.2
Bumps [psutil](https://github.com/giampaolo/psutil) from 5.9.6 to 7.2.2.
- [Changelog](https://github.com/giampaolo/psutil/blob/master/HISTORY.rst)
- [Commits](https://github.com/giampaolo/psutil/compare/release-5.9.6...release-7.2.2)

---
updated-dependencies:
- dependency-name: psutil
  dependency-version: 7.2.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 02:23:39 +00:00
dependabot[bot]
8163222cb0 chore: bump hashlib-additional from 1.0.0 to 1.1
Bumps [hashlib-additional](https://github.com/rfinnie/python-hashlib-additional) from 1.0.0 to 1.1.
- [Release notes](https://github.com/rfinnie/python-hashlib-additional/releases)
- [Commits](https://github.com/rfinnie/python-hashlib-additional/compare/v1.0...v1.1)

---
updated-dependencies:
- dependency-name: hashlib-additional
  dependency-version: '1.1'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 02:23:37 +00:00
dependabot[bot]
e8dab23cba chore: bump psycopg2-binary from 2.9.9 to 2.9.11
Bumps [psycopg2-binary](https://github.com/psycopg/psycopg2) from 2.9.9 to 2.9.11.
- [Changelog](https://github.com/psycopg/psycopg2/blob/master/NEWS)
- [Commits](https://github.com/psycopg/psycopg2/compare/2.9.9...2.9.11)

---
updated-dependencies:
- dependency-name: psycopg2-binary
  dependency-version: 2.9.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 02:23:35 +00:00
dependabot[bot]
4ba4a810ff chore: bump hiredis from 2.2.3 to 3.3.0
Bumps [hiredis](https://github.com/redis/hiredis-py) from 2.2.3 to 3.3.0.
- [Release notes](https://github.com/redis/hiredis-py/releases)
- [Changelog](https://github.com/redis/hiredis-py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/redis/hiredis-py/compare/v2.2.3...v3.3.0)

---
updated-dependencies:
- dependency-name: hiredis
  dependency-version: 3.3.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 02:23:32 +00:00
dependabot[bot]
c78dd6607b chore: bump email-validator from 2.1.0.post1 to 2.3.0
Bumps [email-validator](https://github.com/JoshData/python-email-validator) from 2.1.0.post1 to 2.3.0.
- [Release notes](https://github.com/JoshData/python-email-validator/releases)
- [Changelog](https://github.com/JoshData/python-email-validator/blob/main/CHANGELOG.md)
- [Commits](https://github.com/JoshData/python-email-validator/commits/v2.3.0)

---
updated-dependencies:
- dependency-name: email-validator
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 02:23:30 +00:00
dependabot[bot]
296b7f583f chore: bump botocore from 1.32.7 to 1.42.59
Bumps [botocore](https://github.com/boto/botocore) from 1.32.7 to 1.42.59.
- [Commits](https://github.com/boto/botocore/compare/1.32.7...1.42.59)

---
updated-dependencies:
- dependency-name: botocore
  dependency-version: 1.42.59
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 02:23:28 +00:00
Claude
d551d0c6df Add BR-95 Desktop API backend with real-time data and WebSocket support
This commit implements the complete backend infrastructure for the BR-95
Desktop Operating System interface.

## New Features

1. **BR-95 Router** (`backend/app/routers/br95.py`):
   - Data simulator for OS statistics
   - 11+ API endpoints for real-time data
   - WebSocket support for live updates
   - Pydantic models for type safety

2. **API Endpoints** (`/api/br95`):
   - `/lucidia` - AI orchestration stats (1000 agents)
   - `/agents` - Agent performance metrics
   - `/roadchain` - Blockchain statistics
   - `/wallet` - RoadCoin wallet balance
   - `/miner` - Mining performance
   - `/raspberry-pi` - IoT device management
   - `/github` - GitHub integration stats
   - `/roadmail` - Email statistics
   - `/roadcraft` - Game statistics
   - `/road-city` - Metaverse statistics
   - `/terminal` - Command execution (simulated)

3. **WebSocket** (`/api/br95/ws`):
   - Real-time miner updates
   - Live blockchain sync
   - Wallet balance streaming
   - Auto-reconnect on disconnect

4. **Frontend Integration**:
   - Updated BR-95 HTML with API calls
   - WebSocket client for live updates
   - Auto-refresh every 30 seconds
   - Real-time stat updates in windows

5. **Railway Deployment**:
   - Already configured via railway.toml
   - Health check at /health
   - Version endpoint at /version
   - Documentation in docs/RAILWAY_BR95.md

## Technical Details

- **Data Simulation**: Uses DataSimulator class for realistic stats
- **WebSocket Manager**: ConnectionManager for broadcast messaging
- **Type Safety**: Full Pydantic model validation
- **Performance**: psutil for real CPU/memory metrics
- **Error Handling**: Graceful fallbacks and reconnection

## Deployment

Service runs on:
- Primary: https://app.blackroad.systems
- Railway: https://blackroad-operating-system-production.up.railway.app

Health check: GET /health
Version info: GET /version
API docs: GET /api/docs

## Files Changed

- backend/app/main.py - Registered br95 router
- backend/requirements.txt - Added psutil==5.9.6
- backend/static/index.html - API integration + WebSocket
- backend/app/routers/br95.py - New BR-95 router (700+ lines)
- docs/RAILWAY_BR95.md - Deployment guide

Closes #133 (if exists) - BR-95 backend implementation
2025-11-20 21:48:22 +00:00
Alexa Amundson
e35d981c4d Fix backend dependencies and document new API tags 2025-11-16 04:45:07 -06:00
Claude
84ab793177 Add comprehensive multi-API integration support
This commit adds extensive API integration capabilities for deployment,
payments, communications, and monitoring to BlackRoad OS.

New API Integrations:
- Railway API: Cloud deployment management (GraphQL)
- Vercel API: Serverless deployment platform (REST)
- Stripe API: Payment processing and billing
- Twilio API: SMS, Voice, and WhatsApp messaging
- Slack API: Team collaboration and notifications
- Discord API: Community messaging and notifications
- Sentry API: Error tracking and application monitoring

Core Features:
- Centralized API client manager with health checking
- Comprehensive health monitoring endpoint (/api/health/*)
- Automatic retry logic and rate limit handling
- Unified status monitoring for all integrations

Infrastructure:
- Railway deployment configuration (railway.json, railway.toml)
- Enhanced GitHub Actions workflows:
  * backend-tests.yml: Comprehensive test suite with PostgreSQL/Redis
  * railway-deploy.yml: Automated Railway deployment with notifications
- Docker build validation in CI/CD pipeline

Testing:
- Comprehensive test suite for all API integrations
- API connectivity verification in CI/CD
- Mock-friendly architecture for testing without credentials

Configuration:
- Updated .env.example with all new API keys
- Added stripe and sentry-sdk to requirements.txt
- Registered all new routers in main.py
- Updated API info endpoint with new integrations

Documentation:
- API_INTEGRATIONS.md: Complete setup and usage guide
- Interactive API docs at /api/docs with all endpoints
- Health check endpoints for monitoring

All APIs are optional and gracefully handle missing credentials.
The system provides clear status messages for configuration requirements.
2025-11-16 09:34:14 +00:00
Claude
5da6cc9d23 Add comprehensive FastAPI backend for BlackRoad OS
This commit adds a complete backend infrastructure with:

**Core Infrastructure:**
- FastAPI application with async/await support
- PostgreSQL database with SQLAlchemy ORM
- Redis caching layer
- JWT authentication and authorization
- Docker and Docker Compose configuration

**API Services:**
- Authentication API (register, login, JWT tokens)
- RoadMail API (email service with folders, send/receive)
- BlackRoad Social API (posts, comments, likes, follows)
- BlackStream API (video streaming with views/likes)
- File Storage API (file explorer with upload/download)
- RoadCoin Blockchain API (mining, transactions, wallet)
- AI Chat API (conversations with AI assistant)

**Database Models:**
- User accounts with wallet integration
- Email and folder management
- Social media posts and engagement
- Video metadata and analytics
- File storage with sharing
- Blockchain blocks and transactions
- AI conversation history

**Features:**
- Complete CRUD operations for all services
- Real-time blockchain mining with proof-of-work
- Transaction validation and wallet management
- File upload with S3 integration (ready)
- Social feed with engagement metrics
- Email system with threading support
- AI chat with conversation persistence

**Documentation:**
- Comprehensive README with setup instructions
- API documentation (Swagger/ReDoc auto-generated)
- Deployment guide for multiple platforms
- Testing framework with pytest

**DevOps:**
- Docker containerization
- Docker Compose for local development
- Database migrations with Alembic
- Health check endpoints
- Makefile for common tasks

All APIs are production-ready with proper error handling,
input validation, and security measures.
2025-11-16 06:39:16 +00:00