Simon Charette 
							
						 
					 
					
						
						
							
						
						dd68af62b2 
					 
					
						
						
							
							Fixed   #34176  -- Fixed grouping by ambiguous aliases.  
						
						... 
						
						
						
						Regression in b7b28c7c18#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 
						
						
					 
					
						2023-01-09 10:52:51 +01:00 
						 
				 
			
				
					
						
							
							
								Tim Graham 
							
						 
					 
					
						
						
							
						
						016bead6a2 
					 
					
						
						
							
							Renamed 'requests' test package.  
						
						... 
						
						
						
						This avoids a collision when third-party database backends depend on the
Requests HTTP library. 
						
						
					 
					
						2023-01-07 11:41:40 +01:00 
						 
				 
			
				
					
						
							
							
								rajdesai24 
							
						 
					 
					
						
						
							
						
						d5f892d873 
					 
					
						
						
							
							Fixed   #34220  -- Moved csrf_input_lazy, csrf_token_lazy imports to the toplevel.  
						
						... 
						
						
						
						This prevents random errors with partially initialized modules. 
						
						
					 
					
						2023-01-06 14:18:29 +01:00 
						 
				 
			
				
					
						
							
							
								Nick Pope 
							
						 
					 
					
						
						
							
						
						b47f2f5b90 
					 
					
						
						
							
							Fixed   #33865  -- Optimized LimitedStream wrapper.  
						
						... 
						
						
						
						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-05 19:26:56 +01:00 
						 
				 
			
				
					
						
							
							
								Nick Pope 
							
						 
					 
					
						
						
							
						
						57f5669d23 
					 
					
						
						
							
							Refs  #33865  -- Improved implementation of FakePayload.  
						
						... 
						
						
						
						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-05 19:25:25 +01:00 
						 
				 
			
				
					
						
							
							
								Nick Pope 
							
						 
					 
					
						
						
							
						
						95182a8593 
					 
					
						
						
							
							Refs  #33865  -- Corrected signature of ExplodingBytesIO.read().  
						
						... 
						
						
						
						These subclasses of io.BytesIO should inherit the correct signature. 
						
						
					 
					
						2023-01-05 19:17:56 +01:00 
						 
				 
			
				
					
						
							
							
								Nick Pope 
							
						 
					 
					
						
						
							
						
						7a1543d9f6 
					 
					
						
						
							
							Refs  #33865  -- Made RequestsTests.test_set_encoding_clears_GET use FakePayload.  
						
						... 
						
						
						
						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-05 19:16:49 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						63d1cb0092 
					 
					
						
						
							
							Refs  #32355  -- Bumped minimum supported versions of 3rd-party packages.  
						
						... 
						
						
						
						This bumps minimum supported versions of 3rd-party packages to the first
releases to support Python 3.8. 
						
						
					 
					
						2023-01-05 18:09:33 +01:00 
						 
				 
			
				
					
						
							
							
								sage 
							
						 
					 
					
						
						
							
						
						8cf3831822 
					 
					
						
						
							
							Fixed   #34243  -- Fixed timesince() crash with timezone-aware dates and interval longer than 1 month.  
						
						... 
						
						
						
						Regression in 8d67e16493 
						
						
					 
					
						2023-01-05 16:38:19 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						7d9329935a 
					 
					
						
						
							
							Refs  #32355  -- Bumped mysqlclient requirement to >= 1.4.3.  
						
						... 
						
						
						
						mysqlclient 1.4.3 is the first release to support Python 3.8. 
						
						
					 
					
						2023-01-05 16:34:14 +01:00 
						 
				 
			
				
					
						
							
							
								Nick Pope 
							
						 
					 
					
						
						
							
						
						6c86495bce 
					 
					
						
						
							
							Simplified handling ambiguous/imaginary datetimes in django.utils.dateformat.  
						
						... 
						
						
						
						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-05 12:55:28 +01:00 
						 
				 
			
				
					
						
							
							
								Nick Pope 
							
						 
					 
					
						
						
							
						
						65477fd7da 
					 
					
						
						
							
							Added support for datetime.date to DateFormat.r().  
						
						
						
						
					 
					
						2023-01-05 12:51:55 +01:00 
						 
				 
			
				
					
						
							
							
								Nick Pope 
							
						 
					 
					
						
						
							
						
						41ca2afd1c 
					 
					
						
						
							
							Simplified django.utils.dateformat.DateFormat.O()/t()/e() a bit.  
						
						... 
						
						
						
						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-05 05:59:26 +01:00 
						 
				 
			
				
					
						
							
							
								Nick Pope 
							
						 
					 
					
						
						
							
						
						d7a8ab3513 
					 
					
						
						
							
							Optimized imports in django.utils.dateformat.  
						
						... 
						
						
						
						Avoid extra attribute lookup in specifier methods, etc. by importing
classes from datetime directly. 
						
						
					 
					
						2023-01-05 05:57:50 +01:00 
						 
				 
			
				
					
						
							
							
								Raj Desai 
							
						 
					 
					
						
						
							
						
						d2310f6473 
					 
					
						
						
							
							Fixed   #34232  -- Fixed typo in docs/intro/tutorial07.txt.  
						
						
						
						
					 
					
						2023-01-04 13:26:34 +01:00 
						 
				 
			
				
					
						
							
							
								Nick Pope 
							
						 
					 
					
						
						
							
						
						0fdc5d79b6 
					 
					
						
						
							
							Simplified django.utils.formats.date_format()/time_format() calls.  
						
						... 
						
						
						
						This removes redundant get_format() calls and passing a default value
for the format argument. 
						
						
					 
					
						2023-01-04 11:47:14 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						5cf9ff970e 
					 
					
						
						
							
							Fixed   #33961  -- Updated admin's jQuery to 3.6.3.  
						
						
						
						
					 
					
						2023-01-04 11:28:09 +01:00 
						 
				 
			
				
					
						
							
							
								GianpaoloBranca 
							
						 
					 
					
						
						
							
						
						8d67e16493 
					 
					
						
						
							
							Fixed   #33879  -- Improved timesince handling of long intervals.  
						
						
						
						
					 
					
						2023-01-04 11:14:06 +01:00 
						 
				 
			
				
					
						
							
							
								David Wobrock 
							
						 
					 
					
						
						
							
						
						99bd5fb4c2 
					 
					
						
						
							
							Refs  #34074  -- Used headers argument for RequestFactory and Client in docs and tests.  
						
						
						
						
					 
					
						2023-01-04 09:11:36 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						0d3ccf7512 
					 
					
						
						
							
							Simplified SQLCompiler.get_group_by() a bit.  
						
						
						
						
					 
					
						2023-01-04 08:32:27 +01:00 
						 
				 
			
				
					
						
							
							
								Mike Crute 
							
						 
					 
					
						
						
							
						
						0b78ac3fc7 
					 
					
						
						
							
							Fixed   #34200  -- Made the session role configurable on PostgreSQL.  
						
						
						
						
					 
					
						2023-01-03 09:30:53 +01:00 
						 
				 
			
				
					
						
							
							
								Claude Paroz 
							
						 
					 
					
						
						
							
						
						2a14b8df39 
					 
					
						
						
							
							Fixed   #33783  -- Added IsEmpty GIS database function and __isempty lookup on PostGIS.  
						
						
						
						
					 
					
						2023-01-03 05:47:44 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						6774e9359c 
					 
					
						
						
							
							Fixed   #23842  -- Fixed flaky GeoQuerySetTest.test_make_line() test.  
						
						
						
						
					 
					
						2023-01-03 05:46:40 +01:00 
						 
				 
			
				
					
						
							
							
								Florian Apolloner 
							
						 
					 
					
						
						
							
						
						afa2e28205 
					 
					
						
						
							
							Fixed   #34235  -- Added ManifestFilesMixin.manifest_hash attribute.  
						
						... 
						
						
						
						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-02 09:53:52 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						75500feecd 
					 
					
						
						
							
							Added stub release notes for 4.1.6.  
						
						
						
						
					 
					
						2023-01-02 08:50:33 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						174d8157b5 
					 
					
						
						
							
							Added release date for 4.1.5.  
						
						
						
						
					 
					
						2023-01-02 08:10:59 +01:00 
						 
				 
			
				
					
						
							
							
								Francesco Panico 
							
						 
					 
					
						
						
							
						
						c179ad9fe7 
					 
					
						
						
							
							Refs  #34100  -- Made file upload tests use Storage.exists() where appropriate.  
						
						
						
						
					 
					
						2022-12-30 13:28:47 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						6e9e7ec472 
					 
					
						
						
							
							Fixed random delete.tests.DeletionTests.test_deletion_order failures.  
						
						
						
						
					 
					
						2022-12-30 12:22:30 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						ecbb5db65d 
					 
					
						
						
							
							Fixed   #34208  -- Confirmed support for GDAL 3.6.  
						
						
						
						
					 
					
						2022-12-29 11:35:41 +01:00 
						 
				 
			
				
					
						
							
							
								Paul Schilling 
							
						 
					 
					
						
						
							
						
						298d02a77a 
					 
					
						
						
							
							Fixed   #25617  -- Added case-insensitive unique username validation in UserCreationForm.  
						
						... 
						
						
						
						Co-Authored-By: Neven Mundar <nmundar@gmail.com > 
						
						
					 
					
						2022-12-29 09:42:22 +01:00 
						 
				 
			
				
					
						
							
							
								Claude Paroz 
							
						 
					 
					
						
						
							
						
						1833eb3f3e 
					 
					
						
						
							
							Upgraded OpenLayers to v.7.2.2.  
						
						
						
						
					 
					
						2022-12-29 08:30:30 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						279967ec85 
					 
					
						
						
							
							Disabled auto-created table of contents entries on Sphinx 5.2+.  
						
						... 
						
						
						
						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-29 06:07:51 +01:00 
						 
				 
			
				
					
						
							
							
								Adrian Torres 
							
						 
					 
					
						
						
							
						
						7eee1dca42 
					 
					
						
						
							
							Fixed   #14094  -- Added support for unlimited CharField on PostgreSQL.  
						
						... 
						
						
						
						Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com > 
						
						
					 
					
						2022-12-28 12:31:04 +01:00 
						 
				 
			
				
					
						
							
							
								kimsoungryoul 
							
						 
					 
					
						
						
							
						
						78f163a4fb 
					 
					
						
						
							
							Fixed   #18468  -- Added support for comments on columns and tables.  
						
						... 
						
						
						
						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-28 06:28:07 +01:00 
						 
				 
			
				
					
						
							
							
								DevilsAutumn 
							
						 
					 
					
						
						
							
						
						68ef274bc5 
					 
					
						
						
							
							Fixed   #34217  -- Fixed migration crash when removing check constraints on MySQL < 8.0.16.  
						
						
						
						
					 
					
						2022-12-27 07:11:13 +01:00 
						 
				 
			
				
					
						
							
							
								朱穆穆 
							
						 
					 
					
						
						
							
						
						bbeeb45161 
					 
					
						
						
							
							Fixed   #34226  -- Fixed QuerySet.select_related() with multiple FilteredRelations to the OneToOneField.  
						
						
						
						
					 
					
						2022-12-27 06:39:38 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						48b6108e50 
					 
					
						
						
							
							Used allow_migrate_model() shortcut in Field._check_backend_specific_checks().  
						
						
						
						
					 
					
						2022-12-24 21:16:22 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						e07e83589b 
					 
					
						
						
							
							Refs  #34226  -- Renamed local field variables in SQLCompiler.get_related_selections() to avoid redefinition.  
						
						
						
						
					 
					
						2022-12-24 21:04:59 +01:00 
						 
				 
			
				
					
						
							
							
								David Wobrock 
							
						 
					 
					
						
						
							
						
						5aaad5f39c 
					 
					
						
						
							
							Fixed   #34165  -- Made permissions creation respect the "using" parameter.  
						
						
						
						
					 
					
						2022-12-24 11:58:33 +01:00 
						 
				 
			
				
					
						
							
							
								Carlton Gibson 
							
						 
					 
					
						
						
							
						
						0bd2c0c901 
					 
					
						
						
							
							Fixed   #33735  -- Added async support to StreamingHttpResponse.  
						
						... 
						
						
						
						Thanks to Florian Vazelle for initial exploratory work, and to Nick
Pope and Mariusz Felisiak for review. 
						
						
					 
					
						2022-12-22 10:41:12 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						ae0899be0d 
					 
					
						
						
							
							Fixed   #34219  -- Preserved Char/TextField.db_collation when altering column type.  
						
						... 
						
						
						
						This moves setting a database collation to the column type alteration
as both must be set at the same time.
This should also avoid another layer of the column type alteration when
adding database comments support (#18468 ). 
						
						
					 
					
						2022-12-22 07:12:17 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						3b24a3fa33 
					 
					
						
						
							
							Removed unnecessary commas in tests.  
						
						
						
						
					 
					
						2022-12-21 11:41:29 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						2d676ee119 
					 
					
						
						
							
							Updated translations from Transifex.  
						
						... 
						
						
						
						Updated Bulgarian, Esperanto, Hungarian, Japanese, Macedonian, Persian,
Portuguese (Brazil), Russian, Spanish, and Turkmen translations.
Forwardport of 46b28bbe15 
						
						
					 
					
						2022-12-20 19:34:59 +01:00 
						 
				 
			
				
					
						
							
							
								Carlton Gibson 
							
						 
					 
					
						
						
							
						
						32d70b2f55 
					 
					
						
						
							
							Refs  #34118  -- Adopted asgiref coroutine detection shims.  
						
						... 
						
						
						
						Thanks to Mariusz Felisiak for review. 
						
						
					 
					
						2022-12-20 11:10:48 +01:00 
						 
				 
			
				
					
						
							
							
								Andrew Godwin 
							
						 
					 
					
						
						
							
						
						a09d39f286 
					 
					
						
						
							
							Refs DEP 12 -- Renamed TB to Steering Council wherever mentioned.  
						
						
						
						
					 
					
						2022-12-20 09:10:59 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						0c60d11bdb 
					 
					
						
						
							
							Fixed typo in docs/topics/async.txt.  
						
						
						
						
					 
					
						2022-12-19 20:25:38 +01:00 
						 
				 
			
				
					
						
							
							
								Roxane 
							
						 
					 
					
						
						
							
						
						289e9a75af 
					 
					
						
						
							
							Fixed   #33662  -- Allowed Sitemap to customize languages for each item.  
						
						
						
						
					 
					
						2022-12-19 12:51:52 +01:00 
						 
				 
			
				
					
						
							
							
								Andreas Pelme 
							
						 
					 
					
						
						
							
						
						ab7a85ac29 
					 
					
						
						
							
							Fixed   #34170  -- Implemented Heal The Breach (HTB) in GzipMiddleware.  
						
						
						
						
					 
					
						2022-12-17 08:46:37 +01:00 
						 
				 
			
				
					
						
							
							
								Leo 
							
						 
					 
					
						
						
							
						
						a1bcdc94da 
					 
					
						
						
							
							Fixed   #34212  -- Made RedisCacheClient.incr() use write connection.  
						
						... 
						
						
						
						Co-authored-by: Sin-Woo Bang <sinwoobang@gmail.com > 
						
						
					 
					
						2022-12-16 19:13:03 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						1e4da43955 
					 
					
						
						
							
							Fixed lookup.tests.LookupTests.test_exact_none_transform() test on Oracle.  
						
						... 
						
						
						
						NulledTransform doesn't return TextField anymore so it cannot be
wrapped with DBMS_LOB.SUBSTR().
Test regression in 09ffc5c121 
						
						
					 
					
						2022-12-16 12:24:49 +01:00