Jon Dufresne
(jdufresne)
Most Active Role
Reporter
Most Active Component
Core (Mail)
Activity Timeline
[No data in this time period]
Components
Tickets
Trac | Ticket (156) | Reporter (133) | Owner (34) | Commenter (215) | Summary | Component |
---|---|---|---|---|---|---|
23964 | 23964 | ✅ | 3 | Support for Meta.constraints validation across forms in a model formset. | Forms | |
23968 | 23968 | ✅ | 1 | Use generator comprehension instead of list comprehension when possible | Uncategorized | |
28912 | 28912 | ✅ | 1 | EmailMessage.message() should not set a blank To: field when EmailMessage.to is empty | Core (Mail) | |
34377 | 34377 | 1 | AdminSite.catch_all_view() drops query string in redirects | contrib.admin | ||
31747 | 31747 | ✅ | 2 | Avoid potential admin model enumeration | contrib.admin | |
30947 | 30947 | ✅ | 1 | Apply data structure best practices to the django.contrib models and docs | Documentation | |
28405 | 28405 | ✅ | 1 | CICharField on a ModelFormSet doesn't catch unique constraint violations with different capitalization | contrib.postgres | |
27147 | 27147 | 1 | Add support for defining bounds in postgres range fields | contrib.postgres | ||
31596 | 31596 | ✅ | 2 | ForeignKey.validate() should validate using the base manager. | Database layer (models, ORM) | |
27753 | 27753 | 3 | Cleanups when no supported version of Django supports Python 2 anymore | Utilities | ||
31703 | 31703 | ✅ | ✅ | 1 | Name all initial migrations "NNNN_initial". | Migrations |
30944 | 30944 | ✅ | 1 | Change resuable apps docs to use setuptools declarative config | Documentation | |
30171 | 30171 | ✅ | 1 | Fix DatabaseError threading error during servers tests | Database layer (models, ORM) | |
31327 | 31327 | ✅ | 1 | Deprecate providing_args argument from Signal | Utilities | |
25236 | 25236 | ✅ | 1 | Remove ifequal from the template language. | Template system | |
30165 | 30165 | ✅ | 1 | Deprecate ugettext(), ugettext_lazy(), ugettext_noop(), ungettext(), and ungettext_lazy() | Internationalization | |
23433 | 23433 | ✅ | 1 | Django installs /usr/bin/django-admin and /usr/bin/django-admin.py | Packaging | |
31791 | 31791 | ✅ | ✅ | 2 | Make technical 404 page always show tried URL patterns | Error reporting |
31993 | 31993 | ✅ | ✅ | 1 | Improve Django admin change/view titles to more unique per object | contrib.admin |
31992 | 31992 | ✅ | 1 | Admin password_* templates are missing <title> suffix | contrib.admin | |
31979 | 31979 | ✅ | ✅ | 1 | Make new setup_databases() argument time_keeper optional | Testing framework |
23576 | 23576 | ✅ | 2 | Fast-path deletion for MySQL | Database layer (models, ORM) | |
25139 | 25139 | ✅ | ModelFormSet: allow swapping unique values | Forms | ||
31892 | 31892 | ✅ | 2 | Added release notes about removing "type" attribute from rendered <script>'s. | Documentation | |
31493 | 31493 | ✅ | 1 | Replace var usage with const and let keywords in JavaScript. | contrib.admin | |
29324 | 29324 | ✅ | 4 | Change Settings to raise ImproperlyConfigured on SECRET_KEY; not initialization | Core (Other) | |
31806 | 31806 | ✅ | ✅ | 3 | Make validators include the provided value in ValidationError | Forms |
31769 | 31769 | ✅ | ✅ | 3 | Improve default name of merge migrations. | Migrations |
30400 | 30400 | ✅ | ✅ | 2 | Improve typography of user facing strings. | Core (Other) |
31523 | 31523 | ✅ | ✅ | 1 | Remove jQuery dependency from actions.js. | contrib.admin |
31643 | 31643 | ✅ | 1 | Change virtualenv doc references to Python 3 venv. | Documentation | |
31524 | 31524 | ✅ | 1 | Stop minifying only some admin static assets | contrib.admin | |
31575 | 31575 | ✅ | 1 | Document admin's requirement on django.template.context_processors.request context processor. | contrib.admin | |
31542 | 31542 | ✅ | ✅ | 1 | Simplify admin JavaScript with ES6 for … of syntax. | contrib.admin |
31532 | 31532 | ✅ | 1 | Deprecate {% ifequal %} and {% ifnotequal %} template tags in favor of {% if %}. | Template system | |
31483 | 31483 | ✅ | ✅ | 1 | Remove admin change_form.js dependency on jQuery. | contrib.admin |
29983 | 29983 | ✅ | 1 | Replace os.path with pathlib.Path in project template and docs | Core (Other) | |
31479 | 31479 | ✅ | 1 | Add support to reset sequences on SQLite | Database layer (models, ORM) | |
31477 | 31477 | ✅ | 1 | Simplify signature of `DatabaseOperations.execute_sql_flush()` | Uncategorized | |
24559 | 24559 | ✅ | 1 | MigrationLoader.load_disk ImportError handling differs under py3/pypy vs py2 | Migrations | |
31473 | 31473 | ✅ | ✅ | 1 | Use PostgreSQL TRUNCATE … RESTART IDENTITY keyword to reset sequences in sql_flush() | Database layer (models, ORM) |
31391 | 31391 | ✅ | ✅ | Remove cancel.js dependency on jQuery | contrib.admin | |
31365 | 31365 | ✅ | 1 | Remove SelectFilter2.js dependency on jQuery | contrib.admin | |
31285 | 31285 | ✅ | ✅ | 1 | Inherited model doesn't correctly order by "-pk" when specified on Parent.Meta.ordering | Database layer (models, ORM) |
31361 | 31361 | ✅ | ✅ | 1 | Fix admin invalid HTML5 empty action="" attribute. | contrib.admin |
31349 | 31349 | ✅ | ✅ | 1 | Change admin to use :nth-child() CSS selector for alternating rows | contrib.admin |
27370 | 27370 | 1 | Django's Select widget adds a required="required" attribute, even if created with empty_label=True | Forms | ||
31253 | 31253 | ✅ | Possible data loss when using caching from async code. | Core (Cache system) | ||
31233 | 31233 | ✅ | ✅ | 3 | Improve handling of database connection and cursor resources | Database layer (models, ORM) |
31212 | 31212 | ✅ | ✅ | 1 | Update http://initd.org/ URLs to https://www.psycopg.org/. | Documentation |
30998 | 30998 | ✅ | ✅ | 3 | Make it easier to use the model instance in ChoiceWidget.create_option() | Forms |
31080 | 31080 | ✅ | 1 | Remove redundant type="text/javascript" attribute from <script> tags | Uncategorized | |
30910 | 30910 | ✅ | 1 | Add system check warning on duplicate check constraints. | Core (System checks) | |
31028 | 31028 | ✅ | 2 | Use JavaScript classList API | contrib.admin | |
31042 | 31042 | ✅ | ✅ | 1 | Rewrite AdminSeleniumTestCase.get_css_value() without jQuery. | Testing framework |
31027 | 31027 | ✅ | 1 | Prefer DOM object properties over Element.getAttribute() and Element.setAttribute(). | contrib.admin | |
30948 | 30948 | ✅ | 2 | Change packaging to use setup.cfg declarative syntax | Packaging | |
29817 | 29817 | ✅ | 1 | Deprecate FILE_CHARSET setting | Core (Other) | |
27795 | 27795 | Audit force_text invocations | Utilities | |||
30657 | 30657 | ✅ | ✅ | 1 | Allow model Fields to override their descriptor. | Database layer (models, ORM) |
30624 | 30624 | ✅ | ✅ | 1 | Use numbered list reStructuredText syntax throughout the docs. | Documentation |
27801 | 27801 | 1 | Make createsuperuser inspect environment variables for username and password | contrib.auth | ||
27486 | 27486 | 1 | intword and filesizeformat filters shouldn't pass non-integers to gettext | Template system | ||
30550 | 30550 | ✅ | ✅ | 1 | TestClient's response.json() should decode content using the response charset. | Testing framework |
30483 | 30483 | ✅ | 1 | Switch test requirements from psycopg2-binary package to pscyopg2 | Testing framework | |
30470 | 30470 | ✅ | 1 | Complete assertHTMLEqual() support for all self closing tags | Testing framework | |
30468 | 30468 | ✅ | 1 | assertHTMLEqual doesn't account for all ASCII whitespace in a class attribute. | Testing framework | |
30399 | 30399 | ✅ | 3 | Use Python stdlib html.escape() to in django.utils.html.escape() | Utilities | |
30418 | 30418 | ✅ | ✅ | 1 | Add --skip-checks option to management commands. | Core (Management commands) |
30381 | 30381 | ✅ | django/contrib/auth/migrations/0011_update_proxy_permissions.py can cause a unique constraint violation | contrib.auth | ||
30249 | 30249 | ✅ | 3 | Deprecate re-raising view exceptions from test client in tests | Testing framework | |
30147 | 30147 | ✅ | 1 | Simplify directory creation with os.makedirs(..., exist_ok=True) | Uncategorized | |
30137 | 30137 | ✅ | 1 | Replace use of OSError aliases with OSError (IOError, EnvironmentError, WindowsError, mmap.error, socket.error, select.error) | Uncategorized | |
30121 | 30121 | ✅ | 1 | assertURLEqual() should coerce URLs built with reverse_lazy() | Testing framework | |
27991 | 27991 | 2 | Add 'obj' kwarg to InlineModelAdmin.has_add_permission() | contrib.admin | ||
30024 | 30024 | ✅ | 1 | The test client request methods should raise an error when passed None as a data value | Testing framework | |
29820 | 29820 | ✅ | 4 | Remove unused, undocumented, and unnecessary dummy template backend | Template system | |
29813 | 29813 | ✅ | 1 | backends.base.test_operations.DatabaseOperationTests fails on MySQL in isolation | Database layer (models, ORM) | |
29688 | 29688 | ✅ | 4 | ModelAdmin: Add attribute to override manager used by ModelAdmin.get_queryset() | contrib.admin | |
29696 | 29696 | ✅ | BaseModelFormSet.initial_form_count() incorrectly treats data={} as an unbound form | Forms | ||
29663 | 29663 | ✅ | 1 | POST to admin change view should redirect to changelist view if user has "view" permission | contrib.admin | |
29660 | 29660 | ✅ | 2 | POST to admin change view without change permission should 403 | contrib.admin | |
29038 | 29038 | ✅ | 2 | Render HTML void elements without a closing slash | Forms | |
29556 | 29556 | ✅ | 1 | remove_stale_contenttypes --noinput should delete stale content types | contrib.contenttypes | |
27985 | 27985 | 2 | Converting `Foo.objects.filter(bar=None)` to an `IsNull` too early. | Database layer (models, ORM) | ||
29076 | 29076 | ✅ | 2 | Make Model.refresh_from_db() clear cached foreign key and one to one fields, even if the related ID hasn't changed | Database layer (models, ORM) | |
29067 | 29067 | ✅ | 1 | QuerySet.values_list(..., flat=True) combined with .annotate() incorrectly includes the annotate columns | Database layer (models, ORM) | |
29041 | 29041 | ✅ | 1 | Use HTML5 boolean attribute syntax for SelectMultiple's multiple attribute | Forms | |
25604 | 25604 | ✅ | 1 | Add --check flag to makemigrations; return 0 exit status for no new migrations | Core (Management commands) | |
23668 | 23668 | ✅ | make_aware() and make_naive() should default to the current timezone | Utilities | ||
28971 | 28971 | ✅ | EmailMessage.message() does not override Cc header from extra_headers dict (unlike From, To, and Reply-To) | Core (Mail) | ||
27175 | 27175 | ✅ | 1 | Deprecate silencing exceptions raised while rendering the {% include %} template tag | Template system | |
28853 | 28853 | ✅ | 1 | Use database cursor as a context manager internally | Database layer (models, ORM) | |
28706 | 28706 | ✅ | 1 | Allow easier reuse of AuthenticationForm invalid_login ValidationError | contrib.auth | |
26956 | 26956 | ✅ | 1 | Allow additional safe hosts for "next" parameter during login | contrib.auth | |
28578 | 28578 | ✅ | 1 | Rename DatabaseCreation.clone_test_db() argument from number to suffix | Database layer (models, ORM) | |
28378 | 28378 | ✅ | QuerySet.union() with queryset that raises EmptyResultSet results in an empty set | Database layer (models, ORM) | ||
28345 | 28345 | ✅ | 3 | limit_choices_to callable is no longer applied during ModelForm instantiation which blocks some use cases | Forms | |
27563 | 27563 | ✅ | 2 | Move "Apply limit_choices_to" code from BaseModelForm to fields_for_model() | Forms | |
28293 | 28293 | ✅ | QuerySet.union(QuerySet.none()) results in an empty queryset, should be the original queryset | Database layer (models, ORM) | ||
28282 | 28282 | ✅ | 1 | Index.set_name_with_model() not called on models without a base meta class | Database layer (models, ORM) | |
28265 | 28265 | ✅ | 1 | Template widget rendering: "Add the renderer argument ..." false positive when using **kwargs | Forms | |
22550 | 22550 | ✅ | QuerySet last() and reverse() confusing when used with ordered slices | Database layer (models, ORM) | ||
28249 | 28249 | ✅ | 1 | Remove unnecessary dict.keys() calls | Uncategorized | |
28152 | 28152 | ✅ | ✅ | 1 | Change SetSerializer to serialize to set literals | Migrations |
28075 | 28075 | ✅ | 2 | USE_THOUSAND_SEPARATOR = True, causes foreignkey id to become localized | Forms | |
27997 | 27997 | 1 | Can't get last() item of a paginator 'page' | Core (Other) | ||
27957 | 27957 | ✅ | 1 | Remove technical terms from InlineForeignKeyField/ModelMultipleChoiceField error messages | Forms | |
27758 | 27758 | ✅ | 3 | Template widget rendering breaks the AdvancedModelIterator pattern | Forms | |
27759 | 27759 | ✅ | 2 | Template widget rendering: attrs with value False now render | Forms | |
27761 | 27761 | ✅ | 1 | Typo in multiple_input.html produces invalid HTML | Forms | |
27564 | 27564 | 1 | `refresh_from_db()` should return the model instance instead of None | Database layer (models, ORM) | ||
27299 | 27299 | ✅ | 2 | Document Widget.use_required_attribute() | Documentation | |
27368 | 27368 | ✅ | 1 | mail.tests.SMTPBackendTests.test_server_login generates ResourceWarning unclosed socket | Testing framework | |
22872 | 22872 | ✅ | 1 | Backwards incompatible change: Can't proxy User model: RuntimeError: App registry isn't ready yet. | Documentation | |
26315 | 26315 | ✅ | Allow call_command() to accept a Command object as the first argument | Testing framework | ||
27256 | 27256 | ✅ | 1 | Change the selected attribute of select form tags to use HTML5 boolean syntax | Forms | |
27136 | 27136 | ✅ | Change auth forms' autofocus attribute to HTML5 boolean syntax | contrib.auth | ||
26747 | 26747 | ✅ | 2 | Use more specific assertions in tests | Core (Other) | |
27068 | 27068 | ✅ | 1 | Acquire form's initial data more consistently | Forms | |
27082 | 27082 | 1 | Make timezone.localtime() default to timezone.now() when no value is given | Utilities | ||
27037 | 27037 | 2 | 'required' attribute on prefilled ClearableFileInput prevents valid form submissions | Forms | ||
26928 | 26928 | ✅ | 3 | Change checkbox/radio checked attribute to HTML5 boolean style | Forms | |
26927 | 26927 | ✅ | 1 | Subwidgets not passed required and disabled attributes in BoundField.__iter__() | Forms | |
26938 | 26938 | ✅ | 1 | Template postmortem on debug page contains invalid HTML | Error reporting | |
26088 | 26088 | ✅ | 1 | Changing a proxy model to multi-table inheritance does not modify FKs of the model | Migrations | |
26833 | 26833 | ✅ | 1 | alter_field() fails to drop indexes on columns with mixed case on Oracle | Database layer (models, ORM) | |
26805 | 26805 | ✅ | 1 | Dropping unique from CharField does not drop PostgreSQL _like index | Migrations | |
26794 | 26794 | ✅ | Migrating ForeignKey to OneToOneField creates extra index on PostgreSQL | Migrations | ||
26783 | 26783 | ✅ | 1 | SessionMiddleware does not correctly delete an empty session cookie when SESSION_COOKIE_PATH is set | contrib.sessions | |
26694 | 26694 | ✅ | 1 | FileBasedCache.get() ignores all IOError errno values | Core (Cache system) | |
26691 | 26691 | ✅ | Don't check for a file's existence before deleting | File uploads/storage | ||
26516 | 26516 | ✅ | 1 | Add support for HTML5 minlength attribute on forms.CharField | Forms | |
24987 | 24987 | ✅ | 4 | Remove test client login()'s hardcoded rejection of inactive users | Testing framework | |
26250 | 26250 | ✅ | Use a single string placeholder syntax for all user facing APIs | Core (Other) | ||
26267 | 26267 | ✅ | 2 | Template filter "slice" raises TypeError on bound RadioSelect | Template system | |
25576 | 25576 | ✅ | 1 | HttpResponse can't be wrapped by io.TextIOWrapper; add required IOBase methods | HTTP handling | |
25500 | 25500 | ✅ | 1 | Add option to check command to return non-zero exit status for warnings | Core (Management commands) | |
24777 | 24777 | ✅ | 2 | Add support for statement_timeout | Database layer (models, ORM) | |
24585 | 24585 | ✅ | 1 | Remove repetitive guarding against double quoting database identifiers | Database layer (models, ORM) | |
24584 | 24584 | ✅ | 3 | Test failures with MySQL >= 5.6.4 and MySQLdb < 1.2.5 | Database layer (models, ORM) | |
24139 | 24139 | ✅ | 4 | The response reason phrases should evaluate lazily | HTTP handling | |
24229 | 24229 | ✅ | 1 | forms.IntegerField.clean() fails to clean float objects that are integers | Forms | |
24137 | 24137 | ✅ | 3 | Reason phrases use all upper case by default; standard suggests title case | HTTP handling | |
24216 | 24216 | ✅ | 1 | Trac GitHub login error: MissingTokenError | Uncategorized | |
24153 | 24153 | ✅ | 2 | Python change in casing of Cookie HttpOnly attribute broke some tests | HTTP handling | |
23676 | 23676 | ✅ | 3 | FileField documentation is confusing about database column representation | Documentation | |
23522 | 23522 | ✅ | 1 | reverse() should return a text string, not a byte string | Core (URLs) | |
23580 | 23580 | ✅ | 4 | forms.fields.NullBooleanField does not honor required=True | Forms | |
23482 | 23482 | ✅ | 2 | SingleObjectMixin.get_object() should allow lookup by BOTH pk and slug | Generic views | |
23357 | 23357 | ✅ | 4 | MySQL DatabaseIntrospection.data_types_reverse for FIELD_TYPE.SHORT is wrong type | Database layer (models, ORM) | |
23367 | 23367 | ✅ | MySQL composite indexes create duplicate indexes (ManyToManyField, unique_together) | Database layer (models, ORM) | ||
22865 | 22865 | ✅ | 3 | Testing framework: ValueError: Cannot create form field for 'user' yet, because its related model 'myauth.User' has not been loaded yet | Testing framework | |
22716 | 22716 | ✅ | 3 | The unique error message uses incorrect grammar | Uncategorized | |
22574 | 22574 | ✅ | BrokenLinkEmailsMiddleware: send an email for all broken links, not just 404 | Core (Other) | ||
21486 | 21486 | ✅ | 2 | Backwards incompatible change in 1.6: accessing Apache mod_wsgi environment variables | Core (Other) |