<feed xmlns='http://www.w3.org/2005/Atom'>
<title>django.git/tests/staticfiles_tests/project/documents/cached/css, branch main</title>
<subtitle>django
</subtitle>
<id>http://cgit.adnoto.dev/django.git/atom?h=main</id>
<link rel='self' href='http://cgit.adnoto.dev/django.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/'/>
<updated>2026-03-04T21:15:48Z</updated>
<entry>
<title>Fixed #21080 -- Ignored urls inside comments during collectstatic.</title>
<updated>2026-03-04T21:15:48Z</updated>
<author>
<name>James Bligh</name>
<email>blighj@users.noreply.github.com</email>
</author>
<published>2026-03-04T14:12:06Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=36be97b99d4de786746a8d80bbcd41de03752df9'/>
<id>urn:sha1:36be97b99d4de786746a8d80bbcd41de03752df9</id>
<content type='text'>
Thanks Mariusz Felisiak for the review.

Co-authored-by: Nathan Gaberel &lt;nathan@gnab.fr&gt;
</content>
</entry>
<entry>
<title>Fixed syntax of CSS file used in tests.</title>
<updated>2024-07-11T06:03:21Z</updated>
<author>
<name>Tom Carrick</name>
<email>tom@carrick.eu</email>
</author>
<published>2024-06-30T09:46:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=7264d7f7509f875d2676e40924092c71b5c5b411'/>
<id>urn:sha1:7264d7f7509f875d2676e40924092c71b5c5b411</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Made HashedFilesMixin ignore URLs without a path.</title>
<updated>2022-06-23T06:59:49Z</updated>
<author>
<name>Florian Apolloner</name>
<email>florian@apolloner.eu</email>
</author>
<published>2022-05-10T15:10:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=e6f36ea0a97af5c7d18bd155a6c4a937cf658ce6'/>
<id>urn:sha1:e6f36ea0a97af5c7d18bd155a6c4a937cf658ce6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed #28776 -- Fixed a/an/and typos in docs and comments.</title>
<updated>2017-11-07T03:41:03Z</updated>
<author>
<name>Дилян Палаузов</name>
<email>dilyanpalauzov@users.noreply.github.com</email>
</author>
<published>2017-11-07T03:11:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=6c0042430e3618ce5c276d195d92a6b884daa3a3'/>
<id>urn:sha1:6c0042430e3618ce5c276d195d92a6b884daa3a3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed #26671 -- Made HashedFilesMixin ignore the 'chrome' scheme.</title>
<updated>2016-07-12T12:20:39Z</updated>
<author>
<name>Andrew Nester</name>
<email>andrew.nester.dev@gmail.com</email>
</author>
<published>2016-07-12T12:20:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=08ed3cc6d160d0d864ff687db9a62959a86e7372'/>
<id>urn:sha1:08ed3cc6d160d0d864ff687db9a62959a86e7372</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Prevented static file corruption when URL fragment contains '..'.</title>
<updated>2016-02-23T18:35:16Z</updated>
<author>
<name>Aymeric Augustin</name>
<email>aymeric.augustin@m4x.org</email>
</author>
<published>2016-02-23T09:51:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=7f6fbc906a21e9f8db36e06ace2a9b687aa26130'/>
<id>urn:sha1:7f6fbc906a21e9f8db36e06ace2a9b687aa26130</id>
<content type='text'>
When running collectstatic with a hashing static file storage backend,
URLs referencing other files were normalized with posixpath.normpath.
This could corrupt URLs: for example 'a.css#b/../c' became just 'c'.

Normalization seems to be an artifact of the historical implementation.
It contained a home-grown implementation of posixpath.join which relied
on counting occurrences of .. and /, so multiple / had to be collapsed.

The new implementation introduced in the previous commit doesn't suffer
from this issue. So it seems safe to remove the normalization.

There was a test for this normalization behavior but I don't think it's
a good test. Django shouldn't modify CSS that way. If a developer has
rendundant /s, it's mostly an aesthetic issue and it isn't Django's job
to fix it. Conversely, if the user wants a series of /s, perhaps in the
URL fragment, Django shouldn't destroy it.

Refs #26249.
</content>
</entry>
<entry>
<title>Fixed #25283 -- Fixed collectstatic crash if a URL contains a fragment with a path.</title>
<updated>2015-11-13T00:30:48Z</updated>
<author>
<name>msaelices</name>
<email>msaelices@gmail.com</email>
</author>
<published>2015-08-17T15:59:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=7624fdb9f8ea4cbff407436606998f572898038b'/>
<id>urn:sha1:7624fdb9f8ea4cbff407436606998f572898038b</id>
<content type='text'>
A @font-face declaration may contain a fragment that looks like a relative path,
e.g. @font-face { src: url('../fonts/font.svg#../path/like/fragment'); }
In this case, an incorrect path was passed to the storage backend, which raised
an error that caused collectstatic to crash.
</content>
</entry>
<entry>
<title>Added newlines to the ends of CSS, HTML, and JavaScript files missing them.</title>
<updated>2014-08-12T23:22:09Z</updated>
<author>
<name>Trey Hunner</name>
<email>trey@treyhunner.com</email>
</author>
<published>2014-04-16T19:35:16Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=68686430638215b5405b20bd767c0be392c9221d'/>
<id>urn:sha1:68686430638215b5405b20bd767c0be392c9221d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merged regressiontests and modeltests into the test root.</title>
<updated>2013-02-26T13:36:57Z</updated>
<author>
<name>Florian Apolloner</name>
<email>florian@apolloner.eu</email>
</author>
<published>2013-02-26T08:53:47Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=89f40e36246100df6a11316c31a76712ebc6c501'/>
<id>urn:sha1:89f40e36246100df6a11316c31a76712ebc6c501</id>
<content type='text'>
</content>
</entry>
</feed>
