-
-
Notifications
You must be signed in to change notification settings - Fork 76
Expand file tree
/
Copy pathchangelog.txt
More file actions
228 lines (174 loc) · 7.76 KB
/
Copy pathchangelog.txt
File metadata and controls
228 lines (174 loc) · 7.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
Changelog
=========
v1.3 (25/07/2026)
-----------------
- Migrated the bundled templates from Bootstrap 3.3.7 (2016) to Bootstrap 5.3.8.
- Removed jQuery entirely. The only remaining script is Bootstrap's own bundle;
the area selector is now plain JavaScript using URLSearchParams.
- Removed lightbox2, which existed only to display item images and was the last
thing requiring jQuery. Images now open in a Bootstrap modal containing a
carousel, clicked thumbnail first, with no additional dependency.
- Removed the bundled Glyphicons font files (5 files, ~200KB): Bootstrap 5 ships
no icon font. The single icon still needed is an inlined MIT-licensed SVG path.
- Dropped jumbotron-narrow.css; Bootstrap 5 has no jumbotron component. The
layout rules that still matter moved into style.css.
- Bundled static assets went from roughly 1MB to 344KB.
- The vendored form filter now emits Bootstrap 5 markup: mb-3 groups,
form-label, form-text, invalid-feedback, form-select on selects,
form-check-input on checkboxes and radios, and is-invalid on errored fields.
- Django messages tagged "error" now render as alert-danger; Bootstrap has never
had an alert-error variant, so those messages previously rendered unstyled.
- Fixed the permanently-highlighted "Add new" nav pill, which carried a
hard-coded active class.
Redesigned the bundled templates around the app's own structure: sections read
as labelled dividers, groups as ruled entries with counts, and prices are set in
tabular monospace so they align down a listing column. Uses only system font
stacks, so there are still no external requests. Supports Bootstrap's
data-bs-theme dark mode, respects prefers-reduced-motion, and ships visible
focus styles and a print stylesheet.
SEO:
- <html lang> now reflects the active language instead of being hard-coded to
"en". With 10 translations shipped, every non-English page was previously
declaring itself English.
- Added self-referencing canonical URLs, og:site_name, og:locale and
twitter:card. Added a `canonical` and a `meta_robots` template block.
- Category (Group) pages are now in sitemap.xml. Only Items were listed before,
so the natural landing pages for category searches were absent entirely.
Groups with no active items are excluded, and lastmod is annotated in the
queryset rather than fetched per row.
- Category pages now carry their own meta description and Open Graph tags
instead of inheriting the site-wide description on every page.
- Item pages emit JSON-LD Product and BreadcrumbList, replacing the inline
microdata. Mixing both formats for one entity sends conflicting signals.
- Search, profile, item form and delete-confirmation pages are now noindex.
Search URLs in particular were an unbounded, indexable, thin-content space.
- The index page title no longer renders as "Site Name | Site Name".
- Every page now has exactly one h1. The site name in the masthead was an h4,
so documents had no h1 at all.
- Table headers use <th scope="col"> instead of <td>.
Breaking: any project overriding the bundled templates or relying on the removed
static files will need updating. The `bootstrap` template library keeps its name.
v1.2.2 (25/07/2026)
-----------------
- Fixed installation on Python 3.12+: dropped the django-bootstrap-form
dependency, whose bootstrapform.meta module imports distutils at load time.
distutils was removed from the stdlib in Python 3.12 (PEP 632), so following
the README on a clean 3.12/3.13 environment failed with
"ModuleNotFoundError: No module named 'distutils'" before the app could start.
It only appeared to work where setuptools happened to be installed, since
setuptools vendors a distutils shim.
- Vendored the Bootstrap 3 `bootstrap` form filter into
django_classified.templatetags.bootstrap. The template library keeps its name,
so existing {% load i18n bootstrap %} overrides continue to work.
- `bootstrapform` is no longer required in INSTALLED_APPS — remove it.
- Added a clean-install CI job that installs the package into a stock
python:3.13-slim image without setuptools, so import-time regressions in
dependencies are visible instead of being masked by the distutils shim.
- Added tests for the vendored form filter.
v1.2.1 (10/04/2026)
-----------------
- Search now matches both title and description fields
- Search splits query into words (each word must match in either field)
- URLs in item descriptions are now rendered as clickable links (#66)
- Added select_related/prefetch_related to views to reduce database queries
- Optimized image_count and featured_image to use prefetch cache
- Updated CI to GitHub Actions v6 (Node.js 24)
- Switched PyPI publishing to Trusted Publishers (OIDC)
v1.2.0 (10/04/2026)
-----------------
- Dropped Python 3.9 support, now requires Python 3.10+
- Dropped Django 4.2/5.0/5.1 support, now targets Django 5.2 LTS and 6.0
- Fixed broken related item thumbnails on detail page
- Fixed open redirect vulnerability in area selector
- Removed XSS risk from message output
- Replaced deprecated Universal Analytics with GA4
- Modernized URLs (path), views (LoginRequiredMixin), and super() calls
- Improved homepage query performance (N+1 → single query)
- Updated CI/CD to GitHub Actions v4/v5 and modern build tooling
- Removed deprecated default_app_config
- Added __str__ to Profile and Image models
v1.1.2 (02/03/2025)
-----------------
- Added support for non-Latin characters in slugs (URLs)
- Improved multilingual support for Arabic, Cyrillic, and other non-Latin scripts
v1.1.1 (05/01/2025)
-----------------
- Fix PyPI deployment
v1.1.0 (05/01/2025)
-----------------
- Added support for Python 3.11-3.13, dropped Python 3.8 support
- Added Django 4.2-5.2 support, dropped Django 3.2 support
v1.0.0 (17/07/2022)
-----------------
- Drop Python 3.6,2.7 support
- Drop Django support for versions < 3.2
v0.9.0 (31/01/2019)
-----------------
- Drop Python 2.7 and 3.5 support
- Added Django 3.0 support
v0.8.12 (13/09/2019)
-----------------
- Added Spanish translation. https://github.com/4bimcad
v0.8.11 (16/12/2018)
-----------------
- Django 2.2 support
v0.8.10 (16/12/2018)
-----------------
- Fixed Items search at Admin page
v0.8.9 (02/08/2018)
-----------------
- Display version in the credits section
v0.8.8 (02/08/2018)
-----------------
- Added Django 2.1 support
v0.8.7 (25/07/2018)
-----------------
- Updated Russian translation
v0.8.6 (25/07/2018)
-----------------
- Updated Polish and Turkish translations
v0.8.5 (25/07/2018)
-----------------
- Updated translations
v0.8.4 (21/07/2018)
-----------------
- Template updates
- Bug fixes
v0.8.3 (21/07/2018)
-----------------
- Added `DCF_DISPLAY_EMPTY_GROUPS` settings
v0.8.2 (17/07/2018)
-----------------
- Bug fixes
v0.8.1 (14/07/2018)
-----------------
- Do not limit description in the RSS feed
- Currency format
v0.8 (13/07/2018)
-----------------
- Added Areas
- Cleanup
- Updated jQuery to 3.3.1
- Updated Lightbox to 2.10.0
v0.7.4 (13/07/2018)
-----------------
- Moved user registration outside of the app
- added demo project which handle user registration by Email/Pass or Facebook
v0.7.3 (09/07/2018)
-----------------
Added simple user registration form
v0.7 (09/07/2018)
-----------------
Renamed to django-classified
Added demo project
v0.2.1 (15/04/2016)
-----------------
Custom user model is back!
New way for providing custom settings (dispose of DCF dictionary)
Django 1.9.5
v0.2 (26/03/2016)
-----------------
Removed custom user model, since it's make impossible for app integrate with existed solution
Removed django_compressor integrations, due to problem with installation on some platform (searching for good solution now).
Added initial migrations and updated installation guide in readme file.
Django 1.9.4