{"id":3473,"name":"psutil","ecosystem":"pip","repository_url":"https://github.com/giampaolo/psutil","issues_count":1829,"created_at":"2025-06-06T16:30:11.704Z","updated_at":"2025-06-06T16:30:11.704Z","purl":"pkg:pypi/psutil","metadata":{"id":2862284,"name":"psutil","ecosystem":"pypi","description":"Cross-platform lib for process and system monitoring in Python.  NOTE: the syntax of this script MUST be kept compatible with Python 2.7.","homepage":"https://github.com/giampaolo/psutil","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/giampaolo/psutil","keywords_array":["ps","top","kill","free","lsof","netstat","nice","tty","ionice","uptime","taskmgr","process","df","iotop","iostat","ifconfig","taskset","who","pidof","pmap","smem","pstree","monitoring","ulimit","prlimit","smem","performance","metrics","agent","observability"],"namespace":null,"versions_count":97,"first_release_published_at":"2023-08-18T05:25:42.192Z","latest_release_published_at":"2025-02-13T21:54:12.000Z","latest_release_number":"7.0.0","last_synced_at":"2025-06-06T01:01:23.615Z","created_at":"2022-04-10T12:08:11.279Z","updated_at":"2025-06-06T01:01:23.615Z","registry_url":"https://pypi.org/project/psutil/","install_command":"pip install psutil --index-url https://pypi.org/simple","documentation_url":"https://psutil.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 5 - Production/Stable","Environment :: Console","Environment :: Win32 (MS Windows)","Intended Audience :: Developers","Intended Audience :: Information Technology","Intended Audience :: System Administrators","License :: OSI Approved :: BSD License","Operating System :: MacOS :: MacOS X","Operating System :: Microsoft","Operating System :: Microsoft :: Windows :: Windows 10","Operating System :: Microsoft :: Windows :: Windows 7","Operating System :: Microsoft :: Windows :: Windows 8","Operating System :: Microsoft :: Windows :: Windows 8.1","Operating System :: Microsoft :: Windows :: Windows Server 2003","Operating System :: Microsoft :: Windows :: Windows Server 2008","Operating System :: Microsoft :: Windows :: Windows Vista","Operating System :: OS Independent","Operating System :: POSIX","Operating System :: POSIX :: AIX","Operating System :: POSIX :: BSD","Operating System :: POSIX :: BSD :: FreeBSD","Operating System :: POSIX :: BSD :: NetBSD","Operating System :: POSIX :: BSD :: OpenBSD","Operating System :: POSIX :: Linux","Operating System :: POSIX :: SunOS/Solaris","Programming Language :: C","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: Implementation :: CPython","Programming Language :: Python :: Implementation :: PyPy","Topic :: Software Development :: Libraries","Topic :: Software Development :: Libraries :: Python Modules","Topic :: System :: Benchmark","Topic :: System :: Hardware","Topic :: System :: Hardware :: Hardware Drivers","Topic :: System :: Monitoring","Topic :: System :: Networking","Topic :: System :: Networking :: Monitoring","Topic :: System :: Networking :: Monitoring :: Hardware Watchdog","Topic :: System :: Operating System","Topic :: System :: Systems Administration","Topic :: Utilities"],"normalized_name":"psutil"},"repo_metadata":{"id":17330450,"uuid":"20101515","full_name":"giampaolo/psutil","owner":"giampaolo","description":"Cross-platform lib for process and system monitoring in Python","archived":false,"fork":false,"pushed_at":"2024-10-17T21:32:27.000Z","size":37187,"stargazers_count":10258,"open_issues_count":316,"forks_count":1383,"subscribers_count":235,"default_branch":"master","last_synced_at":"2024-10-29T16:15:01.520Z","etag":null,"topics":["cpu","disk","freebsd","linux","memory","monitoring","netbsd","openbsd","osx","ps","psutil","python","sensors","system-monitoring","top","windows"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/giampaolo.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"tidelift":"pypi/psutil","github":"giampaolo","patreon":null,"open_collective":"psutil","ko_fi":null,"community_bridge":null,"custom":"https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=A9ZS7PKKRM3S8"}},"created_at":"2014-05-23T14:01:48.000Z","updated_at":"2024-10-29T13:55:46.000Z","dependencies_parsed_at":"2023-02-19T06:46:03.860Z","dependency_job_id":"c5b47075-8bf7-476b-b20e-3fc1d06e9860","html_url":"https://github.com/giampaolo/psutil","commit_stats":{"total_commits":5535,"total_committers":211,"mean_commits":"26.232227488151658","dds":"0.14778681120144532","last_synced_commit":"5a3d56be329559e9aa06e44680da312986c1b9fa"},"previous_names":[],"tags_count":91,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/giampaolo","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222090776,"owners_count":16929471,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"giampaolo","name":"Giampaolo Rodola","uuid":"681260","kind":"user","description":"Python enthusiast and core developer, author of psutil and pyftpdlib python libs","email":"","website":"gmpy.dev","location":"Italy","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/681260?u=4d58d8d263f5a717d21aa37e2e44ab277686fd4c\u0026v=4","repositories_count":16,"last_synced_at":"2024-05-20T14:42:21.338Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/giampaolo","funding_links":["https://github.com/sponsors/giampaolo"],"total_stars":11696,"followers":685,"following":33,"created_at":"2022-11-02T16:23:00.497Z","updated_at":"2024-05-20T14:42:22.463Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/giampaolo","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/giampaolo/repositories"},"tags":[{"name":"release-5.9.8","sha":"27a1432daeacd46b287517c11bfea2af4fd95a88","kind":"tag","published_at":"2024-01-19T20:48:01.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.9.8","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.9.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.9.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.9.8/manifests"},{"name":"release-5.9.7","sha":"8e21684cf34fccab5868b13fcedd69b3598be6f9","kind":"tag","published_at":"2023-12-17T11:25:58.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.9.7","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.9.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.9.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.9.7/manifests"},{"name":"release-5.9.6","sha":"8eb2930539e8030bae94255040a6254889c0fb05","kind":"tag","published_at":"2023-10-15T09:09:36.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.9.6","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.9.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.9.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.9.6/manifests"},{"name":"release-5.9.5","sha":"0d4900b073f8697ab21c47d823621bea61f39a3b","kind":"tag","published_at":"2023-04-17T18:25:21.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.9.5","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.9.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.9.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.9.5/manifests"},{"name":"release-5.9.4","sha":"aa1253c92984e5be6335c024d84e7ec1072baddf","kind":"tag","published_at":"2022-11-07T19:56:27.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.9.4","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.9.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.9.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.9.4/manifests"},{"name":"release-5.9.3","sha":"aae4346a560601e0417188f55cdd2d2a0e606fa7","kind":"tag","published_at":"2022-10-18T20:15:17.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.9.3","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.9.3/manifests"},{"name":"release-5.9.2","sha":"9f9a82d02c901f62512236b44edb050f84cbe5b6","kind":"tag","published_at":"2022-09-04T20:18:41.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.9.2","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.9.2/manifests"},{"name":"release-5.9.1","sha":"992dfe4620bbda3316b54c53b63236f3159aa5f9","kind":"tag","published_at":"2022-05-20T20:11:44.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.9.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.9.1/manifests"},{"name":"release-5.9.0","sha":"f1a54ad88527e0706fb8a88ad7daae80686acc62","kind":"tag","published_at":"2021-12-29T21:28:02.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.9.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.9.0/manifests"},{"name":"release-5.8.0","sha":"b760f4848db4db49de57918660f6a5059666b720","kind":"tag","published_at":"2020-12-19T01:20:45.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.8.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.8.0/manifests"},{"name":"release-5.7.3","sha":"4650d44a9ba6ac06a8161e7778b0556cd5573b1c","kind":"tag","published_at":"2020-10-24T14:08:46.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.7.3","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.7.3/manifests"},{"name":"release-5.7.2","sha":"a0967043b5819b2edc61d9a12306289d5e7f98c2","kind":"tag","published_at":"2020-07-15T13:19:32.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.7.2","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.7.2/manifests"},{"name":"release-5.7.1","sha":"9267775415c6464478457e9ac332f83787a7acc2","kind":"tag","published_at":"2020-07-15T11:15:24.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.7.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.7.1/manifests"},{"name":"release-5.7.0","sha":"f2e0c98ec0348810afe0e12347991438123c86f1","kind":"tag","published_at":"2020-02-18T18:03:10.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.7.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.7.0/manifests"},{"name":"release-5.6.7","sha":"78c8669f9c11fc4d4105925e2fb5e13963abd4a5","kind":"tag","published_at":"2019-11-26T07:26:37.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.6.7","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.6.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.6.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.6.7/manifests"},{"name":"release-5.6.6","sha":"c6cd256da95ffe9599792759b1c2586ba24fa047","kind":"tag","published_at":"2019-11-25T12:31:40.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.6.6","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.6.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.6.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.6.6/manifests"},{"name":"release-5.6.5","sha":"b17eda56735b1e93a907355b4436f118d1333a37","kind":"tag","published_at":"2019-11-06T10:08:05.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.6.5","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.6.5/manifests"},{"name":"release-5.6.4","sha":"70abf32eb3c803a0a527c3784c3baca3ae041bcb","kind":"tag","published_at":"2019-11-04T08:39:05.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.6.4","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.6.4/manifests"},{"name":"release-5.6.3","sha":"f50df9657591c52a0a46c5af3d14998c6471065f","kind":"tag","published_at":"2019-06-11T04:24:42.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.6.3","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.6.3/manifests"},{"name":"release-5.6.2","sha":"e74f59b86bd3d98be915e42c8f470a52667280cc","kind":"tag","published_at":"2019-04-26T02:43:37.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.6.2","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.6.2/manifests"},{"name":"release-5.6.1","sha":"da2bdd6d7356b40baca5f2869a5d20e352e5356a","kind":"tag","published_at":"2019-03-11T17:25:12.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.6.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.6.1/manifests"},{"name":"release-5.6.0","sha":"74bdb6487cece4b2acb8ddf716ecd3a645d287d8","kind":"tag","published_at":"2019-03-05T12:01:22.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.6.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.6.0/manifests"},{"name":"release-5.5.1","sha":"1c3287754f7b87708c3b81e72d1ab4f7f423e9ea","kind":"tag","published_at":"2019-02-15T19:34:27.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.5.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.5.1/manifests"},{"name":"release-5.5.0","sha":"c6b3e929deb182d4db6007548571ad8ddb32bd87","kind":"tag","published_at":"2019-01-23T18:23:57.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.5.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.5.0/manifests"},{"name":"release-5.4.8","sha":"648d8ba39eff4867d461a45a77d1245e2a909234","kind":"tag","published_at":"2018-10-30T09:57:54.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.4.8","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.4.8/manifests"},{"name":"release-5.4.7","sha":"0699c04eb20132dc6f15f69e29565c67d264f00e","kind":"tag","published_at":"2018-08-14T21:01:31.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.4.7","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.4.7/manifests"},{"name":"release-5.4.6","sha":"776d61024f061c47fbff5c765a619c1fd5701f5a","kind":"tag","published_at":"2018-06-07T15:39:44.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.4.6","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.4.6/manifests"},{"name":"release-5.4.5","sha":"91b0d9c05d5781d3cf6594f2a3660ee897be0345","kind":"tag","published_at":"2018-04-13T18:01:21.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.4.5","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.4.5/manifests"},{"name":"release-5.4.4","sha":"feded95354062d3cc36f71993791b32a1c87098c","kind":"tag","published_at":"2018-04-13T09:11:04.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.4.4","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.4.4/manifests"},{"name":"release-5.4.3","sha":"ad4acae5489f86fc3bef645505b3873f156b4867","kind":"tag","published_at":"2018-01-01T20:34:14.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.4.3","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.4.3/manifests"},{"name":"release-5.4.2","sha":"9db307472b1fce4847b01ecf64e3978c85cb3a86","kind":"tag","published_at":"2017-12-07T12:04:01.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.4.2","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.4.2/manifests"},{"name":"release-5.4.1","sha":"147de27ff4a1f9f078b7e3783dae48a8c9eb8da6","kind":"tag","published_at":"2017-11-08T13:51:17.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.4.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.4.1/manifests"},{"name":"release-5.4.0","sha":"38f43df717386e767de0b1e044bb17510b0b1a6c","kind":"tag","published_at":"2017-10-12T07:22:52.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.4.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.4.0/manifests"},{"name":"release-5.3.1","sha":"c34dac19561501a2b37262f139248552e46c338c","kind":"tag","published_at":"2017-09-10T05:28:00.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.3.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.3.1/manifests"},{"name":"release-5.3.0","sha":"fe0799f98e04b980c3f9aee0dd577567eb932e0b","kind":"tag","published_at":"2017-09-01T10:53:05.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.3.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.3.0/manifests"},{"name":"release-5.2.2","sha":"c54a0f4376b6c66c031ff094dcf040f8f0e3e3b2","kind":"tag","published_at":"2017-04-10T17:22:11.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.2.2","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.2.2/manifests"},{"name":"release-5.2.1","sha":"2ab6417338cfa4b674a2e39c7592b265f3cadc80","kind":"tag","published_at":"2017-03-24T15:44:59.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.2.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.2.1/manifests"},{"name":"release-5.2.0","sha":"6bfab5d4c7961a29fe9f195ccf89dccdc1637a41","kind":"tag","published_at":"2017-03-05T04:52:29.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.2.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.2.0/manifests"},{"name":"release-5.1.3","sha":"e5a32988815641e0fee816ba4d2c6d779167f4c6","kind":"tag","published_at":"2017-02-07T21:35:51.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.1.3","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.1.3/manifests"},{"name":"release-5.1.2","sha":"4d219e1349187553245c9ec57d9a2fb6923d601e","kind":"tag","published_at":"2017-02-03T19:17:41.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.1.2","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.1.2/manifests"},{"name":"release-5.1.1","sha":"9ad0590f4d801cfbb0224da33127dc56dbd55130","kind":"tag","published_at":"2017-02-03T12:04:07.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.1.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.1.1/manifests"},{"name":"release-5.1.0","sha":"84e706afcfa5e24523d6768579d0a11979cd15d8","kind":"tag","published_at":"2017-02-01T18:29:27.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.1.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.1.0/manifests"},{"name":"release-5.0.1","sha":"5834173c6a3e51ab954d2c4a17df6e48d9d524e5","kind":"tag","published_at":"2016-12-21T01:35:56.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.0.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.0.1/manifests"},{"name":"release-5.0.0","sha":"ba2c07c2a0147157d18c374aa7922b144cd8f150","kind":"tag","published_at":"2016-11-06T18:30:03.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-5.0.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-5.0.0/manifests"},{"name":"release-4.4.2","sha":"47b68916eb3678ab81ddee4e3643ff4dcf8b66c9","kind":"tag","published_at":"2016-10-26T11:02:30.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-4.4.2","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-4.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-4.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-4.4.2/manifests"},{"name":"release-4.4.1","sha":"55dcd0204feed052276d310f23c633c20a392acf","kind":"tag","published_at":"2016-10-25T15:17:27.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-4.4.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-4.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-4.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-4.4.1/manifests"},{"name":"release-4.4.0","sha":"cc98f161bd6a0c6e26bfe10bd37cc6bee6859ad3","kind":"tag","published_at":"2016-10-23T14:09:42.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-4.4.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-4.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-4.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-4.4.0/manifests"},{"name":"release-4.3.1","sha":"75ef6927c4b0b5fc6fb5b29b61ef43d27448da65","kind":"tag","published_at":"2016-09-01T20:57:50.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-4.3.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-4.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-4.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-4.3.1/manifests"},{"name":"release-4.3.0","sha":"978b673c48dc0422ea3ee3267a13b0e24e88e07a","kind":"tag","published_at":"2016-06-19T20:06:51.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-4.3.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-4.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-4.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-4.3.0/manifests"},{"name":"release-4.2.0","sha":"bda8c65d7557904f895a5d795ced1c33508d6cc8","kind":"tag","published_at":"2016-05-15T06:41:56.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-4.2.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-4.2.0/manifests"},{"name":"release-4.1.0","sha":"04b316602700898bee0a0286c4b2df74f6584bbe","kind":"tag","published_at":"2016-03-12T17:13:10.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-4.1.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-4.1.0/manifests"},{"name":"release-4.0.0","sha":"42b34049cf96e845b6423db91f991849a2f87578","kind":"tag","published_at":"2016-02-17T16:42:04.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-4.0.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-4.0.0/manifests"},{"name":"release-3.4.2","sha":"6e69cf7aa3fef810919d4c2be0705927b054aa39","kind":"tag","published_at":"2016-01-20T16:26:55.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-3.4.2","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-3.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-3.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-3.4.2/manifests"},{"name":"release-3.4.1","sha":"769352c4357172c902134783704b31481db52520","kind":"tag","published_at":"2016-01-15T12:29:44.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-3.4.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-3.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-3.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-3.4.1/manifests"},{"name":"release-3.3.0","sha":"a5f9fbca765e5e1bdffa2a973d95e8210c0848e3","kind":"tag","published_at":"2015-11-25T01:37:06.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-3.3.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-3.3.0/manifests"},{"name":"release-3.2.2","sha":"fed8843f0ae0eef36862a27207ee2403b5c921a7","kind":"tag","published_at":"2015-10-16T08:58:36.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-3.2.2","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-3.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-3.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-3.2.2/manifests"},{"name":"release-3.2.1","sha":"99f6abf9bcff3abff815b8e93c8cd2fbe26487a2","kind":"tag","published_at":"2015-09-03T15:30:48.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-3.2.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-3.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-3.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-3.2.1/manifests"},{"name":"release-3.2.0","sha":"6a5f980a23ecda2b7bbe9ea95bc165df6a6951ad","kind":"tag","published_at":"2015-09-02T11:59:31.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-3.2.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-3.2.0/manifests"},{"name":"release-3.1.1","sha":"e36394a7973514778d74d172b2eaa187da3d1048","kind":"tag","published_at":"2015-07-15T12:35:04.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-3.1.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-3.1.1/manifests"},{"name":"release-3.1.0","sha":"ac8c95745ff5c6adfa96af70852b237f776883aa","kind":"tag","published_at":"2015-07-15T00:44:41.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-3.1.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-3.1.0/manifests"},{"name":"release-3.0.1","sha":"b7cc5955fa6c8a1d9a408a4e517dfb321bfb5e2f","kind":"tag","published_at":"2015-06-18T02:34:00.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-3.0.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-3.0.1/manifests"},{"name":"release-3.0.0","sha":"296759638981d5eba54ee0ab1b831d018e97d903","kind":"tag","published_at":"2015-06-13T19:17:21.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-3.0.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-3.0.0/manifests"},{"name":"release-2.2.1","sha":"84eb441a6129ebbe1839063363d784b1eb1ed3f2","kind":"tag","published_at":"2015-02-02T13:10:27.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-2.2.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-2.2.1/manifests"},{"name":"release-2.2.0","sha":"2bc8555f0428af81c2d067aa76168ed7bc5e0179","kind":"tag","published_at":"2015-01-06T15:39:34.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-2.2.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-2.2.0/manifests"},{"name":"release-2.1.3","sha":"29b0a61f60abfd4bdb2f1afc28172d0595ba24be","kind":"tag","published_at":"2014-09-26T20:30:01.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-2.1.3","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-2.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-2.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-2.1.3/manifests"},{"name":"release-2.1.2","sha":"cc4c00a73cad56b210e678f46049ac45cfc89e20","kind":"tag","published_at":"2014-09-21T13:56:52.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-2.1.2","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-2.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-2.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-2.1.2/manifests"},{"name":"release-2.1.1","sha":"50bd135bbbd17c970afc4882b0829900e3d9bb4c","kind":"commit","published_at":"2014-04-30T13:41:20.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-2.1.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-2.1.1/manifests"},{"name":"release-2.1.0","sha":"41a3d90f01ad4e4b9cf30fb12b9f31a71713be71","kind":"commit","published_at":"2014-04-08T15:16:27.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-2.1.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-2.1.0/manifests"},{"name":"release-2.0.0","sha":"98a0329039404421cc3a1e0b0c08e6d478029ba8","kind":"commit","published_at":"2014-03-10T11:23:02.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-2.0.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-2.0.0/manifests"},{"name":"release-1.2.1","sha":"c32ebbc22a986559ed83dbe0360ff1c65ded6206","kind":"commit","published_at":"2013-11-25T19:57:47.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-1.2.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-1.2.1/manifests"},{"name":"release-1.2.0","sha":"a488118a6c8cd3bf0b320d017db44dacac68a33e","kind":"commit","published_at":"2013-11-20T20:02:21.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-1.2.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-1.2.0/manifests"},{"name":"release-1.1.2","sha":"ee765d02fd379f14908409baba40e239224ccd43","kind":"commit","published_at":"2013-10-22T18:10:20.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-1.1.2","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-1.1.2/manifests"},{"name":"release-1.1.1","sha":"7a50c5ac27699986ccdc0f7f3f0805b0c9b15421","kind":"commit","published_at":"2013-10-07T22:36:28.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-1.1.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-1.1.1/manifests"},{"name":"release-1.1.0","sha":"f90e8fb0aa9e52e4c7000c97bbbce55748bbe29c","kind":"commit","published_at":"2013-09-28T09:47:09.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-1.1.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-1.1.0/manifests"},{"name":"release-1.0.1","sha":"3b13ef49480e165fdaa85f263f0bde48fd89c7a3","kind":"commit","published_at":"2013-07-12T15:54:04.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-1.0.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-1.0.1/manifests"},{"name":"release-1.0.0","sha":"305e72e2290928d41dc8f192a855a0aaf41e35ea","kind":"commit","published_at":"2013-07-10T14:52:24.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-1.0.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-1.0.0/manifests"},{"name":"release-0.7.1","sha":"5b89740fe8ea9797cc195f7703ef9ec06260e6c5","kind":"commit","published_at":"2013-05-03T15:31:54.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-0.7.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.7.1/manifests"},{"name":"release-0.7.0","sha":"06325c85e0b3cddb671c1ef73a33234d66b29820","kind":"commit","published_at":"2013-04-12T13:24:44.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-0.7.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.7.0/manifests"},{"name":"release-0.6.1","sha":"27b87d4f2318ff58df49302394c6538f05371bb2","kind":"commit","published_at":"2012-08-16T16:32:03.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-0.6.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.6.1/manifests"},{"name":"release-0.6.0","sha":"b3c1416b15bd01911d5e4f0f6479b887fb0ec4b8","kind":"commit","published_at":"2012-08-13T12:31:18.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-0.6.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.6.0/manifests"},{"name":"release-0.5.1","sha":"12cc0eb33df9a2ec7def8b26c472d544fde67e85","kind":"commit","published_at":"2012-06-29T16:41:00.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-0.5.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.5.1/manifests"},{"name":"release-0.5.0","sha":"d84127401a0ed36726b06d557a8e4d0d6bee729c","kind":"commit","published_at":"2012-06-27T19:37:32.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-0.5.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.5.0/manifests"},{"name":"release-0.4.1","sha":"5f63911dd186424e264ef52a6d75bc404e5f49db","kind":"commit","published_at":"2011-12-14T22:18:25.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-0.4.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.4.1/manifests"},{"name":"release-0.4.0","sha":"3d2a976a1c61174ac0d46b9f1b020ca0cd9d6110","kind":"commit","published_at":"2011-10-29T03:30:41.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-0.4.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.4.0/manifests"},{"name":"release-0.3.0","sha":"bf91891f0b0fbab73f2104a1c439435c12595299","kind":"commit","published_at":"2011-07-08T18:51:57.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-0.3.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.3.0/manifests"},{"name":"release-0.2.1","sha":"4382dfff0f571185e18a54cbe07d47c994335cb1","kind":"commit","published_at":"2011-03-20T21:14:20.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-0.2.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.2.1/manifests"},{"name":"release-0.2.0","sha":"d5f6f9c46830c67cc9ed6266adac1386520bf2d2","kind":"commit","published_at":"2010-11-13T03:04:15.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-0.2.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.2.0/manifests"},{"name":"release-0.1.3","sha":"95c37559177bec9aee5e7a76d9cc5565792f38d1","kind":"commit","published_at":"2010-03-02T21:21:55.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-0.1.3","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.1.3/manifests"},{"name":"release-0.1.2","sha":"f9c82ddedbbe1b47a93a77014c720bf1c98afe34","kind":"commit","published_at":"2009-05-06T19:22:18.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-0.1.2","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.1.2/manifests"},{"name":"release-0.1.1","sha":"07c9c762ca84908bc17915eeb2487bbe69c796fc","kind":"commit","published_at":"2009-03-06T16:54:58.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-0.1.1","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.1.1/manifests"},{"name":"release-0.1.0","sha":"e6aa8f65b55969313a88c919b6451be04f388367","kind":"commit","published_at":"2009-01-27T20:04:21.000Z","download_url":"https://codeload.github.com/giampaolo/psutil/tar.gz/release-0.1.0","html_url":"https://github.com/giampaolo/psutil/releases/tag/release-0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giampaolo%2Fpsutil/tags/release-0.1.0/manifests"}]},"repo_metadata_updated_at":"2024-10-29T23:41:42.585Z","dependent_packages_count":3966,"downloads":195267642,"downloads_period":"last-month","dependent_repos_count":78574,"rankings":{"downloads":0.011555244154972333,"dependent_repos_count":0.016324075076072024,"dependent_packages_count":0.006969829807761089,"stargazers_count":0.5405286432492612,"forks_count":1.496862659503638,"docker_downloads_count":0.008803995546645587,"average":0.34684074122305836},"purl":"pkg:pypi/psutil","advisories":[{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXFmYzUtbWN3cS0yNnE4","url":"https://github.com/advisories/GHSA-qfc5-mcwq-26q8","title":"Double Free in psutil","description":"psutil (aka python-psutil) through 5.6.5 can have a double free. This occurs because of refcount mishandling within a while or for loop that converts system data into a Python object.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2020-03-12T17:02:50.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2019-18874","https://github.com/giampaolo/psutil/pull/1616","https://github.com/giampaolo/psutil/commit/7d512c8e4442a896d56505be3e78f1156f443465","https://github.com/giampaolo/psutil/blob/master/HISTORY.rst#566","https://lists.debian.org/debian-lts-announce/2019/11/msg00018.html","https://github.com/advisories/GHSA-qfc5-mcwq-26q8","https://github.com/pypa/advisory-database/tree/main/vulns/psutil/PYSEC-2019-41.yaml","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/2P7QI7MOTZTFXQYU23CP3RAWXCERMOAS","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/OLETTJYZL2SMBUI4Q2NGBMGPDPP54SRG","https://usn.ubuntu.com/4204-1"],"source_kind":"github","identifiers":["GHSA-qfc5-mcwq-26q8","CVE-2019-18874"],"repository_url":"https://github.com/giampaolo/psutil","blast_radius":42.58892610393587,"packages":[{"versions":[{"first_patched_version":"5.6.6","vulnerable_version_range":"\u003c= 5.6.5"}],"ecosystem":"pypi","package_name":"psutil"}],"created_at":"2022-12-21T16:13:25.751Z","updated_at":"2025-04-16T01:15:36.952Z","epss_percentage":0.00134,"epss_percentile":0.34452}],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/psutil","docker_dependents_count":8773,"docker_downloads_count":4723291612,"usage_url":"https://repos.ecosyste.ms/usage/pypi/psutil","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/psutil/dependencies","status":null,"funding_links":["https://tidelift.com/funding/github/pypi/psutil","https://github.com/sponsors/giampaolo","https://opencollective.com/psutil","https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=A9ZS7PKKRM3S8"],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/psutil/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/psutil/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/psutil/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/psutil/related_packages","maintainers":[{"uuid":"billiejoex","login":"billiejoex","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://pypi.org/user/billiejoex/","role":null,"created_at":"2022-12-13T07:19:36.214Z","updated_at":"2022-12-13T07:19:36.214Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/billiejoex/packages"},{"uuid":"giampaolo.rodola","login":"giampaolo.rodola","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://pypi.org/user/giampaolo.rodola/","role":null,"created_at":"2022-12-13T07:19:36.263Z","updated_at":"2022-12-13T07:19:36.263Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/giampaolo.rodola/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":690329,"maintainers_count":292761,"namespaces_count":0,"keywords_count":228590,"github":"pypi","metadata":{"funded_packages_count":48950},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-06-06T05:32:09.692Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},"unique_repositories_count":858,"unique_repositories_count_past_30_days":28,"recent_issues":[{"uuid":"4669897662","node_id":"PR_kwDOPDABIs7myOgJ","number":93,"state":"closed","title":"chore(deps): update psutil requirement from \u003e=5.9.0 to \u003e=7.2.2","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-16T00:15:26.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-16T00:12:48.000Z","updated_at":"2026-06-16T00:15:31.000Z","time_to_close":158,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"psutil","old_version":"\u003e=5.9.0","new_version":"\u003e=7.2.2","repository_url":"https://github.com/giampaolo/psutil"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [psutil](https://github.com/giampaolo/psutil) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v5.9.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/djleamen/doc-reader/pull/93","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/djleamen%2Fdoc-reader/issues/93","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/93/packages"},{"uuid":"4666010682","node_id":"PR_kwDOSo1vbM7mlUPX","number":18,"state":"closed","title":"chore(deps): bump psutil from 5.9.8 to 7.2.2","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-06-16T00:05:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-15T14:29:16.000Z","updated_at":"2026-06-16T00:06:54.000Z","time_to_close":34598,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"psutil","old_version":"5.9.8","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"}],"path":null,"ecosystem":"pip"},"body":"Bumps [psutil](https://github.com/giampaolo/psutil) from 5.9.8 to 7.2.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v5.9.8...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=psutil\u0026package-manager=pip\u0026previous-version=5.9.8\u0026new-version=7.2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/NEPSDigitalSystem/neps-backend/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/NEPSDigitalSystem%2Fneps-backend/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"},{"uuid":"4658206789","node_id":"PR_kwDORxLXVs7mMdD8","number":28,"state":"closed","title":"deps(deps): update psutil requirement from \u003e=5.9.0 to \u003e=7.2.2","user":"dependabot[bot]","labels":[],"assignees":["Micro-Novelty"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-14T06:53:39.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-14T06:49:45.000Z","updated_at":"2026-06-14T06:53:46.000Z","time_to_close":234,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): update","packages":[{"name":"psutil","old_version":"\u003e=5.9.0","new_version":"\u003e=7.2.2","repository_url":"https://github.com/giampaolo/psutil"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [psutil](https://github.com/giampaolo/psutil) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v5.9.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Micro-Novelty/IntegratedPipeline-Specialized-Non-LLM-AI-Agent-Framework/pull/28","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Micro-Novelty%2FIntegratedPipeline-Specialized-Non-LLM-AI-Agent-Framework/issues/28","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/28/packages"},{"uuid":"4645526210","node_id":"PR_kwDOQuIFL87lkUhR","number":296,"state":"closed","title":"Bump the pip-production-dependencies group across 5 directories with 21 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-15T01:49:20.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-12T01:50:01.000Z","updated_at":"2026-06-15T01:49:21.000Z","time_to_close":259159,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip-production-dependencies","update_count":21,"packages":[{"name":"grpcio-health-checking","old_version":"1.71.0","new_version":"1.81.1"},{"name":"openfeature-hooks-opentelemetry","old_version":"0.3.0","new_version":"0.3.1","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"openfeature-provider-flagd","old_version":"0.2.3","new_version":"0.5.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-distro","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.39.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"python-dotenv","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"python-json-logger","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"psycopg2-binary","old_version":"2.9.11","new_version":"2.9.12","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"openai","old_version":"2.13.0","new_version":"2.41.1","repository_url":"https://github.com/openai/openai-python"},{"name":"simplejson","old_version":"3.20.2","new_version":"4.1.1","repository_url":"https://github.com/simplejson/simplejson"},{"name":"flask","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"openfeature-provider-ofrep","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-api","old_version":"1.39.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-jinja2","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.39.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-production-dependencies group with 21 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.71.0` | `1.81.1` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.3.0` | `0.3.1` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.11` | `2.9.12` |\n| [openai](https://github.com/openai/openai-python) | `2.13.0` | `2.41.1` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.2` | `4.1.1` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 4 updates in the /src/llm directory: [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib), [python-dotenv](https://github.com/theskumar/python-dotenv), [python-json-logger](https://github.com/nhairs/python-json-logger) and [flask](https://github.com/pallets/flask).\nBumps the pip-production-dependencies group with 13 updates in the /src/load-generator directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.3.0` | `0.3.1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 11 updates in the /src/product-reviews directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.71.0` | `1.81.1` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.3.0` | `0.3.1` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.11` | `2.9.12` |\n| [openai](https://github.com/openai/openai-python) | `2.13.0` | `2.41.1` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.2` | `4.1.1` |\n\nBumps the pip-production-dependencies group with 8 updates in the /src/recommendation directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.71.0` | `1.81.1` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.3.0` | `0.3.1` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n\n\nUpdates `grpcio-health-checking` from 1.71.0 to 1.81.1\n\nUpdates `openfeature-hooks-opentelemetry` from 0.3.0 to 0.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-hooks-opentelemetry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-hooks-opentelemetry: v0.3.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-hooks-opentelemetry/v0.3.0...openfeature-hooks-opentelemetry/v0.3.1\"\u003e0.3.1\u003c/a\u003e (2026-02-17)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlign TracingHook with spec (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/342\"\u003e#342\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2a2127d958ea0bafabb673335fd0d9665c8d9291\"\u003e2a2127d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83926dea688eac265405b79c2ec00c9d08c8862e\"\u003e\u003ccode\u003e83926de\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-hooks-opentelemetry 0.3.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2a2127d958ea0bafabb673335fd0d9665c8d9291\"\u003e\u003ccode\u003e2a2127d\u003c/code\u003e\u003c/a\u003e fix: Align TracingHook with spec (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/342\"\u003e#342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c08b414007f6ce10dcb83249142f054b6d6043d6\"\u003e\u003ccode\u003ec08b414\u003c/code\u003e\u003c/a\u003e chore: align unleash pyproject.toml to others (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/341\"\u003e#341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/8239b836a25663e0030b3891d0140cb365798a37\"\u003e\u003ccode\u003e8239b83\u003c/code\u003e\u003c/a\u003e feat(provider): add \u003ccode\u003eaws-ssm\u003c/code\u003e provider (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/331\"\u003e#331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e\u003ccode\u003e61add22\u003c/code\u003e\u003c/a\u003e fix: replace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/a835c77f10c82af2157ea15be0ffae7bad79b8ce\"\u003e\u003ccode\u003ea835c77\u003c/code\u003e\u003c/a\u003e chore: relax \u003ccode\u003etypes-requests\u003c/code\u003e and update \u003ccode\u003egrpcio\u003c/code\u003e version constraints (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/334\"\u003e#334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/a345ef9f1ea3333e49a173553a9098f5db6746a7\"\u003e\u003ccode\u003ea345ef9\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.2.7 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/290\"\u003e#290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/b9c164a2342d101e23e062a81558f02fe0a38c0b\"\u003e\u003ccode\u003eb9c164a\u003c/code\u003e\u003c/a\u003e fix(security): update dependency protobuf to v6.33.5 [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2feabd5d70bef2de6661fadf3d74238991a27466\"\u003e\u003ccode\u003e2feabd5\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-unleash 0.1.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/332\"\u003e#332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/dcb8fadfbc0263e68c381681b5b92cb5fea2dc0d\"\u003e\u003ccode\u003edcb8fad\u003c/code\u003e\u003c/a\u003e chore: add component owners\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-hooks-opentelemetry/v0.3.0...openfeature-hooks-opentelemetry/v0.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.1...openfeature-provider-flagd/v0.5.0\"\u003e0.5.0\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003ee7d1d34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003ee1c3c6a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/9c493b82c022bcee18bfce02f829153b98efe53d\"\u003e\u003ccode\u003e9c493b8\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.5.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003e\u003ccode\u003ee7d1d34\u003c/code\u003e\u003c/a\u003e feat!: DISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003e\u003ccode\u003ee1c3c6a\u003c/code\u003e\u003c/a\u003e feat: make use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c4b425776715f85b04c1c29e007d095d9025760b\"\u003e\u003ccode\u003ec4b4257\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/394\"\u003e#394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/daafd7336ecfba856803965cf26c198bb0e4f22c\"\u003e\u003ccode\u003edaafd73\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/f084e84b22a7ed1aef3a800ee4a07cf3a6095f6b\"\u003e\u003ccode\u003ef084e84\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-distro` from 0.60b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-distro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.39.1 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.39.1...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v7.0.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-dotenv` from 1.2.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (#)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/607\"\u003etheskumar/python-dotenv#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e#790c5\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by \u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eskip 000 permission tests for root user by \u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/593\"\u003etheskumar/python-dotenv#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Windows testing to CI by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/604\"\u003etheskumar/python-dotenv#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove workflow efficiency with best practices by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/609\"\u003etheskumar/python-dotenv#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of \u003ccode\u003esh\u003c/code\u003e in tests by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/612\"\u003etheskumar/python-dotenv#612\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpackham-atlnz\"\u003e\u003ccode\u003e@​cpackham-atlnz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/597\"\u003etheskumar/python-dotenv#597\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.2] - 2026-03-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/607\"\u003e#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eDropped Support for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in [790c5c0]\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by [\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/590\"\u003e#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/36004e0e34be7665ff2b11a8a4005144f76f176d\"\u003e\u003ccode\u003e36004e0\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.1 → 1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eb202520e5933c9daf42501e1e42fdb0144002c8\"\u003e\u003ccode\u003eeb20252\u003c/code\u003e\u003c/a\u003e docs: update changelog for v1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e\u003ccode\u003e790c5c0\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/43340da220fb4ca4f95357bbe21a3c7f8f1278b1\"\u003e\u003ccode\u003e43340da\u003c/code\u003e\u003c/a\u003e Remove the use of \u003ccode\u003esh\u003c/code\u003e in tests (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/09d7cee32459e7abdcb5c9d8122a552589c06a9c\"\u003e\u003ccode\u003e09d7cee\u003c/code\u003e\u003c/a\u003e docs: clarify override behavior and document FIFO support (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/c8de2887c00198c22842c5ae5e92d1747467363c\"\u003e\u003ccode\u003ec8de288\u003c/code\u003e\u003c/a\u003e ci: improve workflow efficiency with best practices (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/609\"\u003e#609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/7bd9e3dbfedc0983ad7d56d5570013035242bdf4\"\u003e\u003ccode\u003e7bd9e3d\u003c/code\u003e\u003c/a\u003e Add Windows testing to CI (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1baaf04f336072e0ee324d5df9563ec767f14f81\"\u003e\u003ccode\u003e1baaf04\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 support and update to PyPy 3.11 (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/4a22cf8993804aeede0c20b75bb1a29d3a99e9dc\"\u003e\u003ccode\u003e4a22cf8\u003c/code\u003e\u003c/a\u003e ci: enable testing on Python 3.14t (free-threaded) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/e2e8e776b42e382ae38b44d3982dd649e7507dd4\"\u003e\u003ccode\u003ee2e8e77\u003c/code\u003e\u003c/a\u003e Fix license specifier (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-json-logger` from 4.0.0 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/releases\"\u003epython-json-logger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/blob/main/docs/changelog.md\"\u003epython-json-logger's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/d80c68da770154d9662975b789cabcc9a3e99408\"\u003e\u003ccode\u003ed80c68d\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/b589b2a576ac058dc55be934159b67060a288756\"\u003e\u003ccode\u003eb589b2a\u003c/code\u003e\u003c/a\u003e [pyproject] Update license table to PEP 639 format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/2bb784a92250c60035a7e4536d1ef48cd02e50d5\"\u003e\u003ccode\u003e2bb784a\u003c/code\u003e\u003c/a\u003e Update code unlocked by Python 3.10 minimum version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/79599b5a6ad5e38c18c468fd0e4ac790961d6b5f\"\u003e\u003ccode\u003e79599b5\u003c/code\u003e\u003c/a\u003e Drop python 3.8, 3.9 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/622650c1f543e7909e8711e4a30c96cc2aa6e332\"\u003e\u003ccode\u003e622650c\u003c/code\u003e\u003c/a\u003e [docs.contributing] Update unsupported JSON encoders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/06165bb03f9892fc24762acabf6b1b0b35c6b56b\"\u003e\u003ccode\u003e06165bb\u003c/code\u003e\u003c/a\u003e [tests.test_formatters] Add non-printable bytes to test_common_types_encoded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/61f88a9fe7cee3409db9c589b03b15c2ffdc3ffa\"\u003e\u003ccode\u003e61f88a9\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify which packages have been considered and rejected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/0add524a24c6210807a66e0f9149200b32cc98a9\"\u003e\u003ccode\u003e0add524\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify when we will add support for new third-party pack...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/eee9505610a64276341a03f2a0b0dee5f500916b\"\u003e\u003ccode\u003eeee9505\u003c/code\u003e\u003c/a\u003e [pylint] Remove old command\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/804592648f8d0e56f7f41112d2945cf52d1d2a6b\"\u003e\u003ccode\u003e8045926\u003c/code\u003e\u003c/a\u003e [mypy] Don't ignore orjson\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2-binary` from 2.9.11 to 2.9.12\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2-binary's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.12\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite loop with malformed interval (:ticket:\u003ccode\u003e1835\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform binary packages (:ticket:\u003ccode\u003e[#1813](https://github.com/psycopg/psycopg2/issues/1813)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/3a6d9d6ddc6b53eaa80b712f5fa6b23abbdc38db\"\u003e\u003ccode\u003e3a6d9d6\u003c/code\u003e\u003c/a\u003e ci: include almalinux in whieel building\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ebca6bf0f86bc6cbdc86de1eb3a53eaf49966d86\"\u003e\u003ccode\u003eebca6bf\u003c/code\u003e\u003c/a\u003e chore: bump to version 3.9.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/0196f02cc9512df8de3c941f87d27bda98f9f7af\"\u003e\u003ccode\u003e0196f02\u003c/code\u003e\u003c/a\u003e build(deps): bump pypa/cibuildwheel from 3.3.1 to 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d157bdc2235a42dc1742936dbb0f5cfc8e4d2eb7\"\u003e\u003ccode\u003ed157bdc\u003c/code\u003e\u003c/a\u003e build(deps): bump docker/setup-qemu-action from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/7fccc0f5066a40dea530512abbf02621f4182b81\"\u003e\u003ccode\u003e7fccc0f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d52a61eb2e6095fc1b9891bfcca44ebfac509e55\"\u003e\u003ccode\u003ed52a61e\u003c/code\u003e\u003c/a\u003e chore: bump dependency libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/b231d726a01d55e07ec3620b2b82f4a2da37ba62\"\u003e\u003ccode\u003eb231d72\u003c/code\u003e\u003c/a\u003e chore: fix building binary images\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/6d76e8479f0f522c2e07ce0e2701030d8fd63785\"\u003e\u003ccode\u003e6d76e84\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1836\"\u003e#1836\u003c/a\u003e from psycopg/fix-1835\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/f7e314c7ab418ab9b9956e694956089a49c5c3b9\"\u003e\u003ccode\u003ef7e314c\u003c/code\u003e\u003c/a\u003e fix: overflow in malformed interval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/eb905c124b75f2a5183d22177b85af20914b0f17\"\u003e\u003ccode\u003eeb905c1\u003c/code\u003e\u003c/a\u003e docs: replace bare except clause with except Exception\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.11...2.9.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.13.0 to 2.41.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.41.1\u003c/h2\u003e\n\u003ch2\u003e2.41.1 (2026-06-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.41.0...v2.41.1\"\u003ev2.41.0...v2.41.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBuild System\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove scheduled release workflow trigger (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3366\"\u003e#3366\u003c/a\u003e) (\u003ca href=\"https://github.com/openai/openai-python/commit/2a91011abc21032db9566b98068afefb5fbb9b24\"\u003e2a91011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.41.0\u003c/h2\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.40.0\u003c/h2\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.39.0\u003c/h2\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.41.1 (2026-06-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.41.0...v2.41.1\"\u003ev2.41.0...v2.41.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBuild System\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove scheduled release workflow trigger (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3366\"\u003e#3366\u003c/a\u003e) (\u003ca href=\"https://github.com/openai/openai-python/commit/2a91011abc21032db9566b98068afefb5fbb9b24\"\u003e2a91011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/71987563c833806bb9854c2f74d430a26e319246\"\u003e\u003ccode\u003e7198756\u003c/code\u003e\u003c/a\u003e release: 2.41.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/3842a5ea01e8ecb7d6b159b9236c0c60ceff5de3\"\u003e\u003ccode\u003e3842a5e\u003c/code\u003e\u003c/a\u003e ci: use PyPI trusted publishing (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3365\"\u003e#3365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2a91011abc21032db9566b98068afefb5fbb9b24\"\u003e\u003ccode\u003e2a91011\u003c/code\u003e\u003c/a\u003e build: Remove scheduled release workflow trigger (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3366\"\u003e#3366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2d955a1ac69df0288b8072bbcd25905639e9b2ed\"\u003e\u003ccode\u003e2d955a1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3359\"\u003e#3359\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/519cd027919fa5b73bd8fe237e80c7a01b3e0b2f\"\u003e\u003ccode\u003e519cd02\u003c/code\u003e\u003c/a\u003e release: 2.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e\u003ccode\u003e87e46c2\u003c/code\u003e\u003c/a\u003e feat(api): responses.moderation and chat_completions.moderation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a28a3f6aa34f5ac6fcc2fafeb50112f2140c45ae\"\u003e\u003ccode\u003ea28a3f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3352\"\u003e#3352\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/db6ccafa7b74b72caefbda6fb63bd5c904521770\"\u003e\u003ccode\u003edb6ccaf\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2264f700dad91e4f570eb7c0a6f10bbd22d34520\"\u003e\u003ccode\u003e2264f70\u003c/code\u003e\u003c/a\u003e release: 2.40.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e\u003ccode\u003e4d5bfde\u003c/code\u003e\u003c/a\u003e fix(api): allow setting bedrock api keys on the client directly\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.13.0...v2.41.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `simplejson` from 3.20.2 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/releases\"\u003esimplejson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Python 2.7 wheel builds for Windows platforms by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/378\"\u003esimplejson/simplejson#378\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.1.0...v4.1.1\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.1.0...v4.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAccelerate indented encoding in the C extension; release 4.1.0 by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/376\"\u003esimplejson/simplejson#376\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.0.1...v4.1.0\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.0.1...v4.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExclude Pyodide wheels from PyPI uploads by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/375\"\u003esimplejson/simplejson#375\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.0.0...v4.0.1\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.0.0...v4.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eVersion 4.0.0 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003esimplejson 4 requires Python 2.7 or Python 3.8+. Older Python\nversions (2.5, 2.6, 3.0-3.7) are no longer supported. pip will\nnot install simplejson 4 on unsupported versions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now uses heap types and per-module state instead of\nstatic types and global state. This is required for free-threading\nsupport and sub-interpreter isolation. The Python-level API is\nunchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFull support for Python 3.13+ free-threading (PEP 703). The C\nextension is now safe to use with the GIL disabled (python3.14t):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eConverted all static types to heap types with per-module state\u003c/li\u003e\n\u003cli\u003eAdded per-object critical sections to scanner and encoder\u003c/li\u003e\n\u003cli\u003eAdded free-threading-safe dict operations for Python 3.13+\u003c/li\u003e\n\u003cli\u003eUnified per-module state management and templated parser\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/363\"\u003esimplejson/simplejson#363\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/364\"\u003esimplejson/simplejson#364\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/365\"\u003esimplejson/simplejson#365\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/367\"\u003esimplejson/simplejson#367\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/369\"\u003esimplejson/simplejson#369\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNumerous C extension memory safety fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix use-after-free and leak in encoder ident handling\u003c/li\u003e\n\u003cli\u003eFix NULL dereferences on OOM in module init and static string init\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/blob/main/CHANGES.txt\"\u003esimplejson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion 4.1.1 released 2026-04-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003ebuild_wheels_py27\u003c/code\u003e CI job now also builds Python 2.7 wheels\nfor Windows AMD64 and Windows x86, joining the existing Py2.7\nmanylinux1 / manylinux2010 x86_64 wheels. This unblocks offline /\n\u003ccode\u003e--no-index\u003c/code\u003e installs on Py2.7-on-Windows (the original\nreporter's case), which previously had no matching binary wheel on\nPyPI, fell through to the sdist, and failed on the PEP 517\nisolated-build step complaining that \u003ccode\u003esetuptools\u0026gt;=42\u003c/code\u003e was not in\nthe wheelhouse.\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/377\"\u003esimplejson/simplejson#377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.1.0 released 2026-04-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now accelerates encoding when \u003ccode\u003eindent=\u003c/code\u003e is set.\nPreviously the encoder fell back to the pure-Python implementation\nwhenever a non-None \u003ccode\u003eindent\u003c/code\u003e was passed; now the C encoder emits\nthe newline-plus-indent prefix, the level-aware item separator, and\nthe closing indent directly.  A representative nested-dict workload\nbenchmarks about 4-5x faster end-to-end, and the \u003ccode\u003eindent=0\u003c/code\u003e and\nempty-container edge cases continue to match the Python output\nbyte-for-byte.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now emits PEP 678 \u003ccode\u003eexc.add_note()\u003c/code\u003e annotations on\nserialization failures, matching the pure-Python encoder.  A chained\nerror on \u003ccode\u003e{'a': [1, object(), 3]}\u003c/code\u003e produces the same three notes\n(\u003ccode\u003ewhen serializing object object\u003c/code\u003e, \u003ccode\u003ewhen serializing list item 1\u003c/code\u003e,\n\u003ccode\u003ewhen serializing dict item 'a'\u003c/code\u003e) whether the speedups are loaded\nor not, so the add_note assertions in \u003ccode\u003etest_errors.py\u003c/code\u003e no longer\nneed \u003ccode\u003eindent=2\u003c/code\u003e to force the Python path.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.0.1 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip uploading Pyodide/wasm wheels to PyPI, which rejects them with\n\u0026quot;unsupported platform tag 'pyodide_2024_0_wasm32'\u0026quot;. The wheels are\nstill built in CI and preserved as workflow artifacts.\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/375\"\u003esimplejson/simplejson#375\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.0.0 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003esimplejson 4 requires Python 2.7 or Python 3.8+. Older Python\nversions (2.5, 2.6, 3.0-3.7) are no longer supported. pip will\nnot install simplejson 4 on unsupported versions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now uses heap types and per-module state instead of\nstatic types and global state. This is required for free-threading\nsupport and sub-interpreter isolation. The Python-level API is\nunchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFull support for Python 3.13+ free-threading (PEP 703). The C\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/639b2ee73b2de6b385fcd4d44e0e08054a4d8a0e\"\u003e\u003ccode\u003e639b2ee\u003c/code\u003e\u003c/a\u003e Add Python 2.7 wheel builds for Windows platforms (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/0fd3185ce301bdefe61bbbf510536fa9127962fb\"\u003e\u003ccode\u003e0fd3185\u003c/code\u003e\u003c/a\u003e Accelerate indented encoding in the C extension; release 4.1.0 (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/376\"\u003e#376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/19b5f94f235d3ac11646b82c02f292845b2aa184\"\u003e\u003ccode\u003e19b5f94\u003c/code\u003e\u003c/a\u003e Exclude Pyodide wheels from PyPI uploads (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/375\"\u003e#375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/1608c050bbc2ae67ddfe913dad83bed7d588aa27\"\u003e\u003ccode\u003e1608c05\u003c/code\u003e\u003c/a\u003e Use JSONDecodeError for out-of-range end indices in C scanstring (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/374\"\u003e#374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/3bba17935f12695355b5280df2a93bf963b704dd\"\u003e\u003ccode\u003e3bba179\u003c/code\u003e\u003c/a\u003e Encoder parity fixes (for_json/_asdict) and TSan stress CI job (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/7b22d65b92ac7e69f740f59fe11548216b79c098\"\u003e\u003ccode\u003e7b22d65\u003c/code\u003e\u003c/a\u003e Error parity for the C and Python scanstring in surrogate and truncated strin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/825100a7fc498dafae31d10bef3e3cfaba1fdc5b\"\u003e\u003ccode\u003e825100a\u003c/code\u003e\u003c/a\u003e Release version 4.0.0: free-threading, CPython json parity, Python 2.7 fixes ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/0dbb9d875127a9009f01a4036fa950b0a5f4f589\"\u003e\u003ccode\u003e0dbb9d8\u003c/code\u003e\u003c/a\u003e C extension: dead code cleanup, fast paths for dict/list/string encoding, cor...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/e2e5f0b2d3bae3fd9a56bbaab42f6d75fb980ad5\"\u003e\u003ccode\u003ee2e5f0b\u003c/code\u003e\u003c/a\u003e Add Python 3.13+ free-threading support to dict oper...\n\n_Description has been truncated_","html_url":"https://github.com/AnnieCynthia134/opentelemetry-demo-application/pull/296","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnnieCynthia134%2Fopentelemetry-demo-application/issues/296","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/296/packages"},{"uuid":"4645245138","node_id":"PR_kwDOSJ-KK87ljcGf","number":132,"state":"closed","title":"Bump the pip-production-dependencies group across 3 directories with 15 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-15T00:37:11.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-12T00:37:20.000Z","updated_at":"2026-06-15T00:37:13.000Z","time_to_close":259191,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip-production-dependencies","update_count":15,"packages":[{"name":"grpcio-health-checking","old_version":"1.78.0","new_version":"1.81.1"},{"name":"openfeature-provider-flagd","old_version":"0.2.3","new_version":"0.5.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-distro","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.40.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"python-json-logger","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"openfeature-provider-ofrep","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-api","old_version":"1.40.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-jinja2","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.40.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-production-dependencies group with 15 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.1` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 11 updates in the /src/load-generator directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 6 updates in the /src/recommendation directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.1` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n\n\nUpdates `grpcio-health-checking` from 1.78.0 to 1.81.1\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.1...openfeature-provider-flagd/v0.5.0\"\u003e0.5.0\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003ee7d1d34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003ee1c3c6a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/9c493b82c022bcee18bfce02f829153b98efe53d\"\u003e\u003ccode\u003e9c493b8\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.5.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003e\u003ccode\u003ee7d1d34\u003c/code\u003e\u003c/a\u003e feat!: DISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003e\u003ccode\u003ee1c3c6a\u003c/code\u003e\u003c/a\u003e feat: make use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c4b425776715f85b04c1c29e007d095d9025760b\"\u003e\u003ccode\u003ec4b4257\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/394\"\u003e#394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/daafd7336ecfba856803965cf26c198bb0e4f22c\"\u003e\u003ccode\u003edaafd73\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/f084e84b22a7ed1aef3a800ee4a07cf3a6095f6b\"\u003e\u003ccode\u003ef084e84\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-distro` from 0.61b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-distro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.40.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.40.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v7.0.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-json-logger` from 4.0.0 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/releases\"\u003epython-json-logger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/blob/main/docs/changelog.md\"\u003epython-json-logger's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/d80c68da770154d9662975b789cabcc9a3e99408\"\u003e\u003ccode\u003ed80c68d\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/b589b2a576ac058dc55be934159b67060a288756\"\u003e\u003ccode\u003eb589b2a\u003c/code\u003e\u003c/a\u003e [pyproject] Update license table to PEP 639 format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/2bb784a92250c60035a7e4536d1ef48cd02e50d5\"\u003e\u003ccode\u003e2bb784a\u003c/code\u003e\u003c/a\u003e Update code unlocked by Python 3.10 minimum version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/79599b5a6ad5e38c18c468fd0e4ac790961d6b5f\"\u003e\u003ccode\u003e79599b5\u003c/code\u003e\u003c/a\u003e Drop python 3.8, 3.9 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/622650c1f543e7909e8711e4a30c96cc2aa6e332\"\u003e\u003ccode\u003e622650c\u003c/code\u003e\u003c/a\u003e [docs.contributing] Update unsupported JSON encoders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/06165bb03f9892fc24762acabf6b1b0b35c6b56b\"\u003e\u003ccode\u003e06165bb\u003c/code\u003e\u003c/a\u003e [tests.test_formatters] Add non-printable bytes to test_common_types_encoded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/61f88a9fe7cee3409db9c589b03b15c2ffdc3ffa\"\u003e\u003ccode\u003e61f88a9\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify which packages have been considered and rejected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/0add524a24c6210807a66e0f9149200b32cc98a9\"\u003e\u003ccode\u003e0add524\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify when we will add support for new third-party pack...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/eee9505610a64276341a03f2a0b0dee5f500916b\"\u003e\u003ccode\u003eeee9505\u003c/code\u003e\u003c/a\u003e [pylint] Remove old command\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/804592648f8d0e56f7f41112d2945cf52d1d2a6b\"\u003e\u003ccode\u003e8045926\u003c/code\u003e\u003c/a\u003e [mypy] Don't ignore orjson\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-ofrep` from 0.2.0 to 0.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-ofrep's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-ofrep: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eofrep:\u003c/strong\u003e handle 401, 403, 404 and 5xx errors explicitly and add tests (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/346\"\u003e#346\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/7e18bc120ee1a310c28c96aac5b608941889d756\"\u003e7e18bc1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36db67de59732463a372c056525d6453d8a51a75\"\u003e36db67d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36c52d03aeddf5aa922f74ca7ef5c0ec9f6b790d\"\u003e\u003ccode\u003e36c52d0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency asserts to \u0026gt;=0.14.0,\u0026lt;0.15.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003e\u003ccode\u003ec119a77\u003c/code\u003e\u003c/a\u003e fix: various custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c8c9ebe7b2cd51e8c0ce065fdb4e024aecfd3ff3\"\u003e\u003ccode\u003ec8c9ebe\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/372\"\u003e#372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6d3c5f8adafe7150c9bab519ed6c866ff5f85478\"\u003e\u003ccode\u003e6d3c5f8\u003c/code\u003e\u003c/a\u003e chore: stabilize transitive flagd deps (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6b7c78e1f08ad862059bd31d6aef18f66224a755\"\u003e\u003ccode\u003e6b7c78e\u003c/code\u003e\u003c/a\u003e fix(security): update vulnerability-updates [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e\u003ccode\u003e1995534\u003c/code\u003e\u003c/a\u003e feat(flagd): extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.40.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.40.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-jinja2` from 0.61b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-jinja2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-requests` from 0.61b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-requests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-system-metrics` from 0.61b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-system-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-urllib3` from 0.61b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-urllib3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-sdk` from 1.40.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.40.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-semantic-conventions` from 0.61b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-semantic-conventions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990...\n\n_Description has been truncated_","html_url":"https://github.com/honeycombio/ced-opentelemetry-demo-app-academy-courses/pull/132","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/honeycombio%2Fced-opentelemetry-demo-app-academy-courses/issues/132","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/132/packages"},{"uuid":"4644999923","node_id":"PR_kwDORxQaNc7lirLd","number":204,"state":"closed","title":"build(deps): bump the pip-production-dependencies group across 5 directories with 18 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-12T23:38:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-11T23:40:00.000Z","updated_at":"2026-06-12T23:38:47.000Z","time_to_close":86326,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pip-production-dependencies","update_count":18,"packages":[{"name":"grpcio-health-checking","old_version":"1.78.0","new_version":"1.81.1"},{"name":"openfeature-provider-flagd","old_version":"0.2.3","new_version":"0.5.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-distro","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.40.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"python-json-logger","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"psycopg2-binary","old_version":"2.9.11","new_version":"2.9.12","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"openai","old_version":"2.26.0","new_version":"2.41.1","repository_url":"https://github.com/openai/openai-python"},{"name":"simplejson","old_version":"3.20.2","new_version":"4.1.1","repository_url":"https://github.com/simplejson/simplejson"},{"name":"openfeature-provider-ofrep","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-api","old_version":"1.40.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-jinja2","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.40.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-production-dependencies group with 18 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.1` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.11` | `2.9.12` |\n| [openai](https://github.com/openai/openai-python) | `2.26.0` | `2.41.1` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.2` | `4.1.1` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 2 updates in the /src/llm directory: [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) and [python-json-logger](https://github.com/nhairs/python-json-logger).\nBumps the pip-production-dependencies group with 11 updates in the /src/load-generator directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 9 updates in the /src/product-reviews directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.1` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.11` | `2.9.12` |\n| [openai](https://github.com/openai/openai-python) | `2.26.0` | `2.41.1` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.2` | `4.1.1` |\n\nBumps the pip-production-dependencies group with 6 updates in the /src/recommendation directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.1` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n\n\nUpdates `grpcio-health-checking` from 1.78.0 to 1.81.1\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.1...openfeature-provider-flagd/v0.5.0\"\u003e0.5.0\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003ee7d1d34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003ee1c3c6a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/9c493b82c022bcee18bfce02f829153b98efe53d\"\u003e\u003ccode\u003e9c493b8\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.5.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003e\u003ccode\u003ee7d1d34\u003c/code\u003e\u003c/a\u003e feat!: DISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003e\u003ccode\u003ee1c3c6a\u003c/code\u003e\u003c/a\u003e feat: make use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c4b425776715f85b04c1c29e007d095d9025760b\"\u003e\u003ccode\u003ec4b4257\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/394\"\u003e#394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/daafd7336ecfba856803965cf26c198bb0e4f22c\"\u003e\u003ccode\u003edaafd73\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/f084e84b22a7ed1aef3a800ee4a07cf3a6095f6b\"\u003e\u003ccode\u003ef084e84\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-distro` from 0.61b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-distro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.40.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.40.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v7.0.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-json-logger` from 4.0.0 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/releases\"\u003epython-json-logger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/blob/main/docs/changelog.md\"\u003epython-json-logger's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/d80c68da770154d9662975b789cabcc9a3e99408\"\u003e\u003ccode\u003ed80c68d\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/b589b2a576ac058dc55be934159b67060a288756\"\u003e\u003ccode\u003eb589b2a\u003c/code\u003e\u003c/a\u003e [pyproject] Update license table to PEP 639 format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/2bb784a92250c60035a7e4536d1ef48cd02e50d5\"\u003e\u003ccode\u003e2bb784a\u003c/code\u003e\u003c/a\u003e Update code unlocked by Python 3.10 minimum version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/79599b5a6ad5e38c18c468fd0e4ac790961d6b5f\"\u003e\u003ccode\u003e79599b5\u003c/code\u003e\u003c/a\u003e Drop python 3.8, 3.9 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/622650c1f543e7909e8711e4a30c96cc2aa6e332\"\u003e\u003ccode\u003e622650c\u003c/code\u003e\u003c/a\u003e [docs.contributing] Update unsupported JSON encoders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/06165bb03f9892fc24762acabf6b1b0b35c6b56b\"\u003e\u003ccode\u003e06165bb\u003c/code\u003e\u003c/a\u003e [tests.test_formatters] Add non-printable bytes to test_common_types_encoded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/61f88a9fe7cee3409db9c589b03b15c2ffdc3ffa\"\u003e\u003ccode\u003e61f88a9\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify which packages have been considered and rejected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/0add524a24c6210807a66e0f9149200b32cc98a9\"\u003e\u003ccode\u003e0add524\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify when we will add support for new third-party pack...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/eee9505610a64276341a03f2a0b0dee5f500916b\"\u003e\u003ccode\u003eeee9505\u003c/code\u003e\u003c/a\u003e [pylint] Remove old command\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/804592648f8d0e56f7f41112d2945cf52d1d2a6b\"\u003e\u003ccode\u003e8045926\u003c/code\u003e\u003c/a\u003e [mypy] Don't ignore orjson\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2-binary` from 2.9.11 to 2.9.12\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2-binary's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.12\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite loop with malformed interval (:ticket:\u003ccode\u003e1835\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform binary packages (:ticket:\u003ccode\u003e[#1813](https://github.com/psycopg/psycopg2/issues/1813)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/3a6d9d6ddc6b53eaa80b712f5fa6b23abbdc38db\"\u003e\u003ccode\u003e3a6d9d6\u003c/code\u003e\u003c/a\u003e ci: include almalinux in whieel building\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ebca6bf0f86bc6cbdc86de1eb3a53eaf49966d86\"\u003e\u003ccode\u003eebca6bf\u003c/code\u003e\u003c/a\u003e chore: bump to version 3.9.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/0196f02cc9512df8de3c941f87d27bda98f9f7af\"\u003e\u003ccode\u003e0196f02\u003c/code\u003e\u003c/a\u003e build(deps): bump pypa/cibuildwheel from 3.3.1 to 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d157bdc2235a42dc1742936dbb0f5cfc8e4d2eb7\"\u003e\u003ccode\u003ed157bdc\u003c/code\u003e\u003c/a\u003e build(deps): bump docker/setup-qemu-action from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/7fccc0f5066a40dea530512abbf02621f4182b81\"\u003e\u003ccode\u003e7fccc0f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d52a61eb2e6095fc1b9891bfcca44ebfac509e55\"\u003e\u003ccode\u003ed52a61e\u003c/code\u003e\u003c/a\u003e chore: bump dependency libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/b231d726a01d55e07ec3620b2b82f4a2da37ba62\"\u003e\u003ccode\u003eb231d72\u003c/code\u003e\u003c/a\u003e chore: fix building binary images\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/6d76e8479f0f522c2e07ce0e2701030d8fd63785\"\u003e\u003ccode\u003e6d76e84\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1836\"\u003e#1836\u003c/a\u003e from psycopg/fix-1835\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/f7e314c7ab418ab9b9956e694956089a49c5c3b9\"\u003e\u003ccode\u003ef7e314c\u003c/code\u003e\u003c/a\u003e fix: overflow in malformed interval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/eb905c124b75f2a5183d22177b85af20914b0f17\"\u003e\u003ccode\u003eeb905c1\u003c/code\u003e\u003c/a\u003e docs: replace bare except clause with except Exception\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.11...2.9.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.26.0 to 2.41.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.41.1\u003c/h2\u003e\n\u003ch2\u003e2.41.1 (2026-06-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.41.0...v2.41.1\"\u003ev2.41.0...v2.41.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBuild System\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove scheduled release workflow trigger (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3366\"\u003e#3366\u003c/a\u003e) (\u003ca href=\"https://github.com/openai/openai-python/commit/2a91011abc21032db9566b98068afefb5fbb9b24\"\u003e2a91011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.41.0\u003c/h2\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.40.0\u003c/h2\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.39.0\u003c/h2\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.41.1 (2026-06-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.41.0...v2.41.1\"\u003ev2.41.0...v2.41.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBuild System\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove scheduled release workflow trigger (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3366\"\u003e#3366\u003c/a\u003e) (\u003ca href=\"https://github.com/openai/openai-python/commit/2a91011abc21032db9566b98068afefb5fbb9b24\"\u003e2a91011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/71987563c833806bb9854c2f74d430a26e319246\"\u003e\u003ccode\u003e7198756\u003c/code\u003e\u003c/a\u003e release: 2.41.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/3842a5ea01e8ecb7d6b159b9236c0c60ceff5de3\"\u003e\u003ccode\u003e3842a5e\u003c/code\u003e\u003c/a\u003e ci: use PyPI trusted publishing (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3365\"\u003e#3365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2a91011abc21032db9566b98068afefb5fbb9b24\"\u003e\u003ccode\u003e2a91011\u003c/code\u003e\u003c/a\u003e build: Remove scheduled release workflow trigger (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3366\"\u003e#3366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2d955a1ac69df0288b8072bbcd25905639e9b2ed\"\u003e\u003ccode\u003e2d955a1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3359\"\u003e#3359\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/519cd027919fa5b73bd8fe237e80c7a01b3e0b2f\"\u003e\u003ccode\u003e519cd02\u003c/code\u003e\u003c/a\u003e release: 2.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e\u003ccode\u003e87e46c2\u003c/code\u003e\u003c/a\u003e feat(api): responses.moderation and chat_completions.moderation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a28a3f6aa34f5ac6fcc2fafeb50112f2140c45ae\"\u003e\u003ccode\u003ea28a3f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3352\"\u003e#3352\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/db6ccafa7b74b72caefbda6fb63bd5c904521770\"\u003e\u003ccode\u003edb6ccaf\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2264f700dad91e4f570eb7c0a6f10bbd22d34520\"\u003e\u003ccode\u003e2264f70\u003c/code\u003e\u003c/a\u003e release: 2.40.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e\u003ccode\u003e4d5bfde\u003c/code\u003e\u003c/a\u003e fix(api): allow setting bedrock api keys on the client directly\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.26.0...v2.41.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `simplejson` from 3.20.2 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/releases\"\u003esimplejson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Python 2.7 wheel builds for Windows platforms by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/378\"\u003esimplejson/simplejson#378\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.1.0...v4.1.1\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.1.0...v4.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAccelerate indented encoding in the C extension; release 4.1.0 by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/376\"\u003esimplejson/simplejson#376\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.0.1...v4.1.0\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.0.1...v4.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExclude Pyodide wheels from PyPI uploads by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/375\"\u003esimplejson/simplejson#375\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.0.0...v4.0.1\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.0.0...v4.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eVersion 4.0.0 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003esimplejson 4 requires Python 2.7 or Python 3.8+. Older Python\nversions (2.5, 2.6, 3.0-3.7) are no longer supported. pip will\nnot install simplejson 4 on unsupported versions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now uses heap types and per-module state instead of\nstatic types and global state. This is required for free-threading\nsupport and sub-interpreter isolation. The Python-level API is\nunchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFull support for Python 3.13+ free-threading (PEP 703). The C\nextension is now safe to use with the GIL disabled (python3.14t):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eConverted all static types to heap types with per-module state\u003c/li\u003e\n\u003cli\u003eAdded per-object critical sections to scanner and encoder\u003c/li\u003e\n\u003cli\u003eAdded free-threading-safe dict operations for Python 3.13+\u003c/li\u003e\n\u003cli\u003eUnified per-module state management and templated parser\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/363\"\u003esimplejson/simplejson#363\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/364\"\u003esimplejson/simplejson#364\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/365\"\u003esimplejson/simplejson#365\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/367\"\u003esimplejson/simplejson#367\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/369\"\u003esimplejson/simplejson#369\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNumerous C extension memory safety fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix use-after-free and leak in encoder ident handling\u003c/li\u003e\n\u003cli\u003eFix NULL dereferences on OOM in module init and static string init\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/blob/main/CHANGES.txt\"\u003esimplejson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion 4.1.1 released 2026-04-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003ebuild_wheels_py27\u003c/code\u003e CI job now also builds Python 2.7 wheels\nfor Windows AMD64 and Windows x86, joining the existing Py2.7\nmanylinux1 / manylinux2010 x86_64 wheels. This unblocks offline /\n\u003ccode\u003e--no-index\u003c/code\u003e installs on Py2.7-on-Windows (the original\nreporter's case), which previously had no matching binary wheel on\nPyPI, fell through to the sdist, and failed on the PEP 517\nisolated-build step complaining that \u003ccode\u003esetuptools\u0026gt;=42\u003c/code\u003e was not in\nthe wheelhouse.\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/377\"\u003esimplejson/simplejson#377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.1.0 released 2026-04-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now accelerates encoding when \u003ccode\u003eindent=\u003c/code\u003e is set.\nPreviously the encoder fell back to the pure-Python implementation\nwhenever a non-None \u003ccode\u003eindent\u003c/code\u003e was passed; now the C encoder emits\nthe newline-plus-indent prefix, the level-aware item separator, and\nthe closing indent directly.  A representative nested-dict workload\nbenchmarks about 4-5x faster end-to-end, and the \u003ccode\u003eindent=0\u003c/code\u003e and\nempty-container edge cases continue to match the Python output\nbyte-for-byte.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now emits PEP 678 \u003ccode\u003eexc.add_note()\u003c/code\u003e annotations on\nserialization failures, matching the pure-Python encoder.  A chained\nerror on \u003ccode\u003e{'a': [1, object(), 3]}\u003c/code\u003e produces the same three notes\n(\u003ccode\u003ewhen serializing object object\u003c/code\u003e, \u003ccode\u003ewhen serializing list item 1\u003c/code\u003e,\n\u003ccode\u003ewhen serializing dict item 'a'\u003c/code\u003e) whether the speedups are loaded\nor not, so the add_note assertions in \u003ccode\u003etest_errors.py\u003c/code\u003e no longer\nneed \u003ccode\u003eindent=2\u003c/code\u003e to force the Python path.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.0.1 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip uploading Pyodide/wasm wheels to PyPI, which rejects them with\n\u0026quot;unsupported platform tag 'pyodide_2024_0_wasm32'\u0026quot;. The wheels are\nstill built in CI and preserved as workflow artifacts.\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/375\"\u003esimplejson/simplejson#375\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.0.0 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003esimplejson 4 requires Python 2.7 or Python 3.8+. Older Python\nversions (2.5, 2.6, 3.0-3.7) are no longer supported. pip will\nnot install simplejson 4 on unsupported versions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now uses heap types and per-module state instead of\nstatic types and global state. This is required for free-threading\nsupport and sub-interpreter isolation. The Python-level API is\nunchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFull support for Python 3.13+ free-threading (PEP 703). The C\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/639b2ee73b2de6b385fcd4d44e0e08054a4d8a0e\"\u003e\u003ccode\u003e639b2ee\u003c/code\u003e\u003c/a\u003e Add Python 2.7 wheel builds for Windows platforms (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/0fd3185ce301bdefe61bbbf510536fa9127962fb\"\u003e\u003ccode\u003e0fd3185\u003c/code\u003e\u003c/a\u003e Accelerate indented encoding in the C extension; release 4.1.0 (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/376\"\u003e#376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/19b5f94f235d3ac11646b82c02f292845b2aa184\"\u003e\u003ccode\u003e19b5f94\u003c/code\u003e\u003c/a\u003e Exclude Pyodide wheels from PyPI uploads (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/375\"\u003e#375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/1608c050bbc2ae67ddfe913dad83bed7d588aa27\"\u003e\u003ccode\u003e1608c05\u003c/code\u003e\u003c/a\u003e Use JSONDecodeError for out-of-range end indices in C scanstring (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/374\"\u003e#374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/3bba17935f12695355b5280df2a93bf963b704dd\"\u003e\u003ccode\u003e3bba179\u003c/code\u003e\u003c/a\u003e Encoder parity fixes (for_json/_asdict) and TSan stress CI job (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/7b22d65b92ac7e69f740f59fe11548216b79c098\"\u003e\u003ccode\u003e7b22d65\u003c/code\u003e\u003c/a\u003e Error parity for the C and Python scanstring in surrogate and truncated strin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/825100a7fc498dafae31d10bef3e3cfaba1fdc5b\"\u003e\u003ccode\u003e825100a\u003c/code\u003e\u003c/a\u003e Release version 4.0.0: free-threading, CPython json parity, Python 2.7 fixes ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/0dbb9d875127a9009f01a4036fa950b0a5f4f589\"\u003e\u003ccode\u003e0dbb9d8\u003c/code\u003e\u003c/a\u003e C extension: dead code cleanup, fast paths for dict/list/string encoding, cor...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/e2e5f0b2d3bae3fd9a56bbaab42f6d75fb980ad5\"\u003e\u003ccode\u003ee2e5f0b\u003c/code\u003e\u003c/a\u003e Add Python 3.13+ free-threading support to dict operations (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/369\"\u003e#369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/e817370a91f4f51a0aec5f0f7bdeb1ca601ed101\"\u003e\u003ccode\u003ee817370\u003c/code\u003e\u003c/a\u003e Fix free-threading (3.14t) crashes: heap types, unified per-module state, tem...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/simplejson/simplejson/compare/v3.20.2...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-ofrep` from 0.2.0 to 0.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-ofrep's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-ofrep: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eofrep:\u003c/strong\u003e handle 401, 403, 404 and 5xx errors explicitly and add tests (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/346\"\u003e#346\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/7e18bc120ee1a310c28c96aac5b608941889d756\"\u003e7e18bc1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36db67de59732463a372c056525d6453d8a51a75\"\u003e36db67d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36c52d03aeddf5aa922f74ca7ef5c0ec9f6b790d\"\u003e\u003ccode\u003e36c52d0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency asserts to \u0026gt;=0.14.0,\u0026lt;0.15.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003e\u003ccode\u003ec119a77\u003c/code\u003e\u003c/a\u003e fix: various custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c8c9ebe7b2cd51e8c0ce065fdb4e024aecfd3ff3\"\u003e\u003ccode\u003ec8c9ebe\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/372\"\u003e#372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6d3c5f8adafe7150c9bab519ed6c866ff5f85478\"\u003e\u003ccode\u003e6d3c5f8\u003c/code\u003e\u003c/a\u003e chore: stabilize transitive flagd deps (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6b7c78e1f08ad862059bd31d6aef18f66224a755\"\u003e\u003ccode\u003e6b7c78e\u003c/code\u003e\u003c/a\u003e fix(security): update vulnerability-updates [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e\u003ccode\u003e1995534\u003c/code\u003e\u003c/a\u003e feat(flagd): extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.40.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.40.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-jinja2` from 0.61b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-jinja2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https:/...\n\n_Description has been truncated_","html_url":"https://github.com/GuanceDemo/OpenTelemetry_Demo/pull/204","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuanceDemo%2FOpenTelemetry_Demo/issues/204","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/204/packages"},{"uuid":"4634745208","node_id":"PR_kwDORX-XEs7lB3N7","number":249,"state":"closed","title":"Bump the pip-production-dependencies group across 5 directories with 21 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T20:30:24.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-10T20:30:18.000Z","updated_at":"2026-06-11T20:30:26.000Z","time_to_close":86406,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip-production-dependencies","update_count":21,"packages":[{"name":"python-dotenv","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"python-json-logger","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"flask","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"openfeature-provider-flagd","old_version":"0.2.3","new_version":"0.5.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"grpcio-health-checking","old_version":"1.78.0","new_version":"1.81.0"},{"name":"openfeature-hooks-opentelemetry","old_version":"0.3.0","new_version":"0.3.1","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-distro","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.39.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"psycopg2-binary","old_version":"2.9.11","new_version":"2.9.12","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"openai","old_version":"2.17.0","new_version":"2.41.1","repository_url":"https://github.com/openai/openai-python"},{"name":"simplejson","old_version":"3.20.2","new_version":"4.1.1","repository_url":"https://github.com/simplejson/simplejson"},{"name":"openfeature-provider-ofrep","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-api","old_version":"1.39.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-jinja2","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.39.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-production-dependencies group with 21 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.3.0` | `0.3.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.11` | `2.9.12` |\n| [openai](https://github.com/openai/openai-python) | `2.17.0` | `2.41.1` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.2` | `4.1.1` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 4 updates in the /src/llm directory: [python-dotenv](https://github.com/theskumar/python-dotenv), [python-json-logger](https://github.com/nhairs/python-json-logger), [flask](https://github.com/pallets/flask) and [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib).\nBumps the pip-production-dependencies group with 13 updates in the /src/load-generator directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.3.0` | `0.3.1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 11 updates in the /src/product-reviews directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.3.0` | `0.3.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.11` | `2.9.12` |\n| [openai](https://github.com/openai/openai-python) | `2.17.0` | `2.41.1` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.2` | `4.1.1` |\n\nBumps the pip-production-dependencies group with 8 updates in the /src/recommendation directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.3.0` | `0.3.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n\n\nUpdates `python-dotenv` from 1.2.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (#)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/607\"\u003etheskumar/python-dotenv#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e#790c5\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by \u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eskip 000 permission tests for root user by \u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/593\"\u003etheskumar/python-dotenv#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Windows testing to CI by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/604\"\u003etheskumar/python-dotenv#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove workflow efficiency with best practices by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/609\"\u003etheskumar/python-dotenv#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of \u003ccode\u003esh\u003c/code\u003e in tests by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/612\"\u003etheskumar/python-dotenv#612\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpackham-atlnz\"\u003e\u003ccode\u003e@​cpackham-atlnz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/597\"\u003etheskumar/python-dotenv#597\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.2] - 2026-03-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/607\"\u003e#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eDropped Support for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in [790c5c0]\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by [\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/590\"\u003e#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/36004e0e34be7665ff2b11a8a4005144f76f176d\"\u003e\u003ccode\u003e36004e0\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.1 → 1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eb202520e5933c9daf42501e1e42fdb0144002c8\"\u003e\u003ccode\u003eeb20252\u003c/code\u003e\u003c/a\u003e docs: update changelog for v1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e\u003ccode\u003e790c5c0\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/43340da220fb4ca4f95357bbe21a3c7f8f1278b1\"\u003e\u003ccode\u003e43340da\u003c/code\u003e\u003c/a\u003e Remove the use of \u003ccode\u003esh\u003c/code\u003e in tests (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/09d7cee32459e7abdcb5c9d8122a552589c06a9c\"\u003e\u003ccode\u003e09d7cee\u003c/code\u003e\u003c/a\u003e docs: clarify override behavior and document FIFO support (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/c8de2887c00198c22842c5ae5e92d1747467363c\"\u003e\u003ccode\u003ec8de288\u003c/code\u003e\u003c/a\u003e ci: improve workflow efficiency with best practices (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/609\"\u003e#609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/7bd9e3dbfedc0983ad7d56d5570013035242bdf4\"\u003e\u003ccode\u003e7bd9e3d\u003c/code\u003e\u003c/a\u003e Add Windows testing to CI (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1baaf04f336072e0ee324d5df9563ec767f14f81\"\u003e\u003ccode\u003e1baaf04\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 support and update to PyPy 3.11 (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/4a22cf8993804aeede0c20b75bb1a29d3a99e9dc\"\u003e\u003ccode\u003e4a22cf8\u003c/code\u003e\u003c/a\u003e ci: enable testing on Python 3.14t (free-threaded) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/e2e8e776b42e382ae38b44d3982dd649e7507dd4\"\u003e\u003ccode\u003ee2e8e77\u003c/code\u003e\u003c/a\u003e Fix license specifier (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-json-logger` from 4.0.0 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/releases\"\u003epython-json-logger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/blob/main/docs/changelog.md\"\u003epython-json-logger's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/d80c68da770154d9662975b789cabcc9a3e99408\"\u003e\u003ccode\u003ed80c68d\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/b589b2a576ac058dc55be934159b67060a288756\"\u003e\u003ccode\u003eb589b2a\u003c/code\u003e\u003c/a\u003e [pyproject] Update license table to PEP 639 format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/2bb784a92250c60035a7e4536d1ef48cd02e50d5\"\u003e\u003ccode\u003e2bb784a\u003c/code\u003e\u003c/a\u003e Update code unlocked by Python 3.10 minimum version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/79599b5a6ad5e38c18c468fd0e4ac790961d6b5f\"\u003e\u003ccode\u003e79599b5\u003c/code\u003e\u003c/a\u003e Drop python 3.8, 3.9 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/622650c1f543e7909e8711e4a30c96cc2aa6e332\"\u003e\u003ccode\u003e622650c\u003c/code\u003e\u003c/a\u003e [docs.contributing] Update unsupported JSON encoders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/06165bb03f9892fc24762acabf6b1b0b35c6b56b\"\u003e\u003ccode\u003e06165bb\u003c/code\u003e\u003c/a\u003e [tests.test_formatters] Add non-printable bytes to test_common_types_encoded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/61f88a9fe7cee3409db9c589b03b15c2ffdc3ffa\"\u003e\u003ccode\u003e61f88a9\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify which packages have been considered and rejected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/0add524a24c6210807a66e0f9149200b32cc98a9\"\u003e\u003ccode\u003e0add524\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify when we will add support for new third-party pack...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/eee9505610a64276341a03f2a0b0dee5f500916b\"\u003e\u003ccode\u003eeee9505\u003c/code\u003e\u003c/a\u003e [pylint] Remove old command\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/804592648f8d0e56f7f41112d2945cf52d1d2a6b\"\u003e\u003ccode\u003e8045926\u003c/code\u003e\u003c/a\u003e [mypy] Don't ignore orjson\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.1.2 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.1.2...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.1...openfeature-provider-flagd/v0.5.0\"\u003e0.5.0\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003ee7d1d34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003ee1c3c6a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/9c493b82c022bcee18bfce02f829153b98efe53d\"\u003e\u003ccode\u003e9c493b8\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.5.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003e\u003ccode\u003ee7d1d34\u003c/code\u003e\u003c/a\u003e feat!: DISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003e\u003ccode\u003ee1c3c6a\u003c/code\u003e\u003c/a\u003e feat: make use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c4b425776715f85b04c1c29e007d095d9025760b\"\u003e\u003ccode\u003ec4b4257\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/394\"\u003e#394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/daafd7336ecfba856803965cf26c198bb0e4f22c\"\u003e\u003ccode\u003edaafd73\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/f084e84b22a7ed1aef3a800ee4a07cf3a6095f6b\"\u003e\u003ccode\u003ef084e84\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `grpcio-health-checking` from 1.78.0 to 1.81.0\n\nUpdates `openfeature-hooks-opentelemetry` from 0.3.0 to 0.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-hooks-opentelemetry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-hooks-opentelemetry: v0.3.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-hooks-opentelemetry/v0.3.0...openfeature-hooks-opentelemetry/v0.3.1\"\u003e0.3.1\u003c/a\u003e (2026-02-17)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlign TracingHook with spec (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/342\"\u003e#342\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2a2127d958ea0bafabb673335fd0d9665c8d9291\"\u003e2a2127d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83926dea688eac265405b79c2ec00c9d08c8862e\"\u003e\u003ccode\u003e83926de\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-hooks-opentelemetry 0.3.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2a2127d958ea0bafabb673335fd0d9665c8d9291\"\u003e\u003ccode\u003e2a2127d\u003c/code\u003e\u003c/a\u003e fix: Align TracingHook with spec (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/342\"\u003e#342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c08b414007f6ce10dcb83249142f054b6d6043d6\"\u003e\u003ccode\u003ec08b414\u003c/code\u003e\u003c/a\u003e chore: align unleash pyproject.toml to others (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/341\"\u003e#341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/8239b836a25663e0030b3891d0140cb365798a37\"\u003e\u003ccode\u003e8239b83\u003c/code\u003e\u003c/a\u003e feat(provider): add \u003ccode\u003eaws-ssm\u003c/code\u003e provider (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/331\"\u003e#331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e\u003ccode\u003e61add22\u003c/code\u003e\u003c/a\u003e fix: replace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/a835c77f10c82af2157ea15be0ffae7bad79b8ce\"\u003e\u003ccode\u003ea835c77\u003c/code\u003e\u003c/a\u003e chore: relax \u003ccode\u003etypes-requests\u003c/code\u003e and update \u003ccode\u003egrpcio\u003c/code\u003e version constraints (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/334\"\u003e#334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/a345ef9f1ea3333e49a173553a9098f5db6746a7\"\u003e\u003ccode\u003ea345ef9\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.2.7 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/290\"\u003e#290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/b9c164a2342d101e23e062a81558f02fe0a38c0b\"\u003e\u003ccode\u003eb9c164a\u003c/code\u003e\u003c/a\u003e fix(security): update dependency protobuf to v6.33.5 [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2feabd5d70bef2de6661fadf3d74238991a27466\"\u003e\u003ccode\u003e2feabd5\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-unleash 0.1.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/332\"\u003e#332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/dcb8fadfbc0263e68c381681b5b92cb5fea2dc0d\"\u003e\u003ccode\u003edcb8fad\u003c/code\u003e\u003c/a\u003e chore: add component owners\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-hooks-opentelemetry/v0.3.0...openfeature-hooks-opentelemetry/v0.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-distro` from 0.60b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-distro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.39.1 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.39.1...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v7.0.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2-binary` from 2.9.11 to 2.9.12\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2-binary's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.12\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite loop with malformed interval (:ticket:\u003ccode\u003e1835\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform binary packages (:ticket:\u003ccode\u003e[#1813](https://github.com/psycopg/psycopg2/issues/1813)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/3a6d9d6ddc6b53eaa80b712f5fa6b23abbdc38db\"\u003e\u003ccode\u003e3a6d9d6\u003c/code\u003e\u003c/a\u003e ci: include almalinux in whieel building\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ebca6bf0f86bc6cbdc86de1eb3a53eaf49966d86\"\u003e\u003ccode\u003eebca6bf\u003c/code\u003e\u003c/a\u003e chore: bump to version 3.9.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/0196f02cc9512df8de3c941f87d27bda98f9f7af\"\u003e\u003ccode\u003e0196f02\u003c/code\u003e\u003c/a\u003e build(deps): bump pypa/cibuildwheel from 3.3.1 to 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d157bdc2235a42dc1742936dbb0f5cfc8e4d2eb7\"\u003e\u003ccode\u003ed157bdc\u003c/code\u003e\u003c/a\u003e build(deps): bump docker/setup-qemu-action from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/7fccc0f5066a40dea530512abbf02621f4182b81\"\u003e\u003ccode\u003e7fccc0f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d52a61eb2e6095fc1b9891bfcca44ebfac509e55\"\u003e\u003ccode\u003ed52a61e\u003c/code\u003e\u003c/a\u003e chore: bump dependency libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/b231d726a01d55e07ec3620b2b82f4a2da37ba62\"\u003e\u003ccode\u003eb231d72\u003c/code\u003e\u003c/a\u003e chore: fix building binary images\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/6d76e8479f0f522c2e07ce0e2701030d8fd63785\"\u003e\u003ccode\u003e6d76e84\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1836\"\u003e#1836\u003c/a\u003e from psycopg/fix-1835\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/f7e314c7ab418ab9b9956e694956089a49c5c3b9\"\u003e\u003ccode\u003ef7e314c\u003c/code\u003e\u003c/a\u003e fix: overflow in malformed interval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/eb905c124b75f2a5183d22177b85af20914b0f17\"\u003e\u003ccode\u003eeb905c1\u003c/code\u003e\u003c/a\u003e docs: replace bare except clause with except Exception\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.11...2.9.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.17.0 to 2.41.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.41.1\u003c/h2\u003e\n\u003ch2\u003e2.41.1 (2026-06-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.41.0...v2.41.1\"\u003ev2.41.0...v2.41.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBuild System\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove scheduled release workflow trigger (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3366\"\u003e#3366\u003c/a\u003e) (\u003ca href=\"https://github.com/openai/openai-python/commit/2a91011abc21032db9566b98068afefb5fbb9b24\"\u003e2a91011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.41.0\u003c/h2\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.40.0\u003c/h2\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.39.0\u003c/h2\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.41.1 (2026-06-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.41.0...v2.41.1\"\u003ev2.41.0...v2.41.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBuild System\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove scheduled release workflow trigger (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3366\"\u003e#3366\u003c/a\u003e) (\u003ca href=\"https://github.com/openai/openai-python/commit/2a91011abc21032db9566b98068afefb5fbb9b24\"\u003e2a91011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/71987563c833806bb9854c2f74d430a26e319246\"\u003e\u003ccode\u003e7198756\u003c/code\u003e\u003c/a\u003e release: 2.41.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/3842a5ea01e8ecb7d6b159b9236c0c60ceff5de3\"\u003e\u003ccode\u003e3842a5e\u003c/code\u003e\u003c/a\u003e ci: use PyPI trusted publishing (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3365\"\u003e#3365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2a91011abc21032db9566b98068afefb5fbb9b24\"\u003e\u003ccode\u003e2a91011\u003c/code\u003e\u003c/a\u003e build: Remove scheduled release workflow trigger (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3366\"\u003e#3366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2d955a1ac69df0288b8072bbcd25905639e9b2ed\"\u003e\u003ccode\u003e2d955a1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3359\"\u003e#3359\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/519cd027919fa5b73bd8fe237e80c7a01b3e0b2f\"\u003e\u003ccode\u003e519cd02\u003c/code\u003e\u003c/a\u003e release: 2.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e\u003ccode\u003e87e46c2\u003c/code\u003e\u003c/a\u003e feat(api): responses.moderation and chat_completions.moderation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a28a3f6aa34f5ac6fcc2fafeb50112f2140c45ae\"\u003e\u003ccode\u003ea28a3f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3352\"\u003e#3352\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/db6ccafa7b74b72caefbda6fb63bd5c904521770\"\u003e\u003ccode\u003edb6ccaf\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2264f700dad91e4f570eb7c0a6f10bbd22d34520\"\u003e\u003ccode\u003e2264f70\u003c/code\u003e\u003c/a\u003e release: 2.40.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e\u003ccode\u003e4d5bfde\u003c/code\u003e\u003c/a\u003e fix(api): allow setting bedrock api keys on the client directly\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.17.0...v2.41.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `simplejson` from 3.20.2 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/releases\"\u003esimplejson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Python 2.7 wheel builds for Windows platforms by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/378\"\u003esimplejson/simplejson#378\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.1.0...v4.1.1\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.1.0...v4.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAccelerate indented encoding in the C extension; release 4.1.0 by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/376\"\u003esimplejson/simplejson#376\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.0.1...v4.1.0\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.0.1...v4.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExclude Pyodide wheels from PyPI uploads by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/375\"\u003esimplejson/simplejson#375\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.0.0...v4.0.1\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.0.0...v4.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eVersion 4.0.0 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003esimplejson 4 requires Python 2.7 or Python 3.8+. Older Python\nversions (2.5, 2.6, 3.0-3.7) are no longer supported. pip will\nnot install simplejson 4 on unsupported versions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now uses heap types and per-module state instead of\nstatic types and global state. This is required for free-threading\nsupport and sub-interpreter isolation. The Python-level API is\nunchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFull support for Python 3.13+ free-threading (PEP 703). The C\nextension is now safe to use with the GIL disabled (python3.14t):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eConverted all static types to heap types with per-module state\u003c/li\u003e\n\u003cli\u003eAdded per-object critical sections to scanner and encoder\u003c/li\u003e\n\u003cli\u003eAdded free-threading-safe dict operations for Python 3.13+\u003c/li\u003e\n\u003cli\u003eUnified per-module state management and templated parser\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/363\"\u003esimplejson/simplejson#363\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/364\"\u003esimplejson/simplejson#364\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/365\"\u003esimplejson/simplejson#365\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/367\"\u003esimplejson/simplejson#367\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/369\"\u003esimplejson/simplejson#369\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNumerous C extension memory safety fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix use-after-free and leak in encoder ident handling\u003c/li\u003e\n\u003cli\u003eFix NULL dereferences on OOM in module init and static string init\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/blob/main/CHANGES.txt\"\u003esimplejson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion 4.1.1 released 2026-04-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003ebuild_wheels_py27\u003c/code\u003e CI job now also builds Python 2.7 wheels\nfor Windows AMD64 and Windows x86, joining the existing Py2.7\nmanylinux1 / manylinux2010 x86_64 wheels. This unblocks offline /\n\u003ccode\u003e--no-index\u003c/code\u003e installs on Py2.7-on-Windows (the original\nreporter's case), which previously had no matching binary wheel on\nPyPI, fell through to the sdist, and failed on the PEP 517\nisolated-build step complaining that \u003ccode\u003esetuptools\u0026gt;=42\u003c/code\u003e was not in\nthe wheelhouse.\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/377\"\u003esimplejson/simplejson#377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.1.0 released 2026-04-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now accelerates encoding when \u003ccode\u003eindent=\u003c/code\u003e is set.\nPreviously the encoder fell back to the pure-Python implementation\nwhenever a non-None \u003ccode\u003eindent\u003c/code\u003e was passed; now the C encoder emits\nthe newline-plus-indent prefix, the level-aware item separator, and\nthe closing indent directly.  A representative nested-dict workload\nbenchmarks about 4-5x faster end-to-end, and the \u003ccode\u003eindent=0\u003c/code\u003e and\nempty-container edge cases continue to match the Python output\nbyte-for-byte.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now emits PEP 678 \u003ccode\u003eexc.add_note()\u003c/code\u003e annotations on\nserialization failures, matching the pure-Python encoder.  A chained\nerror on \u003ccode\u003e{'a': [1, object(), 3]}\u003c/code\u003e produces the same three notes\n(\u003ccode\u003ewhen serializing object object\u003c/code\u003e, \u003ccode\u003ewhen serializing list item 1\u003c/code\u003e,\n\u003ccode\u003ewhen seriali...\n\n_Description has been truncated_","html_url":"https://github.com/RANJITHKUMARJN/opentelemetrymain/pull/249","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RANJITHKUMARJN%2Fopentelemetrymain/issues/249","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/249/packages"},{"uuid":"4618496313","node_id":"PR_kwDOSbI0jM7kMYwb","number":43,"state":"closed","title":"chore(deps): bump the pip-production-dependencies group across 5 directories with 15 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-16T03:22:14.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-09T03:23:25.000Z","updated_at":"2026-06-16T03:22:16.000Z","time_to_close":604729,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip-production-dependencies","update_count":15,"packages":[{"name":"openfeature-provider-flagd","old_version":"0.2.3","new_version":"0.5.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"grpcio-health-checking","old_version":"1.78.0","new_version":"1.81.0"},{"name":"opentelemetry-distro","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.41.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"openai","old_version":"2.34.0","new_version":"2.41.0","repository_url":"https://github.com/openai/openai-python"},{"name":"openfeature-provider-ofrep","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-api","old_version":"1.41.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-jinja2","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.41.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-production-dependencies group with 15 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [openai](https://github.com/openai/openai-python) | `2.34.0` | `2.41.0` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 1 update in the /src/llm directory: [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib).\nBumps the pip-production-dependencies group with 10 updates in the /src/load-generator directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 6 updates in the /src/product-reviews directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [openai](https://github.com/openai/openai-python) | `2.34.0` | `2.41.0` |\n\nBumps the pip-production-dependencies group with 5 updates in the /src/recommendation directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.1...openfeature-provider-flagd/v0.5.0\"\u003e0.5.0\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003ee7d1d34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003ee1c3c6a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/9c493b82c022bcee18bfce02f829153b98efe53d\"\u003e\u003ccode\u003e9c493b8\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.5.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003e\u003ccode\u003ee7d1d34\u003c/code\u003e\u003c/a\u003e feat!: DISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003e\u003ccode\u003ee1c3c6a\u003c/code\u003e\u003c/a\u003e feat: make use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c4b425776715f85b04c1c29e007d095d9025760b\"\u003e\u003ccode\u003ec4b4257\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/394\"\u003e#394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/daafd7336ecfba856803965cf26c198bb0e4f22c\"\u003e\u003ccode\u003edaafd73\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/f084e84b22a7ed1aef3a800ee4a07cf3a6095f6b\"\u003e\u003ccode\u003ef084e84\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `grpcio-health-checking` from 1.78.0 to 1.81.0\n\nUpdates `opentelemetry-distro` from 0.62b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-distro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.41.1 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.41.1...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v7.0.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.34.0 to 2.41.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.41.0\u003c/h2\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.40.0\u003c/h2\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.39.0\u003c/h2\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.37.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.37.0 (2026-05-13)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.36.0...v2.37.0\"\u003ev2.36.0...v2.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2d955a1ac69df0288b8072bbcd25905639e9b2ed\"\u003e\u003ccode\u003e2d955a1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3359\"\u003e#3359\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/519cd027919fa5b73bd8fe237e80c7a01b3e0b2f\"\u003e\u003ccode\u003e519cd02\u003c/code\u003e\u003c/a\u003e release: 2.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e\u003ccode\u003e87e46c2\u003c/code\u003e\u003c/a\u003e feat(api): responses.moderation and chat_completions.moderation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a28a3f6aa34f5ac6fcc2fafeb50112f2140c45ae\"\u003e\u003ccode\u003ea28a3f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3352\"\u003e#3352\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/db6ccafa7b74b72caefbda6fb63bd5c904521770\"\u003e\u003ccode\u003edb6ccaf\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2264f700dad91e4f570eb7c0a6f10bbd22d34520\"\u003e\u003ccode\u003e2264f70\u003c/code\u003e\u003c/a\u003e release: 2.40.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e\u003ccode\u003e4d5bfde\u003c/code\u003e\u003c/a\u003e fix(api): allow setting bedrock api keys on the client directly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/ccef1436d9f52b5014597047e450eef543a87540\"\u003e\u003ccode\u003eccef143\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3326\"\u003e#3326\u003c/a\u003e from openai/codex/bedrock-responses-review\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a50ff0a19084306a09012ff85f730ea2c129eef9\"\u003e\u003ccode\u003ea50ff0a\u003c/code\u003e\u003c/a\u003e Fix Bedrock with_options overrides\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/fdf4901e301fa01b368ede0b5b407dca42f07acc\"\u003e\u003ccode\u003efdf4901\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.34.0...v2.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-ofrep` from 0.2.0 to 0.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-ofrep's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-ofrep: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eofrep:\u003c/strong\u003e handle 401, 403, 404 and 5xx errors explicitly and add tests (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/346\"\u003e#346\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/7e18bc120ee1a310c28c96aac5b608941889d756\"\u003e7e18bc1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36db67de59732463a372c056525d6453d8a51a75\"\u003e36db67d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36c52d03aeddf5aa922f74ca7ef5c0ec9f6b790d\"\u003e\u003ccode\u003e36c52d0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency asserts to \u0026gt;=0.14.0,\u0026lt;0.15.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003e\u003ccode\u003ec119a77\u003c/code\u003e\u003c/a\u003e fix: various custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c8c9ebe7b2cd51e8c0ce065fdb4e024aecfd3ff3\"\u003e\u003ccode\u003ec8c9ebe\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/372\"\u003e#372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6d3c5f8adafe7150c9bab519ed6c866ff5f85478\"\u003e\u003ccode\u003e6d3c5f8\u003c/code\u003e\u003c/a\u003e chore: stabilize transitive flagd deps (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6b7c78e1f08ad862059bd31d6aef18f66224a755\"\u003e\u003ccode\u003e6b7c78e\u003c/code\u003e\u003c/a\u003e fix(security): update vulnerability-updates [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e\u003ccode\u003e1995534\u003c/code\u003e\u003c/a\u003e feat(flagd): extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.41.1 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.41.1...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-jinja2` from 0.62b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-jinja2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-requests` from 0.62b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-requests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-system-metrics` from 0.62b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-system-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-urllib3` from 0.62b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-urllib3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-sdk` from 1.41.1 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/jaykay9999/mstry/pull/43","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaykay9999%2Fmstry/issues/43","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/43/packages"},{"uuid":"4618488832","node_id":"PR_kwDOSU0Q9c7kMXSQ","number":48,"state":"closed","title":"chore(deps): bump the pip-production-dependencies group across 5 directories with 15 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-16T03:22:28.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-09T03:22:01.000Z","updated_at":"2026-06-16T03:22:30.000Z","time_to_close":604827,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip-production-dependencies","update_count":15,"packages":[{"name":"openfeature-provider-flagd","old_version":"0.2.3","new_version":"0.5.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"grpcio-health-checking","old_version":"1.78.0","new_version":"1.81.0"},{"name":"opentelemetry-distro","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.41.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"openai","old_version":"2.33.0","new_version":"2.41.0","repository_url":"https://github.com/openai/openai-python"},{"name":"openfeature-provider-ofrep","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-api","old_version":"1.41.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-jinja2","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.41.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-production-dependencies group with 15 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [openai](https://github.com/openai/openai-python) | `2.33.0` | `2.41.0` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 1 update in the /src/llm directory: [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib).\nBumps the pip-production-dependencies group with 10 updates in the /src/load-generator directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 6 updates in the /src/product-reviews directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [openai](https://github.com/openai/openai-python) | `2.33.0` | `2.41.0` |\n\nBumps the pip-production-dependencies group with 5 updates in the /src/recommendation directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.1...openfeature-provider-flagd/v0.5.0\"\u003e0.5.0\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003ee7d1d34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003ee1c3c6a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/9c493b82c022bcee18bfce02f829153b98efe53d\"\u003e\u003ccode\u003e9c493b8\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.5.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003e\u003ccode\u003ee7d1d34\u003c/code\u003e\u003c/a\u003e feat!: DISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003e\u003ccode\u003ee1c3c6a\u003c/code\u003e\u003c/a\u003e feat: make use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c4b425776715f85b04c1c29e007d095d9025760b\"\u003e\u003ccode\u003ec4b4257\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/394\"\u003e#394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/daafd7336ecfba856803965cf26c198bb0e4f22c\"\u003e\u003ccode\u003edaafd73\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/f084e84b22a7ed1aef3a800ee4a07cf3a6095f6b\"\u003e\u003ccode\u003ef084e84\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `grpcio-health-checking` from 1.78.0 to 1.81.0\n\nUpdates `opentelemetry-distro` from 0.62b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-distro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.41.1 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.41.1...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v7.0.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.33.0 to 2.41.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.41.0\u003c/h2\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.40.0\u003c/h2\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.39.0\u003c/h2\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.37.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.37.0 (2026-05-13)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.36.0...v2.37.0\"\u003ev2.36.0...v2.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2d955a1ac69df0288b8072bbcd25905639e9b2ed\"\u003e\u003ccode\u003e2d955a1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3359\"\u003e#3359\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/519cd027919fa5b73bd8fe237e80c7a01b3e0b2f\"\u003e\u003ccode\u003e519cd02\u003c/code\u003e\u003c/a\u003e release: 2.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e\u003ccode\u003e87e46c2\u003c/code\u003e\u003c/a\u003e feat(api): responses.moderation and chat_completions.moderation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a28a3f6aa34f5ac6fcc2fafeb50112f2140c45ae\"\u003e\u003ccode\u003ea28a3f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3352\"\u003e#3352\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/db6ccafa7b74b72caefbda6fb63bd5c904521770\"\u003e\u003ccode\u003edb6ccaf\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2264f700dad91e4f570eb7c0a6f10bbd22d34520\"\u003e\u003ccode\u003e2264f70\u003c/code\u003e\u003c/a\u003e release: 2.40.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e\u003ccode\u003e4d5bfde\u003c/code\u003e\u003c/a\u003e fix(api): allow setting bedrock api keys on the client directly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/ccef1436d9f52b5014597047e450eef543a87540\"\u003e\u003ccode\u003eccef143\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3326\"\u003e#3326\u003c/a\u003e from openai/codex/bedrock-responses-review\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a50ff0a19084306a09012ff85f730ea2c129eef9\"\u003e\u003ccode\u003ea50ff0a\u003c/code\u003e\u003c/a\u003e Fix Bedrock with_options overrides\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/fdf4901e301fa01b368ede0b5b407dca42f07acc\"\u003e\u003ccode\u003efdf4901\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.33.0...v2.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-ofrep` from 0.2.0 to 0.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-ofrep's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-ofrep: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eofrep:\u003c/strong\u003e handle 401, 403, 404 and 5xx errors explicitly and add tests (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/346\"\u003e#346\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/7e18bc120ee1a310c28c96aac5b608941889d756\"\u003e7e18bc1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36db67de59732463a372c056525d6453d8a51a75\"\u003e36db67d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36c52d03aeddf5aa922f74ca7ef5c0ec9f6b790d\"\u003e\u003ccode\u003e36c52d0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency asserts to \u0026gt;=0.14.0,\u0026lt;0.15.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003e\u003ccode\u003ec119a77\u003c/code\u003e\u003c/a\u003e fix: various custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c8c9ebe7b2cd51e8c0ce065fdb4e024aecfd3ff3\"\u003e\u003ccode\u003ec8c9ebe\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/372\"\u003e#372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6d3c5f8adafe7150c9bab519ed6c866ff5f85478\"\u003e\u003ccode\u003e6d3c5f8\u003c/code\u003e\u003c/a\u003e chore: stabilize transitive flagd deps (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6b7c78e1f08ad862059bd31d6aef18f66224a755\"\u003e\u003ccode\u003e6b7c78e\u003c/code\u003e\u003c/a\u003e fix(security): update vulnerability-updates [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e\u003ccode\u003e1995534\u003c/code\u003e\u003c/a\u003e feat(flagd): extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.41.1 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.41.1...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-jinja2` from 0.62b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-jinja2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-requests` from 0.62b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-requests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-system-metrics` from 0.62b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-system-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-urllib3` from 0.62b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-urllib3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-sdk` from 1.41.1 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/sanjaycloudin/devops-demo/pull/48","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanjaycloudin%2Fdevops-demo/issues/48","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/48/packages"},{"uuid":"4603004932","node_id":"PR_kwDOSp1Dcc7jaPDq","number":55,"state":"open","title":"deps(python)(deps): Bump psutil from 6.1.1 to 7.2.2 in /agent-backend","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-06T10:48:47.000Z","updated_at":"2026-06-06T10:48:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(python)(deps): Bump","packages":[{"name":"psutil","old_version":"6.1.1","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"}],"path":"/agent-backend","ecosystem":"pip"},"body":"Bumps [psutil](https://github.com/giampaolo/psutil) from 6.1.1 to 7.2.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v6.1.1...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=psutil\u0026package-manager=pip\u0026previous-version=6.1.1\u0026new-version=7.2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Razisafir/construct-ai-agent/pull/55","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Razisafir%2Fconstruct-ai-agent/issues/55","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/55/packages"},{"uuid":"4585885997","node_id":"PR_kwDORfOU_c7ih_JF","number":232,"state":"closed","title":"Bump the pip-production-dependencies group across 5 directories with 18 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T04:40:10.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-04T04:47:49.000Z","updated_at":"2026-06-11T04:40:12.000Z","time_to_close":604341,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip-production-dependencies","update_count":18,"packages":[{"name":"python-json-logger","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"openfeature-provider-flagd","old_version":"0.2.3","new_version":"0.5.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"grpcio-health-checking","old_version":"1.78.0","new_version":"1.81.0"},{"name":"opentelemetry-distro","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.39.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"psycopg2-binary","old_version":"2.9.11","new_version":"2.9.12","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"openai","old_version":"2.24.0","new_version":"2.41.0","repository_url":"https://github.com/openai/openai-python"},{"name":"simplejson","old_version":"3.20.2","new_version":"4.1.1","repository_url":"https://github.com/simplejson/simplejson"},{"name":"openfeature-provider-ofrep","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-api","old_version":"1.39.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-jinja2","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.39.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-production-dependencies group with 18 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.11` | `2.9.12` |\n| [openai](https://github.com/openai/openai-python) | `2.24.0` | `2.41.0` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.2` | `4.1.1` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 2 updates in the /src/llm directory: [python-json-logger](https://github.com/nhairs/python-json-logger) and [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib).\nBumps the pip-production-dependencies group with 11 updates in the /src/load-generator directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 9 updates in the /src/product-reviews directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.11` | `2.9.12` |\n| [openai](https://github.com/openai/openai-python) | `2.24.0` | `2.41.0` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.2` | `4.1.1` |\n\nBumps the pip-production-dependencies group with 6 updates in the /src/recommendation directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n\n\nUpdates `python-json-logger` from 4.0.0 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/releases\"\u003epython-json-logger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/blob/main/docs/changelog.md\"\u003epython-json-logger's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/d80c68da770154d9662975b789cabcc9a3e99408\"\u003e\u003ccode\u003ed80c68d\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/b589b2a576ac058dc55be934159b67060a288756\"\u003e\u003ccode\u003eb589b2a\u003c/code\u003e\u003c/a\u003e [pyproject] Update license table to PEP 639 format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/2bb784a92250c60035a7e4536d1ef48cd02e50d5\"\u003e\u003ccode\u003e2bb784a\u003c/code\u003e\u003c/a\u003e Update code unlocked by Python 3.10 minimum version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/79599b5a6ad5e38c18c468fd0e4ac790961d6b5f\"\u003e\u003ccode\u003e79599b5\u003c/code\u003e\u003c/a\u003e Drop python 3.8, 3.9 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/622650c1f543e7909e8711e4a30c96cc2aa6e332\"\u003e\u003ccode\u003e622650c\u003c/code\u003e\u003c/a\u003e [docs.contributing] Update unsupported JSON encoders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/06165bb03f9892fc24762acabf6b1b0b35c6b56b\"\u003e\u003ccode\u003e06165bb\u003c/code\u003e\u003c/a\u003e [tests.test_formatters] Add non-printable bytes to test_common_types_encoded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/61f88a9fe7cee3409db9c589b03b15c2ffdc3ffa\"\u003e\u003ccode\u003e61f88a9\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify which packages have been considered and rejected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/0add524a24c6210807a66e0f9149200b32cc98a9\"\u003e\u003ccode\u003e0add524\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify when we will add support for new third-party pack...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/eee9505610a64276341a03f2a0b0dee5f500916b\"\u003e\u003ccode\u003eeee9505\u003c/code\u003e\u003c/a\u003e [pylint] Remove old command\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/804592648f8d0e56f7f41112d2945cf52d1d2a6b\"\u003e\u003ccode\u003e8045926\u003c/code\u003e\u003c/a\u003e [mypy] Don't ignore orjson\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.1...openfeature-provider-flagd/v0.5.0\"\u003e0.5.0\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003ee7d1d34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003ee1c3c6a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/9c493b82c022bcee18bfce02f829153b98efe53d\"\u003e\u003ccode\u003e9c493b8\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.5.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003e\u003ccode\u003ee7d1d34\u003c/code\u003e\u003c/a\u003e feat!: DISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003e\u003ccode\u003ee1c3c6a\u003c/code\u003e\u003c/a\u003e feat: make use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c4b425776715f85b04c1c29e007d095d9025760b\"\u003e\u003ccode\u003ec4b4257\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/394\"\u003e#394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/daafd7336ecfba856803965cf26c198bb0e4f22c\"\u003e\u003ccode\u003edaafd73\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/f084e84b22a7ed1aef3a800ee4a07cf3a6095f6b\"\u003e\u003ccode\u003ef084e84\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `grpcio-health-checking` from 1.78.0 to 1.81.0\n\nUpdates `opentelemetry-distro` from 0.60b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-distro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.39.1 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.39.1...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v7.0.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2-binary` from 2.9.11 to 2.9.12\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2-binary's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.12\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite loop with malformed interval (:ticket:\u003ccode\u003e1835\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform binary packages (:ticket:\u003ccode\u003e[#1813](https://github.com/psycopg/psycopg2/issues/1813)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/3a6d9d6ddc6b53eaa80b712f5fa6b23abbdc38db\"\u003e\u003ccode\u003e3a6d9d6\u003c/code\u003e\u003c/a\u003e ci: include almalinux in whieel building\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ebca6bf0f86bc6cbdc86de1eb3a53eaf49966d86\"\u003e\u003ccode\u003eebca6bf\u003c/code\u003e\u003c/a\u003e chore: bump to version 3.9.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/0196f02cc9512df8de3c941f87d27bda98f9f7af\"\u003e\u003ccode\u003e0196f02\u003c/code\u003e\u003c/a\u003e build(deps): bump pypa/cibuildwheel from 3.3.1 to 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d157bdc2235a42dc1742936dbb0f5cfc8e4d2eb7\"\u003e\u003ccode\u003ed157bdc\u003c/code\u003e\u003c/a\u003e build(deps): bump docker/setup-qemu-action from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/7fccc0f5066a40dea530512abbf02621f4182b81\"\u003e\u003ccode\u003e7fccc0f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d52a61eb2e6095fc1b9891bfcca44ebfac509e55\"\u003e\u003ccode\u003ed52a61e\u003c/code\u003e\u003c/a\u003e chore: bump dependency libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/b231d726a01d55e07ec3620b2b82f4a2da37ba62\"\u003e\u003ccode\u003eb231d72\u003c/code\u003e\u003c/a\u003e chore: fix building binary images\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/6d76e8479f0f522c2e07ce0e2701030d8fd63785\"\u003e\u003ccode\u003e6d76e84\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1836\"\u003e#1836\u003c/a\u003e from psycopg/fix-1835\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/f7e314c7ab418ab9b9956e694956089a49c5c3b9\"\u003e\u003ccode\u003ef7e314c\u003c/code\u003e\u003c/a\u003e fix: overflow in malformed interval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/eb905c124b75f2a5183d22177b85af20914b0f17\"\u003e\u003ccode\u003eeb905c1\u003c/code\u003e\u003c/a\u003e docs: replace bare except clause with except Exception\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.11...2.9.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.24.0 to 2.41.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.41.0\u003c/h2\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.40.0\u003c/h2\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.39.0\u003c/h2\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.37.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.37.0 (2026-05-13)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.36.0...v2.37.0\"\u003ev2.36.0...v2.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2d955a1ac69df0288b8072bbcd25905639e9b2ed\"\u003e\u003ccode\u003e2d955a1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3359\"\u003e#3359\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/519cd027919fa5b73bd8fe237e80c7a01b3e0b2f\"\u003e\u003ccode\u003e519cd02\u003c/code\u003e\u003c/a\u003e release: 2.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e\u003ccode\u003e87e46c2\u003c/code\u003e\u003c/a\u003e feat(api): responses.moderation and chat_completions.moderation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a28a3f6aa34f5ac6fcc2fafeb50112f2140c45ae\"\u003e\u003ccode\u003ea28a3f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3352\"\u003e#3352\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/db6ccafa7b74b72caefbda6fb63bd5c904521770\"\u003e\u003ccode\u003edb6ccaf\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2264f700dad91e4f570eb7c0a6f10bbd22d34520\"\u003e\u003ccode\u003e2264f70\u003c/code\u003e\u003c/a\u003e release: 2.40.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e\u003ccode\u003e4d5bfde\u003c/code\u003e\u003c/a\u003e fix(api): allow setting bedrock api keys on the client directly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/ccef1436d9f52b5014597047e450eef543a87540\"\u003e\u003ccode\u003eccef143\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3326\"\u003e#3326\u003c/a\u003e from openai/codex/bedrock-responses-review\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a50ff0a19084306a09012ff85f730ea2c129eef9\"\u003e\u003ccode\u003ea50ff0a\u003c/code\u003e\u003c/a\u003e Fix Bedrock with_options overrides\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/fdf4901e301fa01b368ede0b5b407dca42f07acc\"\u003e\u003ccode\u003efdf4901\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.24.0...v2.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `simplejson` from 3.20.2 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/releases\"\u003esimplejson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Python 2.7 wheel builds for Windows platforms by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/378\"\u003esimplejson/simplejson#378\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.1.0...v4.1.1\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.1.0...v4.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAccelerate indented encoding in the C extension; release 4.1.0 by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/376\"\u003esimplejson/simplejson#376\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.0.1...v4.1.0\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.0.1...v4.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExclude Pyodide wheels from PyPI uploads by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/375\"\u003esimplejson/simplejson#375\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.0.0...v4.0.1\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.0.0...v4.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eVersion 4.0.0 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003esimplejson 4 requires Python 2.7 or Python 3.8+. Older Python\nversions (2.5, 2.6, 3.0-3.7) are no longer supported. pip will\nnot install simplejson 4 on unsupported versions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now uses heap types and per-module state instead of\nstatic types and global state. This is required for free-threading\nsupport and sub-interpreter isolation. The Python-level API is\nunchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFull support for Python 3.13+ free-threading (PEP 703). The C\nextension is now safe to use with the GIL disabled (python3.14t):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eConverted all static types to heap types with per-module state\u003c/li\u003e\n\u003cli\u003eAdded per-object critical sections to scanner and encoder\u003c/li\u003e\n\u003cli\u003eAdded free-threading-safe dict operations for Python 3.13+\u003c/li\u003e\n\u003cli\u003eUnified per-module state management and templated parser\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/363\"\u003esimplejson/simplejson#363\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/364\"\u003esimplejson/simplejson#364\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/365\"\u003esimplejson/simplejson#365\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/367\"\u003esimplejson/simplejson#367\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/369\"\u003esimplejson/simplejson#369\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNumerous C extension memory safety fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix use-after-free and leak in encoder ident handling\u003c/li\u003e\n\u003cli\u003eFix NULL dereferences on OOM in module init and static string init\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/blob/main/CHANGES.txt\"\u003esimplejson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion 4.1.1 released 2026-04-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003ebuild_wheels_py27\u003c/code\u003e CI job now also builds Python 2.7 wheels\nfor Windows AMD64 and Windows x86, joining the existing Py2.7\nmanylinux1 / manylinux2010 x86_64 wheels. This unblocks offline /\n\u003ccode\u003e--no-index\u003c/code\u003e installs on Py2.7-on-Windows (the original\nreporter's case), which previously had no matching binary wheel on\nPyPI, fell through to the sdist, and failed on the PEP 517\nisolated-build step complaining that \u003ccode\u003esetuptools\u0026gt;=42\u003c/code\u003e was not in\nthe wheelhouse.\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/377\"\u003esimplejson/simplejson#377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.1.0 released 2026-04-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now accelerates encoding when \u003ccode\u003eindent=\u003c/code\u003e is set.\nPreviously the encoder fell back to the pure-Python implementation\nwhenever a non-None \u003ccode\u003eindent\u003c/code\u003e was passed; now the C encoder emits\nthe newline-plus-indent prefix, the level-aware item separator, and\nthe closing indent directly.  A representative nested-dict workload\nbenchmarks about 4-5x faster end-to-end, and the \u003ccode\u003eindent=0\u003c/code\u003e and\nempty-container edge cases continue to match the Python output\nbyte-for-byte.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now emits PEP 678 \u003ccode\u003eexc.add_note()\u003c/code\u003e annotations on\nserialization failures, matching the pure-Python encoder.  A chained\nerror on \u003ccode\u003e{'a': [1, object(), 3]}\u003c/code\u003e produces the same three notes\n(\u003ccode\u003ewhen serializing object object\u003c/code\u003e, \u003ccode\u003ewhen serializing list item 1\u003c/code\u003e,\n\u003ccode\u003ewhen serializing dict item 'a'\u003c/code\u003e) whether the speedups are loaded\nor not, so the add_note assertions in \u003ccode\u003etest_errors.py\u003c/code\u003e no longer\nneed \u003ccode\u003eindent=2\u003c/code\u003e to force the Python path.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.0.1 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip uploading Pyodide/wasm wheels to PyPI, which rejects them with\n\u0026quot;unsupported platform tag 'pyodide_2024_0_wasm32'\u0026quot;. The wheels are\nstill built in CI and preserved as workflow artifacts.\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/375\"\u003esimplejson/simplejson#375\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.0.0 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003esimplejson 4 requires Python 2.7 or Python 3.8+. Older Python\nversions (2.5, 2.6, 3.0-3.7) are no longer supported. pip will\nnot install simplejson 4 on unsupported versions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now uses heap types and per-module state instead of\nstatic types and global state. This is required for free-threading\nsupport and sub-interpreter isolation. The Python-level API is\nunchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFull support for Python 3.13+ free-threading (PEP 703). The C\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/639b2ee73b2de6b385fcd4d44e0e08054a4d8a0e\"\u003e\u003ccode\u003e639b2ee\u003c/code\u003e\u003c/a\u003e Add Python 2.7 wheel builds for Windows platforms (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/0fd3185ce301bdefe61bbbf510536fa9127962fb\"\u003e\u003ccode\u003e0fd3185\u003c/code\u003e\u003c/a\u003e Accelerate indented encoding in the C extension; release 4.1.0 (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/376\"\u003e#376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/19b5f94f235d3ac11646b82c02f292845b2aa184\"\u003e\u003ccode\u003e19b5f94\u003c/code\u003e\u003c/a\u003e Exclude Pyodide wheels from PyPI uploads (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/375\"\u003e#375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/1608c050bbc2ae67ddfe913dad83bed7d588aa27\"\u003e\u003ccode\u003e1608c05\u003c/code\u003e\u003c/a\u003e Use JSONDecodeError for out-of-range end indices in C scanstring (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/374\"\u003e#374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/3bba17935f12695355b5280df2a93bf963b704dd\"\u003e\u003ccode\u003e3bba179\u003c/code\u003e\u003c/a\u003e Encoder parity fixes (for_json/_asdict) and TSan stress CI job (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/7b22d65b92ac7e69f740f59fe11548216b79c098\"\u003e\u003ccode\u003e7b22d65\u003c/code\u003e\u003c/a\u003e Error parity for the C and Python scanstring in surrogate and truncated strin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/825100a7fc498dafae31d10bef3e3cfaba1fdc5b\"\u003e\u003ccode\u003e825100a\u003c/code\u003e\u003c/a\u003e Release version 4.0.0: free-threading, CPython json parity, Python 2.7 fixes ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/0dbb9d875127a9009f01a4036fa950b0a5f4f589\"\u003e\u003ccode\u003e0dbb9d8\u003c/code\u003e\u003c/a\u003e C extension: dead code cleanup, fast paths for dict/list/string encoding, cor...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/e2e5f0b2d3bae3fd9a56bbaab42f6d75fb980ad5\"\u003e\u003ccode\u003ee2e5f0b\u003c/code\u003e\u003c/a\u003e Add Python 3.13+ free-threading support to dict operations (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/369\"\u003e#369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/e817370a91f4f51a0aec5f0f7bdeb1ca601ed101\"\u003e\u003ccode\u003ee817370\u003c/code\u003e\u003c/a\u003e Fix free-threading (3.14t) crashes: heap types, unified per-module state, tem...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/simplejson/simplejson/compare/v3.20.2...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-ofrep` from 0.2.0 to 0.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-ofrep's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-ofrep: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eofrep:\u003c/strong\u003e handle 401, 403, 404 and 5xx errors explicitly and add tests (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/346\"\u003e#346\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/7e18bc120ee1a310c28c96aac5b608941889d756\"\u003e7e18bc1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36db67de59732463a372c056525d6453d8a51a75\"\u003e36db67d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36c52d03aeddf5aa922f74ca7ef5c0ec9f6b790d\"\u003e\u003ccode\u003e36c52d0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency asserts to \u0026gt;=0.14.0,\u0026lt;0.15.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003e\u003ccode\u003ec119a77\u003c/code\u003e\u003c/a\u003e fix: various custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c8c9ebe7b2cd51e8c0ce065fdb4e024aecfd3ff3\"\u003e\u003ccode\u003ec8c9ebe\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/372\"\u003e#372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6d3c5f8adafe7150c9bab519ed6c866ff5f85478\"\u003e\u003ccode\u003e6d3c5f8\u003c/code\u003e\u003c/a\u003e chore: stabilize transitive flagd deps (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6b7c78e1f08ad862059bd31d6aef18f66224a755\"\u003e\u003ccode\u003e6b7c78e\u003c/code\u003e\u003c/a\u003e fix(security): update vulnerability-updates [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e\u003ccode\u003e1995534\u003c/code\u003e\u003c/a\u003e feat(flagd): extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.39.1 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.39.1...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-jinja2` from 0.60b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-jinja2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/43...\n\n_Description has been truncated_","html_url":"https://github.com/jlawton-cribl/opentelemetry-demo/pull/232","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlawton-cribl%2Fopentelemetry-demo/issues/232","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/232/packages"},{"uuid":"4585093569","node_id":"PR_kwDOQpxn1c7ifX4B","number":266,"state":"closed","title":"build(deps): bump the pip-production-dependencies group across 5 directories with 21 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T13:00:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-04T01:52:29.000Z","updated_at":"2026-06-11T13:01:01.000Z","time_to_close":644910,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pip-production-dependencies","update_count":21,"packages":[{"name":"python-dotenv","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"python-json-logger","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"flask","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"openfeature-provider-flagd","old_version":"0.2.3","new_version":"0.5.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"grpcio-health-checking","old_version":"1.71.0","new_version":"1.81.0"},{"name":"openfeature-hooks-opentelemetry","old_version":"0.2.0","new_version":"0.3.1","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-distro","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.38.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"psycopg2-binary","old_version":"2.9.11","new_version":"2.9.12","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"openai","old_version":"2.7.2","new_version":"2.41.0","repository_url":"https://github.com/openai/openai-python"},{"name":"simplejson","old_version":"3.20.2","new_version":"4.1.1","repository_url":"https://github.com/simplejson/simplejson"},{"name":"openfeature-provider-ofrep","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-api","old_version":"1.38.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-jinja2","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.38.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-production-dependencies group with 21 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.71.0` | `1.81.0` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.11` | `2.9.12` |\n| [openai](https://github.com/openai/openai-python) | `2.7.2` | `2.41.0` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.2` | `4.1.1` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 4 updates in the /src/llm directory: [python-dotenv](https://github.com/theskumar/python-dotenv), [python-json-logger](https://github.com/nhairs/python-json-logger), [flask](https://github.com/pallets/flask) and [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib).\nBumps the pip-production-dependencies group with 13 updates in the /src/load-generator directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 11 updates in the /src/product-reviews directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.71.0` | `1.81.0` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.11` | `2.9.12` |\n| [openai](https://github.com/openai/openai-python) | `2.7.2` | `2.41.0` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.2` | `4.1.1` |\n\nBumps the pip-production-dependencies group with 8 updates in the /src/recommendation directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.71.0` | `1.81.0` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n\n\nUpdates `python-dotenv` from 1.2.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (#)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/607\"\u003etheskumar/python-dotenv#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e#790c5\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by \u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eskip 000 permission tests for root user by \u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/593\"\u003etheskumar/python-dotenv#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Windows testing to CI by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/604\"\u003etheskumar/python-dotenv#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove workflow efficiency with best practices by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/609\"\u003etheskumar/python-dotenv#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of \u003ccode\u003esh\u003c/code\u003e in tests by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/612\"\u003etheskumar/python-dotenv#612\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpackham-atlnz\"\u003e\u003ccode\u003e@​cpackham-atlnz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/597\"\u003etheskumar/python-dotenv#597\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.2] - 2026-03-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/607\"\u003e#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eDropped Support for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in [790c5c0]\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by [\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/590\"\u003e#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/36004e0e34be7665ff2b11a8a4005144f76f176d\"\u003e\u003ccode\u003e36004e0\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.1 → 1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eb202520e5933c9daf42501e1e42fdb0144002c8\"\u003e\u003ccode\u003eeb20252\u003c/code\u003e\u003c/a\u003e docs: update changelog for v1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e\u003ccode\u003e790c5c0\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/43340da220fb4ca4f95357bbe21a3c7f8f1278b1\"\u003e\u003ccode\u003e43340da\u003c/code\u003e\u003c/a\u003e Remove the use of \u003ccode\u003esh\u003c/code\u003e in tests (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/09d7cee32459e7abdcb5c9d8122a552589c06a9c\"\u003e\u003ccode\u003e09d7cee\u003c/code\u003e\u003c/a\u003e docs: clarify override behavior and document FIFO support (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/c8de2887c00198c22842c5ae5e92d1747467363c\"\u003e\u003ccode\u003ec8de288\u003c/code\u003e\u003c/a\u003e ci: improve workflow efficiency with best practices (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/609\"\u003e#609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/7bd9e3dbfedc0983ad7d56d5570013035242bdf4\"\u003e\u003ccode\u003e7bd9e3d\u003c/code\u003e\u003c/a\u003e Add Windows testing to CI (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1baaf04f336072e0ee324d5df9563ec767f14f81\"\u003e\u003ccode\u003e1baaf04\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 support and update to PyPy 3.11 (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/4a22cf8993804aeede0c20b75bb1a29d3a99e9dc\"\u003e\u003ccode\u003e4a22cf8\u003c/code\u003e\u003c/a\u003e ci: enable testing on Python 3.14t (free-threaded) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/e2e8e776b42e382ae38b44d3982dd649e7507dd4\"\u003e\u003ccode\u003ee2e8e77\u003c/code\u003e\u003c/a\u003e Fix license specifier (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-json-logger` from 4.0.0 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/releases\"\u003epython-json-logger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/blob/main/docs/changelog.md\"\u003epython-json-logger's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/d80c68da770154d9662975b789cabcc9a3e99408\"\u003e\u003ccode\u003ed80c68d\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/b589b2a576ac058dc55be934159b67060a288756\"\u003e\u003ccode\u003eb589b2a\u003c/code\u003e\u003c/a\u003e [pyproject] Update license table to PEP 639 format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/2bb784a92250c60035a7e4536d1ef48cd02e50d5\"\u003e\u003ccode\u003e2bb784a\u003c/code\u003e\u003c/a\u003e Update code unlocked by Python 3.10 minimum version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/79599b5a6ad5e38c18c468fd0e4ac790961d6b5f\"\u003e\u003ccode\u003e79599b5\u003c/code\u003e\u003c/a\u003e Drop python 3.8, 3.9 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/622650c1f543e7909e8711e4a30c96cc2aa6e332\"\u003e\u003ccode\u003e622650c\u003c/code\u003e\u003c/a\u003e [docs.contributing] Update unsupported JSON encoders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/06165bb03f9892fc24762acabf6b1b0b35c6b56b\"\u003e\u003ccode\u003e06165bb\u003c/code\u003e\u003c/a\u003e [tests.test_formatters] Add non-printable bytes to test_common_types_encoded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/61f88a9fe7cee3409db9c589b03b15c2ffdc3ffa\"\u003e\u003ccode\u003e61f88a9\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify which packages have been considered and rejected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/0add524a24c6210807a66e0f9149200b32cc98a9\"\u003e\u003ccode\u003e0add524\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify when we will add support for new third-party pack...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/eee9505610a64276341a03f2a0b0dee5f500916b\"\u003e\u003ccode\u003eeee9505\u003c/code\u003e\u003c/a\u003e [pylint] Remove old command\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/804592648f8d0e56f7f41112d2945cf52d1d2a6b\"\u003e\u003ccode\u003e8045926\u003c/code\u003e\u003c/a\u003e [mypy] Don't ignore orjson\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.1.2 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.1.2...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.1...openfeature-provider-flagd/v0.5.0\"\u003e0.5.0\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003ee7d1d34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003ee1c3c6a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/9c493b82c022bcee18bfce02f829153b98efe53d\"\u003e\u003ccode\u003e9c493b8\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.5.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003e\u003ccode\u003ee7d1d34\u003c/code\u003e\u003c/a\u003e feat!: DISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003e\u003ccode\u003ee1c3c6a\u003c/code\u003e\u003c/a\u003e feat: make use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c4b425776715f85b04c1c29e007d095d9025760b\"\u003e\u003ccode\u003ec4b4257\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/394\"\u003e#394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/daafd7336ecfba856803965cf26c198bb0e4f22c\"\u003e\u003ccode\u003edaafd73\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/f084e84b22a7ed1aef3a800ee4a07cf3a6095f6b\"\u003e\u003ccode\u003ef084e84\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `grpcio-health-checking` from 1.71.0 to 1.81.0\n\nUpdates `openfeature-hooks-opentelemetry` from 0.2.0 to 0.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-hooks-opentelemetry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-hooks-opentelemetry: v0.3.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-hooks-opentelemetry/v0.3.0...openfeature-hooks-opentelemetry/v0.3.1\"\u003e0.3.1\u003c/a\u003e (2026-02-17)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlign TracingHook with spec (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/342\"\u003e#342\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2a2127d958ea0bafabb673335fd0d9665c8d9291\"\u003e2a2127d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-hooks-opentelemetry: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-hooks-opentelemetry/v0.2.0...openfeature-hooks-opentelemetry/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate opentelemetry hook to latest version of semantic conventions (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/326\"\u003e#326\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emigrate to uv (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/293\"\u003e#293\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/9590554be4c8a7f77b0c0f20d6b48076c9870f52\"\u003e9590554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate opentelemetry hook to latest version of semantic conventions (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/326\"\u003e#326\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/a2ec682a709a4721f8362cfa6a9e6037937761ee\"\u003ea2ec682\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83926dea688eac265405b79c2ec00c9d08c8862e\"\u003e\u003ccode\u003e83926de\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-hooks-opentelemetry 0.3.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2a2127d958ea0bafabb673335fd0d9665c8d9291\"\u003e\u003ccode\u003e2a2127d\u003c/code\u003e\u003c/a\u003e fix: Align TracingHook with spec (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/342\"\u003e#342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c08b414007f6ce10dcb83249142f054b6d6043d6\"\u003e\u003ccode\u003ec08b414\u003c/code\u003e\u003c/a\u003e chore: align unleash pyproject.toml to others (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/341\"\u003e#341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/8239b836a25663e0030b3891d0140cb365798a37\"\u003e\u003ccode\u003e8239b83\u003c/code\u003e\u003c/a\u003e feat(provider): add \u003ccode\u003eaws-ssm\u003c/code\u003e provider (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/331\"\u003e#331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e\u003ccode\u003e61add22\u003c/code\u003e\u003c/a\u003e fix: replace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/a835c77f10c82af2157ea15be0ffae7bad79b8ce\"\u003e\u003ccode\u003ea835c77\u003c/code\u003e\u003c/a\u003e chore: relax \u003ccode\u003etypes-requests\u003c/code\u003e and update \u003ccode\u003egrpcio\u003c/code\u003e version constraints (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/334\"\u003e#334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/a345ef9f1ea3333e49a173553a9098f5db6746a7\"\u003e\u003ccode\u003ea345ef9\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.2.7 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/290\"\u003e#290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/b9c164a2342d101e23e062a81558f02fe0a38c0b\"\u003e\u003ccode\u003eb9c164a\u003c/code\u003e\u003c/a\u003e fix(security): update dependency protobuf to v6.33.5 [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2feabd5d70bef2de6661fadf3d74238991a27466\"\u003e\u003ccode\u003e2feabd5\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-unleash 0.1.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/332\"\u003e#332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/dcb8fadfbc0263e68c381681b5b92cb5fea2dc0d\"\u003e\u003ccode\u003edcb8fad\u003c/code\u003e\u003c/a\u003e chore: add component owners\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-hooks-opentelemetry/v0.2.0...openfeature-hooks-opentelemetry/v0.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-distro` from 0.59b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-distro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.38.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.38.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v7.0.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2-binary` from 2.9.11 to 2.9.12\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2-binary's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.12\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite loop with malformed interval (:ticket:\u003ccode\u003e1835\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform binary packages (:ticket:\u003ccode\u003e[#1813](https://github.com/psycopg/psycopg2/issues/1813)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/3a6d9d6ddc6b53eaa80b712f5fa6b23abbdc38db\"\u003e\u003ccode\u003e3a6d9d6\u003c/code\u003e\u003c/a\u003e ci: include almalinux in whieel building\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ebca6bf0f86bc6cbdc86de1eb3a53eaf49966d86\"\u003e\u003ccode\u003eebca6bf\u003c/code\u003e\u003c/a\u003e chore: bump to version 3.9.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/0196f02cc9512df8de3c941f87d27bda98f9f7af\"\u003e\u003ccode\u003e0196f02\u003c/code\u003e\u003c/a\u003e build(deps): bump pypa/cibuildwheel from 3.3.1 to 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d157bdc2235a42dc1742936dbb0f5cfc8e4d2eb7\"\u003e\u003ccode\u003ed157bdc\u003c/code\u003e\u003c/a\u003e build(deps): bump docker/setup-qemu-action from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/7fccc0f5066a40dea530512abbf02621f4182b81\"\u003e\u003ccode\u003e7fccc0f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d52a61eb2e6095fc1b9891bfcca44ebfac509e55\"\u003e\u003ccode\u003ed52a61e\u003c/code\u003e\u003c/a\u003e chore: bump dependency libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/b231d726a01d55e07ec3620b2b82f4a2da37ba62\"\u003e\u003ccode\u003eb231d72\u003c/code\u003e\u003c/a\u003e chore: fix building binary images\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/6d76e8479f0f522c2e07ce0e2701030d8fd63785\"\u003e\u003ccode\u003e6d76e84\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1836\"\u003e#1836\u003c/a\u003e from psycopg/fix-1835\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/f7e314c7ab418ab9b9956e694956089a49c5c3b9\"\u003e\u003ccode\u003ef7e314c\u003c/code\u003e\u003c/a\u003e fix: overflow in malformed interval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/eb905c124b75f2a5183d22177b85af20914b0f17\"\u003e\u003ccode\u003eeb905c1\u003c/code\u003e\u003c/a\u003e docs: replace bare except clause with except Exception\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.11...2.9.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.7.2 to 2.41.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.41.0\u003c/h2\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.40.0\u003c/h2\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.39.0\u003c/h2\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.37.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.37.0 (2026-05-13)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.36.0...v2.37.0\"\u003ev2.36.0...v2.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2d955a1ac69df0288b8072bbcd25905639e9b2ed\"\u003e\u003ccode\u003e2d955a1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3359\"\u003e#3359\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/519cd027919fa5b73bd8fe237e80c7a01b3e0b2f\"\u003e\u003ccode\u003e519cd02\u003c/code\u003e\u003c/a\u003e release: 2.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e\u003ccode\u003e87e46c2\u003c/code\u003e\u003c/a\u003e feat(api): responses.moderation and chat_completions.moderation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a28a3f6aa34f5ac6fcc2fafeb50112f2140c45ae\"\u003e\u003ccode\u003ea28a3f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3352\"\u003e#3352\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/db6ccafa7b74b72caefbda6fb63bd5c904521770\"\u003e\u003ccode\u003edb6ccaf\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2264f700dad91e4f570eb7c0a6f10bbd22d34520\"\u003e\u003ccode\u003e2264f70\u003c/code\u003e\u003c/a\u003e release: 2.40.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e\u003ccode\u003e4d5bfde\u003c/code\u003e\u003c/a\u003e fix(api): allow setting bedrock api keys on the client directly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/ccef1436d9f52b5014597047e450eef543a87540\"\u003e\u003ccode\u003eccef143\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3326\"\u003e#3326\u003c/a\u003e from openai/codex/bedrock-responses-review\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a50ff0a19084306a09012ff85f730ea2c129eef9\"\u003e\u003ccode\u003ea50ff0a\u003c/code\u003e\u003c/a\u003e Fix Bedrock with_options overrides\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/fdf4901e301fa01b368ede0b5b407dca42f07acc\"\u003e\u003ccode\u003efdf4901\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.7.2...v2.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `simplejson` from 3.20.2 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/releases\"\u003esimplejson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Python 2.7 wheel builds for Windows platforms by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/378\"\u003esimplejson/simplejson#378\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.1.0...v4.1.1\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.1.0...v4.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAccelerate indented encoding in the C extension; release 4.1.0 by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/376\"\u003esimplejson/simplejson#376\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.0.1...v4.1.0\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.0.1...v4.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExclude Pyodide wheels from PyPI uploads by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/375\"\u003esimplejson/simplejson#375\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.0.0...v4.0.1\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.0.0...v4.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eVersion 4.0.0 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003esimplejson 4 requires Python 2.7 or Python 3.8+. Older Python\nversions (2.5, 2.6, 3.0-3.7) are no longer supported. pip will\nnot install simplejson 4 on unsupported versions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now uses heap types and per-module state instead of\nstatic types and global state. This is required for free-threading\nsupport and sub-interpreter isolation. The Python-level API is\nunchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFull support for Python 3.13+ free-threading (PEP 703). The C\nextension is now safe to use with the GIL disabled (python3.14t):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eConverted all static types to heap types with per-module state\u003c/li\u003e\n\u003cli\u003eAdded per-object critical sections to scanner and encoder\u003c/li\u003e\n\u003cli\u003eAdded free-threading-safe dict operations for Python 3.13+\u003c/li\u003e\n\u003cli\u003eUnified per-module state management and templated parser\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/363\"\u003esimplejson/simplejson#363\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/364\"\u003esimplejson/simplejson#364\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/365\"\u003esimplejson/simplejson#365\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/367\"\u003esimplejson/simplejson#367\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/369\"\u003esimplejson/simplejson#369\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNumerous C extension memory safety fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix use-after-free and leak in encoder ident handling\u003c/li\u003e\n\u003cli\u003eFix NULL dereferences on OOM in module init and static string init\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/blob/main/CHANGES.txt\"\u003esimplejson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion 4.1.1 released 2026-04-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003ebuild_wheels_py27\u003c/code\u003e CI job now also builds Python 2.7 wheels\nfor Windows AMD64 and Windows x86, joining the existing Py2.7\nmanylinux1 / manylinux2010 x86_64 wheels. This unblocks offline /\n\u003ccode\u003e--no-index\u003c/code\u003e installs on Py2.7-on-Windows (the original\nreporter's case), which previously had no matching binar...\n\n_Description has been truncated_","html_url":"https://github.com/yash-dagknows/e-com-app/pull/266","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/yash-dagknows%2Fe-com-app/issues/266","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/266/packages"},{"uuid":"4568034529","node_id":"PR_kwDOOWxMbM7hnPax","number":851,"state":"open","title":"deps: update psutil requirement from \u003e=5.9.0 to \u003e=7.2.2","user":"dependabot[bot]","labels":["dependencies","python","ci: passed"],"assignees":["AUo959"],"locked":false,"comments_count":32,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-02T03:07:00.000Z","updated_at":"2026-06-02T05:00:56.516Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: update","packages":[{"name":"psutil","old_version":"\u003e=5.9.0","new_version":"\u003e=7.2.2","repository_url":"https://github.com/giampaolo/psutil"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [psutil](https://github.com/giampaolo/psutil) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v5.9.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/AUo959/aurora-cloudbank-symbolic/pull/851","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AUo959%2Faurora-cloudbank-symbolic/issues/851","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/851/packages"},{"uuid":"4567378429","node_id":"PR_kwDOQIiWRs7hlHZO","number":277,"state":"closed","title":"build(deps): bump the pip-production-dependencies group across 3 directories with 18 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-03T23:07:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-02T00:37:40.000Z","updated_at":"2026-06-03T23:07:05.000Z","time_to_close":167363,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pip-production-dependencies","update_count":18,"packages":[{"name":"flask","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"python-json-logger","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"openfeature-provider-ofrep","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"openfeature-hooks-opentelemetry","old_version":"0.2.0","new_version":"0.3.1","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-api","old_version":"1.38.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.38.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-jinja2","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.38.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"grpcio-health-checking","old_version":"1.71.0","new_version":"1.81.0"},{"name":"openfeature-provider-flagd","old_version":"0.2.3","new_version":"0.4.1","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-distro","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"python-dotenv","old_version":"1.1.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-production-dependencies group with 18 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.1` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [grpcio-health-checking](https://grpc.io) | `1.71.0` | `1.81.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.4.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.1.1` | `1.2.2` |\n\nBumps the pip-production-dependencies group with 13 updates in the /src/load-generator directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.1` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 8 updates in the /src/recommendation directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [grpcio-health-checking](https://grpc.io) | `1.71.0` | `1.81.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.4.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.1.1` | `1.2.2` |\n\n\nUpdates `flask` from 3.1.2 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.1.2...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-json-logger` from 4.0.0 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/releases\"\u003epython-json-logger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/blob/main/docs/changelog.md\"\u003epython-json-logger's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/d80c68da770154d9662975b789cabcc9a3e99408\"\u003e\u003ccode\u003ed80c68d\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/b589b2a576ac058dc55be934159b67060a288756\"\u003e\u003ccode\u003eb589b2a\u003c/code\u003e\u003c/a\u003e [pyproject] Update license table to PEP 639 format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/2bb784a92250c60035a7e4536d1ef48cd02e50d5\"\u003e\u003ccode\u003e2bb784a\u003c/code\u003e\u003c/a\u003e Update code unlocked by Python 3.10 minimum version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/79599b5a6ad5e38c18c468fd0e4ac790961d6b5f\"\u003e\u003ccode\u003e79599b5\u003c/code\u003e\u003c/a\u003e Drop python 3.8, 3.9 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/622650c1f543e7909e8711e4a30c96cc2aa6e332\"\u003e\u003ccode\u003e622650c\u003c/code\u003e\u003c/a\u003e [docs.contributing] Update unsupported JSON encoders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/06165bb03f9892fc24762acabf6b1b0b35c6b56b\"\u003e\u003ccode\u003e06165bb\u003c/code\u003e\u003c/a\u003e [tests.test_formatters] Add non-printable bytes to test_common_types_encoded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/61f88a9fe7cee3409db9c589b03b15c2ffdc3ffa\"\u003e\u003ccode\u003e61f88a9\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify which packages have been considered and rejected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/0add524a24c6210807a66e0f9149200b32cc98a9\"\u003e\u003ccode\u003e0add524\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify when we will add support for new third-party pack...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/eee9505610a64276341a03f2a0b0dee5f500916b\"\u003e\u003ccode\u003eeee9505\u003c/code\u003e\u003c/a\u003e [pylint] Remove old command\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/804592648f8d0e56f7f41112d2945cf52d1d2a6b\"\u003e\u003ccode\u003e8045926\u003c/code\u003e\u003c/a\u003e [mypy] Don't ignore orjson\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-ofrep` from 0.2.0 to 0.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-ofrep's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-ofrep: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eofrep:\u003c/strong\u003e handle 401, 403, 404 and 5xx errors explicitly and add tests (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/346\"\u003e#346\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/7e18bc120ee1a310c28c96aac5b608941889d756\"\u003e7e18bc1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36db67de59732463a372c056525d6453d8a51a75\"\u003e36db67d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36c52d03aeddf5aa922f74ca7ef5c0ec9f6b790d\"\u003e\u003ccode\u003e36c52d0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency asserts to \u0026gt;=0.14.0,\u0026lt;0.15.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003e\u003ccode\u003ec119a77\u003c/code\u003e\u003c/a\u003e fix: various custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c8c9ebe7b2cd51e8c0ce065fdb4e024aecfd3ff3\"\u003e\u003ccode\u003ec8c9ebe\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/372\"\u003e#372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6d3c5f8adafe7150c9bab519ed6c866ff5f85478\"\u003e\u003ccode\u003e6d3c5f8\u003c/code\u003e\u003c/a\u003e chore: stabilize transitive flagd deps (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6b7c78e1f08ad862059bd31d6aef18f66224a755\"\u003e\u003ccode\u003e6b7c78e\u003c/code\u003e\u003c/a\u003e fix(security): update vulnerability-updates [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e\u003ccode\u003e1995534\u003c/code\u003e\u003c/a\u003e feat(flagd): extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-hooks-opentelemetry` from 0.2.0 to 0.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-hooks-opentelemetry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-hooks-opentelemetry: v0.3.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-hooks-opentelemetry/v0.3.0...openfeature-hooks-opentelemetry/v0.3.1\"\u003e0.3.1\u003c/a\u003e (2026-02-17)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlign TracingHook with spec (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/342\"\u003e#342\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2a2127d958ea0bafabb673335fd0d9665c8d9291\"\u003e2a2127d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-hooks-opentelemetry: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-hooks-opentelemetry/v0.2.0...openfeature-hooks-opentelemetry/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate opentelemetry hook to latest version of semantic conventions (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/326\"\u003e#326\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emigrate to uv (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/293\"\u003e#293\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/9590554be4c8a7f77b0c0f20d6b48076c9870f52\"\u003e9590554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate opentelemetry hook to latest version of semantic conventions (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/326\"\u003e#326\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/a2ec682a709a4721f8362cfa6a9e6037937761ee\"\u003ea2ec682\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83926dea688eac265405b79c2ec00c9d08c8862e\"\u003e\u003ccode\u003e83926de\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-hooks-opentelemetry 0.3.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2a2127d958ea0bafabb673335fd0d9665c8d9291\"\u003e\u003ccode\u003e2a2127d\u003c/code\u003e\u003c/a\u003e fix: Align TracingHook with spec (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/342\"\u003e#342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c08b414007f6ce10dcb83249142f054b6d6043d6\"\u003e\u003ccode\u003ec08b414\u003c/code\u003e\u003c/a\u003e chore: align unleash pyproject.toml to others (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/341\"\u003e#341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/8239b836a25663e0030b3891d0140cb365798a37\"\u003e\u003ccode\u003e8239b83\u003c/code\u003e\u003c/a\u003e feat(provider): add \u003ccode\u003eaws-ssm\u003c/code\u003e provider (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/331\"\u003e#331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e\u003ccode\u003e61add22\u003c/code\u003e\u003c/a\u003e fix: replace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/a835c77f10c82af2157ea15be0ffae7bad79b8ce\"\u003e\u003ccode\u003ea835c77\u003c/code\u003e\u003c/a\u003e chore: relax \u003ccode\u003etypes-requests\u003c/code\u003e and update \u003ccode\u003egrpcio\u003c/code\u003e version constraints (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/334\"\u003e#334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/a345ef9f1ea3333e49a173553a9098f5db6746a7\"\u003e\u003ccode\u003ea345ef9\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.2.7 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/290\"\u003e#290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/b9c164a2342d101e23e062a81558f02fe0a38c0b\"\u003e\u003ccode\u003eb9c164a\u003c/code\u003e\u003c/a\u003e fix(security): update dependency protobuf to v6.33.5 [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2feabd5d70bef2de6661fadf3d74238991a27466\"\u003e\u003ccode\u003e2feabd5\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-unleash 0.1.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/332\"\u003e#332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/dcb8fadfbc0263e68c381681b5b92cb5fea2dc0d\"\u003e\u003ccode\u003edcb8fad\u003c/code\u003e\u003c/a\u003e chore: add component owners\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-hooks-opentelemetry/v0.2.0...openfeature-hooks-opentelemetry/v0.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.38.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.38.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.38.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.38.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-jinja2` from 0.59b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-jinja2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-requests` from 0.59b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-requests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-system-metrics` from 0.59b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-system-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-urllib3` from 0.59b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-urllib3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-sdk` from 1.38.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.38.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-semantic-conventions` from 0.59b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-semantic-conventions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-logging` from 0.59b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-logging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `grpcio-health-checking` from 1.71.0 to 1.81.0\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-...\n\n_Description has been truncated_","html_url":"https://github.com/monoscope-tech/oteldemo/pull/277","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/monoscope-tech%2Foteldemo/issues/277","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/277/packages"},{"uuid":"4536784353","node_id":"PR_kwDOSTGVC87gDAbt","number":20,"state":"open","title":"Update psutil requirement from \u003c8,\u003e=5.9 to \u003e=7.2.2,\u003c8","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-28T00:46:55.000Z","updated_at":"2026-05-28T00:46:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"psutil","old_version":"\u003c8,\u003e=5.9","new_version":"\u003e=7.2.2,\u003c8","repository_url":"https://github.com/giampaolo/psutil"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [psutil](https://github.com/giampaolo/psutil) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v5.9.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/ns7jp/server-monitor/pull/20","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ns7jp%2Fserver-monitor/issues/20","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/20/packages"},{"uuid":"4520310526","node_id":"PR_kwDOSKFNzM7fNcsi","number":38,"state":"open","title":"chore(deps): bump the python-minor-patch group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["ignore-for-release"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-26T00:23:31.000Z","updated_at":"2026-05-26T00:23:40.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-minor-patch","update_count":28,"packages":[{"name":"ruff","old_version":"0.15.11","new_version":"0.15.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"authlib","old_version":"1.7.0","new_version":"1.7.2","repository_url":"https://github.com/authlib/authlib"},{"name":"google-auth","old_version":"2.47.0","new_version":"2.53.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"pydantic","old_version":"2.12.5","new_version":"2.13.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"typing-extensions","old_version":"4.14.1","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"anyio","old_version":"4.10.0","new_version":"4.13.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"typer","old_version":"0.16.0","new_version":"0.25.1","repository_url":"https://github.com/fastapi/typer"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.48.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"openai","old_version":"2.14.0","new_version":"2.38.0","repository_url":"https://github.com/openai/openai-python"},{"name":"mcp","old_version":"1.25.0","new_version":"1.27.1","repository_url":"https://github.com/modelcontextprotocol/python-sdk"},{"name":"fastapi","old_version":"0.129.0","new_version":"0.136.3","repository_url":"https://github.com/fastapi/fastapi"},{"name":"urllib3","old_version":"2.6.3","new_version":"2.7.0","repository_url":"https://github.com/urllib3/urllib3"},{"name":"filelock","old_version":"3.20.3","new_version":"3.29.0","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"python-multipart","old_version":"0.0.22","new_version":"0.0.29","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"boto3","old_version":"1.42.28","new_version":"1.43.14","repository_url":"https://github.com/boto/boto3"},{"name":"ollama","old_version":"0.6.1","new_version":"0.6.2","repository_url":"https://github.com/ollama/ollama-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"opentelemetry-instrumentation-openai","old_version":"0.52.5","new_version":"0.60.0","repository_url":"https://github.com/traceloop/openllmetry"},{"name":"langgraph","old_version":"1.0.6","new_version":"1.2.1","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"openai-agents","old_version":"0.6.5","new_version":"0.17.3","repository_url":"https://github.com/openai/openai-agents-python"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"langchain-openai","old_version":"1.1.7","new_version":"1.2.2","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langgraph-checkpoint-sqlite","old_version":"3.0.3","new_version":"3.1.0","repository_url":"https://github.com/langchain-ai/langgraph"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 23 updates in the /python directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.11` | `0.15.14` |\n| [authlib](https://github.com/authlib/authlib) | `1.7.0` | `1.7.2` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.47.0` | `2.53.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.5` | `2.13.4` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.14.1` | `4.15.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.10.0` | `4.13.0` |\n| [typer](https://github.com/fastapi/typer) | `0.16.0` | `0.25.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.48.0` |\n| [openai](https://github.com/openai/openai-python) | `2.14.0` | `2.38.0` |\n| [mcp](https://github.com/modelcontextprotocol/python-sdk) | `1.25.0` | `1.27.1` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.129.0` | `0.136.3` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.6.3` | `2.7.0` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.20.3` | `3.29.0` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.22` | `0.0.29` |\n| [boto3](https://github.com/boto/boto3) | `1.42.28` | `1.43.14` |\n| [ollama](https://github.com/ollama/ollama-python) | `0.6.1` | `0.6.2` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [opentelemetry-instrumentation-openai](https://github.com/traceloop/openllmetry) | `0.52.5` | `0.60.0` |\n| [langgraph](https://github.com/langchain-ai/langgraph) | `1.0.6` | `1.2.1` |\n| [openai-agents](https://github.com/openai/openai-agents-python) | `0.6.5` | `0.17.3` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [langchain-openai](https://github.com/langchain-ai/langchain) | `1.1.7` | `1.2.2` |\n| [langgraph-checkpoint-sqlite](https://github.com/langchain-ai/langgraph) | `3.0.3` | `3.1.0` |\n\n\nUpdates `ruff` from 0.15.11 to 0.15.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.14\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-task-implicit-multiple-outputs\u003c/code\u003e (\u003ccode\u003eAIR202\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25152\"\u003e#25152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark \u003ccode\u003ePTH101\u003c/code\u003e fix as unsafe when first argument is a class attribute annotated as \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25086\"\u003e#25086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003etoo-many-try-statements\u003c/code\u003e (\u003ccode\u003eW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23970\"\u003e#23970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eincorrect-decorator-order\u003c/code\u003e (\u003ccode\u003eRUF074\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23461\"\u003e#23461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003efallible-context-manager\u003c/code\u003e (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22844\"\u003e#22844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix lambda formatting in interpolated string expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25144\"\u003e#25144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat generic \u003ccode\u003efrozenset\u003c/code\u003e annotations as immutable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25251\"\u003e#25251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Avoid \u003ccode\u003estrict\u003c/code\u003e behavior when \u003ccode\u003efuture-annotations\u003c/code\u003e are enabled (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25035\"\u003e#25035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid false positives in \u003ccode\u003eelse\u003c/code\u003e clause (\u003ccode\u003ePLR1733\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25177\"\u003e#25177\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25272\"\u003e#25272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Preserve f-string source verbatim in \u003ccode\u003eSIM101\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25061\"\u003e#25061\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate code example setting Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full PEP 798 support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25104\"\u003e#25104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a parser recursion limit (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate various \u003ccode\u003eruff_python_stdlib\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25273\"\u003e#25273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ocaballeror\"\u003e\u003ccode\u003e@​ocaballeror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003ccode\u003e@​samuelcolvin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baltasarblanco\"\u003e\u003ccode\u003e@​baltasarblanco\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aconal-com\"\u003e\u003ccode\u003e@​aconal-com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.14\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-task-implicit-multiple-outputs\u003c/code\u003e (\u003ccode\u003eAIR202\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25152\"\u003e#25152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark \u003ccode\u003ePTH101\u003c/code\u003e fix as unsafe when first argument is a class attribute annotated as \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25086\"\u003e#25086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003etoo-many-try-statements\u003c/code\u003e (\u003ccode\u003eW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23970\"\u003e#23970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eincorrect-decorator-order\u003c/code\u003e (\u003ccode\u003eRUF074\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23461\"\u003e#23461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003efallible-context-manager\u003c/code\u003e (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22844\"\u003e#22844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix lambda formatting in interpolated string expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25144\"\u003e#25144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat generic \u003ccode\u003efrozenset\u003c/code\u003e annotations as immutable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25251\"\u003e#25251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Avoid \u003ccode\u003estrict\u003c/code\u003e behavior when \u003ccode\u003efuture-annotations\u003c/code\u003e are enabled (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25035\"\u003e#25035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid false positives in \u003ccode\u003eelse\u003c/code\u003e clause (\u003ccode\u003ePLR1733\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25177\"\u003e#25177\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25272\"\u003e#25272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Preserve f-string source verbatim in \u003ccode\u003eSIM101\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25061\"\u003e#25061\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate code example setting Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full PEP 798 support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25104\"\u003e#25104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a parser recursion limit (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate various \u003ccode\u003eruff_python_stdlib\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25273\"\u003e#25273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ocaballeror\"\u003e\u003ccode\u003e@​ocaballeror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003ccode\u003e@​samuelcolvin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baltasarblanco\"\u003e\u003ccode\u003e@​baltasarblanco\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aconal-com\"\u003e\u003ccode\u003e@​aconal-com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9ad2da3015e5faf73bdc5f1d09df3e47238e3edf\"\u003e\u003ccode\u003e9ad2da3\u003c/code\u003e\u003c/a\u003e Bump 0.15.14 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25295\"\u003e#25295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c714e84952510696c05ec21b0158a3548898f594\"\u003e\u003ccode\u003ec714e84\u003c/code\u003e\u003c/a\u003e [ty] Modernize setup of union types in mdtests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25291\"\u003e#25291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8a8e35ebfe318e2467a0f276e5d1a3a9032a55ad\"\u003e\u003ccode\u003e8a8e35e\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parame...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/aea5ed4d278017057c2e842c6c3a2e92ad71495f\"\u003e\u003ccode\u003eaea5ed4\u003c/code\u003e\u003c/a\u003e Avoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e9d72bb420f26c23e6660bfce4dfa0028b931bff\"\u003e\u003ccode\u003ee9d72bb\u003c/code\u003e\u003c/a\u003e [ty] Allow enum member accesses on \u003ccode\u003eself\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25077\"\u003e#25077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6cbd59b511a92d5f408db57bde33367c0d47b672\"\u003e\u003ccode\u003e6cbd59b\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eexclude-newer = \u0026quot;7 days\u0026quot;\u003c/code\u003e in our PEP-723 scripts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25285\"\u003e#25285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9999a3967ae28fe3295131e8883b6947f272a076\"\u003e\u003ccode\u003e9999a39\u003c/code\u003e\u003c/a\u003e Update code example on how to update Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/67d8c544f0d1c526a2fc60d4bb1358fd7956d178\"\u003e\u003ccode\u003e67d8c54\u003c/code\u003e\u003c/a\u003e [ty] Retain recursively-defined state in binary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25277\"\u003e#25277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/25a3191140dc0467f9d196f35c128fefde269261\"\u003e\u003ccode\u003e25a3191\u003c/code\u003e\u003c/a\u003e [ty] Refine Callable class-decorator fallback for unknown results (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25250\"\u003e#25250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c423054dc09e5b644c926b6b527b6accfbe693e9\"\u003e\u003ccode\u003ec423054\u003c/code\u003e\u003c/a\u003e Add a recursion limit to the parser (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.11...0.15.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `authlib` from 1.7.0 to 1.7.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/authlib/authlib/releases\"\u003eauthlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.7.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix the readme links by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/886\"\u003eauthlib/authlib#886\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow non-recommended algorithms in ClientSecretJWT and PrivateKey by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/887\"\u003eauthlib/authlib#887\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate BCP47 language tags with a regex by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/873\"\u003eauthlib/authlib#873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix RFC7523 signing with non RSA keys by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/884\"\u003eauthlib/authlib#884\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.7.1...v1.7.2\"\u003ehttps://github.com/authlib/authlib/compare/v1.7.1...v1.7.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.7.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix authlib.jose deprecation warning poping from _joserfc_helpers by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/881\"\u003eauthlib/authlib#881\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix redirecting to unvalidated \u003ccode\u003eredirect_uri\u003c/code\u003e on \u003ccode\u003eInvalidScopeError\u003c/code\u003e  in \u003ccode\u003eOpenIDImplicitGrant\u003c/code\u003e and \u003ccode\u003eOpenIDHybridGrant\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.7.0...v1.7.1\"\u003ehttps://github.com/authlib/authlib/compare/v1.7.0...v1.7.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/a0b76fac3fa114d7759af2010546bfc332364b63\"\u003e\u003ccode\u003ea0b76fa\u003c/code\u003e\u003c/a\u003e chore: bump to 1.7.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/c85c7f2b02faf2667f62b27aa60df042dbc9b4ab\"\u003e\u003ccode\u003ec85c7f2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/884\"\u003e#884\u003c/a\u003e from azmeuk/852-rfc7523-key-import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/a3b2adda43b4452ba9f384d224f95848974b4eb4\"\u003e\u003ccode\u003ea3b2add\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/873\"\u003e#873\u003c/a\u003e from azmeuk/bcp47\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/f2578eaa198aedbaaaf3bb00eccc451e15e45e3a\"\u003e\u003ccode\u003ef2578ea\u003c/code\u003e\u003c/a\u003e fix: Import RSAKey in auth.py for additional key support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/b57182cf46a53da19623208dd852270ddec8ebcc\"\u003e\u003ccode\u003eb57182c\u003c/code\u003e\u003c/a\u003e fix: fallback support RSAKey when client_secret is text\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/4e7590292ca9f948a0766640b27025618750e6c1\"\u003e\u003ccode\u003e4e75902\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into 852-rfc7523-key-import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/5eb4a860600ea2f3acc1a2a9c3e621a430da9d0f\"\u003e\u003ccode\u003e5eb4a86\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/887\"\u003e#887\u003c/a\u003e from azmeuk/883-alg\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/5633f37c47bd8352b962f982cb916bc8b95bb5d5\"\u003e\u003ccode\u003e5633f37\u003c/code\u003e\u003c/a\u003e fix: allow non-recommended algorithms in ClientSecretJWT and PrivateKeyJWT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/4c8e7b381aaef68f60e2323a25ba96cdb346f82f\"\u003e\u003ccode\u003e4c8e7b3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/886\"\u003e#886\u003c/a\u003e from azmeuk/885-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/23b333e48a17ebf9f032a0e0f9eb3f990a06f97b\"\u003e\u003ccode\u003e23b333e\u003c/code\u003e\u003c/a\u003e docs: fix the readme links\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/authlib/authlib/compare/v1.7.0...v1.7.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth` from 2.47.0 to 2.53.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/releases\"\u003egoogle-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.49.0.dev0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.48.0...v2.49.0-dev0\"\u003e2.49.0-dev0\u003c/a\u003e (2026-01-26)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eremove deprecated rsa dependency (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e98cf69284d3620619a70b54fb0b9533caf11878\"\u003ee98cf69284d3620619a70b54fb0b9533caf11878\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.48.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.47.0...v2.48.0\"\u003e2.48.0\u003c/a\u003e (2026-01-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ehonor \u003ccode\u003eNO_GCE_CHECK\u003c/code\u003e environment variable (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1610\"\u003e#1610\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/383c9827\"\u003e383c9827\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd configurable GCE Metadata Server retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1488\"\u003e#1488\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/454b441b\"\u003e454b441b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd cryptography as required dependency (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1929\"\u003e#1929\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/52558ae2\"\u003e52558ae2\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport the mTLS IAM domain for Certificate based Access (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1938\"\u003e#1938\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/8dcf91a1\"\u003e8dcf91a1\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eresolve circular imports (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1942\"\u003e#1942\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/25c1b064\"\u003e25c1b064\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse \u003ccode\u003euser_verification=preferred\u003c/code\u003e for ReAuth WebAuthn challenge (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1798\"\u003e#1798\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f88a240\"\u003e3f88a240\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eremoves \u003ccode\u003econtent-header\u003c/code\u003e from AWS IMDS get request (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1934\"\u003e#1934\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/97bfea9e\"\u003e97bfea9e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edetect correct auth when ADC env var is set but empty (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1374\"\u003e#1374\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/bfc07e10\"\u003ebfc07e10\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ereplace deprecated utcfromtimestamp (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1799\"\u003e#1799\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e431f20c\"\u003ee431f20c\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.48.0rc0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.47.0...v2.48.0rc0\"\u003e2.48.0rc0\u003c/a\u003e (2026-01-20)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehonor NO_GCE_CHECK environment variable (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1610\"\u003e#1610\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/383c9827536d9376e8248370ce4c2b83e468d027\"\u003e383c98\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd configurable GCE Metadata Server retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1488\"\u003e#1488\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/454b441b478ec62bbf1a6ad5bceb6c7cbbfd0c37\"\u003e454b44\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport mTLS IAM domain for Certificate based Access (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1938\"\u003e#1938\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/8dcf91a1b05c85fbbd0bcee78d66e498099102ab\"\u003e8dcf91\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd cryptography as required dependency (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1929\"\u003e#1929\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/52558ae2881b1e6555f6f5c0d76365c15807ead9\"\u003e52558a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse user_verification=preferred for ReAuth WebAuthn challenge (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1798\"\u003e#1798\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f88a24089c4ee6822d510de0db210b54260d873\"\u003e3f88a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated utcfromtimestamp (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1799\"\u003e#1799\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e431f20cf73ccac71926a23ec454468cea92e053\"\u003ee431f2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edetect correct auth when ADC env var is set by empty (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1374\"\u003e#1374\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/bfc07e1050bd0aa86fa3b08cdf70c9b68b5fe6a2\"\u003ebfc07e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremoved content-header from AWS IMDS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1934\"\u003e#1934\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/97bfea9e02ede953fc8ee154e0deed3a3cfc6dcc\"\u003e97bfea\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md\"\u003egoogle-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://pypi.org/project/google-auth/#history\"\u003ePyPI History\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.47.0...v2.48.0\"\u003e2.48.0\u003c/a\u003e (2026-01-22)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd cryptography as required dependency (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1929\"\u003e#1929\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/52558ae2881b1e6555f6f5c0d76365c15807ead9\"\u003e52558ae2881b1e6555f6f5c0d76365c15807ead9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport the mTLS IAM domain for Certificate based Access (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1938\"\u003e#1938\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/8dcf91a1b05c85fbbd0bcee78d66e498099102ab\"\u003e8dcf91a1b05c85fbbd0bcee78d66e498099102ab\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd configurable GCE Metadata Server retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1488\"\u003e#1488\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/454b441b478ec62bbf1a6ad5bceb6c7cbbfd0c37\"\u003e454b441b478ec62bbf1a6ad5bceb6c7cbbfd0c37\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ehonor \u003ccode\u003eNO_GCE_CHECK\u003c/code\u003e environment variable (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1610\"\u003e#1610\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/383c9827536d9376e8248370ce4c2b83e468d027\"\u003e383c9827536d9376e8248370ce4c2b83e468d027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eresolve circular imports (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1942\"\u003e#1942\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/25c1b064545702cbef087cfcd15fbbb6ef1af74f\"\u003e25c1b064545702cbef087cfcd15fbbb6ef1af74f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremoves \u003ccode\u003econtent-header\u003c/code\u003e from AWS IMDS get request (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1934\"\u003e#1934\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/97bfea9e02ede953fc8ee154e0deed3a3cfc6dcc\"\u003e97bfea9e02ede953fc8ee154e0deed3a3cfc6dcc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edetect correct auth when ADC env var is set but empty (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1374\"\u003e#1374\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/bfc07e1050bd0aa86fa3b08cdf70c9b68b5fe6a2\"\u003ebfc07e1050bd0aa86fa3b08cdf70c9b68b5fe6a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated utcfromtimestamp (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1799\"\u003e#1799\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e431f20cf73ccac71926a23ec454468cea92e053\"\u003ee431f20cf73ccac71926a23ec454468cea92e053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003euser_verification=preferred\u003c/code\u003e for ReAuth WebAuthn challenge (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1798\"\u003e#1798\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f88a24089c4ee6822d510de0db210b54260d873\"\u003e3f88a24089c4ee6822d510de0db210b54260d873\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/googleapis/google-auth-library-python/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.12.5 to 2.13.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 2026-05-06\u003c/h2\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.3 2026-04-20\u003c/h2\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.2 2026-04-17\u003c/h2\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.1 2026-04-15\u003c/h2\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0 2026-04-13\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.2\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/cf67d4b3193c3fe43ede18612ed62785eee11382\"\u003e\u003ccode\u003ecf67d4b\u003c/code\u003e\u003c/a\u003e Fix linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f0d8a214a5803036db46a56b1f62f1e56b81d662\"\u003e\u003ccode\u003ef0d8a21\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5e3fe1d41a00f441204241c66078003ae0391f9a\"\u003e\u003ccode\u003e5e3fe1d\u003c/code\u003e\u003c/a\u003e Check for pydantic tag pattern in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7f9edcc2a191d2eaa9751220eb910914e716a686\"\u003e\u003ccode\u003e7f9edcc\u003c/code\u003e\u003c/a\u003e Document tagging conventions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b46a0c9b8a4dd967fda8ec1a92f6437076bf262c\"\u003e\u003ccode\u003eb46a0c9\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/50629c851e61d887d5420452c311ec6203f1f400\"\u003e\u003ccode\u003e50629c8\u003c/code\u003e\u003c/a\u003e Update to PyPy 7.3.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8522ebb71e5e9a6f7188af5f009f01785b8cf725\"\u003e\u003ccode\u003e8522ebb\u003c/code\u003e\u003c/a\u003e Preserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a37f3aff090ca342dc5f48304889963530b993f8\"\u003e\u003ccode\u003ea37f3af\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003eMISSING\u003c/code\u003e sentinel test to work with unreleased \u003ccode\u003etyping_extensions\u003c/code\u003e ver...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/909259a9df660518033aa686b689f045a6eaf9d2\"\u003e\u003ccode\u003e909259a\u003c/code\u003e\u003c/a\u003e Remove Logfire example in documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2c4174c366606fc2dc46cb806833a080aefa77df\"\u003e\u003ccode\u003e2c4174c\u003c/code\u003e\u003c/a\u003e Bump libc from 0.2.155 to 0.2.185\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.5...v2.13.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typing-extensions` from 4.14.1 to 4.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/releases\"\u003etyping-extensions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.15.0\u003c/h2\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003cp\u003eNew features since 4.14.1:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.15.0rc1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/blob/main/CHANGELOG.md\"\u003etyping-extensions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 4.15.0 (August 25, 2025)\u003c/h1\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003ch1\u003eRelease 4.15.0rc1 (August 18, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/9d1637e264b5c1a6b7acee3e907015f89b20c2c9\"\u003e\u003ccode\u003e9d1637e\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/4bd67c5be5d9443c7d33c314d02a56ee125eb88d\"\u003e\u003ccode\u003e4bd67c5\u003c/code\u003e\u003c/a\u003e Coverage: exclude some noise (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/656\"\u003e#656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e589a26da73b075c5276bae40b86db1af0144f84\"\u003e\u003ccode\u003ee589a26\u003c/code\u003e\u003c/a\u003e Coverage: add detailed report to job summary (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/67d37fed1298e050f74d5acc95b2621bd37837ad\"\u003e\u003ccode\u003e67d37fe\u003c/code\u003e\u003c/a\u003e Coverage: Implement fail_under (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/654\"\u003e#654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e9ae26f5286edee9262727755ecb9ad16e999192\"\u003e\u003ccode\u003ee9ae26f\u003c/code\u003e\u003c/a\u003e Don't delete previous coverage comment (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/ac80bb728a3006fc88ef7373b92f0c25cfcc7895\"\u003e\u003ccode\u003eac80bb7\u003c/code\u003e\u003c/a\u003e Add Coverage workflow (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/623\"\u003e#623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/abaaafd98c1cc7e5baf098ec287a3d22cb339670\"\u003e\u003ccode\u003eabaaafd\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0rc1 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/98104053ea8d49bcdd247804e5fa9f73136acbd4\"\u003e\u003ccode\u003e9810405\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e@disjoint_base\u003c/code\u003e (PEP 800) (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/634\"\u003e#634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/7ee9e05fd484d06899ce56e80f5e1aa4c760fc03\"\u003e\u003ccode\u003e7ee9e05\u003c/code\u003e\u003c/a\u003e Backport type_params fix from CPython (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/646\"\u003e#646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/1e8eb9c06ef51b3a1e1f05303a16feca13f5ed98\"\u003e\u003ccode\u003e1e8eb9c\u003c/code\u003e\u003c/a\u003e Do not refer to PEP 705 as being experimental (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/648\"\u003e#648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/typing_extensions/compare/4.14.1...4.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anyio` from 4.10.0 to 4.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/anyio/releases\"\u003eanyio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ettl\u003c/code\u003e parameter to the \u003ccode\u003eanyio.functools.lru_cache\u003c/code\u003e wrapper (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1073\"\u003e#1073\u003c/a\u003e; PR by \u003ca href=\"https://github.com/Graeme22\"\u003e\u003ccode\u003e@​Graeme22\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWidened the type annotations of file I/O streams to accept \u003ccode\u003eIO[bytes]\u003c/code\u003e instead of just \u003ccode\u003eBinaryIO\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1078\"\u003e#1078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eanyio.Path\u003c/code\u003e not being compatible with Python 3.15 due to the removal of \u003ccode\u003epathlib.Path.is_reserved()\u003c/code\u003e and the addition of \u003ccode\u003epathlib.Path.__vfspath__()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1061\"\u003e#1061\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eBrokenResourceError\u003c/code\u003e raised by the asyncio \u003ccode\u003eSocketStream\u003c/code\u003e not having the original exception as its cause (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1055\"\u003e#1055\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eTypeError\u003c/code\u003e raised when using \u0026quot;func\u0026quot; as a parameter name in \u003ccode\u003epytest.mark.parametrize\u003c/code\u003e when using the pytest plugin (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1068\"\u003e#1068\u003c/a\u003e; PR by \u003ca href=\"https://github.com/JohnnyDeuss\"\u003e\u003ccode\u003e@​JohnnyDeuss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the pytest plugin not running tests that had the \u003ccode\u003eanyio\u003c/code\u003e marker added programmatically via \u003ccode\u003epytest_collection_modifyitems\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/422\"\u003e#422\u003c/a\u003e; PR by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when they are contained in an exception group alongside non-cancellation exceptions (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1091\"\u003e#1091\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCondition.wait()\u003c/code\u003e not passing on a notification when the task is cancelled but already received a notification\u003c/li\u003e\n\u003cli\u003eFixed inverted condition in the process pool shutdown phase which would cause still-running pooled processes not to be terminated (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1074\"\u003e#1074\u003c/a\u003e; PR by \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged all functions currently raising the private \u003ccode\u003eNoCurrentAsyncBackend\u003c/code\u003e exception (since v4.12.0) to instead raise the public \u003ccode\u003eNoEventLoopError\u003c/code\u003e exception (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1048\"\u003e#1048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eanyio.functools.lru_cache\u003c/code\u003e not working with instance methods (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1042\"\u003e#1042\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for asyncio's \u003ca href=\"https://docs.python.org/3/library/asyncio-graph.html\"\u003etask call graphs\u003c/a\u003e on Python 3.14 and later when using AnyIO's task groups (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded an asynchronous implementation of the \u003ccode\u003efunctools\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1001\"\u003e#1001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003euvloop=True\u003c/code\u003e on Windows via the \u003ca href=\"https://github.com/Vizonex/Winloop\"\u003ewinloop\u003c/a\u003e implementation (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/960\"\u003e#960\u003c/a\u003e; PR by \u003ca href=\"https://github.com/Vizonex\"\u003e\u003ccode\u003e@​Vizonex\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for use as a context manager to \u003ccode\u003eanyio.lowlevel.RunVar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1003\"\u003e#1003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e__all__\u003c/code\u003e declarations to public submodules (\u003ccode\u003eanyio.lowlevel\u003c/code\u003e etc.) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1009\"\u003e#1009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the ability to set the token count of a \u003ccode\u003eCapacityLimiter\u003c/code\u003e to zero (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1019\"\u003e#1019\u003c/a\u003e; requires Python 3.10 or later when using Trio)\u003c/li\u003e\n\u003cli\u003eAdded parameters \u003ccode\u003ecase_sensitive\u003c/code\u003e and \u003ccode\u003erecurse_symlinks\u003c/code\u003e along with support for path-like objects to \u003ccode\u003eanyio.Path.glob()\u003c/code\u003e and \u003ccode\u003eanyio.Path.rglob()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1033\"\u003e#1033\u003c/a\u003e; PR by \u003ca href=\"https://github.com/northisup\"\u003e\u003ccode\u003e@​northisup\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped \u003ccode\u003esniffio\u003c/code\u003e as a direct dependency and added the \u003ccode\u003eget_available_backends()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1021\"\u003e#1021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcess.stdin.send()\u003c/code\u003e not raising \u003ccode\u003eClosedResourceError\u003c/code\u003e and \u003ccode\u003eBrokenResourceError\u003c/code\u003e on asyncio. Previously, a non-AnyIO exception was raised in such cases (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/671\"\u003e#671\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcess.stdin.send()\u003c/code\u003e not checkpointing before writing data on asyncio (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1002\"\u003e#1002\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a race condition where cancelling a \u003ccode\u003eFuture\u003c/code\u003e from \u003ccode\u003eBlockingPortal.start_task_soon()\u003c/code\u003e would sometimes not cancel the async function (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1011\"\u003e#1011\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the presence of the pytest plugin causing breakage with older versions of pytest (\u0026lt;= 6.1.2) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1028\"\u003e#1028\u003c/a\u003e; PR by \u003ca href=\"https://github.com/saper\"\u003e\u003ccode\u003e@​saper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a rarely occurring \u003ccode\u003eRuntimeError: Set changed size during iteration\u003c/code\u003e while shutting down the process pool when using the asyncio backend (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for cancellation reasons (the \u003ccode\u003ereason\u003c/code\u003e parameter to \u003ccode\u003eCancelScope.cancel()\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/975\"\u003e#975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBumped the minimum version of Trio to v0.31.0\u003c/li\u003e\n\u003cli\u003eAdded the ability to enter the event loop from foreign (non-worker) threads by passing the return value of \u003ccode\u003eanyio.lowlevel.current_token()\u003c/code\u003e to \u003ccode\u003eanyio.from_thread.run()\u003c/code\u003e and \u003ccode\u003eanyio.from_thread.run_sync()\u003c/code\u003e as the \u003ccode\u003etoken\u003c/code\u003e keyword argument (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/256\"\u003e#256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded pytest option (\u003ccode\u003eanyio_mode = \u0026quot;auto\u0026quot;\u003c/code\u003e) to make the pytest plugin automatically handle all async tests (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the \u003ccode\u003eanyio.Condition.wait_for()\u003c/code\u003e method for feature parity with asyncio (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/974\"\u003e#974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged the default type argument of \u003ccode\u003eanyio.abc.TaskStatus\u003c/code\u003e from \u003ccode\u003eAny\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/964\"\u003e#964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed TCP listener behavior to guarantee the same ephemeral port is used for all socket listeners when \u003ccode\u003elocal_port=0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/857\"\u003e#857\u003c/a\u003e; PR by \u003ca href=\"https://github.com/11kkw\"\u003e\u003ccode\u003e@​11kkw\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/agronholm\"\u003e\u003ccode\u003e@​agronholm\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed inconsistency between Trio and asyncio where a TCP stream that previously raised a \u003ccode\u003eBrokenResourceError\u003c/code\u003e on \u003ccode\u003esend()\u003c/code\u003e would still raise \u003ccode\u003eBrokenResourceError\u003c/code\u003e after the stream was closed on asyncio, but \u003ccode\u003eClosedResourceError\u003c/code\u003e on Trio. They now both raise a \u003ccode\u003eClosedResourceError\u003c/code\u003e in this scenario. (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/671\"\u003e#671\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/afbe93ca9d0c447adf26e9c1715ac20870622bf2\"\u003e\u003ccode\u003eafbe93c\u003c/code\u003e\u003c/a\u003e Bumped up the version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/33bdf2e4b4f40c2df178123746147a6d2471808d\"\u003e\u003ccode\u003e33bdf2e\u003c/code\u003e\u003c/a\u003e Rearranged the changelog entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/19e09e25bc5a23dd78a577d8c3909dd377057c78\"\u003e\u003ccode\u003e19e09e2\u003c/code\u003e\u003c/a\u003e Fixed inverted condition in _forcibly_shutdown_process_pool_on_exit (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1074\"\u003e#1074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/9369d80b9e8292f2a892a9d5c73923c6a28aa08c\"\u003e\u003ccode\u003e9369d80\u003c/code\u003e\u003c/a\u003e Fixed Condition.wait() not handing over notification when cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/6f122abdc6f6b166c6b6ac27d36d55cdf8fa08e8\"\u003e\u003ccode\u003e6f122ab\u003c/code\u003e\u003c/a\u003e Fixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/beaa45aff568a4020f2faf317321dd92f0e1f4a0\"\u003e\u003ccode\u003ebeaa45a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1097\"\u003e#1097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/602f6606dcf3f37702686a4f3e161328c537b07f\"\u003e\u003ccode\u003e602f660\u003c/code\u003e\u003c/a\u003e Widened type annotations to accept IO[bytes] in file streams\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/b5dcd45170701a756ba634197398f05d4710cab3\"\u003e\u003ccode\u003eb5dcd45\u003c/code\u003e\u003c/a\u003e Added note about erasing the template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/d68670b3b4e0917d4caff2de082e03220f3e05a1\"\u003e\u003ccode\u003ed68670b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1090\"\u003e#1090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/fc17a22dd948e6a3d90d99908813f0010dfc3d2c\"\u003e\u003ccode\u003efc17a22\u003c/code\u003e\u003c/a\u003e tweak to_thread docs about abandon_on_cancel (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1088\"\u003e#1088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/anyio/compare/4.10.0...4.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typer` from 0.16.0 to 0.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/typer/releases\"\u003etyper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.25.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add Typer Library Skill for Agents. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1620\"\u003e#1620\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.11 to 0.15.12. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1722\"\u003e#1722\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.10 to 0.3.11. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1723\"\u003e#1723\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.25.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🚸 Don't truncate code lines in traceback when formatted with Rich. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1695\"\u003e#1695\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.24.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that \u003ccode\u003etyper.launch\u003c/code\u003e forwards correctly when launching a file. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1708\"\u003e#1708\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🎨 Ensure \u003ccode\u003ety\u003c/code\u003e runs without errors. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1628\"\u003e#1628\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add dates to release notes. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1612\"\u003e#1612\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Fix code blocks in reference docs overflowing table width. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1630\"\u003e#1630\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix broken link to FastAPI and Friends newsletter. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1540\"\u003e#1540\u003c/a\u003e by \u003ca href=\"https://github.com/Karlemami\"\u003e\u003ccode\u003e@​Karlemami\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Handle external links \u003ccode\u003etarget=_blank\u003c/code\u003e and CSS automatically in JS and CSS. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1622\"\u003e#1622\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Remove link to Typer developer survey. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1609\"\u003e#1609\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✏️ Clean up documentation in \u003ccode\u003einstall.md\u003c/code\u003e file. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1606\"\u003e#1606\u003c/a\u003e by \u003ca href=\"https://github.com/Johandielangman\"\u003e\u003ccode\u003e@​Johandielangman\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump mypy from 1.20.1 to 1.20.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1715\"\u003e#1715\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.9 to 0.3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1716\"\u003e#1716\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic-settings from 2.13.1 to 2.14.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1713\"\u003e#1713\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ty from 0.0.31 to 0.0.32. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1711\"\u003e#1711\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic from 2.13.2 to 2.13.3. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1712\"\u003e#1712\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pygments from 2.19.2 to 2.20.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1667\"\u003e#1667\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pymdown-extensions from 10.20 to 10.21.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1710\"\u003e#1710\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/cache from 5.0.4 to 5.0.5. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1700\"\u003e#1700\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic from 2.13.1 to 2.13.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1703\"\u003e#1703\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/upload-artifact from 7.0.0 to 7.0.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1701\"\u003e#1701\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.10 to 0.15.11. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1704\"\u003e#1704\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump cloudflare/wrangler-action from 3.14.1 to 3.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1702\"\u003e#1702\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump astral-sh/setup-uv from 7.6.0 to 8.1.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1699\"\u003e#1699\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ty from 0.0.30 to 0.0.31. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1696\"\u003e#1696\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic from 2.13.0 to 2.13.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1697\"\u003e#1697\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/typer/blob/master/docs/release-notes.md\"\u003etyper's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.25.1 (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add Typer Library Skill for Agents. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1620\"\u003e#1620\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.11 to 0.15.12. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1722\"\u003e#1722\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.10 to 0.3.11. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1723\"\u003e#1723\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.25.0 (2026-04-26)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🚸 Don't truncate code lines in traceback when formatted with Rich. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1695\"\u003e#1695\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.24.2 (2026-04-22)\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that \u003ccode\u003etyper.launch\u003c/code\u003e forwards correctly when launching a file. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1708\"\u003e#1708\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🎨 Ensure \u003ccode\u003ety\u003c/code\u003e runs without errors. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1628\"\u003e#1628\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add dates to release notes. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1612\"\u003e#1612\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Fix code blocks in reference docs overflowing table width. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1630\"\u003e#1630\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix broken link to FastAPI and Friends newsletter. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1540\"\u003e#1540\u003c/a\u003e by \u003ca href=\"https://github.com/Karlemami\"\u003e\u003ccode\u003e@​Karlemami\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Handle external links \u003ccode\u003etarget=_blank\u003c/code\u003e and CSS automatically in JS and CSS. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1622\"\u003e#1622\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Remove link to Typer developer survey. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1609\"\u003e#1609\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✏️ Clean up documentation in \u003ccode\u003einstall.md\u003c/code\u003e file. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1606\"\u003e#1606\u003c/a\u003e by \u003ca href=\"https://github.com/Johandielangman\"\u003e\u003ccode\u003e@​Johandielangman\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump mypy from 1.20.1 to 1.20.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1715\"\u003e#1715\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.9 to 0.3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1716\"\u003e#1716\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic-settings from 2.13.1 to 2.14.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1713\"\u003e#1713\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ty from 0.0.31 to 0.0.32. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1711\"\u003e#1711\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic from 2.13.2 to 2.13.3. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1712\"\u003e#1712\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pygments from 2.19.2 to 2.20.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1667\"\u003e#1667\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pymdown-extensions from 10.20 to 10.21.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1710\"\u003e#1710\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/cache from 5.0.4 to 5.0.5. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1700\"\u003e#1700\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic from 2.13.1 to 2.13.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1703\"\u003e#1703\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/upload-artifact from 7.0.0 to 7.0.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1701\"\u003e#1701\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.10 to 0.15.11. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1704\"\u003e#1704\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump cloudflare/wrangler-action from 3.14.1 to 3.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1702\"\u003e#1702\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/cfcc2ef9f948bcce67897a6c7e689d39da690bf9\"\u003e\u003ccode\u003ecfcc2ef\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.25.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/13846cc59bd574567a9a1f56eae3cd42b9aa2a4f\"\u003e\u003ccode\u003e13846cc\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/a43746997ad6f2b4a8829c69c919f4d4c2cc0698\"\u003e\u003ccode\u003ea437469\u003c/code\u003e\u003c/a\u003e 🔧 Add Typer Library Skill for Agents (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1620\"\u003e#1620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/ba6cc2c9e7cba35f891c91118e228e1d2da35edb\"\u003e\u003ccode\u003eba6cc2c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/0f3ead07c2bb384fdd590e895ca6705582c58d89\"\u003e\u003ccode\u003e0f3ead0\u003c/code\u003e\u003c/a\u003e ⬆ Bump ruff from 0.15.11 to 0.15.12 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1722\"\u003e#1722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/db4ade64936599b3460f2fc0a7c550c3fedc33b0\"\u003e\u003ccode\u003edb4ade6\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/5a5206ceed2afdf234f88a6e2ef74ad9ebdf0d92\"\u003e\u003ccode\u003e5a5206c\u003c/code\u003e\u003c/a\u003e ⬆ Bump prek from 0.3.10 to 0.3.11 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1723\"\u003e#1723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/959845e173b4bec0d606d99247815c2710613ca8\"\u003e\u003ccode\u003e959845e\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.25.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/5e1fcfb5935e7ac3ff3c7526ef297eae31bd4822\"\u003e\u003ccode\u003e5e1fcfb\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/dfb21ad034804584702d553ebfba40d8f4d791b9\"\u003e\u003ccode\u003edfb21ad\u003c/code\u003e\u003c/a\u003e 🚸 Don't truncate code lines in traceback when formatted with Rich (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1695\"\u003e#1695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/typer/compare/0.16.0...0.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.35.0 to 0.48.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.48.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault \u003ccode\u003essl_ciphers\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e and use OpenSSL defaults by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2940\"\u003eKludex/uvicorn#2940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2944\"\u003eKludex/uvicorn#2944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.47.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEagerly import the ASGI app in the parent process by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2919\"\u003eKludex/uvicorn#2919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003essl_context_factory\u003c/code\u003e for custom \u003ccode\u003eSSLContext\u003c/code\u003e configuration by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2920\"\u003eKludex/uvicorn#2920\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers by \u003ca href=\"https://github.com/eltoder\"\u003e\u003ccode\u003e@​eltoder\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2927\"\u003eKludex/uvicorn#...\n\n_Description has been truncated_","html_url":"https://github.com/tmohanvamsi/kagent/pull/38","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmohanvamsi%2Fkagent/issues/38","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38/packages"},{"uuid":"4520295051","node_id":"PR_kwDOSnyC9c7fNZk-","number":61,"state":"open","title":"Bump psutil from 5.9.8 to 7.2.2","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-26T00:19:07.000Z","updated_at":"2026-05-26T00:19:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"psutil","old_version":"5.9.8","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"}],"path":null,"ecosystem":"pip"},"body":"Bumps [psutil](https://github.com/giampaolo/psutil) from 5.9.8 to 7.2.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v5.9.8...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=psutil\u0026package-manager=pip\u0026previous-version=5.9.8\u0026new-version=7.2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/WilsonMariano/geonode/pull/61","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/WilsonMariano%2Fgeonode/issues/61","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/61/packages"},{"uuid":"4514458750","node_id":"PR_kwDOSJjCW87e6hCo","number":12,"state":"open","title":"Update psutil requirement from \u003e=5.8.0 to \u003e=7.2.2","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-25T05:18:00.000Z","updated_at":"2026-05-25T05:19:35.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"psutil","old_version":"\u003e=5.8.0","new_version":"\u003e=7.2.2","repository_url":"https://github.com/giampaolo/psutil"}],"path":null,"ecosystem":"pip"},"body":"\u003e [!WARNING]\n\u003e Dependabot will stop supporting `python v3.9`!\n\u003e \n\u003e Please upgrade to one of the following versions: `v3.9`, `v3.10`, `v3.11`, `v3.12`, `v3.13`, or `v3.14`.\n\u003e\n\nUpdates the requirements on [psutil](https://github.com/giampaolo/psutil) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v5.8.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/sajibbormon/dacs-research/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sajibbormon%2Fdacs-research/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"},{"uuid":"4514418823","node_id":"PR_kwDORaCxyM7e6ZK3","number":9,"state":"open","title":"Update psutil requirement from \u003e=5.8.0 to \u003e=7.2.2","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-25T05:07:36.000Z","updated_at":"2026-05-25T05:08:25.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"psutil","old_version":"\u003e=5.8.0","new_version":"\u003e=7.2.2","repository_url":"https://github.com/giampaolo/psutil"}],"path":null,"ecosystem":"pip"},"body":"\u003e [!WARNING]\n\u003e Dependabot will stop supporting `python v3.9`!\n\u003e \n\u003e Please upgrade to one of the following versions: `v3.9`, `v3.10`, `v3.11`, `v3.12`, `v3.13`, or `v3.14`.\n\u003e\n\nUpdates the requirements on [psutil](https://github.com/giampaolo/psutil) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v5.8.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/LincolnMa1285/UltralyticsV8/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/LincolnMa1285%2FUltralyticsV8/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"},{"uuid":"4512872509","node_id":"PR_kwDOSesxPM7e1ltC","number":28,"state":"closed","title":"chore(deps): bump the pip-production-dependencies group across 5 directories with 14 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-24T21:09:21.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-24T20:49:37.000Z","updated_at":"2026-05-24T21:09:30.000Z","time_to_close":1184,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip-production-dependencies","update_count":14,"packages":[{"name":"grpcio-health-checking","old_version":"1.78.0","new_version":"1.80.0"},{"name":"openfeature-provider-flagd","old_version":"0.2.3","new_version":"0.4.1","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-distro","old_version":"0.63b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.42.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"openai","old_version":"2.37.0","new_version":"2.38.0","repository_url":"https://github.com/openai/openai-python"},{"name":"opentelemetry-api","old_version":"1.42.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-jinja2","old_version":"0.63b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.63b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.63b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.63b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.42.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.63b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.63b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-production-dependencies group with 14 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.80.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.4.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.42.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [openai](https://github.com/openai/openai-python) | `2.37.0` | `2.38.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.42.0` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.42.0` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.63b0` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 1 update in the /src/llm directory: [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib).\nBumps the pip-production-dependencies group with 9 updates in the /src/load-generator directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.42.0` | `1.42.1` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.42.0` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.42.0` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.63b0` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 6 updates in the /src/product-reviews directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.80.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.4.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.42.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [openai](https://github.com/openai/openai-python) | `2.37.0` | `2.38.0` |\n\nBumps the pip-production-dependencies group with 5 updates in the /src/recommendation directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.80.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.4.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.42.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n\n\nUpdates `grpcio-health-checking` from 1.78.0 to 1.80.0\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36db67de59732463a372c056525d6453d8a51a75\"\u003e36db67d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.2.7\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36c52d03aeddf5aa922f74ca7ef5c0ec9f6b790d\"\u003e\u003ccode\u003e36c52d0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency asserts to \u0026gt;=0.14.0,\u0026lt;0.15.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003e\u003ccode\u003ec119a77\u003c/code\u003e\u003c/a\u003e fix: various custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c8c9ebe7b2cd51e8c0ce065fdb4e024aecfd3ff3\"\u003e\u003ccode\u003ec8c9ebe\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/372\"\u003e#372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6d3c5f8adafe7150c9bab519ed6c866ff5f85478\"\u003e\u003ccode\u003e6d3c5f8\u003c/code\u003e\u003c/a\u003e chore: stabilize transitive flagd deps (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6b7c78e1f08ad862059bd31d6aef18f66224a755\"\u003e\u003ccode\u003e6b7c78e\u003c/code\u003e\u003c/a\u003e fix(security): update vulnerability-updates [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e\u003ccode\u003e1995534\u003c/code\u003e\u003c/a\u003e feat(flagd): extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/564eb68aa513e6d8b5fb06aa5f632f427b11abe5\"\u003e\u003ccode\u003e564eb68\u003c/code\u003e\u003c/a\u003e fix(security): update dependency pytest to v9.0.3 [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-distro` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-distro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.42.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.42.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v7.0.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.37.0 to 2.38.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/e75766769547601a25ed83b666c4d0fd046881f0\"\u003e\u003ccode\u003ee757667\u003c/code\u003e\u003c/a\u003e release: 2.38.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/b85b647b5312debb951814dfb9ed13f906d6bf43\"\u003e\u003ccode\u003eb85b647\u003c/code\u003e\u003c/a\u003e feat(api): api update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/d881c67866083ae187e14664e289e68a3ba04686\"\u003e\u003ccode\u003ed881c67\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;chore: check release PR custom code sync\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/d4a322816ad637330e40fdcdee9ca48bc92a2a4f\"\u003e\u003ccode\u003ed4a3228\u003c/code\u003e\u003c/a\u003e chore: check release PR custom code sync\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/48888380cdfc01e4f22f9ed7fbd5250231472e0d\"\u003e\u003ccode\u003e4888838\u003c/code\u003e\u003c/a\u003e chore: remove release automation trigger\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/74978f055a7adf004dec718e80bb46241e54d9ca\"\u003e\u003ccode\u003e74978f0\u003c/code\u003e\u003c/a\u003e chore: trigger release automation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/bab18af787cd5d962aedeb4b5b86df4f6cf28003\"\u003e\u003ccode\u003ebab18af\u003c/code\u003e\u003c/a\u003e chore(api): docs updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a6f899aa1e046dd0cc18b89c4f73260463888db6\"\u003e\u003ccode\u003ea6f899a\u003c/code\u003e\u003c/a\u003e feat(api): manual updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2897485d445f2924c5c2a8e6a9f40eec633ff345\"\u003e\u003ccode\u003e2897485\u003c/code\u003e\u003c/a\u003e feat(api): update OpenAPI spec or Stainless config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a2f1d6c56980713619760c60a5c7bfb580b0adcb\"\u003e\u003ccode\u003ea2f1d6c\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.42.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.42.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-jinja2` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-jinja2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-requests` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-requests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-system-metrics` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-system-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-urllib3` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-urllib3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-sdk` from 1.42.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.42.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-semantic-conventions` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-semantic-conventions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-logging` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-logging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36db67de59732463a372c056525d6453d8a51a75\"\u003e36db67d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.2.7\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36c52d03aeddf5aa922f74ca7ef5c0ec9f6b790d\"\u003e\u003ccode\u003e36c52d0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency asserts to \u0026gt;=0.14.0,\u0026lt;0.15.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003e\u003ccode\u003ec119a77\u003c/code\u003e\u003c/a\u003e fix: various custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c8c9ebe7b2cd51e8c0ce065fdb4e024aecfd3ff3\"\u003e\u003ccode\u003ec8c9ebe\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/372\"\u003e#372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6d3c5f8adafe7150c9bab519ed6c866ff5f85478\"\u003e\u003ccode\u003e6d3c5f8\u003c/code\u003e\u003c/a\u003e chore: stabilize transitive flagd deps (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6b7c78e1f08ad862059bd31d6aef18f66224a755\"\u003e\u003ccode\u003e6b7c78e\u003c/code\u003e\u003c/a\u003e fix(security): update vulnerability-updates [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e\u003ccode\u003e1995534\u003c/code\u003e\u003c/a\u003e feat(flagd): extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/564eb68aa513e6d8b5fb06aa5f632f427b11abe5\"\u003e\u003ccode\u003e564eb68\u003c/code\u003e\u003c/a\u003e fix(security): update dependency pytest to v9.0.3 [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.42.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.42.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.42.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.42.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-jinja2` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-jinja2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-requests` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-requests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-system-metrics` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-system-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-urllib3` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-urllib3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-sdk` from 1.42.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.42.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-semantic-conventions` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-semantic-conventions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-logging` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-logging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `grpcio-health-checking` from 1.78.0 to 1.80.0\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36db67de59732463a372c056525d6453d8a51a75\"\u003e36db67d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.2.7\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36c52d03aeddf5aa922f74ca7ef5c0ec9f6b790d\"\u003e\u003ccode\u003e36c52d0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency asserts to \u0026gt;=0.14.0,\u0026lt;0.15.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003e\u003ccode\u003ec119a77\u003c/code\u003e\u003c/a\u003e fix: various custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c8c9ebe7b2cd51e8c0ce065fdb4e024aecfd3ff3\"\u003e\u003ccode\u003ec8c9ebe\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/372\"\u003e#372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6d3c5f8adafe7150c9bab519ed6c866ff5f85478\"\u003e\u003ccode\u003e6d3c5f8\u003c/code\u003e\u003c/a\u003e chore: stabilize transitive flagd deps (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6b7c78e1f08ad862059bd31d6aef18f66224a755\"\u003e\u003ccode\u003e6b7c78e\u003c/code\u003e\u003c/a\u003e fix(security): update vulnerability-updates [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e\u003ccode\u003e1995534\u003c/code\u003e\u003c/a\u003e feat(flagd): extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/564eb68aa513e6d8b5fb06aa5f632f427b11abe5\"\u003e\u003ccode\u003e564eb68\u003c/code\u003e\u003c/a\u003e fix(security): update dependency pytest to v9.0.3 [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-distro` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-distro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.42.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.42.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v7.0.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.37.0 to 2.38.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/e75766769547601a25ed83b666c4d0fd046881f0\"\u003e\u003ccode\u003ee757667\u003c/code\u003e\u003c/a\u003e release: 2.38.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/b85b647b5312debb951814dfb9ed13f906d6bf43\"\u003e\u003ccode\u003eb85b647\u003c/code\u003e\u003c/a\u003e feat(api): api update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/d881c67866083ae187e14664e289e68a3ba04686\"\u003e\u003ccode\u003ed881c67\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;chore: check release PR custom code sync\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/d4a322816ad637330e40fdcdee9ca48bc92a2a4f\"\u003e\u003ccode\u003ed4a3228\u003c/code\u003e\u003c/a\u003e chore: check release PR custom code sync\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/48888380cdfc01e4f22f9ed7fbd5250231472e0d\"\u003e\u003ccode\u003e4888838\u003c/code\u003e\u003c/a\u003e chore: remove release automation trigger\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/74978f055a7adf004dec718e80bb46241e54d9ca\"\u003e\u003ccode\u003e74978f0\u003c/code\u003e\u003c/a\u003e chore: trigger release automation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/bab18af787cd5d962aedeb4b5b86df4f6cf28003\"\u003e\u003ccode\u003ebab18af\u003c/code\u003e\u003c/a\u003e chore(api): docs updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a6f899aa1e046dd0cc18b89c4f73260463888db6\"\u003e\u003ccode\u003ea6f899a\u003c/code\u003e\u003c/a\u003e feat(api): manual updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2897485d445f2924c5c2a8e6a9f40eec633ff345\"\u003e\u003ccode\u003e2897485\u003c/code\u003e\u003c/a\u003e feat(api): update OpenAPI spec or Stainless config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a2f1d6c56980713619760c60a5c7bfb580b0adcb\"\u003e\u003ccode\u003ea2f1d6c\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `grpcio-health-checking` from 1.78.0 to 1.80.0\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce lis...\n\n_Description has been truncated_","html_url":"https://github.com/Devops-project-may-2026/project-03-eks-gitops-observability-otel/pull/28","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devops-project-may-2026%2Fproject-03-eks-gitops-observability-otel/issues/28","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/28/packages"}],"issue_packages":[{"old_version":"\u003e=5.9.0","new_version":"\u003e=7.2.2","update_type":"patch","path":null,"pr_created_at":"2026-06-16T00:12:48.000Z","version_change":"\u003e=5.9.0 → \u003e=7.2.2","issue":{"uuid":"4669897662","node_id":"PR_kwDOPDABIs7myOgJ","number":93,"state":"closed","title":"chore(deps): update psutil requirement from \u003e=5.9.0 to \u003e=7.2.2","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-16T00:15:26.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-16T00:12:48.000Z","updated_at":"2026-06-16T00:15:31.000Z","time_to_close":158,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"psutil","old_version":"\u003e=5.9.0","new_version":"\u003e=7.2.2","repository_url":"https://github.com/giampaolo/psutil"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [psutil](https://github.com/giampaolo/psutil) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v5.9.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/djleamen/doc-reader/pull/93","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/djleamen%2Fdoc-reader/issues/93","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/93/packages"}},{"old_version":"5.9.8","new_version":"7.2.2","update_type":"major","path":null,"pr_created_at":"2026-06-15T14:29:16.000Z","version_change":"5.9.8 → 7.2.2","issue":{"uuid":"4666010682","node_id":"PR_kwDOSo1vbM7mlUPX","number":18,"state":"closed","title":"chore(deps): bump psutil from 5.9.8 to 7.2.2","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-06-16T00:05:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-15T14:29:16.000Z","updated_at":"2026-06-16T00:06:54.000Z","time_to_close":34598,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"psutil","old_version":"5.9.8","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"}],"path":null,"ecosystem":"pip"},"body":"Bumps [psutil](https://github.com/giampaolo/psutil) from 5.9.8 to 7.2.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v5.9.8...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=psutil\u0026package-manager=pip\u0026previous-version=5.9.8\u0026new-version=7.2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/NEPSDigitalSystem/neps-backend/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/NEPSDigitalSystem%2Fneps-backend/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"}},{"old_version":"\u003e=5.9.0","new_version":"\u003e=7.2.2","update_type":"patch","path":null,"pr_created_at":"2026-06-14T06:49:45.000Z","version_change":"\u003e=5.9.0 → \u003e=7.2.2","issue":{"uuid":"4658206789","node_id":"PR_kwDORxLXVs7mMdD8","number":28,"state":"closed","title":"deps(deps): update psutil requirement from \u003e=5.9.0 to \u003e=7.2.2","user":"dependabot[bot]","labels":[],"assignees":["Micro-Novelty"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-14T06:53:39.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-14T06:49:45.000Z","updated_at":"2026-06-14T06:53:46.000Z","time_to_close":234,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): update","packages":[{"name":"psutil","old_version":"\u003e=5.9.0","new_version":"\u003e=7.2.2","repository_url":"https://github.com/giampaolo/psutil"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [psutil](https://github.com/giampaolo/psutil) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v5.9.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Micro-Novelty/IntegratedPipeline-Specialized-Non-LLM-AI-Agent-Framework/pull/28","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Micro-Novelty%2FIntegratedPipeline-Specialized-Non-LLM-AI-Agent-Framework/issues/28","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/28/packages"}},{"old_version":"7.0.0","new_version":"7.2.2","update_type":"minor","path":null,"pr_created_at":"2026-06-12T01:50:01.000Z","version_change":"7.0.0 → 7.2.2","issue":{"uuid":"4645526210","node_id":"PR_kwDOQuIFL87lkUhR","number":296,"state":"closed","title":"Bump the pip-production-dependencies group across 5 directories with 21 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-15T01:49:20.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-12T01:50:01.000Z","updated_at":"2026-06-15T01:49:21.000Z","time_to_close":259159,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip-production-dependencies","update_count":21,"packages":[{"name":"grpcio-health-checking","old_version":"1.71.0","new_version":"1.81.1"},{"name":"openfeature-hooks-opentelemetry","old_version":"0.3.0","new_version":"0.3.1","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"openfeature-provider-flagd","old_version":"0.2.3","new_version":"0.5.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-distro","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.39.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"python-dotenv","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"python-json-logger","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"psycopg2-binary","old_version":"2.9.11","new_version":"2.9.12","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"openai","old_version":"2.13.0","new_version":"2.41.1","repository_url":"https://github.com/openai/openai-python"},{"name":"simplejson","old_version":"3.20.2","new_version":"4.1.1","repository_url":"https://github.com/simplejson/simplejson"},{"name":"flask","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"openfeature-provider-ofrep","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-api","old_version":"1.39.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-jinja2","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.39.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-production-dependencies group with 21 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.71.0` | `1.81.1` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.3.0` | `0.3.1` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.11` | `2.9.12` |\n| [openai](https://github.com/openai/openai-python) | `2.13.0` | `2.41.1` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.2` | `4.1.1` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 4 updates in the /src/llm directory: [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib), [python-dotenv](https://github.com/theskumar/python-dotenv), [python-json-logger](https://github.com/nhairs/python-json-logger) and [flask](https://github.com/pallets/flask).\nBumps the pip-production-dependencies group with 13 updates in the /src/load-generator directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.3.0` | `0.3.1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 11 updates in the /src/product-reviews directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.71.0` | `1.81.1` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.3.0` | `0.3.1` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.11` | `2.9.12` |\n| [openai](https://github.com/openai/openai-python) | `2.13.0` | `2.41.1` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.2` | `4.1.1` |\n\nBumps the pip-production-dependencies group with 8 updates in the /src/recommendation directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.71.0` | `1.81.1` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.3.0` | `0.3.1` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n\n\nUpdates `grpcio-health-checking` from 1.71.0 to 1.81.1\n\nUpdates `openfeature-hooks-opentelemetry` from 0.3.0 to 0.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-hooks-opentelemetry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-hooks-opentelemetry: v0.3.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-hooks-opentelemetry/v0.3.0...openfeature-hooks-opentelemetry/v0.3.1\"\u003e0.3.1\u003c/a\u003e (2026-02-17)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlign TracingHook with spec (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/342\"\u003e#342\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2a2127d958ea0bafabb673335fd0d9665c8d9291\"\u003e2a2127d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83926dea688eac265405b79c2ec00c9d08c8862e\"\u003e\u003ccode\u003e83926de\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-hooks-opentelemetry 0.3.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2a2127d958ea0bafabb673335fd0d9665c8d9291\"\u003e\u003ccode\u003e2a2127d\u003c/code\u003e\u003c/a\u003e fix: Align TracingHook with spec (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/342\"\u003e#342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c08b414007f6ce10dcb83249142f054b6d6043d6\"\u003e\u003ccode\u003ec08b414\u003c/code\u003e\u003c/a\u003e chore: align unleash pyproject.toml to others (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/341\"\u003e#341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/8239b836a25663e0030b3891d0140cb365798a37\"\u003e\u003ccode\u003e8239b83\u003c/code\u003e\u003c/a\u003e feat(provider): add \u003ccode\u003eaws-ssm\u003c/code\u003e provider (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/331\"\u003e#331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e\u003ccode\u003e61add22\u003c/code\u003e\u003c/a\u003e fix: replace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/a835c77f10c82af2157ea15be0ffae7bad79b8ce\"\u003e\u003ccode\u003ea835c77\u003c/code\u003e\u003c/a\u003e chore: relax \u003ccode\u003etypes-requests\u003c/code\u003e and update \u003ccode\u003egrpcio\u003c/code\u003e version constraints (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/334\"\u003e#334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/a345ef9f1ea3333e49a173553a9098f5db6746a7\"\u003e\u003ccode\u003ea345ef9\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.2.7 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/290\"\u003e#290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/b9c164a2342d101e23e062a81558f02fe0a38c0b\"\u003e\u003ccode\u003eb9c164a\u003c/code\u003e\u003c/a\u003e fix(security): update dependency protobuf to v6.33.5 [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2feabd5d70bef2de6661fadf3d74238991a27466\"\u003e\u003ccode\u003e2feabd5\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-unleash 0.1.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/332\"\u003e#332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/dcb8fadfbc0263e68c381681b5b92cb5fea2dc0d\"\u003e\u003ccode\u003edcb8fad\u003c/code\u003e\u003c/a\u003e chore: add component owners\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-hooks-opentelemetry/v0.3.0...openfeature-hooks-opentelemetry/v0.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.1...openfeature-provider-flagd/v0.5.0\"\u003e0.5.0\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003ee7d1d34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003ee1c3c6a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/9c493b82c022bcee18bfce02f829153b98efe53d\"\u003e\u003ccode\u003e9c493b8\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.5.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003e\u003ccode\u003ee7d1d34\u003c/code\u003e\u003c/a\u003e feat!: DISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003e\u003ccode\u003ee1c3c6a\u003c/code\u003e\u003c/a\u003e feat: make use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c4b425776715f85b04c1c29e007d095d9025760b\"\u003e\u003ccode\u003ec4b4257\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/394\"\u003e#394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/daafd7336ecfba856803965cf26c198bb0e4f22c\"\u003e\u003ccode\u003edaafd73\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/f084e84b22a7ed1aef3a800ee4a07cf3a6095f6b\"\u003e\u003ccode\u003ef084e84\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-distro` from 0.60b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-distro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.39.1 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.39.1...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v7.0.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-dotenv` from 1.2.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (#)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/607\"\u003etheskumar/python-dotenv#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e#790c5\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by \u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eskip 000 permission tests for root user by \u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/593\"\u003etheskumar/python-dotenv#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Windows testing to CI by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/604\"\u003etheskumar/python-dotenv#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove workflow efficiency with best practices by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/609\"\u003etheskumar/python-dotenv#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of \u003ccode\u003esh\u003c/code\u003e in tests by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/612\"\u003etheskumar/python-dotenv#612\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpackham-atlnz\"\u003e\u003ccode\u003e@​cpackham-atlnz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/597\"\u003etheskumar/python-dotenv#597\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.2] - 2026-03-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/607\"\u003e#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eDropped Support for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in [790c5c0]\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by [\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/590\"\u003e#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/36004e0e34be7665ff2b11a8a4005144f76f176d\"\u003e\u003ccode\u003e36004e0\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.1 → 1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eb202520e5933c9daf42501e1e42fdb0144002c8\"\u003e\u003ccode\u003eeb20252\u003c/code\u003e\u003c/a\u003e docs: update changelog for v1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e\u003ccode\u003e790c5c0\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/43340da220fb4ca4f95357bbe21a3c7f8f1278b1\"\u003e\u003ccode\u003e43340da\u003c/code\u003e\u003c/a\u003e Remove the use of \u003ccode\u003esh\u003c/code\u003e in tests (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/09d7cee32459e7abdcb5c9d8122a552589c06a9c\"\u003e\u003ccode\u003e09d7cee\u003c/code\u003e\u003c/a\u003e docs: clarify override behavior and document FIFO support (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/c8de2887c00198c22842c5ae5e92d1747467363c\"\u003e\u003ccode\u003ec8de288\u003c/code\u003e\u003c/a\u003e ci: improve workflow efficiency with best practices (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/609\"\u003e#609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/7bd9e3dbfedc0983ad7d56d5570013035242bdf4\"\u003e\u003ccode\u003e7bd9e3d\u003c/code\u003e\u003c/a\u003e Add Windows testing to CI (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1baaf04f336072e0ee324d5df9563ec767f14f81\"\u003e\u003ccode\u003e1baaf04\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 support and update to PyPy 3.11 (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/4a22cf8993804aeede0c20b75bb1a29d3a99e9dc\"\u003e\u003ccode\u003e4a22cf8\u003c/code\u003e\u003c/a\u003e ci: enable testing on Python 3.14t (free-threaded) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/e2e8e776b42e382ae38b44d3982dd649e7507dd4\"\u003e\u003ccode\u003ee2e8e77\u003c/code\u003e\u003c/a\u003e Fix license specifier (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-json-logger` from 4.0.0 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/releases\"\u003epython-json-logger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/blob/main/docs/changelog.md\"\u003epython-json-logger's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/d80c68da770154d9662975b789cabcc9a3e99408\"\u003e\u003ccode\u003ed80c68d\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/b589b2a576ac058dc55be934159b67060a288756\"\u003e\u003ccode\u003eb589b2a\u003c/code\u003e\u003c/a\u003e [pyproject] Update license table to PEP 639 format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/2bb784a92250c60035a7e4536d1ef48cd02e50d5\"\u003e\u003ccode\u003e2bb784a\u003c/code\u003e\u003c/a\u003e Update code unlocked by Python 3.10 minimum version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/79599b5a6ad5e38c18c468fd0e4ac790961d6b5f\"\u003e\u003ccode\u003e79599b5\u003c/code\u003e\u003c/a\u003e Drop python 3.8, 3.9 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/622650c1f543e7909e8711e4a30c96cc2aa6e332\"\u003e\u003ccode\u003e622650c\u003c/code\u003e\u003c/a\u003e [docs.contributing] Update unsupported JSON encoders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/06165bb03f9892fc24762acabf6b1b0b35c6b56b\"\u003e\u003ccode\u003e06165bb\u003c/code\u003e\u003c/a\u003e [tests.test_formatters] Add non-printable bytes to test_common_types_encoded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/61f88a9fe7cee3409db9c589b03b15c2ffdc3ffa\"\u003e\u003ccode\u003e61f88a9\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify which packages have been considered and rejected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/0add524a24c6210807a66e0f9149200b32cc98a9\"\u003e\u003ccode\u003e0add524\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify when we will add support for new third-party pack...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/eee9505610a64276341a03f2a0b0dee5f500916b\"\u003e\u003ccode\u003eeee9505\u003c/code\u003e\u003c/a\u003e [pylint] Remove old command\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/804592648f8d0e56f7f41112d2945cf52d1d2a6b\"\u003e\u003ccode\u003e8045926\u003c/code\u003e\u003c/a\u003e [mypy] Don't ignore orjson\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2-binary` from 2.9.11 to 2.9.12\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2-binary's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.12\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite loop with malformed interval (:ticket:\u003ccode\u003e1835\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform binary packages (:ticket:\u003ccode\u003e[#1813](https://github.com/psycopg/psycopg2/issues/1813)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/3a6d9d6ddc6b53eaa80b712f5fa6b23abbdc38db\"\u003e\u003ccode\u003e3a6d9d6\u003c/code\u003e\u003c/a\u003e ci: include almalinux in whieel building\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ebca6bf0f86bc6cbdc86de1eb3a53eaf49966d86\"\u003e\u003ccode\u003eebca6bf\u003c/code\u003e\u003c/a\u003e chore: bump to version 3.9.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/0196f02cc9512df8de3c941f87d27bda98f9f7af\"\u003e\u003ccode\u003e0196f02\u003c/code\u003e\u003c/a\u003e build(deps): bump pypa/cibuildwheel from 3.3.1 to 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d157bdc2235a42dc1742936dbb0f5cfc8e4d2eb7\"\u003e\u003ccode\u003ed157bdc\u003c/code\u003e\u003c/a\u003e build(deps): bump docker/setup-qemu-action from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/7fccc0f5066a40dea530512abbf02621f4182b81\"\u003e\u003ccode\u003e7fccc0f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d52a61eb2e6095fc1b9891bfcca44ebfac509e55\"\u003e\u003ccode\u003ed52a61e\u003c/code\u003e\u003c/a\u003e chore: bump dependency libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/b231d726a01d55e07ec3620b2b82f4a2da37ba62\"\u003e\u003ccode\u003eb231d72\u003c/code\u003e\u003c/a\u003e chore: fix building binary images\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/6d76e8479f0f522c2e07ce0e2701030d8fd63785\"\u003e\u003ccode\u003e6d76e84\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1836\"\u003e#1836\u003c/a\u003e from psycopg/fix-1835\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/f7e314c7ab418ab9b9956e694956089a49c5c3b9\"\u003e\u003ccode\u003ef7e314c\u003c/code\u003e\u003c/a\u003e fix: overflow in malformed interval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/eb905c124b75f2a5183d22177b85af20914b0f17\"\u003e\u003ccode\u003eeb905c1\u003c/code\u003e\u003c/a\u003e docs: replace bare except clause with except Exception\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.11...2.9.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.13.0 to 2.41.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.41.1\u003c/h2\u003e\n\u003ch2\u003e2.41.1 (2026-06-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.41.0...v2.41.1\"\u003ev2.41.0...v2.41.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBuild System\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove scheduled release workflow trigger (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3366\"\u003e#3366\u003c/a\u003e) (\u003ca href=\"https://github.com/openai/openai-python/commit/2a91011abc21032db9566b98068afefb5fbb9b24\"\u003e2a91011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.41.0\u003c/h2\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.40.0\u003c/h2\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.39.0\u003c/h2\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.41.1 (2026-06-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.41.0...v2.41.1\"\u003ev2.41.0...v2.41.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBuild System\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove scheduled release workflow trigger (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3366\"\u003e#3366\u003c/a\u003e) (\u003ca href=\"https://github.com/openai/openai-python/commit/2a91011abc21032db9566b98068afefb5fbb9b24\"\u003e2a91011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/71987563c833806bb9854c2f74d430a26e319246\"\u003e\u003ccode\u003e7198756\u003c/code\u003e\u003c/a\u003e release: 2.41.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/3842a5ea01e8ecb7d6b159b9236c0c60ceff5de3\"\u003e\u003ccode\u003e3842a5e\u003c/code\u003e\u003c/a\u003e ci: use PyPI trusted publishing (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3365\"\u003e#3365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2a91011abc21032db9566b98068afefb5fbb9b24\"\u003e\u003ccode\u003e2a91011\u003c/code\u003e\u003c/a\u003e build: Remove scheduled release workflow trigger (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3366\"\u003e#3366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2d955a1ac69df0288b8072bbcd25905639e9b2ed\"\u003e\u003ccode\u003e2d955a1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3359\"\u003e#3359\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/519cd027919fa5b73bd8fe237e80c7a01b3e0b2f\"\u003e\u003ccode\u003e519cd02\u003c/code\u003e\u003c/a\u003e release: 2.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e\u003ccode\u003e87e46c2\u003c/code\u003e\u003c/a\u003e feat(api): responses.moderation and chat_completions.moderation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a28a3f6aa34f5ac6fcc2fafeb50112f2140c45ae\"\u003e\u003ccode\u003ea28a3f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3352\"\u003e#3352\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/db6ccafa7b74b72caefbda6fb63bd5c904521770\"\u003e\u003ccode\u003edb6ccaf\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2264f700dad91e4f570eb7c0a6f10bbd22d34520\"\u003e\u003ccode\u003e2264f70\u003c/code\u003e\u003c/a\u003e release: 2.40.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e\u003ccode\u003e4d5bfde\u003c/code\u003e\u003c/a\u003e fix(api): allow setting bedrock api keys on the client directly\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.13.0...v2.41.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `simplejson` from 3.20.2 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/releases\"\u003esimplejson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Python 2.7 wheel builds for Windows platforms by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/378\"\u003esimplejson/simplejson#378\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.1.0...v4.1.1\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.1.0...v4.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAccelerate indented encoding in the C extension; release 4.1.0 by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/376\"\u003esimplejson/simplejson#376\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.0.1...v4.1.0\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.0.1...v4.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExclude Pyodide wheels from PyPI uploads by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/375\"\u003esimplejson/simplejson#375\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.0.0...v4.0.1\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.0.0...v4.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eVersion 4.0.0 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003esimplejson 4 requires Python 2.7 or Python 3.8+. Older Python\nversions (2.5, 2.6, 3.0-3.7) are no longer supported. pip will\nnot install simplejson 4 on unsupported versions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now uses heap types and per-module state instead of\nstatic types and global state. This is required for free-threading\nsupport and sub-interpreter isolation. The Python-level API is\nunchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFull support for Python 3.13+ free-threading (PEP 703). The C\nextension is now safe to use with the GIL disabled (python3.14t):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eConverted all static types to heap types with per-module state\u003c/li\u003e\n\u003cli\u003eAdded per-object critical sections to scanner and encoder\u003c/li\u003e\n\u003cli\u003eAdded free-threading-safe dict operations for Python 3.13+\u003c/li\u003e\n\u003cli\u003eUnified per-module state management and templated parser\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/363\"\u003esimplejson/simplejson#363\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/364\"\u003esimplejson/simplejson#364\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/365\"\u003esimplejson/simplejson#365\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/367\"\u003esimplejson/simplejson#367\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/369\"\u003esimplejson/simplejson#369\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNumerous C extension memory safety fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix use-after-free and leak in encoder ident handling\u003c/li\u003e\n\u003cli\u003eFix NULL dereferences on OOM in module init and static string init\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/blob/main/CHANGES.txt\"\u003esimplejson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion 4.1.1 released 2026-04-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003ebuild_wheels_py27\u003c/code\u003e CI job now also builds Python 2.7 wheels\nfor Windows AMD64 and Windows x86, joining the existing Py2.7\nmanylinux1 / manylinux2010 x86_64 wheels. This unblocks offline /\n\u003ccode\u003e--no-index\u003c/code\u003e installs on Py2.7-on-Windows (the original\nreporter's case), which previously had no matching binary wheel on\nPyPI, fell through to the sdist, and failed on the PEP 517\nisolated-build step complaining that \u003ccode\u003esetuptools\u0026gt;=42\u003c/code\u003e was not in\nthe wheelhouse.\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/377\"\u003esimplejson/simplejson#377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.1.0 released 2026-04-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now accelerates encoding when \u003ccode\u003eindent=\u003c/code\u003e is set.\nPreviously the encoder fell back to the pure-Python implementation\nwhenever a non-None \u003ccode\u003eindent\u003c/code\u003e was passed; now the C encoder emits\nthe newline-plus-indent prefix, the level-aware item separator, and\nthe closing indent directly.  A representative nested-dict workload\nbenchmarks about 4-5x faster end-to-end, and the \u003ccode\u003eindent=0\u003c/code\u003e and\nempty-container edge cases continue to match the Python output\nbyte-for-byte.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now emits PEP 678 \u003ccode\u003eexc.add_note()\u003c/code\u003e annotations on\nserialization failures, matching the pure-Python encoder.  A chained\nerror on \u003ccode\u003e{'a': [1, object(), 3]}\u003c/code\u003e produces the same three notes\n(\u003ccode\u003ewhen serializing object object\u003c/code\u003e, \u003ccode\u003ewhen serializing list item 1\u003c/code\u003e,\n\u003ccode\u003ewhen serializing dict item 'a'\u003c/code\u003e) whether the speedups are loaded\nor not, so the add_note assertions in \u003ccode\u003etest_errors.py\u003c/code\u003e no longer\nneed \u003ccode\u003eindent=2\u003c/code\u003e to force the Python path.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.0.1 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip uploading Pyodide/wasm wheels to PyPI, which rejects them with\n\u0026quot;unsupported platform tag 'pyodide_2024_0_wasm32'\u0026quot;. The wheels are\nstill built in CI and preserved as workflow artifacts.\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/375\"\u003esimplejson/simplejson#375\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.0.0 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003esimplejson 4 requires Python 2.7 or Python 3.8+. Older Python\nversions (2.5, 2.6, 3.0-3.7) are no longer supported. pip will\nnot install simplejson 4 on unsupported versions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now uses heap types and per-module state instead of\nstatic types and global state. This is required for free-threading\nsupport and sub-interpreter isolation. The Python-level API is\nunchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFull support for Python 3.13+ free-threading (PEP 703). The C\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/639b2ee73b2de6b385fcd4d44e0e08054a4d8a0e\"\u003e\u003ccode\u003e639b2ee\u003c/code\u003e\u003c/a\u003e Add Python 2.7 wheel builds for Windows platforms (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/0fd3185ce301bdefe61bbbf510536fa9127962fb\"\u003e\u003ccode\u003e0fd3185\u003c/code\u003e\u003c/a\u003e Accelerate indented encoding in the C extension; release 4.1.0 (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/376\"\u003e#376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/19b5f94f235d3ac11646b82c02f292845b2aa184\"\u003e\u003ccode\u003e19b5f94\u003c/code\u003e\u003c/a\u003e Exclude Pyodide wheels from PyPI uploads (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/375\"\u003e#375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/1608c050bbc2ae67ddfe913dad83bed7d588aa27\"\u003e\u003ccode\u003e1608c05\u003c/code\u003e\u003c/a\u003e Use JSONDecodeError for out-of-range end indices in C scanstring (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/374\"\u003e#374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/3bba17935f12695355b5280df2a93bf963b704dd\"\u003e\u003ccode\u003e3bba179\u003c/code\u003e\u003c/a\u003e Encoder parity fixes (for_json/_asdict) and TSan stress CI job (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/7b22d65b92ac7e69f740f59fe11548216b79c098\"\u003e\u003ccode\u003e7b22d65\u003c/code\u003e\u003c/a\u003e Error parity for the C and Python scanstring in surrogate and truncated strin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/825100a7fc498dafae31d10bef3e3cfaba1fdc5b\"\u003e\u003ccode\u003e825100a\u003c/code\u003e\u003c/a\u003e Release version 4.0.0: free-threading, CPython json parity, Python 2.7 fixes ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/0dbb9d875127a9009f01a4036fa950b0a5f4f589\"\u003e\u003ccode\u003e0dbb9d8\u003c/code\u003e\u003c/a\u003e C extension: dead code cleanup, fast paths for dict/list/string encoding, cor...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/e2e5f0b2d3bae3fd9a56bbaab42f6d75fb980ad5\"\u003e\u003ccode\u003ee2e5f0b\u003c/code\u003e\u003c/a\u003e Add Python 3.13+ free-threading support to dict oper...\n\n_Description has been truncated_","html_url":"https://github.com/AnnieCynthia134/opentelemetry-demo-application/pull/296","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnnieCynthia134%2Fopentelemetry-demo-application/issues/296","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/296/packages"}},{"old_version":"7.0.0","new_version":"7.2.2","update_type":"minor","path":null,"pr_created_at":"2026-06-12T00:37:20.000Z","version_change":"7.0.0 → 7.2.2","issue":{"uuid":"4645245138","node_id":"PR_kwDOSJ-KK87ljcGf","number":132,"state":"closed","title":"Bump the pip-production-dependencies group across 3 directories with 15 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-15T00:37:11.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-12T00:37:20.000Z","updated_at":"2026-06-15T00:37:13.000Z","time_to_close":259191,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip-production-dependencies","update_count":15,"packages":[{"name":"grpcio-health-checking","old_version":"1.78.0","new_version":"1.81.1"},{"name":"openfeature-provider-flagd","old_version":"0.2.3","new_version":"0.5.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-distro","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.40.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"python-json-logger","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"openfeature-provider-ofrep","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-api","old_version":"1.40.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-jinja2","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.40.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-production-dependencies group with 15 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.1` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 11 updates in the /src/load-generator directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 6 updates in the /src/recommendation directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.1` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n\n\nUpdates `grpcio-health-checking` from 1.78.0 to 1.81.1\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.1...openfeature-provider-flagd/v0.5.0\"\u003e0.5.0\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003ee7d1d34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003ee1c3c6a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/9c493b82c022bcee18bfce02f829153b98efe53d\"\u003e\u003ccode\u003e9c493b8\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.5.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003e\u003ccode\u003ee7d1d34\u003c/code\u003e\u003c/a\u003e feat!: DISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003e\u003ccode\u003ee1c3c6a\u003c/code\u003e\u003c/a\u003e feat: make use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c4b425776715f85b04c1c29e007d095d9025760b\"\u003e\u003ccode\u003ec4b4257\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/394\"\u003e#394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/daafd7336ecfba856803965cf26c198bb0e4f22c\"\u003e\u003ccode\u003edaafd73\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/f084e84b22a7ed1aef3a800ee4a07cf3a6095f6b\"\u003e\u003ccode\u003ef084e84\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-distro` from 0.61b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-distro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.40.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.40.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v7.0.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-json-logger` from 4.0.0 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/releases\"\u003epython-json-logger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/blob/main/docs/changelog.md\"\u003epython-json-logger's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/d80c68da770154d9662975b789cabcc9a3e99408\"\u003e\u003ccode\u003ed80c68d\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/b589b2a576ac058dc55be934159b67060a288756\"\u003e\u003ccode\u003eb589b2a\u003c/code\u003e\u003c/a\u003e [pyproject] Update license table to PEP 639 format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/2bb784a92250c60035a7e4536d1ef48cd02e50d5\"\u003e\u003ccode\u003e2bb784a\u003c/code\u003e\u003c/a\u003e Update code unlocked by Python 3.10 minimum version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/79599b5a6ad5e38c18c468fd0e4ac790961d6b5f\"\u003e\u003ccode\u003e79599b5\u003c/code\u003e\u003c/a\u003e Drop python 3.8, 3.9 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/622650c1f543e7909e8711e4a30c96cc2aa6e332\"\u003e\u003ccode\u003e622650c\u003c/code\u003e\u003c/a\u003e [docs.contributing] Update unsupported JSON encoders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/06165bb03f9892fc24762acabf6b1b0b35c6b56b\"\u003e\u003ccode\u003e06165bb\u003c/code\u003e\u003c/a\u003e [tests.test_formatters] Add non-printable bytes to test_common_types_encoded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/61f88a9fe7cee3409db9c589b03b15c2ffdc3ffa\"\u003e\u003ccode\u003e61f88a9\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify which packages have been considered and rejected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/0add524a24c6210807a66e0f9149200b32cc98a9\"\u003e\u003ccode\u003e0add524\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify when we will add support for new third-party pack...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/eee9505610a64276341a03f2a0b0dee5f500916b\"\u003e\u003ccode\u003eeee9505\u003c/code\u003e\u003c/a\u003e [pylint] Remove old command\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/804592648f8d0e56f7f41112d2945cf52d1d2a6b\"\u003e\u003ccode\u003e8045926\u003c/code\u003e\u003c/a\u003e [mypy] Don't ignore orjson\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-ofrep` from 0.2.0 to 0.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-ofrep's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-ofrep: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eofrep:\u003c/strong\u003e handle 401, 403, 404 and 5xx errors explicitly and add tests (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/346\"\u003e#346\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/7e18bc120ee1a310c28c96aac5b608941889d756\"\u003e7e18bc1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36db67de59732463a372c056525d6453d8a51a75\"\u003e36db67d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36c52d03aeddf5aa922f74ca7ef5c0ec9f6b790d\"\u003e\u003ccode\u003e36c52d0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency asserts to \u0026gt;=0.14.0,\u0026lt;0.15.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003e\u003ccode\u003ec119a77\u003c/code\u003e\u003c/a\u003e fix: various custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c8c9ebe7b2cd51e8c0ce065fdb4e024aecfd3ff3\"\u003e\u003ccode\u003ec8c9ebe\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/372\"\u003e#372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6d3c5f8adafe7150c9bab519ed6c866ff5f85478\"\u003e\u003ccode\u003e6d3c5f8\u003c/code\u003e\u003c/a\u003e chore: stabilize transitive flagd deps (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6b7c78e1f08ad862059bd31d6aef18f66224a755\"\u003e\u003ccode\u003e6b7c78e\u003c/code\u003e\u003c/a\u003e fix(security): update vulnerability-updates [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e\u003ccode\u003e1995534\u003c/code\u003e\u003c/a\u003e feat(flagd): extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.40.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.40.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-jinja2` from 0.61b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-jinja2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-requests` from 0.61b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-requests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-system-metrics` from 0.61b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-system-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-urllib3` from 0.61b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-urllib3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-sdk` from 1.40.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.40.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-semantic-conventions` from 0.61b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-semantic-conventions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990...\n\n_Description has been truncated_","html_url":"https://github.com/honeycombio/ced-opentelemetry-demo-app-academy-courses/pull/132","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/honeycombio%2Fced-opentelemetry-demo-app-academy-courses/issues/132","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/132/packages"}},{"old_version":"7.0.0","new_version":"7.2.2","update_type":"minor","path":null,"pr_created_at":"2026-06-11T23:40:00.000Z","version_change":"7.0.0 → 7.2.2","issue":{"uuid":"4644999923","node_id":"PR_kwDORxQaNc7lirLd","number":204,"state":"closed","title":"build(deps): bump the pip-production-dependencies group across 5 directories with 18 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-12T23:38:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-11T23:40:00.000Z","updated_at":"2026-06-12T23:38:47.000Z","time_to_close":86326,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pip-production-dependencies","update_count":18,"packages":[{"name":"grpcio-health-checking","old_version":"1.78.0","new_version":"1.81.1"},{"name":"openfeature-provider-flagd","old_version":"0.2.3","new_version":"0.5.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-distro","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.40.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"python-json-logger","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"psycopg2-binary","old_version":"2.9.11","new_version":"2.9.12","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"openai","old_version":"2.26.0","new_version":"2.41.1","repository_url":"https://github.com/openai/openai-python"},{"name":"simplejson","old_version":"3.20.2","new_version":"4.1.1","repository_url":"https://github.com/simplejson/simplejson"},{"name":"openfeature-provider-ofrep","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-api","old_version":"1.40.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-jinja2","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.40.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.61b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-production-dependencies group with 18 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.1` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.11` | `2.9.12` |\n| [openai](https://github.com/openai/openai-python) | `2.26.0` | `2.41.1` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.2` | `4.1.1` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 2 updates in the /src/llm directory: [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) and [python-json-logger](https://github.com/nhairs/python-json-logger).\nBumps the pip-production-dependencies group with 11 updates in the /src/load-generator directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.61b0` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 9 updates in the /src/product-reviews directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.1` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.11` | `2.9.12` |\n| [openai](https://github.com/openai/openai-python) | `2.26.0` | `2.41.1` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.2` | `4.1.1` |\n\nBumps the pip-production-dependencies group with 6 updates in the /src/recommendation directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.1` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n\n\nUpdates `grpcio-health-checking` from 1.78.0 to 1.81.1\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.1...openfeature-provider-flagd/v0.5.0\"\u003e0.5.0\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003ee7d1d34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003ee1c3c6a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/9c493b82c022bcee18bfce02f829153b98efe53d\"\u003e\u003ccode\u003e9c493b8\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.5.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003e\u003ccode\u003ee7d1d34\u003c/code\u003e\u003c/a\u003e feat!: DISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003e\u003ccode\u003ee1c3c6a\u003c/code\u003e\u003c/a\u003e feat: make use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c4b425776715f85b04c1c29e007d095d9025760b\"\u003e\u003ccode\u003ec4b4257\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/394\"\u003e#394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/daafd7336ecfba856803965cf26c198bb0e4f22c\"\u003e\u003ccode\u003edaafd73\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/f084e84b22a7ed1aef3a800ee4a07cf3a6095f6b\"\u003e\u003ccode\u003ef084e84\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-distro` from 0.61b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-distro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.40.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.40.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v7.0.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-json-logger` from 4.0.0 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/releases\"\u003epython-json-logger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/blob/main/docs/changelog.md\"\u003epython-json-logger's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/d80c68da770154d9662975b789cabcc9a3e99408\"\u003e\u003ccode\u003ed80c68d\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/b589b2a576ac058dc55be934159b67060a288756\"\u003e\u003ccode\u003eb589b2a\u003c/code\u003e\u003c/a\u003e [pyproject] Update license table to PEP 639 format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/2bb784a92250c60035a7e4536d1ef48cd02e50d5\"\u003e\u003ccode\u003e2bb784a\u003c/code\u003e\u003c/a\u003e Update code unlocked by Python 3.10 minimum version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/79599b5a6ad5e38c18c468fd0e4ac790961d6b5f\"\u003e\u003ccode\u003e79599b5\u003c/code\u003e\u003c/a\u003e Drop python 3.8, 3.9 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/622650c1f543e7909e8711e4a30c96cc2aa6e332\"\u003e\u003ccode\u003e622650c\u003c/code\u003e\u003c/a\u003e [docs.contributing] Update unsupported JSON encoders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/06165bb03f9892fc24762acabf6b1b0b35c6b56b\"\u003e\u003ccode\u003e06165bb\u003c/code\u003e\u003c/a\u003e [tests.test_formatters] Add non-printable bytes to test_common_types_encoded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/61f88a9fe7cee3409db9c589b03b15c2ffdc3ffa\"\u003e\u003ccode\u003e61f88a9\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify which packages have been considered and rejected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/0add524a24c6210807a66e0f9149200b32cc98a9\"\u003e\u003ccode\u003e0add524\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify when we will add support for new third-party pack...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/eee9505610a64276341a03f2a0b0dee5f500916b\"\u003e\u003ccode\u003eeee9505\u003c/code\u003e\u003c/a\u003e [pylint] Remove old command\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/804592648f8d0e56f7f41112d2945cf52d1d2a6b\"\u003e\u003ccode\u003e8045926\u003c/code\u003e\u003c/a\u003e [mypy] Don't ignore orjson\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2-binary` from 2.9.11 to 2.9.12\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2-binary's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.12\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite loop with malformed interval (:ticket:\u003ccode\u003e1835\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform binary packages (:ticket:\u003ccode\u003e[#1813](https://github.com/psycopg/psycopg2/issues/1813)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/3a6d9d6ddc6b53eaa80b712f5fa6b23abbdc38db\"\u003e\u003ccode\u003e3a6d9d6\u003c/code\u003e\u003c/a\u003e ci: include almalinux in whieel building\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ebca6bf0f86bc6cbdc86de1eb3a53eaf49966d86\"\u003e\u003ccode\u003eebca6bf\u003c/code\u003e\u003c/a\u003e chore: bump to version 3.9.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/0196f02cc9512df8de3c941f87d27bda98f9f7af\"\u003e\u003ccode\u003e0196f02\u003c/code\u003e\u003c/a\u003e build(deps): bump pypa/cibuildwheel from 3.3.1 to 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d157bdc2235a42dc1742936dbb0f5cfc8e4d2eb7\"\u003e\u003ccode\u003ed157bdc\u003c/code\u003e\u003c/a\u003e build(deps): bump docker/setup-qemu-action from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/7fccc0f5066a40dea530512abbf02621f4182b81\"\u003e\u003ccode\u003e7fccc0f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d52a61eb2e6095fc1b9891bfcca44ebfac509e55\"\u003e\u003ccode\u003ed52a61e\u003c/code\u003e\u003c/a\u003e chore: bump dependency libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/b231d726a01d55e07ec3620b2b82f4a2da37ba62\"\u003e\u003ccode\u003eb231d72\u003c/code\u003e\u003c/a\u003e chore: fix building binary images\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/6d76e8479f0f522c2e07ce0e2701030d8fd63785\"\u003e\u003ccode\u003e6d76e84\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1836\"\u003e#1836\u003c/a\u003e from psycopg/fix-1835\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/f7e314c7ab418ab9b9956e694956089a49c5c3b9\"\u003e\u003ccode\u003ef7e314c\u003c/code\u003e\u003c/a\u003e fix: overflow in malformed interval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/eb905c124b75f2a5183d22177b85af20914b0f17\"\u003e\u003ccode\u003eeb905c1\u003c/code\u003e\u003c/a\u003e docs: replace bare except clause with except Exception\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.11...2.9.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.26.0 to 2.41.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.41.1\u003c/h2\u003e\n\u003ch2\u003e2.41.1 (2026-06-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.41.0...v2.41.1\"\u003ev2.41.0...v2.41.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBuild System\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove scheduled release workflow trigger (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3366\"\u003e#3366\u003c/a\u003e) (\u003ca href=\"https://github.com/openai/openai-python/commit/2a91011abc21032db9566b98068afefb5fbb9b24\"\u003e2a91011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.41.0\u003c/h2\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.40.0\u003c/h2\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.39.0\u003c/h2\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.41.1 (2026-06-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.41.0...v2.41.1\"\u003ev2.41.0...v2.41.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBuild System\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove scheduled release workflow trigger (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3366\"\u003e#3366\u003c/a\u003e) (\u003ca href=\"https://github.com/openai/openai-python/commit/2a91011abc21032db9566b98068afefb5fbb9b24\"\u003e2a91011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/71987563c833806bb9854c2f74d430a26e319246\"\u003e\u003ccode\u003e7198756\u003c/code\u003e\u003c/a\u003e release: 2.41.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/3842a5ea01e8ecb7d6b159b9236c0c60ceff5de3\"\u003e\u003ccode\u003e3842a5e\u003c/code\u003e\u003c/a\u003e ci: use PyPI trusted publishing (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3365\"\u003e#3365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2a91011abc21032db9566b98068afefb5fbb9b24\"\u003e\u003ccode\u003e2a91011\u003c/code\u003e\u003c/a\u003e build: Remove scheduled release workflow trigger (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3366\"\u003e#3366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2d955a1ac69df0288b8072bbcd25905639e9b2ed\"\u003e\u003ccode\u003e2d955a1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3359\"\u003e#3359\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/519cd027919fa5b73bd8fe237e80c7a01b3e0b2f\"\u003e\u003ccode\u003e519cd02\u003c/code\u003e\u003c/a\u003e release: 2.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e\u003ccode\u003e87e46c2\u003c/code\u003e\u003c/a\u003e feat(api): responses.moderation and chat_completions.moderation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a28a3f6aa34f5ac6fcc2fafeb50112f2140c45ae\"\u003e\u003ccode\u003ea28a3f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3352\"\u003e#3352\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/db6ccafa7b74b72caefbda6fb63bd5c904521770\"\u003e\u003ccode\u003edb6ccaf\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2264f700dad91e4f570eb7c0a6f10bbd22d34520\"\u003e\u003ccode\u003e2264f70\u003c/code\u003e\u003c/a\u003e release: 2.40.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e\u003ccode\u003e4d5bfde\u003c/code\u003e\u003c/a\u003e fix(api): allow setting bedrock api keys on the client directly\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.26.0...v2.41.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `simplejson` from 3.20.2 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/releases\"\u003esimplejson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Python 2.7 wheel builds for Windows platforms by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/378\"\u003esimplejson/simplejson#378\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.1.0...v4.1.1\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.1.0...v4.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAccelerate indented encoding in the C extension; release 4.1.0 by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/376\"\u003esimplejson/simplejson#376\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.0.1...v4.1.0\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.0.1...v4.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExclude Pyodide wheels from PyPI uploads by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/375\"\u003esimplejson/simplejson#375\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.0.0...v4.0.1\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.0.0...v4.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eVersion 4.0.0 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003esimplejson 4 requires Python 2.7 or Python 3.8+. Older Python\nversions (2.5, 2.6, 3.0-3.7) are no longer supported. pip will\nnot install simplejson 4 on unsupported versions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now uses heap types and per-module state instead of\nstatic types and global state. This is required for free-threading\nsupport and sub-interpreter isolation. The Python-level API is\nunchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFull support for Python 3.13+ free-threading (PEP 703). The C\nextension is now safe to use with the GIL disabled (python3.14t):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eConverted all static types to heap types with per-module state\u003c/li\u003e\n\u003cli\u003eAdded per-object critical sections to scanner and encoder\u003c/li\u003e\n\u003cli\u003eAdded free-threading-safe dict operations for Python 3.13+\u003c/li\u003e\n\u003cli\u003eUnified per-module state management and templated parser\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/363\"\u003esimplejson/simplejson#363\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/364\"\u003esimplejson/simplejson#364\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/365\"\u003esimplejson/simplejson#365\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/367\"\u003esimplejson/simplejson#367\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/369\"\u003esimplejson/simplejson#369\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNumerous C extension memory safety fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix use-after-free and leak in encoder ident handling\u003c/li\u003e\n\u003cli\u003eFix NULL dereferences on OOM in module init and static string init\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/blob/main/CHANGES.txt\"\u003esimplejson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion 4.1.1 released 2026-04-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003ebuild_wheels_py27\u003c/code\u003e CI job now also builds Python 2.7 wheels\nfor Windows AMD64 and Windows x86, joining the existing Py2.7\nmanylinux1 / manylinux2010 x86_64 wheels. This unblocks offline /\n\u003ccode\u003e--no-index\u003c/code\u003e installs on Py2.7-on-Windows (the original\nreporter's case), which previously had no matching binary wheel on\nPyPI, fell through to the sdist, and failed on the PEP 517\nisolated-build step complaining that \u003ccode\u003esetuptools\u0026gt;=42\u003c/code\u003e was not in\nthe wheelhouse.\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/377\"\u003esimplejson/simplejson#377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.1.0 released 2026-04-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now accelerates encoding when \u003ccode\u003eindent=\u003c/code\u003e is set.\nPreviously the encoder fell back to the pure-Python implementation\nwhenever a non-None \u003ccode\u003eindent\u003c/code\u003e was passed; now the C encoder emits\nthe newline-plus-indent prefix, the level-aware item separator, and\nthe closing indent directly.  A representative nested-dict workload\nbenchmarks about 4-5x faster end-to-end, and the \u003ccode\u003eindent=0\u003c/code\u003e and\nempty-container edge cases continue to match the Python output\nbyte-for-byte.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now emits PEP 678 \u003ccode\u003eexc.add_note()\u003c/code\u003e annotations on\nserialization failures, matching the pure-Python encoder.  A chained\nerror on \u003ccode\u003e{'a': [1, object(), 3]}\u003c/code\u003e produces the same three notes\n(\u003ccode\u003ewhen serializing object object\u003c/code\u003e, \u003ccode\u003ewhen serializing list item 1\u003c/code\u003e,\n\u003ccode\u003ewhen serializing dict item 'a'\u003c/code\u003e) whether the speedups are loaded\nor not, so the add_note assertions in \u003ccode\u003etest_errors.py\u003c/code\u003e no longer\nneed \u003ccode\u003eindent=2\u003c/code\u003e to force the Python path.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.0.1 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip uploading Pyodide/wasm wheels to PyPI, which rejects them with\n\u0026quot;unsupported platform tag 'pyodide_2024_0_wasm32'\u0026quot;. The wheels are\nstill built in CI and preserved as workflow artifacts.\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/375\"\u003esimplejson/simplejson#375\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.0.0 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003esimplejson 4 requires Python 2.7 or Python 3.8+. Older Python\nversions (2.5, 2.6, 3.0-3.7) are no longer supported. pip will\nnot install simplejson 4 on unsupported versions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now uses heap types and per-module state instead of\nstatic types and global state. This is required for free-threading\nsupport and sub-interpreter isolation. The Python-level API is\nunchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFull support for Python 3.13+ free-threading (PEP 703). The C\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/639b2ee73b2de6b385fcd4d44e0e08054a4d8a0e\"\u003e\u003ccode\u003e639b2ee\u003c/code\u003e\u003c/a\u003e Add Python 2.7 wheel builds for Windows platforms (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/0fd3185ce301bdefe61bbbf510536fa9127962fb\"\u003e\u003ccode\u003e0fd3185\u003c/code\u003e\u003c/a\u003e Accelerate indented encoding in the C extension; release 4.1.0 (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/376\"\u003e#376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/19b5f94f235d3ac11646b82c02f292845b2aa184\"\u003e\u003ccode\u003e19b5f94\u003c/code\u003e\u003c/a\u003e Exclude Pyodide wheels from PyPI uploads (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/375\"\u003e#375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/1608c050bbc2ae67ddfe913dad83bed7d588aa27\"\u003e\u003ccode\u003e1608c05\u003c/code\u003e\u003c/a\u003e Use JSONDecodeError for out-of-range end indices in C scanstring (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/374\"\u003e#374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/3bba17935f12695355b5280df2a93bf963b704dd\"\u003e\u003ccode\u003e3bba179\u003c/code\u003e\u003c/a\u003e Encoder parity fixes (for_json/_asdict) and TSan stress CI job (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/7b22d65b92ac7e69f740f59fe11548216b79c098\"\u003e\u003ccode\u003e7b22d65\u003c/code\u003e\u003c/a\u003e Error parity for the C and Python scanstring in surrogate and truncated strin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/825100a7fc498dafae31d10bef3e3cfaba1fdc5b\"\u003e\u003ccode\u003e825100a\u003c/code\u003e\u003c/a\u003e Release version 4.0.0: free-threading, CPython json parity, Python 2.7 fixes ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/0dbb9d875127a9009f01a4036fa950b0a5f4f589\"\u003e\u003ccode\u003e0dbb9d8\u003c/code\u003e\u003c/a\u003e C extension: dead code cleanup, fast paths for dict/list/string encoding, cor...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/e2e5f0b2d3bae3fd9a56bbaab42f6d75fb980ad5\"\u003e\u003ccode\u003ee2e5f0b\u003c/code\u003e\u003c/a\u003e Add Python 3.13+ free-threading support to dict operations (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/369\"\u003e#369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/e817370a91f4f51a0aec5f0f7bdeb1ca601ed101\"\u003e\u003ccode\u003ee817370\u003c/code\u003e\u003c/a\u003e Fix free-threading (3.14t) crashes: heap types, unified per-module state, tem...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/simplejson/simplejson/compare/v3.20.2...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-ofrep` from 0.2.0 to 0.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-ofrep's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-ofrep: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eofrep:\u003c/strong\u003e handle 401, 403, 404 and 5xx errors explicitly and add tests (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/346\"\u003e#346\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/7e18bc120ee1a310c28c96aac5b608941889d756\"\u003e7e18bc1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36db67de59732463a372c056525d6453d8a51a75\"\u003e36db67d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36c52d03aeddf5aa922f74ca7ef5c0ec9f6b790d\"\u003e\u003ccode\u003e36c52d0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency asserts to \u0026gt;=0.14.0,\u0026lt;0.15.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003e\u003ccode\u003ec119a77\u003c/code\u003e\u003c/a\u003e fix: various custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c8c9ebe7b2cd51e8c0ce065fdb4e024aecfd3ff3\"\u003e\u003ccode\u003ec8c9ebe\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/372\"\u003e#372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6d3c5f8adafe7150c9bab519ed6c866ff5f85478\"\u003e\u003ccode\u003e6d3c5f8\u003c/code\u003e\u003c/a\u003e chore: stabilize transitive flagd deps (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6b7c78e1f08ad862059bd31d6aef18f66224a755\"\u003e\u003ccode\u003e6b7c78e\u003c/code\u003e\u003c/a\u003e fix(security): update vulnerability-updates [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e\u003ccode\u003e1995534\u003c/code\u003e\u003c/a\u003e feat(flagd): extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.40.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.40.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-jinja2` from 0.61b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-jinja2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https:/...\n\n_Description has been truncated_","html_url":"https://github.com/GuanceDemo/OpenTelemetry_Demo/pull/204","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuanceDemo%2FOpenTelemetry_Demo/issues/204","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/204/packages"}},{"old_version":"7.0.0","new_version":"7.2.2","update_type":"minor","path":null,"pr_created_at":"2026-06-10T20:30:18.000Z","version_change":"7.0.0 → 7.2.2","issue":{"uuid":"4634745208","node_id":"PR_kwDORX-XEs7lB3N7","number":249,"state":"closed","title":"Bump the pip-production-dependencies group across 5 directories with 21 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T20:30:24.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-10T20:30:18.000Z","updated_at":"2026-06-11T20:30:26.000Z","time_to_close":86406,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip-production-dependencies","update_count":21,"packages":[{"name":"python-dotenv","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"python-json-logger","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"flask","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"openfeature-provider-flagd","old_version":"0.2.3","new_version":"0.5.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"grpcio-health-checking","old_version":"1.78.0","new_version":"1.81.0"},{"name":"openfeature-hooks-opentelemetry","old_version":"0.3.0","new_version":"0.3.1","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-distro","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.39.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"psycopg2-binary","old_version":"2.9.11","new_version":"2.9.12","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"openai","old_version":"2.17.0","new_version":"2.41.1","repository_url":"https://github.com/openai/openai-python"},{"name":"simplejson","old_version":"3.20.2","new_version":"4.1.1","repository_url":"https://github.com/simplejson/simplejson"},{"name":"openfeature-provider-ofrep","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-api","old_version":"1.39.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-jinja2","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.39.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-production-dependencies group with 21 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.3.0` | `0.3.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.11` | `2.9.12` |\n| [openai](https://github.com/openai/openai-python) | `2.17.0` | `2.41.1` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.2` | `4.1.1` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 4 updates in the /src/llm directory: [python-dotenv](https://github.com/theskumar/python-dotenv), [python-json-logger](https://github.com/nhairs/python-json-logger), [flask](https://github.com/pallets/flask) and [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib).\nBumps the pip-production-dependencies group with 13 updates in the /src/load-generator directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.3.0` | `0.3.1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 11 updates in the /src/product-reviews directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.3.0` | `0.3.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.11` | `2.9.12` |\n| [openai](https://github.com/openai/openai-python) | `2.17.0` | `2.41.1` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.2` | `4.1.1` |\n\nBumps the pip-production-dependencies group with 8 updates in the /src/recommendation directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.3.0` | `0.3.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n\n\nUpdates `python-dotenv` from 1.2.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (#)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/607\"\u003etheskumar/python-dotenv#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e#790c5\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by \u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eskip 000 permission tests for root user by \u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/593\"\u003etheskumar/python-dotenv#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Windows testing to CI by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/604\"\u003etheskumar/python-dotenv#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove workflow efficiency with best practices by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/609\"\u003etheskumar/python-dotenv#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of \u003ccode\u003esh\u003c/code\u003e in tests by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/612\"\u003etheskumar/python-dotenv#612\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpackham-atlnz\"\u003e\u003ccode\u003e@​cpackham-atlnz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/597\"\u003etheskumar/python-dotenv#597\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.2] - 2026-03-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/607\"\u003e#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eDropped Support for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in [790c5c0]\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by [\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/590\"\u003e#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/36004e0e34be7665ff2b11a8a4005144f76f176d\"\u003e\u003ccode\u003e36004e0\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.1 → 1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eb202520e5933c9daf42501e1e42fdb0144002c8\"\u003e\u003ccode\u003eeb20252\u003c/code\u003e\u003c/a\u003e docs: update changelog for v1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e\u003ccode\u003e790c5c0\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/43340da220fb4ca4f95357bbe21a3c7f8f1278b1\"\u003e\u003ccode\u003e43340da\u003c/code\u003e\u003c/a\u003e Remove the use of \u003ccode\u003esh\u003c/code\u003e in tests (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/09d7cee32459e7abdcb5c9d8122a552589c06a9c\"\u003e\u003ccode\u003e09d7cee\u003c/code\u003e\u003c/a\u003e docs: clarify override behavior and document FIFO support (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/c8de2887c00198c22842c5ae5e92d1747467363c\"\u003e\u003ccode\u003ec8de288\u003c/code\u003e\u003c/a\u003e ci: improve workflow efficiency with best practices (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/609\"\u003e#609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/7bd9e3dbfedc0983ad7d56d5570013035242bdf4\"\u003e\u003ccode\u003e7bd9e3d\u003c/code\u003e\u003c/a\u003e Add Windows testing to CI (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1baaf04f336072e0ee324d5df9563ec767f14f81\"\u003e\u003ccode\u003e1baaf04\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 support and update to PyPy 3.11 (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/4a22cf8993804aeede0c20b75bb1a29d3a99e9dc\"\u003e\u003ccode\u003e4a22cf8\u003c/code\u003e\u003c/a\u003e ci: enable testing on Python 3.14t (free-threaded) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/e2e8e776b42e382ae38b44d3982dd649e7507dd4\"\u003e\u003ccode\u003ee2e8e77\u003c/code\u003e\u003c/a\u003e Fix license specifier (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-json-logger` from 4.0.0 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/releases\"\u003epython-json-logger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/blob/main/docs/changelog.md\"\u003epython-json-logger's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/d80c68da770154d9662975b789cabcc9a3e99408\"\u003e\u003ccode\u003ed80c68d\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/b589b2a576ac058dc55be934159b67060a288756\"\u003e\u003ccode\u003eb589b2a\u003c/code\u003e\u003c/a\u003e [pyproject] Update license table to PEP 639 format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/2bb784a92250c60035a7e4536d1ef48cd02e50d5\"\u003e\u003ccode\u003e2bb784a\u003c/code\u003e\u003c/a\u003e Update code unlocked by Python 3.10 minimum version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/79599b5a6ad5e38c18c468fd0e4ac790961d6b5f\"\u003e\u003ccode\u003e79599b5\u003c/code\u003e\u003c/a\u003e Drop python 3.8, 3.9 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/622650c1f543e7909e8711e4a30c96cc2aa6e332\"\u003e\u003ccode\u003e622650c\u003c/code\u003e\u003c/a\u003e [docs.contributing] Update unsupported JSON encoders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/06165bb03f9892fc24762acabf6b1b0b35c6b56b\"\u003e\u003ccode\u003e06165bb\u003c/code\u003e\u003c/a\u003e [tests.test_formatters] Add non-printable bytes to test_common_types_encoded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/61f88a9fe7cee3409db9c589b03b15c2ffdc3ffa\"\u003e\u003ccode\u003e61f88a9\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify which packages have been considered and rejected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/0add524a24c6210807a66e0f9149200b32cc98a9\"\u003e\u003ccode\u003e0add524\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify when we will add support for new third-party pack...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/eee9505610a64276341a03f2a0b0dee5f500916b\"\u003e\u003ccode\u003eeee9505\u003c/code\u003e\u003c/a\u003e [pylint] Remove old command\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/804592648f8d0e56f7f41112d2945cf52d1d2a6b\"\u003e\u003ccode\u003e8045926\u003c/code\u003e\u003c/a\u003e [mypy] Don't ignore orjson\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.1.2 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.1.2...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.1...openfeature-provider-flagd/v0.5.0\"\u003e0.5.0\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003ee7d1d34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003ee1c3c6a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/9c493b82c022bcee18bfce02f829153b98efe53d\"\u003e\u003ccode\u003e9c493b8\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.5.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003e\u003ccode\u003ee7d1d34\u003c/code\u003e\u003c/a\u003e feat!: DISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003e\u003ccode\u003ee1c3c6a\u003c/code\u003e\u003c/a\u003e feat: make use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c4b425776715f85b04c1c29e007d095d9025760b\"\u003e\u003ccode\u003ec4b4257\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/394\"\u003e#394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/daafd7336ecfba856803965cf26c198bb0e4f22c\"\u003e\u003ccode\u003edaafd73\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/f084e84b22a7ed1aef3a800ee4a07cf3a6095f6b\"\u003e\u003ccode\u003ef084e84\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `grpcio-health-checking` from 1.78.0 to 1.81.0\n\nUpdates `openfeature-hooks-opentelemetry` from 0.3.0 to 0.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-hooks-opentelemetry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-hooks-opentelemetry: v0.3.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-hooks-opentelemetry/v0.3.0...openfeature-hooks-opentelemetry/v0.3.1\"\u003e0.3.1\u003c/a\u003e (2026-02-17)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlign TracingHook with spec (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/342\"\u003e#342\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2a2127d958ea0bafabb673335fd0d9665c8d9291\"\u003e2a2127d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83926dea688eac265405b79c2ec00c9d08c8862e\"\u003e\u003ccode\u003e83926de\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-hooks-opentelemetry 0.3.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2a2127d958ea0bafabb673335fd0d9665c8d9291\"\u003e\u003ccode\u003e2a2127d\u003c/code\u003e\u003c/a\u003e fix: Align TracingHook with spec (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/342\"\u003e#342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c08b414007f6ce10dcb83249142f054b6d6043d6\"\u003e\u003ccode\u003ec08b414\u003c/code\u003e\u003c/a\u003e chore: align unleash pyproject.toml to others (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/341\"\u003e#341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/8239b836a25663e0030b3891d0140cb365798a37\"\u003e\u003ccode\u003e8239b83\u003c/code\u003e\u003c/a\u003e feat(provider): add \u003ccode\u003eaws-ssm\u003c/code\u003e provider (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/331\"\u003e#331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e\u003ccode\u003e61add22\u003c/code\u003e\u003c/a\u003e fix: replace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/a835c77f10c82af2157ea15be0ffae7bad79b8ce\"\u003e\u003ccode\u003ea835c77\u003c/code\u003e\u003c/a\u003e chore: relax \u003ccode\u003etypes-requests\u003c/code\u003e and update \u003ccode\u003egrpcio\u003c/code\u003e version constraints (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/334\"\u003e#334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/a345ef9f1ea3333e49a173553a9098f5db6746a7\"\u003e\u003ccode\u003ea345ef9\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.2.7 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/290\"\u003e#290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/b9c164a2342d101e23e062a81558f02fe0a38c0b\"\u003e\u003ccode\u003eb9c164a\u003c/code\u003e\u003c/a\u003e fix(security): update dependency protobuf to v6.33.5 [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2feabd5d70bef2de6661fadf3d74238991a27466\"\u003e\u003ccode\u003e2feabd5\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-unleash 0.1.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/332\"\u003e#332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/dcb8fadfbc0263e68c381681b5b92cb5fea2dc0d\"\u003e\u003ccode\u003edcb8fad\u003c/code\u003e\u003c/a\u003e chore: add component owners\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-hooks-opentelemetry/v0.3.0...openfeature-hooks-opentelemetry/v0.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-distro` from 0.60b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-distro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.39.1 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.39.1...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v7.0.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2-binary` from 2.9.11 to 2.9.12\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2-binary's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.12\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite loop with malformed interval (:ticket:\u003ccode\u003e1835\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform binary packages (:ticket:\u003ccode\u003e[#1813](https://github.com/psycopg/psycopg2/issues/1813)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/3a6d9d6ddc6b53eaa80b712f5fa6b23abbdc38db\"\u003e\u003ccode\u003e3a6d9d6\u003c/code\u003e\u003c/a\u003e ci: include almalinux in whieel building\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ebca6bf0f86bc6cbdc86de1eb3a53eaf49966d86\"\u003e\u003ccode\u003eebca6bf\u003c/code\u003e\u003c/a\u003e chore: bump to version 3.9.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/0196f02cc9512df8de3c941f87d27bda98f9f7af\"\u003e\u003ccode\u003e0196f02\u003c/code\u003e\u003c/a\u003e build(deps): bump pypa/cibuildwheel from 3.3.1 to 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d157bdc2235a42dc1742936dbb0f5cfc8e4d2eb7\"\u003e\u003ccode\u003ed157bdc\u003c/code\u003e\u003c/a\u003e build(deps): bump docker/setup-qemu-action from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/7fccc0f5066a40dea530512abbf02621f4182b81\"\u003e\u003ccode\u003e7fccc0f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d52a61eb2e6095fc1b9891bfcca44ebfac509e55\"\u003e\u003ccode\u003ed52a61e\u003c/code\u003e\u003c/a\u003e chore: bump dependency libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/b231d726a01d55e07ec3620b2b82f4a2da37ba62\"\u003e\u003ccode\u003eb231d72\u003c/code\u003e\u003c/a\u003e chore: fix building binary images\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/6d76e8479f0f522c2e07ce0e2701030d8fd63785\"\u003e\u003ccode\u003e6d76e84\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1836\"\u003e#1836\u003c/a\u003e from psycopg/fix-1835\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/f7e314c7ab418ab9b9956e694956089a49c5c3b9\"\u003e\u003ccode\u003ef7e314c\u003c/code\u003e\u003c/a\u003e fix: overflow in malformed interval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/eb905c124b75f2a5183d22177b85af20914b0f17\"\u003e\u003ccode\u003eeb905c1\u003c/code\u003e\u003c/a\u003e docs: replace bare except clause with except Exception\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.11...2.9.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.17.0 to 2.41.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.41.1\u003c/h2\u003e\n\u003ch2\u003e2.41.1 (2026-06-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.41.0...v2.41.1\"\u003ev2.41.0...v2.41.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBuild System\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove scheduled release workflow trigger (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3366\"\u003e#3366\u003c/a\u003e) (\u003ca href=\"https://github.com/openai/openai-python/commit/2a91011abc21032db9566b98068afefb5fbb9b24\"\u003e2a91011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.41.0\u003c/h2\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.40.0\u003c/h2\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.39.0\u003c/h2\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.41.1 (2026-06-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.41.0...v2.41.1\"\u003ev2.41.0...v2.41.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBuild System\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove scheduled release workflow trigger (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3366\"\u003e#3366\u003c/a\u003e) (\u003ca href=\"https://github.com/openai/openai-python/commit/2a91011abc21032db9566b98068afefb5fbb9b24\"\u003e2a91011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/71987563c833806bb9854c2f74d430a26e319246\"\u003e\u003ccode\u003e7198756\u003c/code\u003e\u003c/a\u003e release: 2.41.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/3842a5ea01e8ecb7d6b159b9236c0c60ceff5de3\"\u003e\u003ccode\u003e3842a5e\u003c/code\u003e\u003c/a\u003e ci: use PyPI trusted publishing (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3365\"\u003e#3365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2a91011abc21032db9566b98068afefb5fbb9b24\"\u003e\u003ccode\u003e2a91011\u003c/code\u003e\u003c/a\u003e build: Remove scheduled release workflow trigger (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3366\"\u003e#3366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2d955a1ac69df0288b8072bbcd25905639e9b2ed\"\u003e\u003ccode\u003e2d955a1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3359\"\u003e#3359\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/519cd027919fa5b73bd8fe237e80c7a01b3e0b2f\"\u003e\u003ccode\u003e519cd02\u003c/code\u003e\u003c/a\u003e release: 2.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e\u003ccode\u003e87e46c2\u003c/code\u003e\u003c/a\u003e feat(api): responses.moderation and chat_completions.moderation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a28a3f6aa34f5ac6fcc2fafeb50112f2140c45ae\"\u003e\u003ccode\u003ea28a3f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3352\"\u003e#3352\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/db6ccafa7b74b72caefbda6fb63bd5c904521770\"\u003e\u003ccode\u003edb6ccaf\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2264f700dad91e4f570eb7c0a6f10bbd22d34520\"\u003e\u003ccode\u003e2264f70\u003c/code\u003e\u003c/a\u003e release: 2.40.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e\u003ccode\u003e4d5bfde\u003c/code\u003e\u003c/a\u003e fix(api): allow setting bedrock api keys on the client directly\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.17.0...v2.41.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `simplejson` from 3.20.2 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/releases\"\u003esimplejson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Python 2.7 wheel builds for Windows platforms by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/378\"\u003esimplejson/simplejson#378\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.1.0...v4.1.1\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.1.0...v4.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAccelerate indented encoding in the C extension; release 4.1.0 by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/376\"\u003esimplejson/simplejson#376\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.0.1...v4.1.0\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.0.1...v4.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExclude Pyodide wheels from PyPI uploads by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/375\"\u003esimplejson/simplejson#375\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.0.0...v4.0.1\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.0.0...v4.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eVersion 4.0.0 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003esimplejson 4 requires Python 2.7 or Python 3.8+. Older Python\nversions (2.5, 2.6, 3.0-3.7) are no longer supported. pip will\nnot install simplejson 4 on unsupported versions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now uses heap types and per-module state instead of\nstatic types and global state. This is required for free-threading\nsupport and sub-interpreter isolation. The Python-level API is\nunchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFull support for Python 3.13+ free-threading (PEP 703). The C\nextension is now safe to use with the GIL disabled (python3.14t):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eConverted all static types to heap types with per-module state\u003c/li\u003e\n\u003cli\u003eAdded per-object critical sections to scanner and encoder\u003c/li\u003e\n\u003cli\u003eAdded free-threading-safe dict operations for Python 3.13+\u003c/li\u003e\n\u003cli\u003eUnified per-module state management and templated parser\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/363\"\u003esimplejson/simplejson#363\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/364\"\u003esimplejson/simplejson#364\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/365\"\u003esimplejson/simplejson#365\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/367\"\u003esimplejson/simplejson#367\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/369\"\u003esimplejson/simplejson#369\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNumerous C extension memory safety fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix use-after-free and leak in encoder ident handling\u003c/li\u003e\n\u003cli\u003eFix NULL dereferences on OOM in module init and static string init\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/blob/main/CHANGES.txt\"\u003esimplejson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion 4.1.1 released 2026-04-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003ebuild_wheels_py27\u003c/code\u003e CI job now also builds Python 2.7 wheels\nfor Windows AMD64 and Windows x86, joining the existing Py2.7\nmanylinux1 / manylinux2010 x86_64 wheels. This unblocks offline /\n\u003ccode\u003e--no-index\u003c/code\u003e installs on Py2.7-on-Windows (the original\nreporter's case), which previously had no matching binary wheel on\nPyPI, fell through to the sdist, and failed on the PEP 517\nisolated-build step complaining that \u003ccode\u003esetuptools\u0026gt;=42\u003c/code\u003e was not in\nthe wheelhouse.\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/377\"\u003esimplejson/simplejson#377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.1.0 released 2026-04-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now accelerates encoding when \u003ccode\u003eindent=\u003c/code\u003e is set.\nPreviously the encoder fell back to the pure-Python implementation\nwhenever a non-None \u003ccode\u003eindent\u003c/code\u003e was passed; now the C encoder emits\nthe newline-plus-indent prefix, the level-aware item separator, and\nthe closing indent directly.  A representative nested-dict workload\nbenchmarks about 4-5x faster end-to-end, and the \u003ccode\u003eindent=0\u003c/code\u003e and\nempty-container edge cases continue to match the Python output\nbyte-for-byte.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now emits PEP 678 \u003ccode\u003eexc.add_note()\u003c/code\u003e annotations on\nserialization failures, matching the pure-Python encoder.  A chained\nerror on \u003ccode\u003e{'a': [1, object(), 3]}\u003c/code\u003e produces the same three notes\n(\u003ccode\u003ewhen serializing object object\u003c/code\u003e, \u003ccode\u003ewhen serializing list item 1\u003c/code\u003e,\n\u003ccode\u003ewhen seriali...\n\n_Description has been truncated_","html_url":"https://github.com/RANJITHKUMARJN/opentelemetrymain/pull/249","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RANJITHKUMARJN%2Fopentelemetrymain/issues/249","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/249/packages"}},{"old_version":"7.0.0","new_version":"7.2.2","update_type":"minor","path":null,"pr_created_at":"2026-06-09T03:23:25.000Z","version_change":"7.0.0 → 7.2.2","issue":{"uuid":"4618496313","node_id":"PR_kwDOSbI0jM7kMYwb","number":43,"state":"closed","title":"chore(deps): bump the pip-production-dependencies group across 5 directories with 15 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-16T03:22:14.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-09T03:23:25.000Z","updated_at":"2026-06-16T03:22:16.000Z","time_to_close":604729,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip-production-dependencies","update_count":15,"packages":[{"name":"openfeature-provider-flagd","old_version":"0.2.3","new_version":"0.5.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"grpcio-health-checking","old_version":"1.78.0","new_version":"1.81.0"},{"name":"opentelemetry-distro","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.41.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"openai","old_version":"2.34.0","new_version":"2.41.0","repository_url":"https://github.com/openai/openai-python"},{"name":"openfeature-provider-ofrep","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-api","old_version":"1.41.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-jinja2","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.41.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-production-dependencies group with 15 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [openai](https://github.com/openai/openai-python) | `2.34.0` | `2.41.0` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 1 update in the /src/llm directory: [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib).\nBumps the pip-production-dependencies group with 10 updates in the /src/load-generator directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 6 updates in the /src/product-reviews directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [openai](https://github.com/openai/openai-python) | `2.34.0` | `2.41.0` |\n\nBumps the pip-production-dependencies group with 5 updates in the /src/recommendation directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.1...openfeature-provider-flagd/v0.5.0\"\u003e0.5.0\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003ee7d1d34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003ee1c3c6a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/9c493b82c022bcee18bfce02f829153b98efe53d\"\u003e\u003ccode\u003e9c493b8\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.5.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003e\u003ccode\u003ee7d1d34\u003c/code\u003e\u003c/a\u003e feat!: DISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003e\u003ccode\u003ee1c3c6a\u003c/code\u003e\u003c/a\u003e feat: make use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c4b425776715f85b04c1c29e007d095d9025760b\"\u003e\u003ccode\u003ec4b4257\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/394\"\u003e#394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/daafd7336ecfba856803965cf26c198bb0e4f22c\"\u003e\u003ccode\u003edaafd73\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/f084e84b22a7ed1aef3a800ee4a07cf3a6095f6b\"\u003e\u003ccode\u003ef084e84\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `grpcio-health-checking` from 1.78.0 to 1.81.0\n\nUpdates `opentelemetry-distro` from 0.62b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-distro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.41.1 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.41.1...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v7.0.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.34.0 to 2.41.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.41.0\u003c/h2\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.40.0\u003c/h2\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.39.0\u003c/h2\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.37.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.37.0 (2026-05-13)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.36.0...v2.37.0\"\u003ev2.36.0...v2.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2d955a1ac69df0288b8072bbcd25905639e9b2ed\"\u003e\u003ccode\u003e2d955a1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3359\"\u003e#3359\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/519cd027919fa5b73bd8fe237e80c7a01b3e0b2f\"\u003e\u003ccode\u003e519cd02\u003c/code\u003e\u003c/a\u003e release: 2.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e\u003ccode\u003e87e46c2\u003c/code\u003e\u003c/a\u003e feat(api): responses.moderation and chat_completions.moderation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a28a3f6aa34f5ac6fcc2fafeb50112f2140c45ae\"\u003e\u003ccode\u003ea28a3f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3352\"\u003e#3352\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/db6ccafa7b74b72caefbda6fb63bd5c904521770\"\u003e\u003ccode\u003edb6ccaf\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2264f700dad91e4f570eb7c0a6f10bbd22d34520\"\u003e\u003ccode\u003e2264f70\u003c/code\u003e\u003c/a\u003e release: 2.40.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e\u003ccode\u003e4d5bfde\u003c/code\u003e\u003c/a\u003e fix(api): allow setting bedrock api keys on the client directly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/ccef1436d9f52b5014597047e450eef543a87540\"\u003e\u003ccode\u003eccef143\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3326\"\u003e#3326\u003c/a\u003e from openai/codex/bedrock-responses-review\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a50ff0a19084306a09012ff85f730ea2c129eef9\"\u003e\u003ccode\u003ea50ff0a\u003c/code\u003e\u003c/a\u003e Fix Bedrock with_options overrides\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/fdf4901e301fa01b368ede0b5b407dca42f07acc\"\u003e\u003ccode\u003efdf4901\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.34.0...v2.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-ofrep` from 0.2.0 to 0.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-ofrep's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-ofrep: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eofrep:\u003c/strong\u003e handle 401, 403, 404 and 5xx errors explicitly and add tests (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/346\"\u003e#346\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/7e18bc120ee1a310c28c96aac5b608941889d756\"\u003e7e18bc1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36db67de59732463a372c056525d6453d8a51a75\"\u003e36db67d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36c52d03aeddf5aa922f74ca7ef5c0ec9f6b790d\"\u003e\u003ccode\u003e36c52d0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency asserts to \u0026gt;=0.14.0,\u0026lt;0.15.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003e\u003ccode\u003ec119a77\u003c/code\u003e\u003c/a\u003e fix: various custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c8c9ebe7b2cd51e8c0ce065fdb4e024aecfd3ff3\"\u003e\u003ccode\u003ec8c9ebe\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/372\"\u003e#372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6d3c5f8adafe7150c9bab519ed6c866ff5f85478\"\u003e\u003ccode\u003e6d3c5f8\u003c/code\u003e\u003c/a\u003e chore: stabilize transitive flagd deps (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6b7c78e1f08ad862059bd31d6aef18f66224a755\"\u003e\u003ccode\u003e6b7c78e\u003c/code\u003e\u003c/a\u003e fix(security): update vulnerability-updates [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e\u003ccode\u003e1995534\u003c/code\u003e\u003c/a\u003e feat(flagd): extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.41.1 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.41.1...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-jinja2` from 0.62b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-jinja2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-requests` from 0.62b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-requests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-system-metrics` from 0.62b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-system-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-urllib3` from 0.62b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-urllib3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-sdk` from 1.41.1 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/jaykay9999/mstry/pull/43","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaykay9999%2Fmstry/issues/43","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/43/packages"}},{"old_version":"7.0.0","new_version":"7.2.2","update_type":"minor","path":null,"pr_created_at":"2026-06-09T03:22:01.000Z","version_change":"7.0.0 → 7.2.2","issue":{"uuid":"4618488832","node_id":"PR_kwDOSU0Q9c7kMXSQ","number":48,"state":"closed","title":"chore(deps): bump the pip-production-dependencies group across 5 directories with 15 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-16T03:22:28.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-09T03:22:01.000Z","updated_at":"2026-06-16T03:22:30.000Z","time_to_close":604827,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip-production-dependencies","update_count":15,"packages":[{"name":"openfeature-provider-flagd","old_version":"0.2.3","new_version":"0.5.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"grpcio-health-checking","old_version":"1.78.0","new_version":"1.81.0"},{"name":"opentelemetry-distro","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.41.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"openai","old_version":"2.33.0","new_version":"2.41.0","repository_url":"https://github.com/openai/openai-python"},{"name":"openfeature-provider-ofrep","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-api","old_version":"1.41.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-jinja2","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.41.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.62b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-production-dependencies group with 15 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [openai](https://github.com/openai/openai-python) | `2.33.0` | `2.41.0` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 1 update in the /src/llm directory: [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib).\nBumps the pip-production-dependencies group with 10 updates in the /src/load-generator directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.62b1` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 6 updates in the /src/product-reviews directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [openai](https://github.com/openai/openai-python) | `2.33.0` | `2.41.0` |\n\nBumps the pip-production-dependencies group with 5 updates in the /src/recommendation directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.62b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.41.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.1...openfeature-provider-flagd/v0.5.0\"\u003e0.5.0\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003ee7d1d34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003ee1c3c6a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/9c493b82c022bcee18bfce02f829153b98efe53d\"\u003e\u003ccode\u003e9c493b8\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.5.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003e\u003ccode\u003ee7d1d34\u003c/code\u003e\u003c/a\u003e feat!: DISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003e\u003ccode\u003ee1c3c6a\u003c/code\u003e\u003c/a\u003e feat: make use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c4b425776715f85b04c1c29e007d095d9025760b\"\u003e\u003ccode\u003ec4b4257\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/394\"\u003e#394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/daafd7336ecfba856803965cf26c198bb0e4f22c\"\u003e\u003ccode\u003edaafd73\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/f084e84b22a7ed1aef3a800ee4a07cf3a6095f6b\"\u003e\u003ccode\u003ef084e84\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `grpcio-health-checking` from 1.78.0 to 1.81.0\n\nUpdates `opentelemetry-distro` from 0.62b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-distro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.41.1 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.41.1...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v7.0.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.33.0 to 2.41.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.41.0\u003c/h2\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.40.0\u003c/h2\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.39.0\u003c/h2\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.37.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.37.0 (2026-05-13)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.36.0...v2.37.0\"\u003ev2.36.0...v2.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2d955a1ac69df0288b8072bbcd25905639e9b2ed\"\u003e\u003ccode\u003e2d955a1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3359\"\u003e#3359\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/519cd027919fa5b73bd8fe237e80c7a01b3e0b2f\"\u003e\u003ccode\u003e519cd02\u003c/code\u003e\u003c/a\u003e release: 2.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e\u003ccode\u003e87e46c2\u003c/code\u003e\u003c/a\u003e feat(api): responses.moderation and chat_completions.moderation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a28a3f6aa34f5ac6fcc2fafeb50112f2140c45ae\"\u003e\u003ccode\u003ea28a3f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3352\"\u003e#3352\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/db6ccafa7b74b72caefbda6fb63bd5c904521770\"\u003e\u003ccode\u003edb6ccaf\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2264f700dad91e4f570eb7c0a6f10bbd22d34520\"\u003e\u003ccode\u003e2264f70\u003c/code\u003e\u003c/a\u003e release: 2.40.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e\u003ccode\u003e4d5bfde\u003c/code\u003e\u003c/a\u003e fix(api): allow setting bedrock api keys on the client directly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/ccef1436d9f52b5014597047e450eef543a87540\"\u003e\u003ccode\u003eccef143\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3326\"\u003e#3326\u003c/a\u003e from openai/codex/bedrock-responses-review\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a50ff0a19084306a09012ff85f730ea2c129eef9\"\u003e\u003ccode\u003ea50ff0a\u003c/code\u003e\u003c/a\u003e Fix Bedrock with_options overrides\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/fdf4901e301fa01b368ede0b5b407dca42f07acc\"\u003e\u003ccode\u003efdf4901\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.33.0...v2.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-ofrep` from 0.2.0 to 0.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-ofrep's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-ofrep: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eofrep:\u003c/strong\u003e handle 401, 403, 404 and 5xx errors explicitly and add tests (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/346\"\u003e#346\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/7e18bc120ee1a310c28c96aac5b608941889d756\"\u003e7e18bc1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36db67de59732463a372c056525d6453d8a51a75\"\u003e36db67d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36c52d03aeddf5aa922f74ca7ef5c0ec9f6b790d\"\u003e\u003ccode\u003e36c52d0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency asserts to \u0026gt;=0.14.0,\u0026lt;0.15.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003e\u003ccode\u003ec119a77\u003c/code\u003e\u003c/a\u003e fix: various custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c8c9ebe7b2cd51e8c0ce065fdb4e024aecfd3ff3\"\u003e\u003ccode\u003ec8c9ebe\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/372\"\u003e#372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6d3c5f8adafe7150c9bab519ed6c866ff5f85478\"\u003e\u003ccode\u003e6d3c5f8\u003c/code\u003e\u003c/a\u003e chore: stabilize transitive flagd deps (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6b7c78e1f08ad862059bd31d6aef18f66224a755\"\u003e\u003ccode\u003e6b7c78e\u003c/code\u003e\u003c/a\u003e fix(security): update vulnerability-updates [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e\u003ccode\u003e1995534\u003c/code\u003e\u003c/a\u003e feat(flagd): extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.41.1 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.41.1...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-jinja2` from 0.62b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-jinja2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-requests` from 0.62b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-requests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-system-metrics` from 0.62b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-system-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-urllib3` from 0.62b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-urllib3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-sdk` from 1.41.1 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/sanjaycloudin/devops-demo/pull/48","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanjaycloudin%2Fdevops-demo/issues/48","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/48/packages"}},{"old_version":"6.1.1","new_version":"7.2.2","update_type":"major","path":"/agent-backend","pr_created_at":"2026-06-06T10:48:47.000Z","version_change":"6.1.1 → 7.2.2","issue":{"uuid":"4603004932","node_id":"PR_kwDOSp1Dcc7jaPDq","number":55,"state":"open","title":"deps(python)(deps): Bump psutil from 6.1.1 to 7.2.2 in /agent-backend","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-06T10:48:47.000Z","updated_at":"2026-06-06T10:48:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(python)(deps): Bump","packages":[{"name":"psutil","old_version":"6.1.1","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"}],"path":"/agent-backend","ecosystem":"pip"},"body":"Bumps [psutil](https://github.com/giampaolo/psutil) from 6.1.1 to 7.2.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v6.1.1...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=psutil\u0026package-manager=pip\u0026previous-version=6.1.1\u0026new-version=7.2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Razisafir/construct-ai-agent/pull/55","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Razisafir%2Fconstruct-ai-agent/issues/55","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/55/packages"}},{"old_version":"7.0.0","new_version":"7.2.2","update_type":"minor","path":null,"pr_created_at":"2026-06-04T04:47:49.000Z","version_change":"7.0.0 → 7.2.2","issue":{"uuid":"4585885997","node_id":"PR_kwDORfOU_c7ih_JF","number":232,"state":"closed","title":"Bump the pip-production-dependencies group across 5 directories with 18 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T04:40:10.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-04T04:47:49.000Z","updated_at":"2026-06-11T04:40:12.000Z","time_to_close":604341,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip-production-dependencies","update_count":18,"packages":[{"name":"python-json-logger","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"openfeature-provider-flagd","old_version":"0.2.3","new_version":"0.5.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"grpcio-health-checking","old_version":"1.78.0","new_version":"1.81.0"},{"name":"opentelemetry-distro","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.39.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"psycopg2-binary","old_version":"2.9.11","new_version":"2.9.12","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"openai","old_version":"2.24.0","new_version":"2.41.0","repository_url":"https://github.com/openai/openai-python"},{"name":"simplejson","old_version":"3.20.2","new_version":"4.1.1","repository_url":"https://github.com/simplejson/simplejson"},{"name":"openfeature-provider-ofrep","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-api","old_version":"1.39.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-jinja2","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.39.1","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.60b1","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-production-dependencies group with 18 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.11` | `2.9.12` |\n| [openai](https://github.com/openai/openai-python) | `2.24.0` | `2.41.0` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.2` | `4.1.1` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 2 updates in the /src/llm directory: [python-json-logger](https://github.com/nhairs/python-json-logger) and [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib).\nBumps the pip-production-dependencies group with 11 updates in the /src/load-generator directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b1` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 9 updates in the /src/product-reviews directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.11` | `2.9.12` |\n| [openai](https://github.com/openai/openai-python) | `2.24.0` | `2.41.0` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.2` | `4.1.1` |\n\nBumps the pip-production-dependencies group with 6 updates in the /src/recommendation directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.81.0` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n\n\nUpdates `python-json-logger` from 4.0.0 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/releases\"\u003epython-json-logger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/blob/main/docs/changelog.md\"\u003epython-json-logger's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/d80c68da770154d9662975b789cabcc9a3e99408\"\u003e\u003ccode\u003ed80c68d\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/b589b2a576ac058dc55be934159b67060a288756\"\u003e\u003ccode\u003eb589b2a\u003c/code\u003e\u003c/a\u003e [pyproject] Update license table to PEP 639 format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/2bb784a92250c60035a7e4536d1ef48cd02e50d5\"\u003e\u003ccode\u003e2bb784a\u003c/code\u003e\u003c/a\u003e Update code unlocked by Python 3.10 minimum version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/79599b5a6ad5e38c18c468fd0e4ac790961d6b5f\"\u003e\u003ccode\u003e79599b5\u003c/code\u003e\u003c/a\u003e Drop python 3.8, 3.9 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/622650c1f543e7909e8711e4a30c96cc2aa6e332\"\u003e\u003ccode\u003e622650c\u003c/code\u003e\u003c/a\u003e [docs.contributing] Update unsupported JSON encoders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/06165bb03f9892fc24762acabf6b1b0b35c6b56b\"\u003e\u003ccode\u003e06165bb\u003c/code\u003e\u003c/a\u003e [tests.test_formatters] Add non-printable bytes to test_common_types_encoded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/61f88a9fe7cee3409db9c589b03b15c2ffdc3ffa\"\u003e\u003ccode\u003e61f88a9\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify which packages have been considered and rejected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/0add524a24c6210807a66e0f9149200b32cc98a9\"\u003e\u003ccode\u003e0add524\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify when we will add support for new third-party pack...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/eee9505610a64276341a03f2a0b0dee5f500916b\"\u003e\u003ccode\u003eeee9505\u003c/code\u003e\u003c/a\u003e [pylint] Remove old command\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/804592648f8d0e56f7f41112d2945cf52d1d2a6b\"\u003e\u003ccode\u003e8045926\u003c/code\u003e\u003c/a\u003e [mypy] Don't ignore orjson\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.1...openfeature-provider-flagd/v0.5.0\"\u003e0.5.0\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003ee7d1d34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003ee1c3c6a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/9c493b82c022bcee18bfce02f829153b98efe53d\"\u003e\u003ccode\u003e9c493b8\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.5.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003e\u003ccode\u003ee7d1d34\u003c/code\u003e\u003c/a\u003e feat!: DISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003e\u003ccode\u003ee1c3c6a\u003c/code\u003e\u003c/a\u003e feat: make use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c4b425776715f85b04c1c29e007d095d9025760b\"\u003e\u003ccode\u003ec4b4257\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/394\"\u003e#394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/daafd7336ecfba856803965cf26c198bb0e4f22c\"\u003e\u003ccode\u003edaafd73\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/f084e84b22a7ed1aef3a800ee4a07cf3a6095f6b\"\u003e\u003ccode\u003ef084e84\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `grpcio-health-checking` from 1.78.0 to 1.81.0\n\nUpdates `opentelemetry-distro` from 0.60b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-distro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.39.1 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.39.1...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v7.0.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2-binary` from 2.9.11 to 2.9.12\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2-binary's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.12\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite loop with malformed interval (:ticket:\u003ccode\u003e1835\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform binary packages (:ticket:\u003ccode\u003e[#1813](https://github.com/psycopg/psycopg2/issues/1813)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/3a6d9d6ddc6b53eaa80b712f5fa6b23abbdc38db\"\u003e\u003ccode\u003e3a6d9d6\u003c/code\u003e\u003c/a\u003e ci: include almalinux in whieel building\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ebca6bf0f86bc6cbdc86de1eb3a53eaf49966d86\"\u003e\u003ccode\u003eebca6bf\u003c/code\u003e\u003c/a\u003e chore: bump to version 3.9.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/0196f02cc9512df8de3c941f87d27bda98f9f7af\"\u003e\u003ccode\u003e0196f02\u003c/code\u003e\u003c/a\u003e build(deps): bump pypa/cibuildwheel from 3.3.1 to 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d157bdc2235a42dc1742936dbb0f5cfc8e4d2eb7\"\u003e\u003ccode\u003ed157bdc\u003c/code\u003e\u003c/a\u003e build(deps): bump docker/setup-qemu-action from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/7fccc0f5066a40dea530512abbf02621f4182b81\"\u003e\u003ccode\u003e7fccc0f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d52a61eb2e6095fc1b9891bfcca44ebfac509e55\"\u003e\u003ccode\u003ed52a61e\u003c/code\u003e\u003c/a\u003e chore: bump dependency libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/b231d726a01d55e07ec3620b2b82f4a2da37ba62\"\u003e\u003ccode\u003eb231d72\u003c/code\u003e\u003c/a\u003e chore: fix building binary images\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/6d76e8479f0f522c2e07ce0e2701030d8fd63785\"\u003e\u003ccode\u003e6d76e84\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1836\"\u003e#1836\u003c/a\u003e from psycopg/fix-1835\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/f7e314c7ab418ab9b9956e694956089a49c5c3b9\"\u003e\u003ccode\u003ef7e314c\u003c/code\u003e\u003c/a\u003e fix: overflow in malformed interval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/eb905c124b75f2a5183d22177b85af20914b0f17\"\u003e\u003ccode\u003eeb905c1\u003c/code\u003e\u003c/a\u003e docs: replace bare except clause with except Exception\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.11...2.9.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.24.0 to 2.41.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.41.0\u003c/h2\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.40.0\u003c/h2\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.39.0\u003c/h2\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.37.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.37.0 (2026-05-13)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.36.0...v2.37.0\"\u003ev2.36.0...v2.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2d955a1ac69df0288b8072bbcd25905639e9b2ed\"\u003e\u003ccode\u003e2d955a1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3359\"\u003e#3359\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/519cd027919fa5b73bd8fe237e80c7a01b3e0b2f\"\u003e\u003ccode\u003e519cd02\u003c/code\u003e\u003c/a\u003e release: 2.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e\u003ccode\u003e87e46c2\u003c/code\u003e\u003c/a\u003e feat(api): responses.moderation and chat_completions.moderation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a28a3f6aa34f5ac6fcc2fafeb50112f2140c45ae\"\u003e\u003ccode\u003ea28a3f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3352\"\u003e#3352\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/db6ccafa7b74b72caefbda6fb63bd5c904521770\"\u003e\u003ccode\u003edb6ccaf\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2264f700dad91e4f570eb7c0a6f10bbd22d34520\"\u003e\u003ccode\u003e2264f70\u003c/code\u003e\u003c/a\u003e release: 2.40.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e\u003ccode\u003e4d5bfde\u003c/code\u003e\u003c/a\u003e fix(api): allow setting bedrock api keys on the client directly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/ccef1436d9f52b5014597047e450eef543a87540\"\u003e\u003ccode\u003eccef143\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3326\"\u003e#3326\u003c/a\u003e from openai/codex/bedrock-responses-review\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a50ff0a19084306a09012ff85f730ea2c129eef9\"\u003e\u003ccode\u003ea50ff0a\u003c/code\u003e\u003c/a\u003e Fix Bedrock with_options overrides\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/fdf4901e301fa01b368ede0b5b407dca42f07acc\"\u003e\u003ccode\u003efdf4901\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.24.0...v2.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `simplejson` from 3.20.2 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/releases\"\u003esimplejson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Python 2.7 wheel builds for Windows platforms by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/378\"\u003esimplejson/simplejson#378\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.1.0...v4.1.1\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.1.0...v4.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAccelerate indented encoding in the C extension; release 4.1.0 by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/376\"\u003esimplejson/simplejson#376\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.0.1...v4.1.0\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.0.1...v4.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExclude Pyodide wheels from PyPI uploads by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/375\"\u003esimplejson/simplejson#375\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.0.0...v4.0.1\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.0.0...v4.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eVersion 4.0.0 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003esimplejson 4 requires Python 2.7 or Python 3.8+. Older Python\nversions (2.5, 2.6, 3.0-3.7) are no longer supported. pip will\nnot install simplejson 4 on unsupported versions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now uses heap types and per-module state instead of\nstatic types and global state. This is required for free-threading\nsupport and sub-interpreter isolation. The Python-level API is\nunchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFull support for Python 3.13+ free-threading (PEP 703). The C\nextension is now safe to use with the GIL disabled (python3.14t):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eConverted all static types to heap types with per-module state\u003c/li\u003e\n\u003cli\u003eAdded per-object critical sections to scanner and encoder\u003c/li\u003e\n\u003cli\u003eAdded free-threading-safe dict operations for Python 3.13+\u003c/li\u003e\n\u003cli\u003eUnified per-module state management and templated parser\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/363\"\u003esimplejson/simplejson#363\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/364\"\u003esimplejson/simplejson#364\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/365\"\u003esimplejson/simplejson#365\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/367\"\u003esimplejson/simplejson#367\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/369\"\u003esimplejson/simplejson#369\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNumerous C extension memory safety fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix use-after-free and leak in encoder ident handling\u003c/li\u003e\n\u003cli\u003eFix NULL dereferences on OOM in module init and static string init\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/blob/main/CHANGES.txt\"\u003esimplejson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion 4.1.1 released 2026-04-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003ebuild_wheels_py27\u003c/code\u003e CI job now also builds Python 2.7 wheels\nfor Windows AMD64 and Windows x86, joining the existing Py2.7\nmanylinux1 / manylinux2010 x86_64 wheels. This unblocks offline /\n\u003ccode\u003e--no-index\u003c/code\u003e installs on Py2.7-on-Windows (the original\nreporter's case), which previously had no matching binary wheel on\nPyPI, fell through to the sdist, and failed on the PEP 517\nisolated-build step complaining that \u003ccode\u003esetuptools\u0026gt;=42\u003c/code\u003e was not in\nthe wheelhouse.\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/377\"\u003esimplejson/simplejson#377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.1.0 released 2026-04-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now accelerates encoding when \u003ccode\u003eindent=\u003c/code\u003e is set.\nPreviously the encoder fell back to the pure-Python implementation\nwhenever a non-None \u003ccode\u003eindent\u003c/code\u003e was passed; now the C encoder emits\nthe newline-plus-indent prefix, the level-aware item separator, and\nthe closing indent directly.  A representative nested-dict workload\nbenchmarks about 4-5x faster end-to-end, and the \u003ccode\u003eindent=0\u003c/code\u003e and\nempty-container edge cases continue to match the Python output\nbyte-for-byte.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now emits PEP 678 \u003ccode\u003eexc.add_note()\u003c/code\u003e annotations on\nserialization failures, matching the pure-Python encoder.  A chained\nerror on \u003ccode\u003e{'a': [1, object(), 3]}\u003c/code\u003e produces the same three notes\n(\u003ccode\u003ewhen serializing object object\u003c/code\u003e, \u003ccode\u003ewhen serializing list item 1\u003c/code\u003e,\n\u003ccode\u003ewhen serializing dict item 'a'\u003c/code\u003e) whether the speedups are loaded\nor not, so the add_note assertions in \u003ccode\u003etest_errors.py\u003c/code\u003e no longer\nneed \u003ccode\u003eindent=2\u003c/code\u003e to force the Python path.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.0.1 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip uploading Pyodide/wasm wheels to PyPI, which rejects them with\n\u0026quot;unsupported platform tag 'pyodide_2024_0_wasm32'\u0026quot;. The wheels are\nstill built in CI and preserved as workflow artifacts.\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/375\"\u003esimplejson/simplejson#375\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.0.0 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003esimplejson 4 requires Python 2.7 or Python 3.8+. Older Python\nversions (2.5, 2.6, 3.0-3.7) are no longer supported. pip will\nnot install simplejson 4 on unsupported versions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now uses heap types and per-module state instead of\nstatic types and global state. This is required for free-threading\nsupport and sub-interpreter isolation. The Python-level API is\nunchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFull support for Python 3.13+ free-threading (PEP 703). The C\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/639b2ee73b2de6b385fcd4d44e0e08054a4d8a0e\"\u003e\u003ccode\u003e639b2ee\u003c/code\u003e\u003c/a\u003e Add Python 2.7 wheel builds for Windows platforms (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/0fd3185ce301bdefe61bbbf510536fa9127962fb\"\u003e\u003ccode\u003e0fd3185\u003c/code\u003e\u003c/a\u003e Accelerate indented encoding in the C extension; release 4.1.0 (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/376\"\u003e#376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/19b5f94f235d3ac11646b82c02f292845b2aa184\"\u003e\u003ccode\u003e19b5f94\u003c/code\u003e\u003c/a\u003e Exclude Pyodide wheels from PyPI uploads (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/375\"\u003e#375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/1608c050bbc2ae67ddfe913dad83bed7d588aa27\"\u003e\u003ccode\u003e1608c05\u003c/code\u003e\u003c/a\u003e Use JSONDecodeError for out-of-range end indices in C scanstring (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/374\"\u003e#374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/3bba17935f12695355b5280df2a93bf963b704dd\"\u003e\u003ccode\u003e3bba179\u003c/code\u003e\u003c/a\u003e Encoder parity fixes (for_json/_asdict) and TSan stress CI job (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/7b22d65b92ac7e69f740f59fe11548216b79c098\"\u003e\u003ccode\u003e7b22d65\u003c/code\u003e\u003c/a\u003e Error parity for the C and Python scanstring in surrogate and truncated strin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/825100a7fc498dafae31d10bef3e3cfaba1fdc5b\"\u003e\u003ccode\u003e825100a\u003c/code\u003e\u003c/a\u003e Release version 4.0.0: free-threading, CPython json parity, Python 2.7 fixes ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/0dbb9d875127a9009f01a4036fa950b0a5f4f589\"\u003e\u003ccode\u003e0dbb9d8\u003c/code\u003e\u003c/a\u003e C extension: dead code cleanup, fast paths for dict/list/string encoding, cor...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/e2e5f0b2d3bae3fd9a56bbaab42f6d75fb980ad5\"\u003e\u003ccode\u003ee2e5f0b\u003c/code\u003e\u003c/a\u003e Add Python 3.13+ free-threading support to dict operations (\u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/369\"\u003e#369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/e817370a91f4f51a0aec5f0f7bdeb1ca601ed101\"\u003e\u003ccode\u003ee817370\u003c/code\u003e\u003c/a\u003e Fix free-threading (3.14t) crashes: heap types, unified per-module state, tem...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/simplejson/simplejson/compare/v3.20.2...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-ofrep` from 0.2.0 to 0.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-ofrep's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-ofrep: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eofrep:\u003c/strong\u003e handle 401, 403, 404 and 5xx errors explicitly and add tests (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/346\"\u003e#346\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/7e18bc120ee1a310c28c96aac5b608941889d756\"\u003e7e18bc1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36db67de59732463a372c056525d6453d8a51a75\"\u003e36db67d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36c52d03aeddf5aa922f74ca7ef5c0ec9f6b790d\"\u003e\u003ccode\u003e36c52d0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency asserts to \u0026gt;=0.14.0,\u0026lt;0.15.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003e\u003ccode\u003ec119a77\u003c/code\u003e\u003c/a\u003e fix: various custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c8c9ebe7b2cd51e8c0ce065fdb4e024aecfd3ff3\"\u003e\u003ccode\u003ec8c9ebe\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/372\"\u003e#372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6d3c5f8adafe7150c9bab519ed6c866ff5f85478\"\u003e\u003ccode\u003e6d3c5f8\u003c/code\u003e\u003c/a\u003e chore: stabilize transitive flagd deps (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6b7c78e1f08ad862059bd31d6aef18f66224a755\"\u003e\u003ccode\u003e6b7c78e\u003c/code\u003e\u003c/a\u003e fix(security): update vulnerability-updates [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e\u003ccode\u003e1995534\u003c/code\u003e\u003c/a\u003e feat(flagd): extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.39.1 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.39.1...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-jinja2` from 0.60b1 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-jinja2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/43...\n\n_Description has been truncated_","html_url":"https://github.com/jlawton-cribl/opentelemetry-demo/pull/232","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlawton-cribl%2Fopentelemetry-demo/issues/232","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/232/packages"}},{"old_version":"7.0.0","new_version":"7.2.2","update_type":"minor","path":null,"pr_created_at":"2026-06-04T01:52:29.000Z","version_change":"7.0.0 → 7.2.2","issue":{"uuid":"4585093569","node_id":"PR_kwDOQpxn1c7ifX4B","number":266,"state":"closed","title":"build(deps): bump the pip-production-dependencies group across 5 directories with 21 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T13:00:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-04T01:52:29.000Z","updated_at":"2026-06-11T13:01:01.000Z","time_to_close":644910,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pip-production-dependencies","update_count":21,"packages":[{"name":"python-dotenv","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"python-json-logger","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"flask","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"openfeature-provider-flagd","old_version":"0.2.3","new_version":"0.5.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"grpcio-health-checking","old_version":"1.71.0","new_version":"1.81.0"},{"name":"openfeature-hooks-opentelemetry","old_version":"0.2.0","new_version":"0.3.1","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-distro","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.38.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"psycopg2-binary","old_version":"2.9.11","new_version":"2.9.12","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"openai","old_version":"2.7.2","new_version":"2.41.0","repository_url":"https://github.com/openai/openai-python"},{"name":"simplejson","old_version":"3.20.2","new_version":"4.1.1","repository_url":"https://github.com/simplejson/simplejson"},{"name":"openfeature-provider-ofrep","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-api","old_version":"1.38.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-jinja2","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.38.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-production-dependencies group with 21 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.71.0` | `1.81.0` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.11` | `2.9.12` |\n| [openai](https://github.com/openai/openai-python) | `2.7.2` | `2.41.0` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.2` | `4.1.1` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 4 updates in the /src/llm directory: [python-dotenv](https://github.com/theskumar/python-dotenv), [python-json-logger](https://github.com/nhairs/python-json-logger), [flask](https://github.com/pallets/flask) and [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib).\nBumps the pip-production-dependencies group with 13 updates in the /src/load-generator directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 11 updates in the /src/product-reviews directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.71.0` | `1.81.0` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.11` | `2.9.12` |\n| [openai](https://github.com/openai/openai-python) | `2.7.2` | `2.41.0` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.2` | `4.1.1` |\n\nBumps the pip-production-dependencies group with 8 updates in the /src/recommendation directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.5.0` |\n| [grpcio-health-checking](https://grpc.io) | `1.71.0` | `1.81.0` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n\n\nUpdates `python-dotenv` from 1.2.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (#)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/607\"\u003etheskumar/python-dotenv#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e#790c5\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by \u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eskip 000 permission tests for root user by \u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/593\"\u003etheskumar/python-dotenv#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Windows testing to CI by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/604\"\u003etheskumar/python-dotenv#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove workflow efficiency with best practices by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/609\"\u003etheskumar/python-dotenv#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of \u003ccode\u003esh\u003c/code\u003e in tests by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/612\"\u003etheskumar/python-dotenv#612\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpackham-atlnz\"\u003e\u003ccode\u003e@​cpackham-atlnz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/597\"\u003etheskumar/python-dotenv#597\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.2] - 2026-03-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/607\"\u003e#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eDropped Support for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in [790c5c0]\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by [\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/590\"\u003e#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/36004e0e34be7665ff2b11a8a4005144f76f176d\"\u003e\u003ccode\u003e36004e0\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.1 → 1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eb202520e5933c9daf42501e1e42fdb0144002c8\"\u003e\u003ccode\u003eeb20252\u003c/code\u003e\u003c/a\u003e docs: update changelog for v1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e\u003ccode\u003e790c5c0\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/43340da220fb4ca4f95357bbe21a3c7f8f1278b1\"\u003e\u003ccode\u003e43340da\u003c/code\u003e\u003c/a\u003e Remove the use of \u003ccode\u003esh\u003c/code\u003e in tests (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/09d7cee32459e7abdcb5c9d8122a552589c06a9c\"\u003e\u003ccode\u003e09d7cee\u003c/code\u003e\u003c/a\u003e docs: clarify override behavior and document FIFO support (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/c8de2887c00198c22842c5ae5e92d1747467363c\"\u003e\u003ccode\u003ec8de288\u003c/code\u003e\u003c/a\u003e ci: improve workflow efficiency with best practices (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/609\"\u003e#609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/7bd9e3dbfedc0983ad7d56d5570013035242bdf4\"\u003e\u003ccode\u003e7bd9e3d\u003c/code\u003e\u003c/a\u003e Add Windows testing to CI (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1baaf04f336072e0ee324d5df9563ec767f14f81\"\u003e\u003ccode\u003e1baaf04\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 support and update to PyPy 3.11 (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/4a22cf8993804aeede0c20b75bb1a29d3a99e9dc\"\u003e\u003ccode\u003e4a22cf8\u003c/code\u003e\u003c/a\u003e ci: enable testing on Python 3.14t (free-threaded) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/e2e8e776b42e382ae38b44d3982dd649e7507dd4\"\u003e\u003ccode\u003ee2e8e77\u003c/code\u003e\u003c/a\u003e Fix license specifier (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-json-logger` from 4.0.0 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/releases\"\u003epython-json-logger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/blob/main/docs/changelog.md\"\u003epython-json-logger's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/d80c68da770154d9662975b789cabcc9a3e99408\"\u003e\u003ccode\u003ed80c68d\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/b589b2a576ac058dc55be934159b67060a288756\"\u003e\u003ccode\u003eb589b2a\u003c/code\u003e\u003c/a\u003e [pyproject] Update license table to PEP 639 format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/2bb784a92250c60035a7e4536d1ef48cd02e50d5\"\u003e\u003ccode\u003e2bb784a\u003c/code\u003e\u003c/a\u003e Update code unlocked by Python 3.10 minimum version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/79599b5a6ad5e38c18c468fd0e4ac790961d6b5f\"\u003e\u003ccode\u003e79599b5\u003c/code\u003e\u003c/a\u003e Drop python 3.8, 3.9 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/622650c1f543e7909e8711e4a30c96cc2aa6e332\"\u003e\u003ccode\u003e622650c\u003c/code\u003e\u003c/a\u003e [docs.contributing] Update unsupported JSON encoders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/06165bb03f9892fc24762acabf6b1b0b35c6b56b\"\u003e\u003ccode\u003e06165bb\u003c/code\u003e\u003c/a\u003e [tests.test_formatters] Add non-printable bytes to test_common_types_encoded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/61f88a9fe7cee3409db9c589b03b15c2ffdc3ffa\"\u003e\u003ccode\u003e61f88a9\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify which packages have been considered and rejected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/0add524a24c6210807a66e0f9149200b32cc98a9\"\u003e\u003ccode\u003e0add524\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify when we will add support for new third-party pack...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/eee9505610a64276341a03f2a0b0dee5f500916b\"\u003e\u003ccode\u003eeee9505\u003c/code\u003e\u003c/a\u003e [pylint] Remove old command\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/804592648f8d0e56f7f41112d2945cf52d1d2a6b\"\u003e\u003ccode\u003e8045926\u003c/code\u003e\u003c/a\u003e [mypy] Don't ignore orjson\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.1.2 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.1.2...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.1...openfeature-provider-flagd/v0.5.0\"\u003e0.5.0\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003ee7d1d34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003ee1c3c6a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/9c493b82c022bcee18bfce02f829153b98efe53d\"\u003e\u003ccode\u003e9c493b8\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.5.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e7d1d34a0c51fed768fc4276427df3cae094b16f\"\u003e\u003ccode\u003ee7d1d34\u003c/code\u003e\u003c/a\u003e feat!: DISABLED is a successful evaluation (still defaults) (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/e1c3c6ae6482624e7851be4cfc645ed45d6eaedd\"\u003e\u003ccode\u003ee1c3c6a\u003c/code\u003e\u003c/a\u003e feat: make use of flagd-selector header in RPC mode (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c4b425776715f85b04c1c29e007d095d9025760b\"\u003e\u003ccode\u003ec4b4257\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/394\"\u003e#394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/daafd7336ecfba856803965cf26c198bb0e4f22c\"\u003e\u003ccode\u003edaafd73\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/f084e84b22a7ed1aef3a800ee4a07cf3a6095f6b\"\u003e\u003ccode\u003ef084e84\u003c/code\u003e\u003c/a\u003e chore: resolve open dependabot security alerts (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `grpcio-health-checking` from 1.71.0 to 1.81.0\n\nUpdates `openfeature-hooks-opentelemetry` from 0.2.0 to 0.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-hooks-opentelemetry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-hooks-opentelemetry: v0.3.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-hooks-opentelemetry/v0.3.0...openfeature-hooks-opentelemetry/v0.3.1\"\u003e0.3.1\u003c/a\u003e (2026-02-17)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlign TracingHook with spec (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/342\"\u003e#342\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2a2127d958ea0bafabb673335fd0d9665c8d9291\"\u003e2a2127d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-hooks-opentelemetry: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-hooks-opentelemetry/v0.2.0...openfeature-hooks-opentelemetry/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate opentelemetry hook to latest version of semantic conventions (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/326\"\u003e#326\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emigrate to uv (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/293\"\u003e#293\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/9590554be4c8a7f77b0c0f20d6b48076c9870f52\"\u003e9590554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate opentelemetry hook to latest version of semantic conventions (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/326\"\u003e#326\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/a2ec682a709a4721f8362cfa6a9e6037937761ee\"\u003ea2ec682\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83926dea688eac265405b79c2ec00c9d08c8862e\"\u003e\u003ccode\u003e83926de\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-hooks-opentelemetry 0.3.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2a2127d958ea0bafabb673335fd0d9665c8d9291\"\u003e\u003ccode\u003e2a2127d\u003c/code\u003e\u003c/a\u003e fix: Align TracingHook with spec (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/342\"\u003e#342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c08b414007f6ce10dcb83249142f054b6d6043d6\"\u003e\u003ccode\u003ec08b414\u003c/code\u003e\u003c/a\u003e chore: align unleash pyproject.toml to others (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/341\"\u003e#341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/8239b836a25663e0030b3891d0140cb365798a37\"\u003e\u003ccode\u003e8239b83\u003c/code\u003e\u003c/a\u003e feat(provider): add \u003ccode\u003eaws-ssm\u003c/code\u003e provider (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/331\"\u003e#331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e\u003ccode\u003e61add22\u003c/code\u003e\u003c/a\u003e fix: replace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/a835c77f10c82af2157ea15be0ffae7bad79b8ce\"\u003e\u003ccode\u003ea835c77\u003c/code\u003e\u003c/a\u003e chore: relax \u003ccode\u003etypes-requests\u003c/code\u003e and update \u003ccode\u003egrpcio\u003c/code\u003e version constraints (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/334\"\u003e#334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/a345ef9f1ea3333e49a173553a9098f5db6746a7\"\u003e\u003ccode\u003ea345ef9\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.2.7 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/290\"\u003e#290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/b9c164a2342d101e23e062a81558f02fe0a38c0b\"\u003e\u003ccode\u003eb9c164a\u003c/code\u003e\u003c/a\u003e fix(security): update dependency protobuf to v6.33.5 [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2feabd5d70bef2de6661fadf3d74238991a27466\"\u003e\u003ccode\u003e2feabd5\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-unleash 0.1.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/332\"\u003e#332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/dcb8fadfbc0263e68c381681b5b92cb5fea2dc0d\"\u003e\u003ccode\u003edcb8fad\u003c/code\u003e\u003c/a\u003e chore: add component owners\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-hooks-opentelemetry/v0.2.0...openfeature-hooks-opentelemetry/v0.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-distro` from 0.59b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-distro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.38.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.38.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v7.0.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2-binary` from 2.9.11 to 2.9.12\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2-binary's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.12\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite loop with malformed interval (:ticket:\u003ccode\u003e1835\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform binary packages (:ticket:\u003ccode\u003e[#1813](https://github.com/psycopg/psycopg2/issues/1813)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/3a6d9d6ddc6b53eaa80b712f5fa6b23abbdc38db\"\u003e\u003ccode\u003e3a6d9d6\u003c/code\u003e\u003c/a\u003e ci: include almalinux in whieel building\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ebca6bf0f86bc6cbdc86de1eb3a53eaf49966d86\"\u003e\u003ccode\u003eebca6bf\u003c/code\u003e\u003c/a\u003e chore: bump to version 3.9.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/0196f02cc9512df8de3c941f87d27bda98f9f7af\"\u003e\u003ccode\u003e0196f02\u003c/code\u003e\u003c/a\u003e build(deps): bump pypa/cibuildwheel from 3.3.1 to 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d157bdc2235a42dc1742936dbb0f5cfc8e4d2eb7\"\u003e\u003ccode\u003ed157bdc\u003c/code\u003e\u003c/a\u003e build(deps): bump docker/setup-qemu-action from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/7fccc0f5066a40dea530512abbf02621f4182b81\"\u003e\u003ccode\u003e7fccc0f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d52a61eb2e6095fc1b9891bfcca44ebfac509e55\"\u003e\u003ccode\u003ed52a61e\u003c/code\u003e\u003c/a\u003e chore: bump dependency libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/b231d726a01d55e07ec3620b2b82f4a2da37ba62\"\u003e\u003ccode\u003eb231d72\u003c/code\u003e\u003c/a\u003e chore: fix building binary images\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/6d76e8479f0f522c2e07ce0e2701030d8fd63785\"\u003e\u003ccode\u003e6d76e84\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1836\"\u003e#1836\u003c/a\u003e from psycopg/fix-1835\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/f7e314c7ab418ab9b9956e694956089a49c5c3b9\"\u003e\u003ccode\u003ef7e314c\u003c/code\u003e\u003c/a\u003e fix: overflow in malformed interval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/eb905c124b75f2a5183d22177b85af20914b0f17\"\u003e\u003ccode\u003eeb905c1\u003c/code\u003e\u003c/a\u003e docs: replace bare except clause with except Exception\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.11...2.9.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.7.2 to 2.41.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.41.0\u003c/h2\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.40.0\u003c/h2\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.39.0\u003c/h2\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.37.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add Amazon Bedrock Responses support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.37.0 (2026-05-13)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.36.0...v2.37.0\"\u003ev2.36.0...v2.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2d955a1ac69df0288b8072bbcd25905639e9b2ed\"\u003e\u003ccode\u003e2d955a1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3359\"\u003e#3359\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/519cd027919fa5b73bd8fe237e80c7a01b3e0b2f\"\u003e\u003ccode\u003e519cd02\u003c/code\u003e\u003c/a\u003e release: 2.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e\u003ccode\u003e87e46c2\u003c/code\u003e\u003c/a\u003e feat(api): responses.moderation and chat_completions.moderation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a28a3f6aa34f5ac6fcc2fafeb50112f2140c45ae\"\u003e\u003ccode\u003ea28a3f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3352\"\u003e#3352\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/db6ccafa7b74b72caefbda6fb63bd5c904521770\"\u003e\u003ccode\u003edb6ccaf\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2264f700dad91e4f570eb7c0a6f10bbd22d34520\"\u003e\u003ccode\u003e2264f70\u003c/code\u003e\u003c/a\u003e release: 2.40.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e\u003ccode\u003e4d5bfde\u003c/code\u003e\u003c/a\u003e fix(api): allow setting bedrock api keys on the client directly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/ccef1436d9f52b5014597047e450eef543a87540\"\u003e\u003ccode\u003eccef143\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3326\"\u003e#3326\u003c/a\u003e from openai/codex/bedrock-responses-review\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a50ff0a19084306a09012ff85f730ea2c129eef9\"\u003e\u003ccode\u003ea50ff0a\u003c/code\u003e\u003c/a\u003e Fix Bedrock with_options overrides\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/fdf4901e301fa01b368ede0b5b407dca42f07acc\"\u003e\u003ccode\u003efdf4901\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.7.2...v2.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `simplejson` from 3.20.2 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/releases\"\u003esimplejson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Python 2.7 wheel builds for Windows platforms by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/378\"\u003esimplejson/simplejson#378\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.1.0...v4.1.1\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.1.0...v4.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAccelerate indented encoding in the C extension; release 4.1.0 by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/376\"\u003esimplejson/simplejson#376\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.0.1...v4.1.0\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.0.1...v4.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExclude Pyodide wheels from PyPI uploads by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/375\"\u003esimplejson/simplejson#375\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v4.0.0...v4.0.1\"\u003ehttps://github.com/simplejson/simplejson/compare/v4.0.0...v4.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eVersion 4.0.0 released 2026-04-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003esimplejson 4 requires Python 2.7 or Python 3.8+. Older Python\nversions (2.5, 2.6, 3.0-3.7) are no longer supported. pip will\nnot install simplejson 4 on unsupported versions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe C extension now uses heap types and per-module state instead of\nstatic types and global state. This is required for free-threading\nsupport and sub-interpreter isolation. The Python-level API is\nunchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFull support for Python 3.13+ free-threading (PEP 703). The C\nextension is now safe to use with the GIL disabled (python3.14t):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eConverted all static types to heap types with per-module state\u003c/li\u003e\n\u003cli\u003eAdded per-object critical sections to scanner and encoder\u003c/li\u003e\n\u003cli\u003eAdded free-threading-safe dict operations for Python 3.13+\u003c/li\u003e\n\u003cli\u003eUnified per-module state management and templated parser\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/363\"\u003esimplejson/simplejson#363\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/364\"\u003esimplejson/simplejson#364\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/365\"\u003esimplejson/simplejson#365\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/367\"\u003esimplejson/simplejson#367\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/369\"\u003esimplejson/simplejson#369\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNumerous C extension memory safety fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix use-after-free and leak in encoder ident handling\u003c/li\u003e\n\u003cli\u003eFix NULL dereferences on OOM in module init and static string init\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/blob/main/CHANGES.txt\"\u003esimplejson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion 4.1.1 released 2026-04-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003ebuild_wheels_py27\u003c/code\u003e CI job now also builds Python 2.7 wheels\nfor Windows AMD64 and Windows x86, joining the existing Py2.7\nmanylinux1 / manylinux2010 x86_64 wheels. This unblocks offline /\n\u003ccode\u003e--no-index\u003c/code\u003e installs on Py2.7-on-Windows (the original\nreporter's case), which previously had no matching binar...\n\n_Description has been truncated_","html_url":"https://github.com/yash-dagknows/e-com-app/pull/266","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/yash-dagknows%2Fe-com-app/issues/266","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/266/packages"}},{"old_version":"\u003e=5.9.0","new_version":"\u003e=7.2.2","update_type":"patch","path":null,"pr_created_at":"2026-06-02T03:07:00.000Z","version_change":"\u003e=5.9.0 → \u003e=7.2.2","issue":{"uuid":"4568034529","node_id":"PR_kwDOOWxMbM7hnPax","number":851,"state":"open","title":"deps: update psutil requirement from \u003e=5.9.0 to \u003e=7.2.2","user":"dependabot[bot]","labels":["dependencies","python","ci: passed"],"assignees":["AUo959"],"locked":false,"comments_count":32,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-02T03:07:00.000Z","updated_at":"2026-06-02T05:00:56.516Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: update","packages":[{"name":"psutil","old_version":"\u003e=5.9.0","new_version":"\u003e=7.2.2","repository_url":"https://github.com/giampaolo/psutil"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [psutil](https://github.com/giampaolo/psutil) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v5.9.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/AUo959/aurora-cloudbank-symbolic/pull/851","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AUo959%2Faurora-cloudbank-symbolic/issues/851","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/851/packages"}},{"old_version":"7.0.0","new_version":"7.2.2","update_type":"minor","path":null,"pr_created_at":"2026-06-02T00:37:40.000Z","version_change":"7.0.0 → 7.2.2","issue":{"uuid":"4567378429","node_id":"PR_kwDOQIiWRs7hlHZO","number":277,"state":"closed","title":"build(deps): bump the pip-production-dependencies group across 3 directories with 18 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-03T23:07:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-02T00:37:40.000Z","updated_at":"2026-06-03T23:07:05.000Z","time_to_close":167363,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pip-production-dependencies","update_count":18,"packages":[{"name":"flask","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"python-json-logger","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"openfeature-provider-ofrep","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"openfeature-hooks-opentelemetry","old_version":"0.2.0","new_version":"0.3.1","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-api","old_version":"1.38.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.38.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-jinja2","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.38.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"grpcio-health-checking","old_version":"1.71.0","new_version":"1.81.0"},{"name":"openfeature-provider-flagd","old_version":"0.2.3","new_version":"0.4.1","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-distro","old_version":"0.59b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"python-dotenv","old_version":"1.1.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-production-dependencies group with 18 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.1` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [grpcio-health-checking](https://grpc.io) | `1.71.0` | `1.81.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.4.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.1.1` | `1.2.2` |\n\nBumps the pip-production-dependencies group with 13 updates in the /src/load-generator directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-provider-ofrep](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.0` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.1` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.59b0` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 8 updates in the /src/recommendation directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [openfeature-hooks-opentelemetry](https://github.com/open-feature/python-sdk-contrib) | `0.2.0` | `0.3.1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.42.1` |\n| [grpcio-health-checking](https://grpc.io) | `1.71.0` | `1.81.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.4.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.59b0` | `0.63b1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.1.1` | `1.2.2` |\n\n\nUpdates `flask` from 3.1.2 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.1.2...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-json-logger` from 4.0.0 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/releases\"\u003epython-json-logger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/blob/main/docs/changelog.md\"\u003epython-json-logger's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/d80c68da770154d9662975b789cabcc9a3e99408\"\u003e\u003ccode\u003ed80c68d\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/b589b2a576ac058dc55be934159b67060a288756\"\u003e\u003ccode\u003eb589b2a\u003c/code\u003e\u003c/a\u003e [pyproject] Update license table to PEP 639 format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/2bb784a92250c60035a7e4536d1ef48cd02e50d5\"\u003e\u003ccode\u003e2bb784a\u003c/code\u003e\u003c/a\u003e Update code unlocked by Python 3.10 minimum version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/79599b5a6ad5e38c18c468fd0e4ac790961d6b5f\"\u003e\u003ccode\u003e79599b5\u003c/code\u003e\u003c/a\u003e Drop python 3.8, 3.9 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/622650c1f543e7909e8711e4a30c96cc2aa6e332\"\u003e\u003ccode\u003e622650c\u003c/code\u003e\u003c/a\u003e [docs.contributing] Update unsupported JSON encoders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/06165bb03f9892fc24762acabf6b1b0b35c6b56b\"\u003e\u003ccode\u003e06165bb\u003c/code\u003e\u003c/a\u003e [tests.test_formatters] Add non-printable bytes to test_common_types_encoded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/61f88a9fe7cee3409db9c589b03b15c2ffdc3ffa\"\u003e\u003ccode\u003e61f88a9\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify which packages have been considered and rejected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/0add524a24c6210807a66e0f9149200b32cc98a9\"\u003e\u003ccode\u003e0add524\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify when we will add support for new third-party pack...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/eee9505610a64276341a03f2a0b0dee5f500916b\"\u003e\u003ccode\u003eeee9505\u003c/code\u003e\u003c/a\u003e [pylint] Remove old command\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/804592648f8d0e56f7f41112d2945cf52d1d2a6b\"\u003e\u003ccode\u003e8045926\u003c/code\u003e\u003c/a\u003e [mypy] Don't ignore orjson\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-ofrep` from 0.2.0 to 0.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-ofrep's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-ofrep: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eofrep:\u003c/strong\u003e handle 401, 403, 404 and 5xx errors explicitly and add tests (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/346\"\u003e#346\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/7e18bc120ee1a310c28c96aac5b608941889d756\"\u003e7e18bc1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36db67de59732463a372c056525d6453d8a51a75\"\u003e36db67d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4ef10198f1dad5887056f453340f6fb3c9dabc83\"\u003e\u003ccode\u003e4ef1019\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-ofrep 0.3.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36c52d03aeddf5aa922f74ca7ef5c0ec9f6b790d\"\u003e\u003ccode\u003e36c52d0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency asserts to \u0026gt;=0.14.0,\u0026lt;0.15.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003e\u003ccode\u003ec119a77\u003c/code\u003e\u003c/a\u003e fix: various custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c8c9ebe7b2cd51e8c0ce065fdb4e024aecfd3ff3\"\u003e\u003ccode\u003ec8c9ebe\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/372\"\u003e#372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6d3c5f8adafe7150c9bab519ed6c866ff5f85478\"\u003e\u003ccode\u003e6d3c5f8\u003c/code\u003e\u003c/a\u003e chore: stabilize transitive flagd deps (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6b7c78e1f08ad862059bd31d6aef18f66224a755\"\u003e\u003ccode\u003e6b7c78e\u003c/code\u003e\u003c/a\u003e fix(security): update vulnerability-updates [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e\u003ccode\u003e1995534\u003c/code\u003e\u003c/a\u003e feat(flagd): extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-ofrep/v0.2.0...openfeature-provider-ofrep/v0.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-hooks-opentelemetry` from 0.2.0 to 0.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-hooks-opentelemetry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-hooks-opentelemetry: v0.3.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-hooks-opentelemetry/v0.3.0...openfeature-hooks-opentelemetry/v0.3.1\"\u003e0.3.1\u003c/a\u003e (2026-02-17)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlign TracingHook with spec (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/342\"\u003e#342\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2a2127d958ea0bafabb673335fd0d9665c8d9291\"\u003e2a2127d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-hooks-opentelemetry: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-hooks-opentelemetry/v0.2.0...openfeature-hooks-opentelemetry/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate opentelemetry hook to latest version of semantic conventions (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/326\"\u003e#326\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emigrate to uv (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/293\"\u003e#293\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/9590554be4c8a7f77b0c0f20d6b48076c9870f52\"\u003e9590554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate opentelemetry hook to latest version of semantic conventions (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/326\"\u003e#326\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/a2ec682a709a4721f8362cfa6a9e6037937761ee\"\u003ea2ec682\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83926dea688eac265405b79c2ec00c9d08c8862e\"\u003e\u003ccode\u003e83926de\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-hooks-opentelemetry 0.3.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2a2127d958ea0bafabb673335fd0d9665c8d9291\"\u003e\u003ccode\u003e2a2127d\u003c/code\u003e\u003c/a\u003e fix: Align TracingHook with spec (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/342\"\u003e#342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c08b414007f6ce10dcb83249142f054b6d6043d6\"\u003e\u003ccode\u003ec08b414\u003c/code\u003e\u003c/a\u003e chore: align unleash pyproject.toml to others (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/341\"\u003e#341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/8239b836a25663e0030b3891d0140cb365798a37\"\u003e\u003ccode\u003e8239b83\u003c/code\u003e\u003c/a\u003e feat(provider): add \u003ccode\u003eaws-ssm\u003c/code\u003e provider (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/331\"\u003e#331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e\u003ccode\u003e61add22\u003c/code\u003e\u003c/a\u003e fix: replace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/a835c77f10c82af2157ea15be0ffae7bad79b8ce\"\u003e\u003ccode\u003ea835c77\u003c/code\u003e\u003c/a\u003e chore: relax \u003ccode\u003etypes-requests\u003c/code\u003e and update \u003ccode\u003egrpcio\u003c/code\u003e version constraints (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/334\"\u003e#334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/a345ef9f1ea3333e49a173553a9098f5db6746a7\"\u003e\u003ccode\u003ea345ef9\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.2.7 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/290\"\u003e#290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/b9c164a2342d101e23e062a81558f02fe0a38c0b\"\u003e\u003ccode\u003eb9c164a\u003c/code\u003e\u003c/a\u003e fix(security): update dependency protobuf to v6.33.5 [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/2feabd5d70bef2de6661fadf3d74238991a27466\"\u003e\u003ccode\u003e2feabd5\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-unleash 0.1.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/332\"\u003e#332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/dcb8fadfbc0263e68c381681b5b92cb5fea2dc0d\"\u003e\u003ccode\u003edcb8fad\u003c/code\u003e\u003c/a\u003e chore: add component owners\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-hooks-opentelemetry/v0.2.0...openfeature-hooks-opentelemetry/v0.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.38.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.38.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.38.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.38.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-jinja2` from 0.59b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-jinja2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-requests` from 0.59b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-requests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-system-metrics` from 0.59b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-system-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-urllib3` from 0.59b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-urllib3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-sdk` from 1.38.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/013045e3787654123b08530059759842312325ab\"\u003e\u003ccode\u003e013045e\u003c/code\u003e\u003c/a\u003e [release/v1.42.x-0.63bx] Prepare release 1.42.0/0.63b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5225\"\u003e#5225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1731583b4e7bc6ec6a33345aa19706fc83acc8d5\"\u003e\u003ccode\u003e1731583\u003c/code\u003e\u003c/a\u003e ci: Enable GitHub Merge Queue support (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5209\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7fab34d4f49c1cd67df07fa53471c0ae6c269008\"\u003e\u003ccode\u003e7fab34d\u003c/code\u003e\u003c/a\u003e fix(config): allow deflate for OTLP HTTP exporters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5075\"\u003e#5075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/0b690d2139f68dd42d2425c920aec882698443fa\"\u003e\u003ccode\u003e0b690d2\u003c/code\u003e\u003c/a\u003e ci: validate changelog fragment filenames (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5212\"\u003e#5212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d4fabb4d6d79812a6d38dd900212f6a0fdb1866b\"\u003e\u003ccode\u003ed4fabb4\u003c/code\u003e\u003c/a\u003e feat(config): exporter plugin loading via entry points for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e19d34600b177b97cf1d8320a77ff75133515012\"\u003e\u003ccode\u003ee19d346\u003c/code\u003e\u003c/a\u003e feat(config): generic resource detector plugin loading for declarative config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1d69bd2eaa02715ecf3877a8f391678be58f2f57\"\u003e\u003ccode\u003e1d69bd2\u003c/code\u003e\u003c/a\u003e sdk/metrics: copy attributes dict to prevent post-recording mutation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5106\"\u003e#5106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/990a6112a124e53cc0e3f66871ce8f8d00955d15\"\u003e\u003ccode\u003e990a611\u003c/code\u003e\u003c/a\u003e feat(config): propagator plugin loading via entry points for declarative conf...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.38.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-semantic-conventions` from 0.59b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-semantic-conventions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for 'random-trace-id'\nflags in W3C traceparent header trace flags. Implementations of \u003ccode\u003eIdGenerator\u003c/code\u003e\nthat do randomly generate the 56 least significant bits, should also\nimplement a \u003ccode\u003eis_trace_id_random\u003c/code\u003e methods that returns \u003ccode\u003eTrue\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elogs: add exception support to Logger emit and LogRecord attributes\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4908\"\u003e#4908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: make retryable gRPC error codes\nconfigurable for gRPC exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4917\"\u003e#4917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_logger_provider\u003c/code\u003e/\u003ccode\u003econfigure_logger_provider\u003c/code\u003e\nto declarative file configuration, enabling LoggerProvider instantiation from\nconfig files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-common\u003c/code\u003e: add\n'opentelemetry-exporter-otlp-json-common' package for OTLP JSON exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eservice\u003c/code\u003e resource detector support to declarative\nfile configuration via \u003ccode\u003edetection_development.detectors[].service\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5003\"\u003e#5003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add docker-tests coverage of\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e and\n\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e metrics export\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5030\"\u003e#5030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eregistry\u003c/code\u003e keyword argument to \u003ccode\u003ePrometheusMetricReader\u003c/code\u003e to allow passing\na custom Prometheus registry\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5055\"\u003e#5055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WeaverLiveCheck test util\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5088\"\u003e#5088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eload_entry_point\u003c/code\u003e shared utility to declarative\nfile configuration for loading plugins via entry points; refactor propagator\nloading to use it\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5093\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add sampler plugin loading to declarative file\nconfiguration via the \u003ccode\u003eopentelemetry_sampler\u003c/code\u003e entry point group, matching the\nspec's PluginComponentProvider mechanism\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5095\"\u003e#5095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-logging` from 0.59b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-logging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eVersion 1.42.0/0.63b0 (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-richconsole\u003c/code\u003e: Add support for suppressing resource\ninformation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3898\"\u003e#3898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add experimental metrics attributes Labeler\nutility\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4288\"\u003e#4288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add \u003ccode\u003eOTEL_PYTHON_LOG_HANDLER_LEVEL\u003c/code\u003e\nand \u003ccode\u003eOTEL_PYTHON_LOG_FORMAT\u003c/code\u003e environment variables to configure the log level\nand formatter of the auto-instrumented \u003ccode\u003eLoggingHandler\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-sqlite3\u003c/code\u003e: Add uninstrument, error status,\nsuppress, and no-op tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4335\"\u003e#4335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eBaggageLogProcessor\u003c/code\u003e to \u003ccode\u003eopentelemetry-processor-baggage\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-system-metrics\u003c/code\u003e: Add support for\n\u003ccode\u003eprocess.disk.io\u003c/code\u003e metric in system-metrics instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Register \u003ccode\u003eOTEL_SEMCONV_STABILITY_OPT_IN\u003c/code\u003e in\n\u003ccode\u003eenvironment_variables.py\u003c/code\u003e so \u003ccode\u003eopentelemetry-instrument\u003c/code\u003e exposes a\n\u003ccode\u003e--semconv_stability_opt_in\u003c/code\u003e CLI argument\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand \u003ccode\u003eAGENTS.md\u003c/code\u003e with instrumentation/GenAI guidance and add PR review\ninstructions.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4457\"\u003e#4457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: update auto-instrumentation to re-inject\ninstrumentation path after init\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4469\"\u003e#4469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-dbapi\u003c/code\u003e: Add Database client operation duration\nand returned rows metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove redundant \u003ccode\u003epylint: disable=attribute-defined-outside-init\u003c/code\u003e comments\nand add rule to global \u003ccode\u003e.pylintrc\u003c/code\u003e disable list\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3839\"\u003e#3839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epylint\u003c/code\u003e to \u003ccode\u003e4.0.5\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Use \u003ccode\u003eLogRecord.getMessage()\u003c/code\u003e to\nformat and extract each log record's body text to more closely match the\nexpected usage of the logging system. As a result, all OTel log record bodies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `grpcio-health-checking` from 1.71.0 to 1.81.0\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-...\n\n_Description has been truncated_","html_url":"https://github.com/monoscope-tech/oteldemo/pull/277","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/monoscope-tech%2Foteldemo/issues/277","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/277/packages"}},{"old_version":"\u003c8,\u003e=5.9","new_version":"\u003e=7.2.2,\u003c8","update_type":null,"path":null,"pr_created_at":"2026-05-28T00:46:55.000Z","version_change":"\u003c8,\u003e=5.9 → \u003e=7.2.2,\u003c8","issue":{"uuid":"4536784353","node_id":"PR_kwDOSTGVC87gDAbt","number":20,"state":"open","title":"Update psutil requirement from \u003c8,\u003e=5.9 to \u003e=7.2.2,\u003c8","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-28T00:46:55.000Z","updated_at":"2026-05-28T00:46:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"psutil","old_version":"\u003c8,\u003e=5.9","new_version":"\u003e=7.2.2,\u003c8","repository_url":"https://github.com/giampaolo/psutil"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [psutil](https://github.com/giampaolo/psutil) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v5.9.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/ns7jp/server-monitor/pull/20","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ns7jp%2Fserver-monitor/issues/20","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/20/packages"}},{"old_version":"7.0.0","new_version":"7.2.2","update_type":"minor","path":null,"pr_created_at":"2026-05-26T00:23:31.000Z","version_change":"7.0.0 → 7.2.2","issue":{"uuid":"4520310526","node_id":"PR_kwDOSKFNzM7fNcsi","number":38,"state":"open","title":"chore(deps): bump the python-minor-patch group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["ignore-for-release"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-26T00:23:31.000Z","updated_at":"2026-05-26T00:23:40.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-minor-patch","update_count":28,"packages":[{"name":"ruff","old_version":"0.15.11","new_version":"0.15.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"authlib","old_version":"1.7.0","new_version":"1.7.2","repository_url":"https://github.com/authlib/authlib"},{"name":"google-auth","old_version":"2.47.0","new_version":"2.53.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"pydantic","old_version":"2.12.5","new_version":"2.13.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"typing-extensions","old_version":"4.14.1","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"anyio","old_version":"4.10.0","new_version":"4.13.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"typer","old_version":"0.16.0","new_version":"0.25.1","repository_url":"https://github.com/fastapi/typer"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.48.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"openai","old_version":"2.14.0","new_version":"2.38.0","repository_url":"https://github.com/openai/openai-python"},{"name":"mcp","old_version":"1.25.0","new_version":"1.27.1","repository_url":"https://github.com/modelcontextprotocol/python-sdk"},{"name":"fastapi","old_version":"0.129.0","new_version":"0.136.3","repository_url":"https://github.com/fastapi/fastapi"},{"name":"urllib3","old_version":"2.6.3","new_version":"2.7.0","repository_url":"https://github.com/urllib3/urllib3"},{"name":"filelock","old_version":"3.20.3","new_version":"3.29.0","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"python-multipart","old_version":"0.0.22","new_version":"0.0.29","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"boto3","old_version":"1.42.28","new_version":"1.43.14","repository_url":"https://github.com/boto/boto3"},{"name":"ollama","old_version":"0.6.1","new_version":"0.6.2","repository_url":"https://github.com/ollama/ollama-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"opentelemetry-instrumentation-openai","old_version":"0.52.5","new_version":"0.60.0","repository_url":"https://github.com/traceloop/openllmetry"},{"name":"langgraph","old_version":"1.0.6","new_version":"1.2.1","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"openai-agents","old_version":"0.6.5","new_version":"0.17.3","repository_url":"https://github.com/openai/openai-agents-python"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"langchain-openai","old_version":"1.1.7","new_version":"1.2.2","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langgraph-checkpoint-sqlite","old_version":"3.0.3","new_version":"3.1.0","repository_url":"https://github.com/langchain-ai/langgraph"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 23 updates in the /python directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.11` | `0.15.14` |\n| [authlib](https://github.com/authlib/authlib) | `1.7.0` | `1.7.2` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.47.0` | `2.53.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.5` | `2.13.4` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.14.1` | `4.15.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.10.0` | `4.13.0` |\n| [typer](https://github.com/fastapi/typer) | `0.16.0` | `0.25.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.48.0` |\n| [openai](https://github.com/openai/openai-python) | `2.14.0` | `2.38.0` |\n| [mcp](https://github.com/modelcontextprotocol/python-sdk) | `1.25.0` | `1.27.1` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.129.0` | `0.136.3` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.6.3` | `2.7.0` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.20.3` | `3.29.0` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.22` | `0.0.29` |\n| [boto3](https://github.com/boto/boto3) | `1.42.28` | `1.43.14` |\n| [ollama](https://github.com/ollama/ollama-python) | `0.6.1` | `0.6.2` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [opentelemetry-instrumentation-openai](https://github.com/traceloop/openllmetry) | `0.52.5` | `0.60.0` |\n| [langgraph](https://github.com/langchain-ai/langgraph) | `1.0.6` | `1.2.1` |\n| [openai-agents](https://github.com/openai/openai-agents-python) | `0.6.5` | `0.17.3` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [langchain-openai](https://github.com/langchain-ai/langchain) | `1.1.7` | `1.2.2` |\n| [langgraph-checkpoint-sqlite](https://github.com/langchain-ai/langgraph) | `3.0.3` | `3.1.0` |\n\n\nUpdates `ruff` from 0.15.11 to 0.15.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.14\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-task-implicit-multiple-outputs\u003c/code\u003e (\u003ccode\u003eAIR202\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25152\"\u003e#25152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark \u003ccode\u003ePTH101\u003c/code\u003e fix as unsafe when first argument is a class attribute annotated as \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25086\"\u003e#25086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003etoo-many-try-statements\u003c/code\u003e (\u003ccode\u003eW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23970\"\u003e#23970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eincorrect-decorator-order\u003c/code\u003e (\u003ccode\u003eRUF074\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23461\"\u003e#23461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003efallible-context-manager\u003c/code\u003e (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22844\"\u003e#22844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix lambda formatting in interpolated string expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25144\"\u003e#25144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat generic \u003ccode\u003efrozenset\u003c/code\u003e annotations as immutable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25251\"\u003e#25251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Avoid \u003ccode\u003estrict\u003c/code\u003e behavior when \u003ccode\u003efuture-annotations\u003c/code\u003e are enabled (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25035\"\u003e#25035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid false positives in \u003ccode\u003eelse\u003c/code\u003e clause (\u003ccode\u003ePLR1733\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25177\"\u003e#25177\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25272\"\u003e#25272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Preserve f-string source verbatim in \u003ccode\u003eSIM101\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25061\"\u003e#25061\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate code example setting Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full PEP 798 support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25104\"\u003e#25104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a parser recursion limit (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate various \u003ccode\u003eruff_python_stdlib\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25273\"\u003e#25273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ocaballeror\"\u003e\u003ccode\u003e@​ocaballeror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003ccode\u003e@​samuelcolvin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baltasarblanco\"\u003e\u003ccode\u003e@​baltasarblanco\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aconal-com\"\u003e\u003ccode\u003e@​aconal-com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.14\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-task-implicit-multiple-outputs\u003c/code\u003e (\u003ccode\u003eAIR202\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25152\"\u003e#25152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark \u003ccode\u003ePTH101\u003c/code\u003e fix as unsafe when first argument is a class attribute annotated as \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25086\"\u003e#25086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003etoo-many-try-statements\u003c/code\u003e (\u003ccode\u003eW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23970\"\u003e#23970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eincorrect-decorator-order\u003c/code\u003e (\u003ccode\u003eRUF074\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23461\"\u003e#23461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003efallible-context-manager\u003c/code\u003e (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22844\"\u003e#22844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix lambda formatting in interpolated string expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25144\"\u003e#25144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat generic \u003ccode\u003efrozenset\u003c/code\u003e annotations as immutable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25251\"\u003e#25251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Avoid \u003ccode\u003estrict\u003c/code\u003e behavior when \u003ccode\u003efuture-annotations\u003c/code\u003e are enabled (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25035\"\u003e#25035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid false positives in \u003ccode\u003eelse\u003c/code\u003e clause (\u003ccode\u003ePLR1733\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25177\"\u003e#25177\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25272\"\u003e#25272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Preserve f-string source verbatim in \u003ccode\u003eSIM101\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25061\"\u003e#25061\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate code example setting Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full PEP 798 support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25104\"\u003e#25104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a parser recursion limit (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate various \u003ccode\u003eruff_python_stdlib\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25273\"\u003e#25273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ocaballeror\"\u003e\u003ccode\u003e@​ocaballeror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003ccode\u003e@​samuelcolvin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baltasarblanco\"\u003e\u003ccode\u003e@​baltasarblanco\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aconal-com\"\u003e\u003ccode\u003e@​aconal-com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9ad2da3015e5faf73bdc5f1d09df3e47238e3edf\"\u003e\u003ccode\u003e9ad2da3\u003c/code\u003e\u003c/a\u003e Bump 0.15.14 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25295\"\u003e#25295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c714e84952510696c05ec21b0158a3548898f594\"\u003e\u003ccode\u003ec714e84\u003c/code\u003e\u003c/a\u003e [ty] Modernize setup of union types in mdtests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25291\"\u003e#25291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8a8e35ebfe318e2467a0f276e5d1a3a9032a55ad\"\u003e\u003ccode\u003e8a8e35e\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parame...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/aea5ed4d278017057c2e842c6c3a2e92ad71495f\"\u003e\u003ccode\u003eaea5ed4\u003c/code\u003e\u003c/a\u003e Avoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e9d72bb420f26c23e6660bfce4dfa0028b931bff\"\u003e\u003ccode\u003ee9d72bb\u003c/code\u003e\u003c/a\u003e [ty] Allow enum member accesses on \u003ccode\u003eself\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25077\"\u003e#25077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6cbd59b511a92d5f408db57bde33367c0d47b672\"\u003e\u003ccode\u003e6cbd59b\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eexclude-newer = \u0026quot;7 days\u0026quot;\u003c/code\u003e in our PEP-723 scripts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25285\"\u003e#25285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9999a3967ae28fe3295131e8883b6947f272a076\"\u003e\u003ccode\u003e9999a39\u003c/code\u003e\u003c/a\u003e Update code example on how to update Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/67d8c544f0d1c526a2fc60d4bb1358fd7956d178\"\u003e\u003ccode\u003e67d8c54\u003c/code\u003e\u003c/a\u003e [ty] Retain recursively-defined state in binary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25277\"\u003e#25277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/25a3191140dc0467f9d196f35c128fefde269261\"\u003e\u003ccode\u003e25a3191\u003c/code\u003e\u003c/a\u003e [ty] Refine Callable class-decorator fallback for unknown results (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25250\"\u003e#25250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c423054dc09e5b644c926b6b527b6accfbe693e9\"\u003e\u003ccode\u003ec423054\u003c/code\u003e\u003c/a\u003e Add a recursion limit to the parser (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.11...0.15.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `authlib` from 1.7.0 to 1.7.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/authlib/authlib/releases\"\u003eauthlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.7.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix the readme links by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/886\"\u003eauthlib/authlib#886\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow non-recommended algorithms in ClientSecretJWT and PrivateKey by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/887\"\u003eauthlib/authlib#887\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate BCP47 language tags with a regex by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/873\"\u003eauthlib/authlib#873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix RFC7523 signing with non RSA keys by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/884\"\u003eauthlib/authlib#884\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.7.1...v1.7.2\"\u003ehttps://github.com/authlib/authlib/compare/v1.7.1...v1.7.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.7.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix authlib.jose deprecation warning poping from _joserfc_helpers by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/881\"\u003eauthlib/authlib#881\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix redirecting to unvalidated \u003ccode\u003eredirect_uri\u003c/code\u003e on \u003ccode\u003eInvalidScopeError\u003c/code\u003e  in \u003ccode\u003eOpenIDImplicitGrant\u003c/code\u003e and \u003ccode\u003eOpenIDHybridGrant\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.7.0...v1.7.1\"\u003ehttps://github.com/authlib/authlib/compare/v1.7.0...v1.7.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/a0b76fac3fa114d7759af2010546bfc332364b63\"\u003e\u003ccode\u003ea0b76fa\u003c/code\u003e\u003c/a\u003e chore: bump to 1.7.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/c85c7f2b02faf2667f62b27aa60df042dbc9b4ab\"\u003e\u003ccode\u003ec85c7f2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/884\"\u003e#884\u003c/a\u003e from azmeuk/852-rfc7523-key-import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/a3b2adda43b4452ba9f384d224f95848974b4eb4\"\u003e\u003ccode\u003ea3b2add\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/873\"\u003e#873\u003c/a\u003e from azmeuk/bcp47\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/f2578eaa198aedbaaaf3bb00eccc451e15e45e3a\"\u003e\u003ccode\u003ef2578ea\u003c/code\u003e\u003c/a\u003e fix: Import RSAKey in auth.py for additional key support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/b57182cf46a53da19623208dd852270ddec8ebcc\"\u003e\u003ccode\u003eb57182c\u003c/code\u003e\u003c/a\u003e fix: fallback support RSAKey when client_secret is text\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/4e7590292ca9f948a0766640b27025618750e6c1\"\u003e\u003ccode\u003e4e75902\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into 852-rfc7523-key-import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/5eb4a860600ea2f3acc1a2a9c3e621a430da9d0f\"\u003e\u003ccode\u003e5eb4a86\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/887\"\u003e#887\u003c/a\u003e from azmeuk/883-alg\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/5633f37c47bd8352b962f982cb916bc8b95bb5d5\"\u003e\u003ccode\u003e5633f37\u003c/code\u003e\u003c/a\u003e fix: allow non-recommended algorithms in ClientSecretJWT and PrivateKeyJWT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/4c8e7b381aaef68f60e2323a25ba96cdb346f82f\"\u003e\u003ccode\u003e4c8e7b3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/886\"\u003e#886\u003c/a\u003e from azmeuk/885-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/23b333e48a17ebf9f032a0e0f9eb3f990a06f97b\"\u003e\u003ccode\u003e23b333e\u003c/code\u003e\u003c/a\u003e docs: fix the readme links\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/authlib/authlib/compare/v1.7.0...v1.7.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth` from 2.47.0 to 2.53.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/releases\"\u003egoogle-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.49.0.dev0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.48.0...v2.49.0-dev0\"\u003e2.49.0-dev0\u003c/a\u003e (2026-01-26)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eremove deprecated rsa dependency (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e98cf69284d3620619a70b54fb0b9533caf11878\"\u003ee98cf69284d3620619a70b54fb0b9533caf11878\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.48.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.47.0...v2.48.0\"\u003e2.48.0\u003c/a\u003e (2026-01-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ehonor \u003ccode\u003eNO_GCE_CHECK\u003c/code\u003e environment variable (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1610\"\u003e#1610\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/383c9827\"\u003e383c9827\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd configurable GCE Metadata Server retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1488\"\u003e#1488\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/454b441b\"\u003e454b441b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd cryptography as required dependency (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1929\"\u003e#1929\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/52558ae2\"\u003e52558ae2\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport the mTLS IAM domain for Certificate based Access (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1938\"\u003e#1938\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/8dcf91a1\"\u003e8dcf91a1\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eresolve circular imports (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1942\"\u003e#1942\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/25c1b064\"\u003e25c1b064\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse \u003ccode\u003euser_verification=preferred\u003c/code\u003e for ReAuth WebAuthn challenge (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1798\"\u003e#1798\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f88a240\"\u003e3f88a240\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eremoves \u003ccode\u003econtent-header\u003c/code\u003e from AWS IMDS get request (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1934\"\u003e#1934\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/97bfea9e\"\u003e97bfea9e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edetect correct auth when ADC env var is set but empty (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1374\"\u003e#1374\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/bfc07e10\"\u003ebfc07e10\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ereplace deprecated utcfromtimestamp (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1799\"\u003e#1799\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e431f20c\"\u003ee431f20c\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.48.0rc0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.47.0...v2.48.0rc0\"\u003e2.48.0rc0\u003c/a\u003e (2026-01-20)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehonor NO_GCE_CHECK environment variable (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1610\"\u003e#1610\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/383c9827536d9376e8248370ce4c2b83e468d027\"\u003e383c98\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd configurable GCE Metadata Server retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1488\"\u003e#1488\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/454b441b478ec62bbf1a6ad5bceb6c7cbbfd0c37\"\u003e454b44\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport mTLS IAM domain for Certificate based Access (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1938\"\u003e#1938\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/8dcf91a1b05c85fbbd0bcee78d66e498099102ab\"\u003e8dcf91\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd cryptography as required dependency (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1929\"\u003e#1929\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/52558ae2881b1e6555f6f5c0d76365c15807ead9\"\u003e52558a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse user_verification=preferred for ReAuth WebAuthn challenge (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1798\"\u003e#1798\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f88a24089c4ee6822d510de0db210b54260d873\"\u003e3f88a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated utcfromtimestamp (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1799\"\u003e#1799\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e431f20cf73ccac71926a23ec454468cea92e053\"\u003ee431f2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edetect correct auth when ADC env var is set by empty (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1374\"\u003e#1374\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/bfc07e1050bd0aa86fa3b08cdf70c9b68b5fe6a2\"\u003ebfc07e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremoved content-header from AWS IMDS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1934\"\u003e#1934\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/97bfea9e02ede953fc8ee154e0deed3a3cfc6dcc\"\u003e97bfea\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md\"\u003egoogle-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://pypi.org/project/google-auth/#history\"\u003ePyPI History\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.47.0...v2.48.0\"\u003e2.48.0\u003c/a\u003e (2026-01-22)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd cryptography as required dependency (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1929\"\u003e#1929\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/52558ae2881b1e6555f6f5c0d76365c15807ead9\"\u003e52558ae2881b1e6555f6f5c0d76365c15807ead9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport the mTLS IAM domain for Certificate based Access (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1938\"\u003e#1938\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/8dcf91a1b05c85fbbd0bcee78d66e498099102ab\"\u003e8dcf91a1b05c85fbbd0bcee78d66e498099102ab\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd configurable GCE Metadata Server retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1488\"\u003e#1488\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/454b441b478ec62bbf1a6ad5bceb6c7cbbfd0c37\"\u003e454b441b478ec62bbf1a6ad5bceb6c7cbbfd0c37\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ehonor \u003ccode\u003eNO_GCE_CHECK\u003c/code\u003e environment variable (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1610\"\u003e#1610\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/383c9827536d9376e8248370ce4c2b83e468d027\"\u003e383c9827536d9376e8248370ce4c2b83e468d027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eresolve circular imports (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1942\"\u003e#1942\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/25c1b064545702cbef087cfcd15fbbb6ef1af74f\"\u003e25c1b064545702cbef087cfcd15fbbb6ef1af74f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremoves \u003ccode\u003econtent-header\u003c/code\u003e from AWS IMDS get request (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1934\"\u003e#1934\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/97bfea9e02ede953fc8ee154e0deed3a3cfc6dcc\"\u003e97bfea9e02ede953fc8ee154e0deed3a3cfc6dcc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edetect correct auth when ADC env var is set but empty (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1374\"\u003e#1374\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/bfc07e1050bd0aa86fa3b08cdf70c9b68b5fe6a2\"\u003ebfc07e1050bd0aa86fa3b08cdf70c9b68b5fe6a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated utcfromtimestamp (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1799\"\u003e#1799\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e431f20cf73ccac71926a23ec454468cea92e053\"\u003ee431f20cf73ccac71926a23ec454468cea92e053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003euser_verification=preferred\u003c/code\u003e for ReAuth WebAuthn challenge (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1798\"\u003e#1798\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f88a24089c4ee6822d510de0db210b54260d873\"\u003e3f88a24089c4ee6822d510de0db210b54260d873\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/googleapis/google-auth-library-python/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.12.5 to 2.13.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 2026-05-06\u003c/h2\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.3 2026-04-20\u003c/h2\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.2 2026-04-17\u003c/h2\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.1 2026-04-15\u003c/h2\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0 2026-04-13\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.2\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/cf67d4b3193c3fe43ede18612ed62785eee11382\"\u003e\u003ccode\u003ecf67d4b\u003c/code\u003e\u003c/a\u003e Fix linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f0d8a214a5803036db46a56b1f62f1e56b81d662\"\u003e\u003ccode\u003ef0d8a21\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5e3fe1d41a00f441204241c66078003ae0391f9a\"\u003e\u003ccode\u003e5e3fe1d\u003c/code\u003e\u003c/a\u003e Check for pydantic tag pattern in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7f9edcc2a191d2eaa9751220eb910914e716a686\"\u003e\u003ccode\u003e7f9edcc\u003c/code\u003e\u003c/a\u003e Document tagging conventions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b46a0c9b8a4dd967fda8ec1a92f6437076bf262c\"\u003e\u003ccode\u003eb46a0c9\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/50629c851e61d887d5420452c311ec6203f1f400\"\u003e\u003ccode\u003e50629c8\u003c/code\u003e\u003c/a\u003e Update to PyPy 7.3.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8522ebb71e5e9a6f7188af5f009f01785b8cf725\"\u003e\u003ccode\u003e8522ebb\u003c/code\u003e\u003c/a\u003e Preserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a37f3aff090ca342dc5f48304889963530b993f8\"\u003e\u003ccode\u003ea37f3af\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003eMISSING\u003c/code\u003e sentinel test to work with unreleased \u003ccode\u003etyping_extensions\u003c/code\u003e ver...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/909259a9df660518033aa686b689f045a6eaf9d2\"\u003e\u003ccode\u003e909259a\u003c/code\u003e\u003c/a\u003e Remove Logfire example in documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2c4174c366606fc2dc46cb806833a080aefa77df\"\u003e\u003ccode\u003e2c4174c\u003c/code\u003e\u003c/a\u003e Bump libc from 0.2.155 to 0.2.185\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.5...v2.13.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typing-extensions` from 4.14.1 to 4.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/releases\"\u003etyping-extensions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.15.0\u003c/h2\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003cp\u003eNew features since 4.14.1:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.15.0rc1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/blob/main/CHANGELOG.md\"\u003etyping-extensions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 4.15.0 (August 25, 2025)\u003c/h1\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003ch1\u003eRelease 4.15.0rc1 (August 18, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/9d1637e264b5c1a6b7acee3e907015f89b20c2c9\"\u003e\u003ccode\u003e9d1637e\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/4bd67c5be5d9443c7d33c314d02a56ee125eb88d\"\u003e\u003ccode\u003e4bd67c5\u003c/code\u003e\u003c/a\u003e Coverage: exclude some noise (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/656\"\u003e#656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e589a26da73b075c5276bae40b86db1af0144f84\"\u003e\u003ccode\u003ee589a26\u003c/code\u003e\u003c/a\u003e Coverage: add detailed report to job summary (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/67d37fed1298e050f74d5acc95b2621bd37837ad\"\u003e\u003ccode\u003e67d37fe\u003c/code\u003e\u003c/a\u003e Coverage: Implement fail_under (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/654\"\u003e#654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e9ae26f5286edee9262727755ecb9ad16e999192\"\u003e\u003ccode\u003ee9ae26f\u003c/code\u003e\u003c/a\u003e Don't delete previous coverage comment (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/ac80bb728a3006fc88ef7373b92f0c25cfcc7895\"\u003e\u003ccode\u003eac80bb7\u003c/code\u003e\u003c/a\u003e Add Coverage workflow (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/623\"\u003e#623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/abaaafd98c1cc7e5baf098ec287a3d22cb339670\"\u003e\u003ccode\u003eabaaafd\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0rc1 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/98104053ea8d49bcdd247804e5fa9f73136acbd4\"\u003e\u003ccode\u003e9810405\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e@disjoint_base\u003c/code\u003e (PEP 800) (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/634\"\u003e#634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/7ee9e05fd484d06899ce56e80f5e1aa4c760fc03\"\u003e\u003ccode\u003e7ee9e05\u003c/code\u003e\u003c/a\u003e Backport type_params fix from CPython (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/646\"\u003e#646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/1e8eb9c06ef51b3a1e1f05303a16feca13f5ed98\"\u003e\u003ccode\u003e1e8eb9c\u003c/code\u003e\u003c/a\u003e Do not refer to PEP 705 as being experimental (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/648\"\u003e#648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/typing_extensions/compare/4.14.1...4.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anyio` from 4.10.0 to 4.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/anyio/releases\"\u003eanyio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ettl\u003c/code\u003e parameter to the \u003ccode\u003eanyio.functools.lru_cache\u003c/code\u003e wrapper (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1073\"\u003e#1073\u003c/a\u003e; PR by \u003ca href=\"https://github.com/Graeme22\"\u003e\u003ccode\u003e@​Graeme22\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWidened the type annotations of file I/O streams to accept \u003ccode\u003eIO[bytes]\u003c/code\u003e instead of just \u003ccode\u003eBinaryIO\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1078\"\u003e#1078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eanyio.Path\u003c/code\u003e not being compatible with Python 3.15 due to the removal of \u003ccode\u003epathlib.Path.is_reserved()\u003c/code\u003e and the addition of \u003ccode\u003epathlib.Path.__vfspath__()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1061\"\u003e#1061\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eBrokenResourceError\u003c/code\u003e raised by the asyncio \u003ccode\u003eSocketStream\u003c/code\u003e not having the original exception as its cause (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1055\"\u003e#1055\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eTypeError\u003c/code\u003e raised when using \u0026quot;func\u0026quot; as a parameter name in \u003ccode\u003epytest.mark.parametrize\u003c/code\u003e when using the pytest plugin (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1068\"\u003e#1068\u003c/a\u003e; PR by \u003ca href=\"https://github.com/JohnnyDeuss\"\u003e\u003ccode\u003e@​JohnnyDeuss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the pytest plugin not running tests that had the \u003ccode\u003eanyio\u003c/code\u003e marker added programmatically via \u003ccode\u003epytest_collection_modifyitems\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/422\"\u003e#422\u003c/a\u003e; PR by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when they are contained in an exception group alongside non-cancellation exceptions (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1091\"\u003e#1091\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCondition.wait()\u003c/code\u003e not passing on a notification when the task is cancelled but already received a notification\u003c/li\u003e\n\u003cli\u003eFixed inverted condition in the process pool shutdown phase which would cause still-running pooled processes not to be terminated (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1074\"\u003e#1074\u003c/a\u003e; PR by \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged all functions currently raising the private \u003ccode\u003eNoCurrentAsyncBackend\u003c/code\u003e exception (since v4.12.0) to instead raise the public \u003ccode\u003eNoEventLoopError\u003c/code\u003e exception (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1048\"\u003e#1048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eanyio.functools.lru_cache\u003c/code\u003e not working with instance methods (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1042\"\u003e#1042\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for asyncio's \u003ca href=\"https://docs.python.org/3/library/asyncio-graph.html\"\u003etask call graphs\u003c/a\u003e on Python 3.14 and later when using AnyIO's task groups (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded an asynchronous implementation of the \u003ccode\u003efunctools\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1001\"\u003e#1001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003euvloop=True\u003c/code\u003e on Windows via the \u003ca href=\"https://github.com/Vizonex/Winloop\"\u003ewinloop\u003c/a\u003e implementation (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/960\"\u003e#960\u003c/a\u003e; PR by \u003ca href=\"https://github.com/Vizonex\"\u003e\u003ccode\u003e@​Vizonex\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for use as a context manager to \u003ccode\u003eanyio.lowlevel.RunVar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1003\"\u003e#1003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e__all__\u003c/code\u003e declarations to public submodules (\u003ccode\u003eanyio.lowlevel\u003c/code\u003e etc.) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1009\"\u003e#1009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the ability to set the token count of a \u003ccode\u003eCapacityLimiter\u003c/code\u003e to zero (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1019\"\u003e#1019\u003c/a\u003e; requires Python 3.10 or later when using Trio)\u003c/li\u003e\n\u003cli\u003eAdded parameters \u003ccode\u003ecase_sensitive\u003c/code\u003e and \u003ccode\u003erecurse_symlinks\u003c/code\u003e along with support for path-like objects to \u003ccode\u003eanyio.Path.glob()\u003c/code\u003e and \u003ccode\u003eanyio.Path.rglob()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1033\"\u003e#1033\u003c/a\u003e; PR by \u003ca href=\"https://github.com/northisup\"\u003e\u003ccode\u003e@​northisup\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped \u003ccode\u003esniffio\u003c/code\u003e as a direct dependency and added the \u003ccode\u003eget_available_backends()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1021\"\u003e#1021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcess.stdin.send()\u003c/code\u003e not raising \u003ccode\u003eClosedResourceError\u003c/code\u003e and \u003ccode\u003eBrokenResourceError\u003c/code\u003e on asyncio. Previously, a non-AnyIO exception was raised in such cases (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/671\"\u003e#671\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcess.stdin.send()\u003c/code\u003e not checkpointing before writing data on asyncio (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1002\"\u003e#1002\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a race condition where cancelling a \u003ccode\u003eFuture\u003c/code\u003e from \u003ccode\u003eBlockingPortal.start_task_soon()\u003c/code\u003e would sometimes not cancel the async function (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1011\"\u003e#1011\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the presence of the pytest plugin causing breakage with older versions of pytest (\u0026lt;= 6.1.2) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1028\"\u003e#1028\u003c/a\u003e; PR by \u003ca href=\"https://github.com/saper\"\u003e\u003ccode\u003e@​saper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a rarely occurring \u003ccode\u003eRuntimeError: Set changed size during iteration\u003c/code\u003e while shutting down the process pool when using the asyncio backend (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for cancellation reasons (the \u003ccode\u003ereason\u003c/code\u003e parameter to \u003ccode\u003eCancelScope.cancel()\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/975\"\u003e#975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBumped the minimum version of Trio to v0.31.0\u003c/li\u003e\n\u003cli\u003eAdded the ability to enter the event loop from foreign (non-worker) threads by passing the return value of \u003ccode\u003eanyio.lowlevel.current_token()\u003c/code\u003e to \u003ccode\u003eanyio.from_thread.run()\u003c/code\u003e and \u003ccode\u003eanyio.from_thread.run_sync()\u003c/code\u003e as the \u003ccode\u003etoken\u003c/code\u003e keyword argument (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/256\"\u003e#256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded pytest option (\u003ccode\u003eanyio_mode = \u0026quot;auto\u0026quot;\u003c/code\u003e) to make the pytest plugin automatically handle all async tests (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the \u003ccode\u003eanyio.Condition.wait_for()\u003c/code\u003e method for feature parity with asyncio (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/974\"\u003e#974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged the default type argument of \u003ccode\u003eanyio.abc.TaskStatus\u003c/code\u003e from \u003ccode\u003eAny\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/964\"\u003e#964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed TCP listener behavior to guarantee the same ephemeral port is used for all socket listeners when \u003ccode\u003elocal_port=0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/857\"\u003e#857\u003c/a\u003e; PR by \u003ca href=\"https://github.com/11kkw\"\u003e\u003ccode\u003e@​11kkw\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/agronholm\"\u003e\u003ccode\u003e@​agronholm\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed inconsistency between Trio and asyncio where a TCP stream that previously raised a \u003ccode\u003eBrokenResourceError\u003c/code\u003e on \u003ccode\u003esend()\u003c/code\u003e would still raise \u003ccode\u003eBrokenResourceError\u003c/code\u003e after the stream was closed on asyncio, but \u003ccode\u003eClosedResourceError\u003c/code\u003e on Trio. They now both raise a \u003ccode\u003eClosedResourceError\u003c/code\u003e in this scenario. (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/671\"\u003e#671\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/afbe93ca9d0c447adf26e9c1715ac20870622bf2\"\u003e\u003ccode\u003eafbe93c\u003c/code\u003e\u003c/a\u003e Bumped up the version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/33bdf2e4b4f40c2df178123746147a6d2471808d\"\u003e\u003ccode\u003e33bdf2e\u003c/code\u003e\u003c/a\u003e Rearranged the changelog entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/19e09e25bc5a23dd78a577d8c3909dd377057c78\"\u003e\u003ccode\u003e19e09e2\u003c/code\u003e\u003c/a\u003e Fixed inverted condition in _forcibly_shutdown_process_pool_on_exit (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1074\"\u003e#1074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/9369d80b9e8292f2a892a9d5c73923c6a28aa08c\"\u003e\u003ccode\u003e9369d80\u003c/code\u003e\u003c/a\u003e Fixed Condition.wait() not handing over notification when cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/6f122abdc6f6b166c6b6ac27d36d55cdf8fa08e8\"\u003e\u003ccode\u003e6f122ab\u003c/code\u003e\u003c/a\u003e Fixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/beaa45aff568a4020f2faf317321dd92f0e1f4a0\"\u003e\u003ccode\u003ebeaa45a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1097\"\u003e#1097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/602f6606dcf3f37702686a4f3e161328c537b07f\"\u003e\u003ccode\u003e602f660\u003c/code\u003e\u003c/a\u003e Widened type annotations to accept IO[bytes] in file streams\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/b5dcd45170701a756ba634197398f05d4710cab3\"\u003e\u003ccode\u003eb5dcd45\u003c/code\u003e\u003c/a\u003e Added note about erasing the template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/d68670b3b4e0917d4caff2de082e03220f3e05a1\"\u003e\u003ccode\u003ed68670b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1090\"\u003e#1090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/fc17a22dd948e6a3d90d99908813f0010dfc3d2c\"\u003e\u003ccode\u003efc17a22\u003c/code\u003e\u003c/a\u003e tweak to_thread docs about abandon_on_cancel (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1088\"\u003e#1088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/anyio/compare/4.10.0...4.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typer` from 0.16.0 to 0.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/typer/releases\"\u003etyper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.25.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add Typer Library Skill for Agents. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1620\"\u003e#1620\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.11 to 0.15.12. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1722\"\u003e#1722\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.10 to 0.3.11. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1723\"\u003e#1723\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.25.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🚸 Don't truncate code lines in traceback when formatted with Rich. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1695\"\u003e#1695\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.24.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that \u003ccode\u003etyper.launch\u003c/code\u003e forwards correctly when launching a file. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1708\"\u003e#1708\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🎨 Ensure \u003ccode\u003ety\u003c/code\u003e runs without errors. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1628\"\u003e#1628\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add dates to release notes. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1612\"\u003e#1612\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Fix code blocks in reference docs overflowing table width. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1630\"\u003e#1630\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix broken link to FastAPI and Friends newsletter. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1540\"\u003e#1540\u003c/a\u003e by \u003ca href=\"https://github.com/Karlemami\"\u003e\u003ccode\u003e@​Karlemami\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Handle external links \u003ccode\u003etarget=_blank\u003c/code\u003e and CSS automatically in JS and CSS. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1622\"\u003e#1622\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Remove link to Typer developer survey. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1609\"\u003e#1609\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✏️ Clean up documentation in \u003ccode\u003einstall.md\u003c/code\u003e file. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1606\"\u003e#1606\u003c/a\u003e by \u003ca href=\"https://github.com/Johandielangman\"\u003e\u003ccode\u003e@​Johandielangman\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump mypy from 1.20.1 to 1.20.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1715\"\u003e#1715\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.9 to 0.3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1716\"\u003e#1716\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic-settings from 2.13.1 to 2.14.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1713\"\u003e#1713\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ty from 0.0.31 to 0.0.32. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1711\"\u003e#1711\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic from 2.13.2 to 2.13.3. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1712\"\u003e#1712\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pygments from 2.19.2 to 2.20.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1667\"\u003e#1667\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pymdown-extensions from 10.20 to 10.21.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1710\"\u003e#1710\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/cache from 5.0.4 to 5.0.5. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1700\"\u003e#1700\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic from 2.13.1 to 2.13.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1703\"\u003e#1703\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/upload-artifact from 7.0.0 to 7.0.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1701\"\u003e#1701\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.10 to 0.15.11. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1704\"\u003e#1704\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump cloudflare/wrangler-action from 3.14.1 to 3.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1702\"\u003e#1702\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump astral-sh/setup-uv from 7.6.0 to 8.1.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1699\"\u003e#1699\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ty from 0.0.30 to 0.0.31. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1696\"\u003e#1696\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic from 2.13.0 to 2.13.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1697\"\u003e#1697\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/typer/blob/master/docs/release-notes.md\"\u003etyper's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.25.1 (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add Typer Library Skill for Agents. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1620\"\u003e#1620\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.11 to 0.15.12. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1722\"\u003e#1722\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.10 to 0.3.11. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1723\"\u003e#1723\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.25.0 (2026-04-26)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🚸 Don't truncate code lines in traceback when formatted with Rich. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1695\"\u003e#1695\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.24.2 (2026-04-22)\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that \u003ccode\u003etyper.launch\u003c/code\u003e forwards correctly when launching a file. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1708\"\u003e#1708\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🎨 Ensure \u003ccode\u003ety\u003c/code\u003e runs without errors. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1628\"\u003e#1628\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add dates to release notes. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1612\"\u003e#1612\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Fix code blocks in reference docs overflowing table width. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1630\"\u003e#1630\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix broken link to FastAPI and Friends newsletter. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1540\"\u003e#1540\u003c/a\u003e by \u003ca href=\"https://github.com/Karlemami\"\u003e\u003ccode\u003e@​Karlemami\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Handle external links \u003ccode\u003etarget=_blank\u003c/code\u003e and CSS automatically in JS and CSS. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1622\"\u003e#1622\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Remove link to Typer developer survey. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1609\"\u003e#1609\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✏️ Clean up documentation in \u003ccode\u003einstall.md\u003c/code\u003e file. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1606\"\u003e#1606\u003c/a\u003e by \u003ca href=\"https://github.com/Johandielangman\"\u003e\u003ccode\u003e@​Johandielangman\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump mypy from 1.20.1 to 1.20.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1715\"\u003e#1715\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.9 to 0.3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1716\"\u003e#1716\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic-settings from 2.13.1 to 2.14.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1713\"\u003e#1713\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ty from 0.0.31 to 0.0.32. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1711\"\u003e#1711\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic from 2.13.2 to 2.13.3. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1712\"\u003e#1712\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pygments from 2.19.2 to 2.20.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1667\"\u003e#1667\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pymdown-extensions from 10.20 to 10.21.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1710\"\u003e#1710\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/cache from 5.0.4 to 5.0.5. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1700\"\u003e#1700\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic from 2.13.1 to 2.13.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1703\"\u003e#1703\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/upload-artifact from 7.0.0 to 7.0.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1701\"\u003e#1701\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.10 to 0.15.11. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1704\"\u003e#1704\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump cloudflare/wrangler-action from 3.14.1 to 3.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1702\"\u003e#1702\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/cfcc2ef9f948bcce67897a6c7e689d39da690bf9\"\u003e\u003ccode\u003ecfcc2ef\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.25.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/13846cc59bd574567a9a1f56eae3cd42b9aa2a4f\"\u003e\u003ccode\u003e13846cc\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/a43746997ad6f2b4a8829c69c919f4d4c2cc0698\"\u003e\u003ccode\u003ea437469\u003c/code\u003e\u003c/a\u003e 🔧 Add Typer Library Skill for Agents (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1620\"\u003e#1620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/ba6cc2c9e7cba35f891c91118e228e1d2da35edb\"\u003e\u003ccode\u003eba6cc2c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/0f3ead07c2bb384fdd590e895ca6705582c58d89\"\u003e\u003ccode\u003e0f3ead0\u003c/code\u003e\u003c/a\u003e ⬆ Bump ruff from 0.15.11 to 0.15.12 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1722\"\u003e#1722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/db4ade64936599b3460f2fc0a7c550c3fedc33b0\"\u003e\u003ccode\u003edb4ade6\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/5a5206ceed2afdf234f88a6e2ef74ad9ebdf0d92\"\u003e\u003ccode\u003e5a5206c\u003c/code\u003e\u003c/a\u003e ⬆ Bump prek from 0.3.10 to 0.3.11 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1723\"\u003e#1723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/959845e173b4bec0d606d99247815c2710613ca8\"\u003e\u003ccode\u003e959845e\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.25.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/5e1fcfb5935e7ac3ff3c7526ef297eae31bd4822\"\u003e\u003ccode\u003e5e1fcfb\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/dfb21ad034804584702d553ebfba40d8f4d791b9\"\u003e\u003ccode\u003edfb21ad\u003c/code\u003e\u003c/a\u003e 🚸 Don't truncate code lines in traceback when formatted with Rich (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1695\"\u003e#1695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/typer/compare/0.16.0...0.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.35.0 to 0.48.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.48.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault \u003ccode\u003essl_ciphers\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e and use OpenSSL defaults by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2940\"\u003eKludex/uvicorn#2940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2944\"\u003eKludex/uvicorn#2944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.47.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEagerly import the ASGI app in the parent process by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2919\"\u003eKludex/uvicorn#2919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003essl_context_factory\u003c/code\u003e for custom \u003ccode\u003eSSLContext\u003c/code\u003e configuration by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2920\"\u003eKludex/uvicorn#2920\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers by \u003ca href=\"https://github.com/eltoder\"\u003e\u003ccode\u003e@​eltoder\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2927\"\u003eKludex/uvicorn#...\n\n_Description has been truncated_","html_url":"https://github.com/tmohanvamsi/kagent/pull/38","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmohanvamsi%2Fkagent/issues/38","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38/packages"}},{"old_version":"5.9.8","new_version":"7.2.2","update_type":"major","path":null,"pr_created_at":"2026-05-26T00:19:07.000Z","version_change":"5.9.8 → 7.2.2","issue":{"uuid":"4520295051","node_id":"PR_kwDOSnyC9c7fNZk-","number":61,"state":"open","title":"Bump psutil from 5.9.8 to 7.2.2","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-26T00:19:07.000Z","updated_at":"2026-05-26T00:19:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"psutil","old_version":"5.9.8","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"}],"path":null,"ecosystem":"pip"},"body":"Bumps [psutil](https://github.com/giampaolo/psutil) from 5.9.8 to 7.2.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v5.9.8...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=psutil\u0026package-manager=pip\u0026previous-version=5.9.8\u0026new-version=7.2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/WilsonMariano/geonode/pull/61","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/WilsonMariano%2Fgeonode/issues/61","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/61/packages"}},{"old_version":"\u003e=5.8.0","new_version":"\u003e=7.2.2","update_type":"patch","path":null,"pr_created_at":"2026-05-25T05:18:00.000Z","version_change":"\u003e=5.8.0 → \u003e=7.2.2","issue":{"uuid":"4514458750","node_id":"PR_kwDOSJjCW87e6hCo","number":12,"state":"open","title":"Update psutil requirement from \u003e=5.8.0 to \u003e=7.2.2","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-25T05:18:00.000Z","updated_at":"2026-05-25T05:19:35.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"psutil","old_version":"\u003e=5.8.0","new_version":"\u003e=7.2.2","repository_url":"https://github.com/giampaolo/psutil"}],"path":null,"ecosystem":"pip"},"body":"\u003e [!WARNING]\n\u003e Dependabot will stop supporting `python v3.9`!\n\u003e \n\u003e Please upgrade to one of the following versions: `v3.9`, `v3.10`, `v3.11`, `v3.12`, `v3.13`, or `v3.14`.\n\u003e\n\nUpdates the requirements on [psutil](https://github.com/giampaolo/psutil) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v5.8.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/sajibbormon/dacs-research/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sajibbormon%2Fdacs-research/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"}},{"old_version":"\u003e=5.8.0","new_version":"\u003e=7.2.2","update_type":"patch","path":null,"pr_created_at":"2026-05-25T05:07:36.000Z","version_change":"\u003e=5.8.0 → \u003e=7.2.2","issue":{"uuid":"4514418823","node_id":"PR_kwDORaCxyM7e6ZK3","number":9,"state":"open","title":"Update psutil requirement from \u003e=5.8.0 to \u003e=7.2.2","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-25T05:07:36.000Z","updated_at":"2026-05-25T05:08:25.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"psutil","old_version":"\u003e=5.8.0","new_version":"\u003e=7.2.2","repository_url":"https://github.com/giampaolo/psutil"}],"path":null,"ecosystem":"pip"},"body":"\u003e [!WARNING]\n\u003e Dependabot will stop supporting `python v3.9`!\n\u003e \n\u003e Please upgrade to one of the following versions: `v3.9`, `v3.10`, `v3.11`, `v3.12`, `v3.13`, or `v3.14`.\n\u003e\n\nUpdates the requirements on [psutil](https://github.com/giampaolo/psutil) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v5.8.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/LincolnMa1285/UltralyticsV8/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/LincolnMa1285%2FUltralyticsV8/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"}},{"old_version":"7.0.0","new_version":"7.2.2","update_type":"minor","path":null,"pr_created_at":"2026-05-24T20:49:37.000Z","version_change":"7.0.0 → 7.2.2","issue":{"uuid":"4512872509","node_id":"PR_kwDOSesxPM7e1ltC","number":28,"state":"closed","title":"chore(deps): bump the pip-production-dependencies group across 5 directories with 14 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-24T21:09:21.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-24T20:49:37.000Z","updated_at":"2026-05-24T21:09:30.000Z","time_to_close":1184,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip-production-dependencies","update_count":14,"packages":[{"name":"grpcio-health-checking","old_version":"1.78.0","new_version":"1.80.0"},{"name":"openfeature-provider-flagd","old_version":"0.2.3","new_version":"0.4.1","repository_url":"https://github.com/open-feature/python-sdk-contrib"},{"name":"opentelemetry-distro","old_version":"0.63b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.42.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"openai","old_version":"2.37.0","new_version":"2.38.0","repository_url":"https://github.com/openai/openai-python"},{"name":"opentelemetry-api","old_version":"1.42.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-jinja2","old_version":"0.63b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.63b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.63b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.63b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.42.0","new_version":"1.42.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.63b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.63b0","new_version":"0.63b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-production-dependencies group with 14 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.80.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.4.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.42.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [openai](https://github.com/openai/openai-python) | `2.37.0` | `2.38.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.42.0` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.42.0` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.63b0` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 1 update in the /src/llm directory: [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib).\nBumps the pip-production-dependencies group with 9 updates in the /src/load-generator directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.42.0` | `1.42.1` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.42.0` | `1.42.1` |\n| [opentelemetry-instrumentation-jinja2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.42.0` | `1.42.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.63b0` | `0.63b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n\nBumps the pip-production-dependencies group with 6 updates in the /src/product-reviews directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.80.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.4.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.42.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [openai](https://github.com/openai/openai-python) | `2.37.0` | `2.38.0` |\n\nBumps the pip-production-dependencies group with 5 updates in the /src/recommendation directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [grpcio-health-checking](https://grpc.io) | `1.78.0` | `1.80.0` |\n| [openfeature-provider-flagd](https://github.com/open-feature/python-sdk-contrib) | `0.2.3` | `0.4.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.63b0` | `0.63b1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.42.0` | `1.42.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n\n\nUpdates `grpcio-health-checking` from 1.78.0 to 1.80.0\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36db67de59732463a372c056525d6453d8a51a75\"\u003e36db67d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.2.7\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36c52d03aeddf5aa922f74ca7ef5c0ec9f6b790d\"\u003e\u003ccode\u003e36c52d0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency asserts to \u0026gt;=0.14.0,\u0026lt;0.15.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003e\u003ccode\u003ec119a77\u003c/code\u003e\u003c/a\u003e fix: various custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c8c9ebe7b2cd51e8c0ce065fdb4e024aecfd3ff3\"\u003e\u003ccode\u003ec8c9ebe\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/372\"\u003e#372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6d3c5f8adafe7150c9bab519ed6c866ff5f85478\"\u003e\u003ccode\u003e6d3c5f8\u003c/code\u003e\u003c/a\u003e chore: stabilize transitive flagd deps (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6b7c78e1f08ad862059bd31d6aef18f66224a755\"\u003e\u003ccode\u003e6b7c78e\u003c/code\u003e\u003c/a\u003e fix(security): update vulnerability-updates [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e\u003ccode\u003e1995534\u003c/code\u003e\u003c/a\u003e feat(flagd): extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/564eb68aa513e6d8b5fb06aa5f632f427b11abe5\"\u003e\u003ccode\u003e564eb68\u003c/code\u003e\u003c/a\u003e fix(security): update dependency pytest to v9.0.3 [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-distro` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-distro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.42.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.42.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v7.0.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.37.0 to 2.38.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/e75766769547601a25ed83b666c4d0fd046881f0\"\u003e\u003ccode\u003ee757667\u003c/code\u003e\u003c/a\u003e release: 2.38.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/b85b647b5312debb951814dfb9ed13f906d6bf43\"\u003e\u003ccode\u003eb85b647\u003c/code\u003e\u003c/a\u003e feat(api): api update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/d881c67866083ae187e14664e289e68a3ba04686\"\u003e\u003ccode\u003ed881c67\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;chore: check release PR custom code sync\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/d4a322816ad637330e40fdcdee9ca48bc92a2a4f\"\u003e\u003ccode\u003ed4a3228\u003c/code\u003e\u003c/a\u003e chore: check release PR custom code sync\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/48888380cdfc01e4f22f9ed7fbd5250231472e0d\"\u003e\u003ccode\u003e4888838\u003c/code\u003e\u003c/a\u003e chore: remove release automation trigger\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/74978f055a7adf004dec718e80bb46241e54d9ca\"\u003e\u003ccode\u003e74978f0\u003c/code\u003e\u003c/a\u003e chore: trigger release automation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/bab18af787cd5d962aedeb4b5b86df4f6cf28003\"\u003e\u003ccode\u003ebab18af\u003c/code\u003e\u003c/a\u003e chore(api): docs updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a6f899aa1e046dd0cc18b89c4f73260463888db6\"\u003e\u003ccode\u003ea6f899a\u003c/code\u003e\u003c/a\u003e feat(api): manual updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2897485d445f2924c5c2a8e6a9f40eec633ff345\"\u003e\u003ccode\u003e2897485\u003c/code\u003e\u003c/a\u003e feat(api): update OpenAPI spec or Stainless config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a2f1d6c56980713619760c60a5c7bfb580b0adcb\"\u003e\u003ccode\u003ea2f1d6c\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.42.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.42.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-jinja2` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-jinja2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-requests` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-requests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-system-metrics` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-system-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-urllib3` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-urllib3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-sdk` from 1.42.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.42.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-semantic-conventions` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-semantic-conventions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-logging` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-logging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36db67de59732463a372c056525d6453d8a51a75\"\u003e36db67d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.2.7\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36c52d03aeddf5aa922f74ca7ef5c0ec9f6b790d\"\u003e\u003ccode\u003e36c52d0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency asserts to \u0026gt;=0.14.0,\u0026lt;0.15.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003e\u003ccode\u003ec119a77\u003c/code\u003e\u003c/a\u003e fix: various custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c8c9ebe7b2cd51e8c0ce065fdb4e024aecfd3ff3\"\u003e\u003ccode\u003ec8c9ebe\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/372\"\u003e#372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6d3c5f8adafe7150c9bab519ed6c866ff5f85478\"\u003e\u003ccode\u003e6d3c5f8\u003c/code\u003e\u003c/a\u003e chore: stabilize transitive flagd deps (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6b7c78e1f08ad862059bd31d6aef18f66224a755\"\u003e\u003ccode\u003e6b7c78e\u003c/code\u003e\u003c/a\u003e fix(security): update vulnerability-updates [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e\u003ccode\u003e1995534\u003c/code\u003e\u003c/a\u003e feat(flagd): extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/564eb68aa513e6d8b5fb06aa5f632f427b11abe5\"\u003e\u003ccode\u003e564eb68\u003c/code\u003e\u003c/a\u003e fix(security): update dependency pytest to v9.0.3 [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.42.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.42.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.42.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.42.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-jinja2` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-jinja2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-requests` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-requests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-system-metrics` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-system-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-urllib3` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-urllib3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-sdk` from 1.42.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.42.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-semantic-conventions` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-semantic-conventions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-logging` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-logging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `grpcio-health-checking` from 1.78.0 to 1.80.0\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce list for fatal status codes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/362\"\u003e#362\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/96a88ada622fb7941a1d4d58205ff3342180fa9a\"\u003e96a88ad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.7...openfeature-provider-flagd/v0.3.0\"\u003e0.3.0\u003c/a\u003e (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereplace project.scripts with poethepoet (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/335\"\u003e#335\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/61add22b975140ccd39b618bf70efeeecbdc25c3\"\u003e61add22\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003egraceful fallback to code default when no default variant (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/347\"\u003e#347\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36db67de59732463a372c056525d6453d8a51a75\"\u003e36db67d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.2.7\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/5857f4503c4891034bb63256c1e2a20333ba3da1\"\u003e\u003ccode\u003e5857f45\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-provider-flagd 0.4.1 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/3197e020e0d3ebde666b379699be5d3853c98090\"\u003e\u003ccode\u003e3197e02\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-api 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/4f95c87fb9fd08424089793929697b88eee0c0e6\"\u003e\u003ccode\u003e4f95c87\u003c/code\u003e\u003c/a\u003e chore(main): release openfeature-flagd-core 1.0.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/36c52d03aeddf5aa922f74ca7ef5c0ec9f6b790d\"\u003e\u003ccode\u003e36c52d0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency asserts to \u0026gt;=0.14.0,\u0026lt;0.15.0 (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003e\u003ccode\u003ec119a77\u003c/code\u003e\u003c/a\u003e fix: various custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c8c9ebe7b2cd51e8c0ce065fdb4e024aecfd3ff3\"\u003e\u003ccode\u003ec8c9ebe\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/372\"\u003e#372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6d3c5f8adafe7150c9bab519ed6c866ff5f85478\"\u003e\u003ccode\u003e6d3c5f8\u003c/code\u003e\u003c/a\u003e chore: stabilize transitive flagd deps (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/6b7c78e1f08ad862059bd31d6aef18f66224a755\"\u003e\u003ccode\u003e6b7c78e\u003c/code\u003e\u003c/a\u003e fix(security): update vulnerability-updates [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e\u003ccode\u003e1995534\u003c/code\u003e\u003c/a\u003e feat(flagd): extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/564eb68aa513e6d8b5fb06aa5f632f427b11abe5\"\u003e\u003ccode\u003e564eb68\u003c/code\u003e\u003c/a\u003e fix(security): update dependency pytest to v9.0.3 [security] (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.2.3...openfeature-provider-flagd/v0.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-distro` from 0.63b0 to 0.63b1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-distro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.42.0 to 1.42.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.42.1/0.63b1 (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve the random trace ID flag when creating child spans instead of always\nsetting the random trace id bit depending on the available trace id\ngenerator.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5241\"\u003e#5241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/367e14d01104785ac28b1c66ac32b2082f864a12\"\u003e\u003ccode\u003e367e14d\u003c/code\u003e\u003c/a\u003e Prepare release 1.42.1/0.63b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5243\"\u003e#5243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/fd8e50410b1788d34b36173dea58d8e38dcc80bc\"\u003e\u003ccode\u003efd8e504\u003c/code\u003e\u003c/a\u003e Preserve random trace ID flag for child spans (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5241\"\u003e#5241\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5242\"\u003e#5242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.42.0...v1.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e7.2.2 — 2026-01-28\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [Linux]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003epidfd_open()\u003c/code\u003e +\n\u003ccode\u003epoll()\u003c/code\u003e (no busy loop). Requires Linux \u0026gt;= 5.3 and Python \u0026gt;= 3.9.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2705\u003c/code\u003e: [macOS], [BSD]: :meth:\u003ccode\u003eProcess.wait\u003c/code\u003e now uses \u003ccode\u003ekqueue()\u003c/code\u003e (no\nbusy loop).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2701\u003c/code\u003e, [macOS]: fix compilation error on macOS \u0026lt; 10.7. (patch by\n:user:\u003ccode\u003eSergey Fedorov \u0026lt;barracuda156\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2707\u003c/code\u003e, [macOS]: fix potential memory leaks in error paths of\n:meth:\u003ccode\u003eProcess.memory_full_info\u003c/code\u003e and :meth:\u003ccode\u003eProcess.threads\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2708\u003c/code\u003e, [macOS]: :meth:\u003ccode\u003eProcess.cmdline\u003c/code\u003e and :meth:\u003ccode\u003eProcess.environ\u003c/code\u003e may\nfail with \u003ccode\u003eOSError: [Errno 0] Undefined error\u003c/code\u003e (from\n\u003ccode\u003esysctl(KERN_PROCARGS2)\u003c/code\u003e). They now raise :exc:\u003ccode\u003eAccessDenied\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.1 — 2025-12-29\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2699\u003c/code\u003e, [FreeBSD], [NetBSD]: :func:\u003ccode\u003eheap_info\u003c/code\u003e does not detect small\nallocations (\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc\ncache before fetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e7.2.0 — 2025-12-23\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e1275\u003c/code\u003e: new :func:\u003ccode\u003eheap_info\u003c/code\u003e and :func:\u003ccode\u003eheap_trim\u003c/code\u003e functions, providing\ndirect access to the platform's native C :term:\u003ccode\u003eheap\u003c/code\u003e allocator (glibc,\nmimalloc, libmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2403\u003c/code\u003e, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2680\u003c/code\u003e: unit tests are no longer installed / part of the distribution.\nThey now live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2684\u003c/code\u003e, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to\nmissing include.\u003c/li\u003e\n\u003cli\u003e:gh:\u003ccode\u003e2691\u003c/code\u003e, [Windows]: fix memory leak in :func:\u003ccode\u003enet_if_stats\u003c/code\u003e due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/v7.0.0...v7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.37.0 to 2.38.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/e75766769547601a25ed83b666c4d0fd046881f0\"\u003e\u003ccode\u003ee757667\u003c/code\u003e\u003c/a\u003e release: 2.38.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/b85b647b5312debb951814dfb9ed13f906d6bf43\"\u003e\u003ccode\u003eb85b647\u003c/code\u003e\u003c/a\u003e feat(api): api update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/d881c67866083ae187e14664e289e68a3ba04686\"\u003e\u003ccode\u003ed881c67\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;chore: check release PR custom code sync\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/d4a322816ad637330e40fdcdee9ca48bc92a2a4f\"\u003e\u003ccode\u003ed4a3228\u003c/code\u003e\u003c/a\u003e chore: check release PR custom code sync\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/48888380cdfc01e4f22f9ed7fbd5250231472e0d\"\u003e\u003ccode\u003e4888838\u003c/code\u003e\u003c/a\u003e chore: remove release automation trigger\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/74978f055a7adf004dec718e80bb46241e54d9ca\"\u003e\u003ccode\u003e74978f0\u003c/code\u003e\u003c/a\u003e chore: trigger release automation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/bab18af787cd5d962aedeb4b5b86df4f6cf28003\"\u003e\u003ccode\u003ebab18af\u003c/code\u003e\u003c/a\u003e chore(api): docs updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a6f899aa1e046dd0cc18b89c4f73260463888db6\"\u003e\u003ccode\u003ea6f899a\u003c/code\u003e\u003c/a\u003e feat(api): manual updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2897485d445f2924c5c2a8e6a9f40eec633ff345\"\u003e\u003ccode\u003e2897485\u003c/code\u003e\u003c/a\u003e feat(api): update OpenAPI spec or Stainless config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a2f1d6c56980713619760c60a5c7bfb580b0adcb\"\u003e\u003ccode\u003ea2f1d6c\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `grpcio-health-checking` from 1.78.0 to 1.80.0\n\nUpdates `openfeature-provider-flagd` from 0.2.3 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-feature/python-sdk-contrib/releases\"\u003eopenfeature-provider-flagd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.4.0...openfeature-provider-flagd/v0.4.1\"\u003e0.4.1\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evarious custom operator conformance fixes (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/386\"\u003e#386\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/c119a774736dd4d48a4dc82d158aafc17cc3936f\"\u003ec119a77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eflagd:\u003c/strong\u003e extract evaluator into api, core, and testkit packages (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/377\"\u003e#377\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/1995534c2545b8c65d2944e3e52ce19a552b4815\"\u003e1995534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopenfeature-provider-flagd: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/compare/openfeature-provider-flagd/v0.3.0...openfeature-provider-flagd/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.9 support (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/364\"\u003e#364\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/0ecd1d4c41e96f90b019a76ce9c3b1f70f2a23a4\"\u003e0ecd1d4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efractional bucketing improvements (\u003ca href=\"https://redirect.github.com/open-feature/python-sdk-contrib/issues/373\"\u003e#373\u003c/a\u003e) (\u003ca href=\"https://github.com/open-feature/python-sdk-contrib/commit/83c3e48595c0f44b4a3259719a5d85fde987f492\"\u003e83c3e48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintroduce lis...\n\n_Description has been truncated_","html_url":"https://github.com/Devops-project-may-2026/project-03-eks-gitops-observability-otel/pull/28","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devops-project-may-2026%2Fproject-03-eks-gitops-observability-otel/issues/28","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/28/packages"}}]}