summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-01-13Fixed #34234 -- Dropped support for PROJ 4.Leo
2023-01-13Fixed #34240 -- Preserved headers of requests made with django.test.Client ↵Mariusz Felisiak
in assertRedirects(). Bug in 67da22f08e05018ea968fcacbac9ac37ea925d85.
2023-01-12Refs #18468 -- Used obj_description() with a catalog name on PostgreSQL.Mariusz Felisiak
obj_description(object oid) without a catalog name is deprecated since there is no guarantee that OIDs are unique across different system catalogs. Thanks Tim Graham for the report.
2023-01-12Refs #26029 -- Deprecated DEFAULT_FILE_STORAGE and STATICFILES_STORAGE settings.Jarosław Wygoda
2023-01-12Fixed #26029 -- Allowed configuring custom file storage backends.Jarosław Wygoda
2023-01-12Fixed thread termination in servers.tests.LiveServerPort on Python 3.10.9+, ↵Mariusz Felisiak
3.11.1+, and 3.12+. Class cleanups registered in TestCase subclasses are no longer called as TestCase.doClassCleanups() only cleans up the particular class, see https://github.com/python/cpython/commit/c2102136be569e6fc8ed90181f229b46d07142f8
2023-01-11Refs #33879 -- Fixed plural value deprecation warnings.Mariusz Felisiak
Plural value must be an integer. Regression in 8d67e16493c903adc9d049141028bc0fff43f8c8.
2023-01-11Refs #26029 -- Added LazySettings._show_deprecation_warning() hook.Jarosław Wygoda
2023-01-11Refs #31546, Refs #34118 -- Corrected ↵Mariusz Felisiak
CommandTests.test_requires_system_checks_specific(). System checks are never called without skip_checks=False. Moreover, called_once_with() is not a proper assertion and raise AttributeError on Python 3.12.
2023-01-10Corrected used JS libraries in GIS widget docs.Mariusz Felisiak
Follow up to 1833eb3f3e3bda5052637f1a51a27fa1b11b6871.
2023-01-10Refs #31014 -- Added FromWKB and FromWKT GIS database functions.Mariusz Felisiak
Co-authored-by: Ondřej Böhm <ondrej.bohm@firma.seznam.cz> Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com> Co-authored-by: Sergey Fedoseev <fedoseev.sergey@gmail.com>
2023-01-10Fixed #34110 -- Added in-memory file storage.Francesco Panico
Thanks Paolo Melchiorre, Carlton Gibson, and Mariusz Felisiak for reviews.
2023-01-09Refs #30240 -- Fixed argument name for MySQLSHA2Mixin.as_mysql() and ↵Marti Raudsepp
PostgreSQLSHAMixin.as_postgresql() methods.
2023-01-09Fixed #34176 -- Fixed grouping by ambiguous aliases.Simon Charette
Regression in b7b28c7c189615543218e81319473888bc46d831. Refs #31377. Thanks Shai Berger for the report and reviews. test_aggregation_subquery_annotation_values_collision() has been updated as queries that are explicitly grouped by a subquery should always be grouped by it and not its outer columns even if its alias collides with referenced table columns. This was not possible to accomplish at the time 10866a10 landed because we didn't have compiler level handling of colliding aliases.
2023-01-07Renamed 'requests' test package.Tim Graham
This avoids a collision when third-party database backends depend on the Requests HTTP library.
2023-01-06Fixed #34220 -- Moved csrf_input_lazy, csrf_token_lazy imports to the toplevel.rajdesai24
This prevents random errors with partially initialized modules.
2023-01-05Fixed #33865 -- Optimized LimitedStream wrapper.Nick Pope
The current implementation of LimitedStream is slow because .read() performs an extra copy into a buffer and .readline() performs two extra copies. The stream being wrapped is already typically a BytesIO object so this is unnecessary. This implementation has largely been untouched for 12 years and, inspired by a simpler implementation in werkzeug, it was possible to achieve the following performance improvement: LimitedStream.read() (single line): Mean +- std dev: [bench_limitedstream-main] 286 ns +- 6 ns -> [bench_limitedstream-patch] 227 ns +- 6 ns: 1.26x faster LimitedStream.readline() (single line): Mean +- std dev: [bench_limitedstream-main] 507 ns +- 11 ns -> [bench_limitedstream-patch] 232 ns +- 8 ns: 2.18x faster LimitedStream.read(8192) (single line): Mean +- std dev: [bench_limitedstream-main] 360 ns +- 8 ns -> [bench_limitedstream-patch] 297 ns +- 6 ns: 1.21x faster LimitedStream.readline(8192) (single line): Mean +- std dev: [bench_limitedstream-main] 602 ns +- 10 ns -> [bench_limitedstream-patch] 305 ns +- 10 ns: 1.98x faster LimitedStream.read() (multiple lines): Mean +- std dev: [bench_limitedstream-main] 290 ns +- 5 ns -> [bench_limitedstream-patch] 236 ns +- 6 ns: 1.23x faster LimitedStream.readline() (multiple lines): Mean +- std dev: [bench_limitedstream-main] 517 ns +- 19 ns -> [bench_limitedstream-patch] 239 ns +- 7 ns: 2.16x faster LimitedStream.read(8192) (multiple lines): Mean +- std dev: [bench_limitedstream-main] 363 ns +- 8 ns -> [bench_limitedstream-patch] 311 ns +- 11 ns: 1.17x faster LimitedStream.readline(8192) (multiple lines): Mean +- std dev: [bench_limitedstream-main] 601 ns +- 12 ns -> [bench_limitedstream-patch] 308 ns +- 7 ns: 1.95x faster Geometric mean: 1.59x faster
2023-01-05Refs #33865 -- Improved implementation of FakePayload.Nick Pope
FakePayload is a wrapper around io.BytesIO and is expected to masquerade as though it is a file-like object. For that reason it makes sense that it should inherit the correct signatures from io.BytesIO methods. Crucially an implementation of .readline() is added which will be necessary for this to behave more like the expected file-like objects as LimitedStream will be changed to defer to the wrapped stream object rather than rolling its own implementation for improved performance. It should be safe to adjust these signatures because FakePayload is only used internally within test client helpers, is undocumented, and thus private.
2023-01-05Refs #33865 -- Corrected signature of ExplodingBytesIO.read().Nick Pope
These subclasses of io.BytesIO should inherit the correct signature.
2023-01-05Refs #33865 -- Made RequestsTests.test_set_encoding_clears_GET use FakePayload.Nick Pope
The input stream, wsgi.input, must be a file-like object. The existing implementation of LimitedStream was lax and allowed an empty string to be passed incorrectly. See https://wsgi.readthedocs.io/en/latest/definitions.html#envvar-wsgi.input
2023-01-05Refs #32355 -- Bumped minimum supported versions of 3rd-party packages.Mariusz Felisiak
This bumps minimum supported versions of 3rd-party packages to the first releases to support Python 3.8.
2023-01-05Fixed #34243 -- Fixed timesince() crash with timezone-aware dates and ↵sag᠎e
interval longer than 1 month. Regression in 8d67e16493c903adc9d049141028bc0fff43f8c8.
2023-01-05Refs #32355 -- Bumped mysqlclient requirement to >= 1.4.3.Mariusz Felisiak
mysqlclient 1.4.3 is the first release to support Python 3.8.
2023-01-05Simplified handling ambiguous/imaginary datetimes in django.utils.dateformat.Nick Pope
Instead of the separate property, we can just not set self.timezone if the datetime is ambiguous or imaginary. This ensures that this check will only ever happen once as it's dependant on the datetime object and not the format string characters.
2023-01-05Added support for datetime.date to DateFormat.r().Nick Pope
2023-01-05Simplified django.utils.dateformat.DateFormat.O()/t()/e() a bit.Nick Pope
O() - we should try to avoid calling specifier methods from each other to avoid extra function call overhead. In addition we end up, in this case, duplicating the ambiguous/imaginary datetime checks. We're also going to be looking at simplifying things by having all of these specifier methods return strings and not an random mix of types. t() - the value can only be one of 28, 29, 30, or 31. As such, there is no need to zero-pad to a width of two.
2023-01-05Optimized imports in django.utils.dateformat.Nick Pope
Avoid extra attribute lookup in specifier methods, etc. by importing classes from datetime directly.
2023-01-04Fixed #34232 -- Fixed typo in docs/intro/tutorial07.txt.Raj Desai
2023-01-04Simplified django.utils.formats.date_format()/time_format() calls.Nick Pope
This removes redundant get_format() calls and passing a default value for the format argument.
2023-01-04Fixed #33961 -- Updated admin's jQuery to 3.6.3.Mariusz Felisiak
2023-01-04Fixed #33879 -- Improved timesince handling of long intervals.GianpaoloBranca
2023-01-04Refs #34074 -- Used headers argument for RequestFactory and Client in docs ↵David Wobrock
and tests.
2023-01-04Simplified SQLCompiler.get_group_by() a bit.Simon Charette
2023-01-03Fixed #34200 -- Made the session role configurable on PostgreSQL.Mike Crute
2023-01-03Fixed #33783 -- Added IsEmpty GIS database function and __isempty lookup on ↵Claude Paroz
PostGIS.
2023-01-03Fixed #23842 -- Fixed flaky GeoQuerySetTest.test_make_line() test.Mariusz Felisiak
2023-01-02Fixed #34235 -- Added ManifestFilesMixin.manifest_hash attribute.Florian Apolloner
This adds ManifestFilesMixin.manifest_hash attribute exposing a "hash" of the full manifest. This allows applications to determine when their static files have changed.
2023-01-02Added stub release notes for 4.1.6.Mariusz Felisiak
2023-01-02Added release date for 4.1.5.Mariusz Felisiak
2022-12-30Refs #34100 -- Made file upload tests use Storage.exists() where appropriate.Francesco Panico
2022-12-30Fixed random delete.tests.DeletionTests.test_deletion_order failures.Mariusz Felisiak
2022-12-29Fixed #34208 -- Confirmed support for GDAL 3.6.Mariusz Felisiak
2022-12-29Fixed #25617 -- Added case-insensitive unique username validation in ↵Paul Schilling
UserCreationForm. Co-Authored-By: Neven Mundar <nmundar@gmail.com>
2022-12-29Upgraded OpenLayers to v.7.2.2.Claude Paroz
2022-12-29Disabled auto-created table of contents entries on Sphinx 5.2+.Mariusz Felisiak
Auto-created table of contents entries for all domain objects (e.g. functions, classes, attributes, etc.) were added in Sphinx 5.2, see https://github.com/sphinx-doc/sphinx/issues/6316. An option to control new table of contents entries was added in Sphinx 5.2.3, see https://github.com/sphinx-doc/sphinx/pull/10886.
2022-12-28Fixed #14094 -- Added support for unlimited CharField on PostgreSQL.Adrian Torres
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2022-12-28Fixed #18468 -- Added support for comments on columns and tables.kimsoungryoul
Thanks Jared Chung, Tom Carrick, David Smith, Nick Pope, and Mariusz Felisiak for reviews. Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com> Co-authored-by: Nick Pope <nick@nickpope.me.uk>
2022-12-27Fixed #34217 -- Fixed migration crash when removing check constraints on ↵DevilsAutumn
MySQL < 8.0.16.
2022-12-27Fixed #34226 -- Fixed QuerySet.select_related() with multiple ↵朱穆穆
FilteredRelations to the OneToOneField.
2022-12-24Used allow_migrate_model() shortcut in Field._check_backend_specific_checks().Mariusz Felisiak