This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [boto3](https://redirect.github.com/boto/boto3) | `==1.37.24` -> `==1.37.33` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [celery](https://docs.celeryq.dev/) ([source](https://redirect.github.com/celery/celery), [changelog](https://docs.celeryq.dev/en/stable/changelog.html)) | `==5.5.0` -> `==5.5.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [django](https://redirect.github.com/django/django) ([changelog](https://docs.djangoproject.com/en/stable/releases/)) | `==5.1.8` -> `==5.2` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [django-extensions](https://redirect.github.com/django-extensions/django-extensions) ([changelog](https://redirect.github.com/django-extensions/django-extensions/blob/main/CHANGELOG.md)) | `==3.2.3` -> `==4.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [django-storages](https://redirect.github.com/jschneier/django-storages) ([changelog](https://redirect.github.com/jschneier/django-storages/blob/master/CHANGELOG.rst)) | `==1.14.5` -> `==1.14.6` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [drf-spectacular-sidecar](https://redirect.github.com/tfranzel/drf-spectacular-sidecar) | `==2025.3.1` -> `==2025.4.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [ipython](https://redirect.github.com/ipython/ipython) | `==9.0.2` -> `==9.1.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [lxml](https://lxml.de/) ([source](https://redirect.github.com/lxml/lxml), [changelog](https://git.launchpad.net/lxml/plain/CHANGES.txt)) | `==5.3.1` -> `==5.3.2` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [markdown](https://redirect.github.com/Python-Markdown/markdown) ([changelog](https://python-markdown.github.io/changelog/)) | `==3.7` -> `==3.8` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [openai](https://redirect.github.com/openai/openai-python) | `==1.70.0` -> `==1.73.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [pycrdt](https://redirect.github.com/jupyter-server/pycrdt) | `==0.12.10` -> `==0.12.12` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [pytest-cov](https://redirect.github.com/pytest-dev/pytest-cov) ([changelog](https://pytest-cov.readthedocs.io/en/latest/changelog.html)) | `==6.0.0` -> `==6.1.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [pytest-django](https://redirect.github.com/pytest-dev/pytest-django) ([changelog](https://pytest-django.readthedocs.io/en/latest/changelog.html)) | `==4.10.0` -> `==4.11.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [ruff](https://docs.astral.sh/ruff) ([source](https://redirect.github.com/astral-sh/ruff), [changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md)) | `==0.11.2` -> `==0.11.5` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [sentry-sdk](https://redirect.github.com/getsentry/sentry-python) ([changelog](https://redirect.github.com/getsentry/sentry-python/blob/master/CHANGELOG.md)) | `==2.25.0` -> `==2.25.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>boto/boto3 (boto3)</summary> ### [`v1.37.33`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#13733) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.37.32...1.37.33) \======= - api-change:`connect-contact-lens`: \[`botocore`] Making sentiment optional for ListRealtimeContactAnalysisSegments Response depending on conversational analytics configuration - api-change:`datazone`: \[`botocore`] Raise hard limit of authorized principals per SubscriptionTarget from 10 to 20. - api-change:`detective`: \[`botocore`] Add support for Detective DualStack endpoints - api-change:`dynamodb`: \[`botocore`] Doc only update for API descriptions. - api-change:`marketplace-entitlement`: \[`botocore`] Add support for Marketplace Entitlement Service dual-stack endpoints for CN and GOV regions - api-change:`meteringmarketplace`: \[`botocore`] Add support for Marketplace Metering Service dual-stack endpoints for CN regions - api-change:`pcs`: \[`botocore`] Changed the minimum length of clusterIdentifier, computeNodeGroupIdentifier, and queueIdentifier to 3. - api-change:`verifiedpermissions`: \[`botocore`] Adds deletion protection support to policy stores. Deletion protection is disabled by default, can be enabled via the CreatePolicyStore or UpdatePolicyStore APIs, and is visible in GetPolicyStore. - bugfix:`download_fileobj`: Fileobj provided in append mode will no longer allow concurrent writes to preserve data integrity. ### [`v1.37.32`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#13732) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.37.31...1.37.32) \======= - api-change:`application-autoscaling`: \[`botocore`] Application Auto Scaling now supports horizontal scaling for Elasticache Memcached self-designed clusters using target tracking scaling policies and scheduled scaling. - api-change:`elasticache`: \[`botocore`] AWS ElastiCache SDK now supports using MemcachedUpgradeConfig parameter with ModifyCacheCluster API to enable updating Memcached cache node types. Please refer to updated AWS ElastiCache public documentation for detailed information on API usage and implementation. - api-change:`m2`: \[`botocore`] Introduce three new APIs: CreateDataSetExportTask, GetDataSetExportTask and ListDataSetExportHistory. Add support for batch restart for Blu Age applications. - api-change:`medialive`: \[`botocore`] AWS Elemental MediaLive / Features : Add support for CMAF Ingest CaptionLanguageMappings, TimedMetadataId3 settings, and Link InputResolution. - api-change:`qbusiness`: \[`botocore`] Adds functionality to enable/disable a new Q Business Hallucination Reduction feature. If enabled, Q Business will detect and attempt to remove Hallucinations from certain Chat requests. - api-change:`quicksight`: \[`botocore`] Add support to analysis and sheet level highlighting in QuickSight. ### [`v1.37.31`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#13731) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.37.30...1.37.31) \======= - api-change:`controlcatalog`: \[`botocore`] The GetControl API now surfaces a control's Severity, CreateTime, and Identifier for a control's Implementation. The ListControls API now surfaces a control's Behavior, Severity, CreateTime, and Identifier for a control's Implementation. - api-change:`dynamodb`: \[`botocore`] Documentation update for secondary indexes and Create_Table. - api-change:`glue`: \[`botocore`] The TableOptimizer APIs in AWS Glue now return the DpuHours field in each TableOptimizerRun, providing clients visibility to the DPU-hours used for billing in managed Apache Iceberg table compaction optimization. - api-change:`groundstation`: \[`botocore`] Support tagging Agents and adjust input field validations - api-change:`transfer`: \[`botocore`] This launch includes 2 enhancements to SFTP connectors user-experience: 1) Customers can self-serve concurrent connections setting for their connectors, and 2) Customers can discover the public host key of remote servers using their SFTP connectors. ### [`v1.37.30`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#13730) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.37.29...1.37.30) \======= - api-change:`bedrock-runtime`: \[`botocore`] This release introduces our latest bedrock runtime API, InvokeModelWithBidirectionalStream. The API supports both input and output streams and is supported by only HTTP2.0. - api-change:`ce`: \[`botocore`] This release supports Pagination traits on Cost Anomaly Detection APIs. - api-change:`cost-optimization-hub`: \[`botocore`] This release adds resource type "MemoryDbReservedInstances" and resource type "DynamoDbReservedCapacity" to the GetRecommendation, ListRecommendations, and ListRecommendationSummaries APIs to support new MemoryDB and DynamoDB RI recommendations. - api-change:`iotfleetwise`: \[`botocore`] This release adds the option to update the strategy of state templates already associated to a vehicle, without the need to remove and re-add them. - api-change:`securityhub`: \[`botocore`] Documentation updates for AWS Security Hub. - api-change:`storagegateway`: \[`botocore`] Added new ActiveDirectoryStatus value, ListCacheReports paginator, and support for longer pagination tokens. - api-change:`taxsettings`: \[`botocore`] Uzbekistan Launch on TaxSettings Page ### [`v1.37.29`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#13729) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.37.28...1.37.29) \======= - api-change:`bedrock`: \[`botocore`] New options for how to handle harmful content detected by Amazon Bedrock Guardrails. - api-change:`bedrock-runtime`: \[`botocore`] New options for how to handle harmful content detected by Amazon Bedrock Guardrails. - api-change:`codebuild`: \[`botocore`] AWS CodeBuild now offers an enhanced debugging experience. - api-change:`glue`: \[`botocore`] Add input validations for multiple Glue APIs - api-change:`medialive`: \[`botocore`] AWS Elemental MediaLive now supports SDI inputs to MediaLive Anywhere Channels in workflows that use AWS SDKs. - api-change:`personalize`: \[`botocore`] Add support for eventsConfig for CreateSolution, UpdateSolution, DescribeSolution, DescribeSolutionVersion. Add support for GetSolutionMetrics to return weighted NDCG metrics when eventsConfig is enabled for the solution. - api-change:`transfer`: \[`botocore`] This launch enables customers to manage contents of their remote directories, by deleting old files or moving files to archive folders in remote servers once they have been retrieved. Customers will be able to automate the process using event-driven architecture. ### [`v1.37.28`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#13728) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.37.27...1.37.28) \======= - api-change:`ds-data`: \[`botocore`] Doc only update - fixed broken links. - api-change:`ec2`: \[`botocore`] Doc-only updates for Amazon EC2 - api-change:`events`: \[`botocore`] Amazon EventBridge adds support for customer-managed keys on Archives and validations for two fields: eventSourceArn and kmsKeyIdentifier. - api-change:`s3control`: \[`botocore`] Updated max size of Prefixes parameter of Scope data type. ### [`v1.37.27`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#13727) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.37.26...1.37.27) \======= - api-change:`bedrock-agent`: \[`botocore`] Added optional "customMetadataField" for Amazon Aurora knowledge bases, allowing single-column metadata. Also added optional "textIndexName" for MongoDB Atlas knowledge bases, enabling hybrid search support. - api-change:`chime-sdk-voice`: \[`botocore`] Added FOC date as an attribute of PhoneNumberOrder, added AccessDeniedException as a possible return type of ValidateE911Address - api-change:`mailmanager`: \[`botocore`] Add support for Dual_Stack and PrivateLink types of IngressPoint. For configuration requests, SES Mail Manager will now accept both IPv4/IPv6 dual-stack endpoints and AWS PrivateLink VPC endpoints for email receiving. - api-change:`opensearch`: \[`botocore`] Improve descriptions for various API commands and data types. - api-change:`route53`: \[`botocore`] Added us-gov-east-1 and us-gov-west-1 as valid Latency Based Routing regions for change-resource-record-sets. - api-change:`sagemaker`: \[`botocore`] Adds support for i3en, m7i, r7i instance types for SageMaker Hyperpod - api-change:`sesv2`: \[`botocore`] This release enables customers to provide attachments in the SESv2 SendEmail and SendBulkEmail APIs. - api-change:`transcribe`: \[`botocore`] This Feature Adds Support for the "zh-HK" Locale for Batch Operations - enhancement:Eventstream: \[`botocore`] The event streams maximum payload size is now required to be 24Mb or less. ### [`v1.37.26`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#13726) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.37.25...1.37.26) \======= - api-change:`application-signals`: \[`botocore`] Application Signals now supports creating Service Level Objectives on service dependencies. Users can now create or update SLOs on discovered service dependencies to monitor their standard application metrics. - api-change:`codebuild`: \[`botocore`] This release adds support for environment type WINDOWS_SERVER\_2022\_CONTAINER in ProjectEnvironment - api-change:`ecr`: \[`botocore`] Fix for customer issues related to AWS account ID and size limitation for token. - api-change:`ecs`: \[`botocore`] This is an Amazon ECS documentation only update to address various tickets. - api-change:`lexv2-models`: \[`botocore`] Release feature of errorlogging for lex bot, customer can config this feature in bot version to generate log for error exception which helps debug - api-change:`medialive`: \[`botocore`] Added support for SMPTE 2110 inputs when running a channel in a MediaLive Anywhere cluster. This feature enables ingestion of SMPTE 2110-compliant video, audio, and ancillary streams by reading SDP files that AWS Elemental MediaLive can retrieve from a network source. ### [`v1.37.25`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#13725) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.37.24...1.37.25) \======= - api-change:`cleanrooms`: \[`botocore`] This release adds support for updating the analytics engine of a collaboration. - api-change:`sagemaker`: \[`botocore`] Added tagging support for SageMaker notebook instance lifecycle configurations </details> <details> <summary>celery/celery (celery)</summary> ### [`v5.5.1`](https://redirect.github.com/celery/celery/blob/HEAD/Changelog.rst#551) [Compare Source](https://redirect.github.com/celery/celery/compare/v5.5.0...v5.5.1) \===== :release-date: 2025-04-08 :release-by: Tomer Nosrati What's Changed ``` - Fixed "AttributeError: list object has no attribute strip" with quorum queues and failover brokers (#​9657) - Prepare for release: v5.5.1 (#​9660) .. _version-5.5.0: ``` </details> <details> <summary>django/django (django)</summary> ### [`v5.2`](https://redirect.github.com/django/django/compare/5.1.8...5.2) [Compare Source](https://redirect.github.com/django/django/compare/5.1.8...5.2) </details> <details> <summary>django-extensions/django-extensions (django-extensions)</summary> ### [`v4.1`](https://redirect.github.com/django-extensions/django-extensions/blob/HEAD/CHANGELOG.md#41) [Compare Source](https://redirect.github.com/django-extensions/django-extensions/compare/4.0...4.1) Changes: - Add: show_permissions command ([#​1920](https://redirect.github.com/django-extensions/django-extensions/issues/1920)) - Improvement: graph_models, style per app ([#​1848](https://redirect.github.com/django-extensions/django-extensions/issues/1848)) - Fix: JSONField, bulk_update's ([#​1924](https://redirect.github.com/django-extensions/django-extensions/issues/1924)) ### [`v4.0`](https://redirect.github.com/django-extensions/django-extensions/blob/HEAD/CHANGELOG.md#40) [Compare Source](https://redirect.github.com/django-extensions/django-extensions/compare/3.2.3...4.0) Changes: - Improvement: Support for Python 3.12 and 3.13 - Improvement: Support for Django 5.x - Improvement: Switch from setup.{cfg,py} to pyproject.toml - Improvement: graph_models, Add option to display field choices in graph_models ([#​1854](https://redirect.github.com/django-extensions/django-extensions/issues/1854)) - Improvement: graph_models, Add webp support ([#​1857](https://redirect.github.com/django-extensions/django-extensions/issues/1857)) - Improvement: graph_models, Support for ordering edges on pydot/dot/graphviz ([#​1914](https://redirect.github.com/django-extensions/django-extensions/issues/1914)) - Improvement: mail_debug, Update mail_debug command to use aiosmtpd ([#​1880](https://redirect.github.com/django-extensions/django-extensions/issues/1880)) - Improvement: shell_plus, Improve error message for missing import ([#​1898](https://redirect.github.com/django-extensions/django-extensions/issues/1898)) - Improvement: reset_db, Add reset_db support for django_tenants ([#​1855](https://redirect.github.com/django-extensions/django-extensions/issues/1855)) - Improvement: docs, various improvements ([#​1852](https://redirect.github.com/django-extensions/django-extensions/issues/1852), [#​1888](https://redirect.github.com/django-extensions/django-extensions/issues/1888), [#​1882](https://redirect.github.com/django-extensions/django-extensions/issues/1882), [#​1901](https://redirect.github.com/django-extensions/django-extensions/issues/1901), [#​1912](https://redirect.github.com/django-extensions/django-extensions/issues/1912), [#​1913](https://redirect.github.com/django-extensions/django-extensions/issues/1913)) - Improvement: jobs, Handle non-package modules when looking for job definitions ([#​1887](https://redirect.github.com/django-extensions/django-extensions/issues/1887)) - Improvement: Add django-prometheus DB backends support ([#​1800](https://redirect.github.com/django-extensions/django-extensions/issues/1800)) - Improvement: Call post_command when the command raises an unhandled exception ([#​1837](https://redirect.github.com/django-extensions/django-extensions/issues/1837)) - Fix: sqldiff, do not consider ('serial', 'integer') nor ('bigserial', 'bigint') as a `field-type-differ` ([#​1867](https://redirect.github.com/django-extensions/django-extensions/issues/1867)) - Fix: shell_plus, Fix start up order and add history ([#​1869](https://redirect.github.com/django-extensions/django-extensions/issues/1869)) - Remove pipchecker and associated tests ([#​1906](https://redirect.github.com/django-extensions/django-extensions/issues/1906)) - Following Django's release numbering style more closely (see https://docs.djangoproject.com/en/5.2/internals/release-process/ ) </details> <details> <summary>jschneier/django-storages (django-storages)</summary> ### [`v1.14.6`](https://redirect.github.com/jschneier/django-storages/compare/1.14.5...1.14.6) [Compare Source](https://redirect.github.com/jschneier/django-storages/compare/1.14.5...1.14.6) </details> <details> <summary>tfranzel/drf-spectacular-sidecar (drf-spectacular-sidecar)</summary> ### [`v2025.4.1`](https://redirect.github.com/tfranzel/drf-spectacular-sidecar/compare/2025.3.1...2025.4.1) [Compare Source](https://redirect.github.com/tfranzel/drf-spectacular-sidecar/compare/2025.3.1...2025.4.1) </details> <details> <summary>ipython/ipython (ipython)</summary> ### [`v9.1.0`](https://redirect.github.com/ipython/ipython/compare/9.0.2...9.1.0) [Compare Source](https://redirect.github.com/ipython/ipython/compare/9.0.2...9.1.0) </details> <details> <summary>lxml/lxml (lxml)</summary> ### [`v5.3.2`](https://redirect.github.com/lxml/lxml/blob/HEAD/CHANGES.txt#532-2025-04-05) [Compare Source](https://redirect.github.com/lxml/lxml/compare/lxml-5.3.1...lxml-5.3.2) \================== This release resolves CVE-2025-24928 as described in https://gitlab.gnome.org/GNOME/libxml2/-/issues/847 ## Bugs fixed - Binary wheels use libxml2 2.12.10 and libxslt 1.1.42. - Binary wheels for Windows use a patched libxml2 2.11.9 and libxslt 1.1.39. </details> <details> <summary>Python-Markdown/markdown (markdown)</summary> ### [`v3.8`](https://redirect.github.com/Python-Markdown/markdown/releases/tag/3.8) [Compare Source](https://redirect.github.com/Python-Markdown/markdown/compare/3.7...3.8) ##### Changed - DRY fix in `abbr` extension by introducing method `create_element` ([#​1483](https://redirect.github.com/Python-Markdown/markdown/issues/1483)). - Clean up test directory by removing some redundant tests and port non-redundant cases to the newer test framework. - Improved performance of the raw HTML post-processor ([#​1510](https://redirect.github.com/Python-Markdown/markdown/issues/1510)). ##### Fixed - Backslash Unescape IDs set via `attr_list` on `toc` ([#​1493](https://redirect.github.com/Python-Markdown/markdown/issues/1493)). - Ensure `md_in_html` processes content inside "markdown" blocks as they are parsed outside of "markdown" blocks to keep things more consistent for third-party extensions ([#​1503](https://redirect.github.com/Python-Markdown/markdown/issues/1503)). - `md_in_html` handle tags within inline code blocks better ([#​1075](https://redirect.github.com/Python-Markdown/markdown/issues/1075)). - `md_in_html` fix handling of one-liner block HTML handling ([#​1074](https://redirect.github.com/Python-Markdown/markdown/issues/1074)). - Ensure `<center>` is treated like a block-level element ([#​1481](https://redirect.github.com/Python-Markdown/markdown/issues/1481)). - Ensure that `abbr` extension respects `AtomicString` and does not process perceived abbreviations in these strings ([#​1512](https://redirect.github.com/Python-Markdown/markdown/issues/1512)). - Ensure `smarty` extension correctly renders nested closing quotes ([#​1514](https://redirect.github.com/Python-Markdown/markdown/issues/1514)). </details> <details> <summary>openai/openai-python (openai)</summary> ### [`v1.73.0`](https://redirect.github.com/openai/openai-python/blob/HEAD/CHANGELOG.md#1730-2025-04-12) [Compare Source](https://redirect.github.com/openai/openai-python/compare/v1.72.0...v1.73.0) Full Changelog: [v1.72.0...v1.73.0](https://redirect.github.com/openai/openai-python/compare/v1.72.0...v1.73.0) ##### Features - **api:** manual updates ([a3253dd](a3253dd798)) ##### Bug Fixes - **perf:** optimize some hot paths ([f79d39f](f79d39fbca)) - **perf:** skip traversing types for NotGiven values ([28d220d](28d220de3b)) ##### Chores - **internal:** expand CI branch coverage ([#​2295](https://redirect.github.com/openai/openai-python/issues/2295)) ([0ae783b](0ae783b991)) - **internal:** reduce CI branch coverage ([2fb7d42](2fb7d425cd)) - slight wording improvement in README ([#​2291](https://redirect.github.com/openai/openai-python/issues/2291)) ([e020759](e0207598d1)) - workaround build errors ([4e10c96](4e10c96a48)) ### [`v1.72.0`](https://redirect.github.com/openai/openai-python/blob/HEAD/CHANGELOG.md#1720-2025-04-08) [Compare Source](https://redirect.github.com/openai/openai-python/compare/v1.71.0...v1.72.0) Full Changelog: [v1.71.0...v1.72.0](https://redirect.github.com/openai/openai-python/compare/v1.71.0...v1.72.0) ##### Features - **api:** Add evalapi to sdk ([#​2287](https://redirect.github.com/openai/openai-python/issues/2287)) ([35262fc](35262fcef6)) ##### Chores - **internal:** fix examples ([#​2288](https://redirect.github.com/openai/openai-python/issues/2288)) ([39defd6](39defd61e8)) - **internal:** skip broken test ([#​2289](https://redirect.github.com/openai/openai-python/issues/2289)) ([e2c9bce](e2c9bce1f5)) - **internal:** slight transform perf improvement ([#​2284](https://redirect.github.com/openai/openai-python/issues/2284)) ([746174f](746174fae7)) - **tests:** improve enum examples ([#​2286](https://redirect.github.com/openai/openai-python/issues/2286)) ([c9dd81c](c9dd81ce02)) ### [`v1.71.0`](https://redirect.github.com/openai/openai-python/blob/HEAD/CHANGELOG.md#1710-2025-04-07) [Compare Source](https://redirect.github.com/openai/openai-python/compare/v1.70.0...v1.71.0) Full Changelog: [v1.70.0...v1.71.0](https://redirect.github.com/openai/openai-python/compare/v1.70.0...v1.71.0) ##### Features - **api:** manual updates ([bf8b4b6](bf8b4b6990)) - **api:** manual updates ([3e37aa3](3e37aa3e15)) - **api:** manual updates ([dba9b65](dba9b656fa)) - **api:** manual updates ([f0c463b](f0c463b478)) ##### Chores - **deps:** allow websockets v15 ([#​2281](https://redirect.github.com/openai/openai-python/issues/2281)) ([19c619e](19c619ea95)) - **internal:** only run examples workflow in main repo ([#​2282](https://redirect.github.com/openai/openai-python/issues/2282)) ([c3e0927](c3e0927d3f)) - **internal:** remove trailing character ([#​2277](https://redirect.github.com/openai/openai-python/issues/2277)) ([5a21a2d](5a21a2d799)) - Remove deprecated/unused remote spec feature ([23f76eb](23f76eb0b9)) </details> <details> <summary>jupyter-server/pycrdt (pycrdt)</summary> ### [`v0.12.12`](https://redirect.github.com/jupyter-server/pycrdt/blob/HEAD/CHANGELOG.md#01212) [Compare Source](https://redirect.github.com/jupyter-server/pycrdt/compare/0.12.11...0.12.12) - Add doc and shared type `events()` async event iterator. - Fix deadlock while getting root type from within transaction. ### [`v0.12.11`](https://redirect.github.com/jupyter-server/pycrdt/blob/HEAD/CHANGELOG.md#01211) [Compare Source](https://redirect.github.com/jupyter-server/pycrdt/compare/0.12.10...0.12.11) - Upgrade `pyo3` to v0.24.1. </details> <details> <summary>pytest-dev/pytest-cov (pytest-cov)</summary> ### [`v6.1.1`](https://redirect.github.com/pytest-dev/pytest-cov/blob/HEAD/CHANGELOG.rst#611-2025-04-05) [Compare Source](https://redirect.github.com/pytest-dev/pytest-cov/compare/v6.1.0...v6.1.1) - Fixed breakage that occurs when `--cov-context` and the `no_cover` marker are used together. ### [`v6.1.0`](https://redirect.github.com/pytest-dev/pytest-cov/blob/HEAD/CHANGELOG.rst#610-2025-04-01) [Compare Source](https://redirect.github.com/pytest-dev/pytest-cov/compare/v6.0.0...v6.1.0) - Change terminal output to use full width lines for the coverage header. Contributed by Tsvika Shapira in `#​678 <https://github.com/pytest-dev/pytest-cov/pull/678>`\_. - Removed unnecessary CovFailUnderWarning. Fixes `#​675 <https://github.com/pytest-dev/pytest-cov/issues/675>`\_. - Fixed the term report not using the precision specified via `--cov-precision`. </details> <details> <summary>pytest-dev/pytest-django (pytest-django)</summary> ### [`v4.11.1`](https://redirect.github.com/pytest-dev/pytest-django/releases/tag/v4.11.1) [Compare Source](https://redirect.github.com/pytest-dev/pytest-django/compare/v4.11.0...v4.11.1) https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v4111-2025-04-03 ### [`v4.11.0`](https://redirect.github.com/pytest-dev/pytest-django/releases/tag/v4.11.0) [Compare Source](https://redirect.github.com/pytest-dev/pytest-django/compare/v4.10.0...v4.11.0) https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst#v4110-2025-04-01 </details> <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.11.5`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0115) [Compare Source](https://redirect.github.com/astral-sh/ruff/compare/0.11.4...0.11.5) ##### Preview features - \[`airflow`] Add missing `AIR302` attribute check ([#​17115](https://redirect.github.com/astral-sh/ruff/pull/17115)) - \[`airflow`] Expand module path check to individual symbols (`AIR302`) ([#​17278](https://redirect.github.com/astral-sh/ruff/pull/17278)) - \[`airflow`] Extract `AIR312` from `AIR302` rules (`AIR302`, `AIR312`) ([#​17152](https://redirect.github.com/astral-sh/ruff/pull/17152)) - \[`airflow`] Update oudated `AIR301`, `AIR302` rules ([#​17123](https://redirect.github.com/astral-sh/ruff/pull/17123)) - \[syntax-errors] Async comprehension in sync comprehension ([#​17177](https://redirect.github.com/astral-sh/ruff/pull/17177)) - \[syntax-errors] Check annotations in annotated assignments ([#​17283](https://redirect.github.com/astral-sh/ruff/pull/17283)) - \[syntax-errors] Extend annotation checks to `await` ([#​17282](https://redirect.github.com/astral-sh/ruff/pull/17282)) ##### Bug fixes - \[`flake8-pie`] Avoid false positive for multiple assignment with `auto()` (`PIE796`) ([#​17274](https://redirect.github.com/astral-sh/ruff/pull/17274)) ##### Rule changes - \[`ruff`] Fix `RUF100` to detect unused file-level `noqa` directives with specific codes ([#​17042](https://redirect.github.com/astral-sh/ruff/issues/17042)) ([#​17061](https://redirect.github.com/astral-sh/ruff/pull/17061)) - \[`flake8-pytest-style`] Avoid false positive for legacy form of `pytest.raises` (`PT011`) ([#​17231](https://redirect.github.com/astral-sh/ruff/pull/17231)) ##### Documentation - Fix formatting of "See Style Guide" link ([#​17272](https://redirect.github.com/astral-sh/ruff/pull/17272)) ### [`v0.11.4`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0114) [Compare Source](https://redirect.github.com/astral-sh/ruff/compare/0.11.3...0.11.4) ##### Preview features - \[`ruff`] Implement `invalid-rule-code` as `RUF102` ([#​17138](https://redirect.github.com/astral-sh/ruff/pull/17138)) - \[syntax-errors] Detect duplicate keys in `match` mapping patterns ([#​17129](https://redirect.github.com/astral-sh/ruff/pull/17129)) - \[syntax-errors] Detect duplicate attributes in `match` class patterns ([#​17186](https://redirect.github.com/astral-sh/ruff/pull/17186)) - \[syntax-errors] Detect invalid syntax in annotations ([#​17101](https://redirect.github.com/astral-sh/ruff/pull/17101)) ##### Bug fixes - \[syntax-errors] Fix multiple assignment error for class fields in `match` patterns ([#​17184](https://redirect.github.com/astral-sh/ruff/pull/17184)) - Don't skip visiting non-tuple slice in `typing.Annotated` subscripts ([#​17201](https://redirect.github.com/astral-sh/ruff/pull/17201)) ### [`v0.11.3`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0113) [Compare Source](https://redirect.github.com/astral-sh/ruff/compare/0.11.2...0.11.3) ##### Preview features - \[`airflow`] Add more autofixes for `AIR302` ([#​16876](https://redirect.github.com/astral-sh/ruff/pull/16876), [#​16977](https://redirect.github.com/astral-sh/ruff/pull/16977), [#​16976](https://redirect.github.com/astral-sh/ruff/pull/16976), [#​16965](https://redirect.github.com/astral-sh/ruff/pull/16965)) - \[`airflow`] Move `AIR301` to `AIR002` ([#​16978](https://redirect.github.com/astral-sh/ruff/pull/16978)) - \[`airflow`] Move `AIR302` to `AIR301` and `AIR303` to `AIR302` ([#​17151](https://redirect.github.com/astral-sh/ruff/pull/17151)) - \[`flake8-bandit`] Mark `str` and `list[str]` literals as trusted input (`S603`) ([#​17136](https://redirect.github.com/astral-sh/ruff/pull/17136)) - \[`ruff`] Support slices in `RUF005` ([#​17078](https://redirect.github.com/astral-sh/ruff/pull/17078)) - \[syntax-errors] Start detecting compile-time syntax errors ([#​16106](https://redirect.github.com/astral-sh/ruff/pull/16106)) - \[syntax-errors] Duplicate type parameter names ([#​16858](https://redirect.github.com/astral-sh/ruff/pull/16858)) - \[syntax-errors] Irrefutable `case` pattern before final case ([#​16905](https://redirect.github.com/astral-sh/ruff/pull/16905)) - \[syntax-errors] Multiple assignments in `case` pattern ([#​16957](https://redirect.github.com/astral-sh/ruff/pull/16957)) - \[syntax-errors] Single starred assignment target ([#​17024](https://redirect.github.com/astral-sh/ruff/pull/17024)) - \[syntax-errors] Starred expressions in `return`, `yield`, and `for` ([#​17134](https://redirect.github.com/astral-sh/ruff/pull/17134)) - \[syntax-errors] Store to or delete `__debug__` ([#​16984](https://redirect.github.com/astral-sh/ruff/pull/16984)) ##### Bug fixes - Error instead of `panic!` when running Ruff from a deleted directory ([#​16903](https://redirect.github.com/astral-sh/ruff/issues/16903)) ([#​17054](https://redirect.github.com/astral-sh/ruff/pull/17054)) - \[syntax-errors] Fix false positive for parenthesized tuple index ([#​16948](https://redirect.github.com/astral-sh/ruff/pull/16948)) ##### CLI - Check `pyproject.toml` correctly when it is passed via stdin ([#​16971](https://redirect.github.com/astral-sh/ruff/pull/16971)) ##### Configuration - \[`flake8-import-conventions`] Add import `numpy.typing as npt` to default `flake8-import-conventions.aliases` ([#​17133](https://redirect.github.com/astral-sh/ruff/pull/17133)) ##### Documentation - \[`refurb`] Document why `UserDict`, `UserList`, and `UserString` are preferred over `dict`, `list`, and `str` (`FURB189`) ([#​16927](https://redirect.github.com/astral-sh/ruff/pull/16927)) </details> <details> <summary>getsentry/sentry-python (sentry-sdk)</summary> ### [`v2.25.1`](https://redirect.github.com/getsentry/sentry-python/blob/HEAD/CHANGELOG.md#2251) [Compare Source](https://redirect.github.com/getsentry/sentry-python/compare/2.25.0...2.25.1) ##### Various fixes & improvements - fix(logs): Add a class which batches groups of logs together. ([#​4229](https://redirect.github.com/getsentry/sentry-python/issues/4229)) by [@​colin-sentry](https://redirect.github.com/colin-sentry) - fix(logs): Use repr instead of json for message and arguments ([#​4227](https://redirect.github.com/getsentry/sentry-python/issues/4227)) by [@​colin-sentry](https://redirect.github.com/colin-sentry) - fix(logs): Debug output from Sentry logs should always be `debug` level. ([#​4224](https://redirect.github.com/getsentry/sentry-python/issues/4224)) by [@​antonpirker](https://redirect.github.com/antonpirker) - fix(ai): Do not consume anthropic streaming stop ([#​4232](https://redirect.github.com/getsentry/sentry-python/issues/4232)) by [@​colin-sentry](https://redirect.github.com/colin-sentry) - fix(spotlight): Do not spam sentry_sdk.warnings logger w/ Spotlight ([#​4219](https://redirect.github.com/getsentry/sentry-python/issues/4219)) by [@​BYK](https://redirect.github.com/BYK) - fix(docs): fixed code snippet ([#​4218](https://redirect.github.com/getsentry/sentry-python/issues/4218)) by [@​antonpirker](https://redirect.github.com/antonpirker) - build(deps): bump actions/create-github-app-token from 1.11.7 to 1.12.0 ([#​4214](https://redirect.github.com/getsentry/sentry-python/issues/4214)) by [@​dependabot](https://redirect.github.com/dependabot) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 7am on monday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/suitenumerique/docs). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJub0NoYW5nZUxvZyJdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Manuel Raynaud <manu@raynaud.io>
Welcome to Docs! The open source document editor where your notes can become knowledge through live collaboration
Chat on Matrix - Documentation - Getting started - Reach out
Why use Docs ❓
Docs is a collaborative text editor designed to address common challenges in knowledge building and sharing.
Write
- 😌 Simple collaborative editing without the formatting complexity of markdown
- 🔌 Offline? No problem, keep writing, your edits will get synced when back online
- 💅 Create clean documents with limited but beautiful formatting options and focus on content
- 🧱 Built for productivity (markdown support, many block types, slash commands, keyboard shortcuts).
- ✨ Save time thanks to our AI actions (generate, sum up, correct, translate)
Collaborate
- 🤝 Collaborate with your team in real time
- 🔒 Granular access control to ensure your information is secure and only shared with the right people
- 📑 Professional document exports in multiple formats (.odt, .doc, .pdf) with customizable templates
- 📚 Built-in wiki functionality to turn your team's collaborative work into organized knowledge
ETA 05/2025
Self-host
- 🚀 Easy to install, scalable and secure alternative to Notion, Outline or Confluence
⚠️ For the PDF and Docx export Docs relies on XL packages from BlockNote licenced in AGPL-3.0. Please make sure you fulfill your obligations regarding BlockNote licensing (see https://github.com/TypeCellOS/BlockNote/blob/main/packages/xl-pdf-exporter/LICENSE and https://www.blocknotejs.org/about#partner-with-us).
Getting started 🔧
Test it
Test Docs on your browser by visiting this demo document
Run it locally
⚠️ Running Docs locally using the methods described below is for testing purposes only. It is based on building Docs using Minio as the S3 storage solution but you can choose any S3 compatible object storage of your choice.
Prerequisite
Make sure you have a recent version of Docker and Docker Compose installed on your laptop:
$ docker -v
Docker version 20.10.2, build 2291f61
$ docker compose version
Docker Compose version v2.32.4
⚠️ You may need to run the following commands with sudo but this can be avoided by adding your user to the
dockergroup.
Project bootstrap
The easiest way to start working on the project is to use GNU Make:
$ make bootstrap FLUSH_ARGS='--no-input'
This command builds the app container, installs dependencies, performs database migrations and compile translations. It's a good idea to use this command each time you are pulling code from the project repository to avoid dependency-related or migration-related issues.
Your Docker services should now be up and running 🎉
You can access to the project by going to http://localhost:3000.
You will be prompted to log in, the default credentials are:
username: impress
password: impress
📝 Note that if you need to run them afterwards, you can use the eponym Make rule:
$ make run
⚠️ For the frontend developer, it is often better to run the frontend in development mode locally.
To do so, install the frontend dependencies with the following command:
$ make frontend-development-install
And run the frontend locally in development mode with the following command:
$ make run-frontend-development
To start all the services, except the frontend container, you can use the following command:
$ make run-backend
Adding content
You can create a basic demo site by running:
$ make demo
Finally, you can check all available Make rules using:
$ make help
Django admin
You can access the Django admin site at
You first need to create a superuser account:
$ make superuser
Feedback 🙋♂️🙋♀️
We'd love to hear your thoughts and hear about your experiments, so come and say hi on Matrix.
Roadmap
Want to know where the project is headed? 🗺️ Checkout our roadmap
Licence 📝
This work is released under the MIT License (see LICENSE).
While Docs is a public driven initiative our licence choice is an invitation for private sector actors to use, sell and contribute to the project.
Contributing 🙌
This project is intended to be community-driven, so please, do not hesitate to get in touch if you have any question related to our implementation or design decisions.
You can help us with translations on Crowdin.
If you intend to make pull requests see CONTRIBUTING for guidelines.
Directory structure:
docs
├── bin - executable scripts or binaries that are used for various tasks, such as setup scripts, utility scripts, or custom commands.
├── crowdin - for crowdin translations, a tool or service that helps manage translations for the project.
├── docker - Dockerfiles and related configuration files used to build Docker images for the project. These images can be used for development, testing, or production environments.
├── docs - documentation for the project, including user guides, API documentation, and other helpful resources.
├── env.d/development - environment-specific configuration files for the development environment. These files might include environment variables, configuration settings, or other setup files needed for development.
├── gitlint - configuration files for `gitlint`, a tool that enforces commit message guidelines to ensure consistency and quality in commit messages.
├── playground - experimental or temporary code, where developers can test new features or ideas without affecting the main codebase.
└── src - main source code directory, containing the core application code, libraries, and modules of the project.
Credits ❤️
Stack
Docs is built on top of Django Rest Framework, Next.js, BlockNote.js, HocusPocus and Yjs.
Gov ❤️ open source
Docs is the result of a joint effort led by the French 🇫🇷🥖 (DINUM) and German 🇩🇪🥨 governments (ZenDiS).
We are proud sponsors of BlockNotejs and Yjs.
We are always looking for new public partners (we are currently onboarding the Netherlands 🇳🇱🧀), feel free to reach out if you are interested in using or contributing to Docs.
