All Versions
132
Latest Version
Avg Release Cycle
72 days
Latest Release
2060 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v4.3.1 Changes
August 08, 2018- Allow fabfile to be importable when building docs - [email protected]
- Remove top-level
__init__.py
from new projects. Closes #1860 - [email protected] - Fix HTML escaping. Closes #1866 - [email protected]
-
v4.3.0 Changes
June 15, 2018- Added explicit
on_delete
arguments for all ForeignKey models - Samir Shah - Only generate thumbnails in RichText when absolute width/height used. Closes #1748 - Stephen McDonald
- Removed null attribute from slug CharField - Samir Shah
- Converted all
template.render
calls to pass a dict instead of a Context object - Samir Shah - Fixed
MezzanineBackend.authenticate
backend to accept a request argument, added in Django 1.11 - Samir Shah - Fixed
test_multiple_comment_forms
to be agnostic of the order of HTML attributes - Samir Shah - Altered annotation behaviour of search results. Previously this was done implicitly in the
SearchQuerySet.iterator()
method,. which Django would call internally when evaluating the queryset. Django 1.11 changed its behaviour to use a ModelIterator class instead of. just callingiterator()
on the queryset. Rather than suppy a custom. ModelIterator, we just make the annotate explicit - Samir Shah - Updated setup and test configuration to include Django 1.11 - Samir Shah
- password reset: 'http' ->
request.schema
. This fixes a potential security vulnerability in which the password. reset url is exposed to untrusted intermediary nodes in the network. Thanks to John Barham for reporting. See.<https://groups.google.com/forum/?_escaped_fragment_=topic/mezzanine-users/KaDzCzCJDPM#!topic/mezzanine-users/KaDzCzCJDPM>
- ryneeverett - Add explicit
on_delete
arguments to foreign keys in migrations - Samir Shah - Use TextField for
Field.label
andField.help_text
. Fixes #1753. Now length limits for user-defined labels andhelp_texts
are enforced in the admin instead of the DB, which should prevent any further migrations - Eduardo Rivas - Get rid of
max_length
settings formezzanine.forms
- Eduardo Rivas - Timezone aware blog months. From the mailing. ``list:
Quoting Luke Addison (2017-04-30 21:20:09). > When
USE_TZis set to True,. >
mezzanine.blog.templatetags.blog_tags.blog_monthspulls the month and year. > from an array of timezone aware datatime objects but uses them to create an. > array of timezone unaware datatime objects which is the used to create the. >
month_dicts`` return value. This seems like a bug to me. >. > For example, if a UTC time is stored in the database less than an hour. > before the end of a month, and then this tag is used with timezone. > Europe/London (UTC+1 currently) then wouldn't this tag return the pervious. > month instead of the current month? - ryneeverett - Test and simplify
blog_months
- ryneeverett - Weigh search results by age. Weigh search results by their age by default. Add a new setting,.
SEARCH_AGE_SCALE_FACTOR
, controlling how much emphasis to put on the. age when ranking results (set this to 0 to revert to the old behavior) - Simen Heggestøyl - Split dev and prod
ALLOWED_HOSTS
. Django started checkingALLOWED_HOSTS
whenDEBUG=True
a few releases back. Seehttps://www.djangoproject.com/weblog/2016/nov/01/security-releases/#s-cve-2016-9014-dns-rebinding-vulnerability-when-debug-true
- Ed Rivas - Update docs related to
ALLOWED_HOSTS
- Ed Rivas - Fix the old url parsing in import wordpress - Karim N Gorjux
- Use Django's six module - Stephen McDonald
- Don't warn Mezzanine about itself - Stephen McDonald
- Looser check for LocalMiddleware. Closes #1621 - Stephen McDonald
- Modified the blog homepage pattern to a working version. Added import it requires - Ville Ranki
- Remove explicit
show_banner
argument frominner_run
. This broke --noreload for me. When called fromhttps://github.com/django/django/blob/master/django/core/management/commands/runserver.py#L107
, if**options
contains ashow_banner
arg (which, seemingly, is set just above inadd_arguments
), this throws a "Got multiple values for argument" TypeError - Kevin Shen - Handle
MIDDLEWARE_CLASSES
-> MIDDLEWARE - Stephen McDonald - Don't use lazy static loading when Django's ManifestStaticFilesStorage is configured. Closes #1772 - Stephen McDonald
- Link to Pillow docs for dependencies - Stephen McDonald
- Adding new site to site list. Adding "The National: New Australian Art" to the site list.
https://the-national.com.au
- pegl - Doesn't convert JPG/JPEG images to RGBA. resolve #1781 - Bruno Barbosa
- Remove all device-detection features - Eduardo Rivas
- Remove mentions of device handling from docs - Eduardo Rivas
- Use template loaders instead of middlware for host-based template swapping - Eduardo Rivas
- Add docs on upgrading from TemplateForHostMiddleware - Eduardo Rivas
- Create
__init__.py
so Python can find directory - Dylan Peter Hayward - Properly parse positional args. As demonstrated by using
call_command
, the positional args not. processed. This may be a left-over from optarg migration. Usage property is no longer necessary - Melvyn Sopacua - Fix build fail while in here - Melvyn Sopacua
- Added more tests por pages - Vindio
- Update
page_not_found
view args. Closes #1795 - Stephen McDonald - Rename Displayable
is_public
to published - Stephen McDonald - Test Nginx config before restarting. This way the configuration won't be updated if it's broken, and you also get an error message in the terminal explaining why it's broken (instead of just telling you to check service status/journal) - Andrés Martano
- Enable browser-native spell checking in WYSIWYG tinymce editor, which got wiped in 82339b0 . Previously introduced in 86f6ef6 - Michel
- Fixing the support for external links which are moved to child categories in the menu hierarchy - Gerik Peterson
- Update
LOGOUT_URL
to make use ofACCOUNT_URL
- Adam Radwon - Ensure template vars for form defaults are properly escaped - Stephen McDonald
- Fix drag-n-drop for Form field inlines. Fixes #1841. Inherit from DynamicInlineAdminForm to inject the necessary JS files - Eduardo Rivas
- Fix failing tests that assume threadlocals have been set up - Luke Plant
- Pulled out middleware present check into its own function. And fixed Python 3 compat - Luke Plant
- Made all middleware installation checking consistent. All check by string first, and then for classes and subclasses,. correctly ignoring things that aren't classes - Luke Plant
- Fix failing tests that assume threadlocals have been set up (#1848) - Luke Plant
- Fix keywords widget for Django 1.11. Closes #1844 - stephenmcd
- Fix sense of
SITE_PERMISSION_MIDDLEWARE
check. Issue introduced by commit 00f4a63c - Ross Younger - Fix sense of other check for
SITE_PERMISSION_MIDDLEWARE
. Issue introduced by commit 00f4a63 - Ross Younger - Added basic tests for TemplateSettings. The tests follow the existing functionality - Luke Plant
- Gave TemplateSettings a useful
__repr__
. Previously it just returned '{}' always, from super()s empty dict - Luke Plant - Don't emit warning when doing
force_text(TestSettings())
. This is to fix the behaviour of getting lots of instances of: UserWarning:__unicode__
is not inTEMPLATE_ACCESSIBLE_SETTINGS
. if you have django-debug-tool installed - Luke Plant - Prevent changes to
FORMS_EXTRA_FIELDS
setting creating new migrations - [email protected] - Support access to related model on Django 2+ - Williams Mendez
- Fix safe string handling in richtext filters - [email protected]
- Fix some test warnings - [email protected]
- Add deprecation handling for
mark_safe
as decorator - [email protected] - Fix SplitSelectDateTimeWidget which Django 1.9 broke. Closes #1838 - [email protected]
- Fix usage of
request.scheme
in password reset email - Eduardo Rivas - Make thumbnail tag recognize
.PNG
and.GIF
. Files with the upper case extensions.PNG
and.GIF
are now recognized by. the thumbnail template tag as being PNG- and GIF images, respectively,. instead of being treated as JPEG images - Simen Heggestøyl - Added gcc and rsync for the full deployment on the freshly installed Debian (eg. on OVH) - lukasz
- Support
SelectDateWidget
in django 1.8 and django 2.x - Williams Mendez - Narrow exception handling to ImportError only - Williams Mendez
- Added explicit
-
v4.2.3 Changes
March 10, 2017- Test
MultiChoiceField.validate
when invalid. For the record, this raises a TypeError prior to Simen's commit - ryneeverett - Test
MultiChoiceField.validate
when valid. Also, I realized that thechoices
kwarg needs to be a nested list - ryneeverett - Ensure createdb command passes on the exepcted options to base class - Stephen McDonald
- Workaround for Django bug with templates field and empty values - Stephen McDonald
- Update travis django versions. (#1683). See discussion at.
https://github.com/stephenmcd/mezzanine/commit/1866997c64725b3161b59628c8deaee544f0c473
- ryneeverett - Subclass Django's redirect admin to filter by site - Stephen McDonald
- Remove "Overriding vs. Extending" Docs. I know we discussed this a little bit somewhere and rewriting this. section was suggested. However, I don't see any reason to keep it. around. This was always a django issue but we provided a. mezzanine-specific solution. Now that there's a django solution, why. clutter our docs with it? - ryneeverett
- Richtext filters must return SafeString. For now, just raise a warning. In the way-off future I'd like to see.
richtext_filters
raise an exception when a SafeString is not received. Django makes a contract with users: "Unless you explicitly mark. untrusted input as safe, we'll escape it and you don't need to worry. about XSSvulnerabilities."
My position is that reusable apps should. proxy this contract to users. In doing so, this also moves the SafeString conversion out of templates. and into theescape
function in which bleach actually makes the html. safe. The closer these two components are to each other the less likely. we are to make a mistake in between them - ryneeverett - Fix
SSLRedirectMiddleware.__init__
signature. As reported on the mailing list.(https://groups.google.com/d/msg/mezzanine-users/d5mcAMOVcnk/uqw61LyjAwAJ),
. this raised a TypeError because theget_response
argument is optional - ryneeverett - Move “required” from field help text to template. The forms app used to set “required” as the help text for fields that. are required and didn’t have a help text already. Move this text into. the template instead, making it easier to override - Simen Heggestøyl
- Use
call_command()
instead of execute() (#1691) - Geoffrey ROYER - Remove the
no_color
handling in createdb management command (#1691) - Geoffrey ROYER - Fix example in profile docs - Stephen McDonald
- Remove outdated message regarding auto-reload. Since
local_settings.py
is added tosys.modules
, the autoreload is working as expected. See:https://github.com/stephenmcd/mezzanine/blob/master/mezzanine/project_template/project_name/settings.py#L308
- Ed Rivas - Document
static_lazy's
purpose. This is a summary of the reasoning in.https://github.com/stephenmcd/mezzanine/pull/1411
- ryneeverett - Update contributing guidelines to reflect practice. The language here is too broad and has caused several users to submit. high quality bug reports or patches to the mailing list when it's. actually easier to deal with them in the tracker - ryneeverett
- Fix TinyMCE support in dynamic inlines (#1674). * Fix TinyMCE support in dynamic inlines. Use TinyMCE’s jQuery plugin to initialise our editors, and handle. Django’s formset:added event to initialise editors in dynamically added. forms. * Tidy up TinyMCE initialisation code. * Call out changes to
jquery.tinymce.min.js
more visibly - Alex Hill - Warn when editing admin users without permissions. Closes #1707 - Stephen McDonald
- Move contributing guidelines to
CONTRIBUTING.rst
. This will present itself before people open issues which should cut down. on a lot of the erroneous ones - ryneeverett - Fix short URL generation - Stephen McDonald
- Add support for importing via blogml - Evan Mattiza
- Clean up blogml importer - Stephen McDonald
- Added python 3.6 (#1720) - Andrii Soldatenko
- Deprecate
as_tag
templatetag shortcut. It isn't documented but folks may be using it anyway. We can't switch. over tosimple_tag
internally yet until we drop support fordjango-1.8
- ryneeverett - Restore tinymce support in front-end editing. Closes #1718 - Stephen McDonald
- Fix caching editable settings forever when no request - David Sanders
- Blog RSS feed - set length property for images (enclosure) - Yuri Prezument
- Blog RSS - add
mime_type
for images (enclosure) - Yuri Prezument - Blog Atom feed - add "updatedate" property - Yuri Prezument
- Fix issue with PyPy2 (#1725). Under PyPy2 you can't do u"foo" == lazy(static, str)("bar") because the. code assumes dir(str) is a strict subset of dir(unicode), which isn't. true on PyPy2. The other way around is no problem however, and the. other strings in the static assets lists are unicode anyway - Ernst Sjöstrand
- Fix issue 1710. During user validation, only save POST data in session if it is a POST. request, otherwise saved comment may be overwritten by GET request that. results from redirect if user verification is required - Chris Hawes
- Re-order JavaScript loading to ensure TinyMCE has access to correct variables. Closes #1728 - Stephen McDonald
- Nicer way to import and register checks. The previous way meant every check gets mentioned 3 times (def, import,. register), with this way it is just once, and all the
django.core.checks
. are together - Luke Plant - Converted SitePermissionMiddleware warning to a Django check. Refs issue #1400 - Luke Plant
- Added hashbangs/permission bits to make scripts more easily runnable - Luke Plant
- Made it easier to run individual tests - Luke Plant
- Documented how to run tests - Luke Plant
- Fixed pyflakes errors for
.checks
imports - Luke Plant - Fixed login form to not use
request.REQUEST
. This is not available in Django 1.9 and greater, so without this fix the. forms are (slightly) broken. There doesn't seem to be any reason to use. REQUEST instead of POST - the form is a POST one, and the parameters are not. used elsewhere in the code base to construct a querystring - Luke Plant - Fixed search forms to use
request.GET
instead ofrequest.REQUEST
.request.REQUEST
is not available in Django 1.9 and greater - Luke Plant - Support latest bleach, BS, html5lib. Closes #1741, closes #1742, closes #1743 - Stephen McDonald
- Test
-
v4.2.2 Changes
September 25, 2016- Add an option for turning off the runserver banner. Add an option to Mezzanine’s runserver command for not showing the. banner at startup - Simen Heggestøyl
- Only set
content_model
first time. Fix #1676 - ryneeverett
-
v4.2.1 Changes
September 19, 2016- Issue #1565. Added conditions for assigning keywords to the keyword widget, when a validation error occurs - xuryax
- Stop using deprecated template settings. -
TEMPLATE_DIRS
. -TEMPLATE_LOADERS
. I think these must have been actually removed indjango-1.10.0
because. they're throwing AttributeError's now - ryneeverett - Remove deprecated
richtext_filter
tag. I don't see how the fallback could even work without the user defining.RICHTEXT_FILTERS
as empty in their own settings, because it defaults to.("mezzanine.utils.html.thumbnails",)
so theif not filternames
path. would never be taken. Give that the fallback does nothing, I think. printing a warning is deceptive so better just to remove it entirely - ryneeverett - Fixed crash in
Page.get_ascendants
with non-current site - Alex Hill - Add
override_current_site_id
context manager - Alex Hill - Make sure a thread-local request is set in PagesTests. We rely in these tests on a “current request” being stored as a. thread-local, but without explicitly assigning one we were dependent on. other tests that make requests being executed before these - Alex Hill
- Exclude
.pyc
,.pyo
and__pycache__
files from release - Edward Betts - Correctly handle custom email fields in
mezzanine.forms
. Theis_a
method checks whether a field is one of Mezzanine's built-in. form fields. As far as I can tell, every other usage is for the purpose. of initializing the built-in fields and widgets, so it makes sense to. exclude user-defined fields. However in this instance, we only want to know whether the field is an. EmailField, not that it is the built-in Mezzanine email field. Therefore, check the class rather than identity. The effective change here is that user-defined fields (in.FORMS_EXTRA_FIELDS)
which subclass django's EmailField will be able to. receive confirmation emails - ryneeverett - Remove redundant assignment of
request.site_id
- Alex Hill - Add compatibility with the Django 1.10 MIDDLEWARE setting - Samir Shah
- Added test for KeywordWidget - xuryax
- Updated Test for KeywordWidget - xuryax
- Add more docstrings to ContentTyped - ryneeverett
- Set base ContentTyped
content_model
to None. Per discussion with @AlexHill in cartridge#293,content_model
is the. name of django's automatic OneToOneField's linking the concrete base. class inheriting from ContentTyped to it's subclasses. There is no such. field when the base class itself is instantiated, so thecontent_model
. should be None - ryneeverett ContentTyped.get_content_model()
should return instance, not class - Alex Hill- Test admin redirects for ContentTyped models - Alex Hill
- Small error documentation. I think there are a small error : fields (plural) not field - Anthony
- Add some MIDDLEWARE compatibility fixes that were missing from #1660. Also change the way in which the middleware setting is determined. A statis variable will fail when settings are modified on the fly,
e.g.
, when running tests - Samir Shah - Fix positional argument count on
get_db_prep_value
- Jeff Cook - Restore context vars in
admin_dropdown_menu
templatetag. Closes #1669 - Stephen McDonald - Fix request context for form entries in admin - Stephen McDonald
- Fix template for form entries in admin - Stephen McDonald
- Fix overextends tag with cached template loader - Alex Hill
- Deprecate overextends tag since Django now includes its functionality - Alex Hill
- Remove some obsolete checks for Django < 1.8 - Alex Hill
- Deprecate SSLRedirectMiddleware. Resolve #1600. Also, set default SSL settings to
editable=False
so they do not. display in the settings by default - ryneeverett - Move most Field functionality into abstract base class - Alex Hill
- Escape comment usernames in admin list - Stephen McDonald
- Move richtext filtering into a util function - Stephen McDonald
-
v4.2.0 Changes
August 12, 2016- Update collecttemplates command for 4.1. Closes #1512 - Stephen McDonald
- Return correct HTTP error response if static proxy cannot find requested file - Stephen McDonald
- Fix dummy homepage object in sitemap. Closes #1516 - Stephen McDonald
- Fixes #1449 -- duplicate profile fields in admin - Alex Hill
- Move template form CSS rule to grappelli-safe - Alex Hill
- Removed nesting of Context objects. Inclusion tags should: * Return dictionaries, not Context objects. * Explicitly pass all needed data to their templates. * Not modify passed in Context object ideally. No code should wrap Context objects in further Context objects, as this. causes errors in some contexts - Luke Plant
- Fix blog pagination due to Django 1.9 change - Stephen McDonald
- Don't load user model at import time in tests - Stephen McDonald
- Move misc admin related urlpatterns under /admin/ for better compatibility with SSLRedirectMiddleware. Closes #1365 - Stephen McDonald
- Fix user creation with required profile fields - Alex Hill
- Removed syncdb from deploy as it is no longer supported in
Django1.9
and has been depricated since 1.7, migrate is used instead - Douglas Kastle - Use Django's native dynamic inline mechanism - Alex Hill
- Remove custom dynamic inline templates - Alex Hill
- Support with i18n urlpatterns with
SSL_FORCE_URL_PREFIXES
. Closes #1456 - Stephen McDonald - Restore the ordering-related parts of
dynamic_inline.js
. We still need to usedynamic_inline.js
for its custom ordering code, but we can remove everything related to dynamically adding and removing inline forms since we're now using Django's built-in mechanisms for that - Alex Hill - Remove now-unused dynamic inline templates - Alex Hill
- Update Python/Django versions in documentation - Stephen McDonald
- Accept either CDATA or text nodes for WordPress comments. ,. All text output is CDATA in an export from WordPress 4.4.2. It is hoped. that accepting either text or CDATA as node type will be compatible. with exports from all versions of WordPress - Jeff Cook
- Changed proxy to resolve mime types using the mimetypes library for python - Andrew Cassidy
- Google Chrome seems to interpret an empty response as. so forced
content_type
to text/plain to. prevent Chrome handling it in this way - Andrew Cassidy - Changed free themes url. I have changed the URL for the free themes - thecodinghouse
- Fix help text for Link page URL. The field is required, but the inherited help text says it's optional - Gavin Wahl
- Add Coveralls coverage testing to CI, per #1012 - ryneeverett
- Clear
TEST_COLLATION
deprecation warning - David Sanders - Add Federation of Egalitarian Communities Website - Pavan Rikhi
- Only autofocus visible fields with Html5Mixin - David Sanders
- Replace all
_meta.fields
with_meta.get_fields
. According tohttps://docs.djangoproject.com/en/1.8/ref/models/meta/
to. access all the fields of the_meta
object you should callget_fields()
. This. is new with Django 1.8. The_meta.fields
is now a property with a docstring. saying it's Private API intended only to be used by Django itself - Geoff Crompton - Ensure csrftoken cookie is set inside nevercache tag - David Sanders
- Remove check for CSRF token before re-running CSRF middleware - David Sanders
- Add testcase for nevercache and CSRF cookie - David Sanders
- Response should be marked as CSRF processing not done, not request - David Sanders
- Fix unicode errors in user agent check for devices. Closes #1589 - Stephen McDonald
ModelAdmin.in_menu
->has_module_permission
. DeprecateModelAdmin.in_menu
now that django has an equivalent method,.ModelAdmin.has_module_permission
. See.<https://docs.djangoproject.com/en/1.9/ref/contrib/admin/#django.contrib.admin.ModelAdmin.has_module_permission>
- ryneeverett- Replace undocumented
ModelAdmin.get_model_perms
. Instead use the documented methodsModelAdmin.has_change_permission
. andModelAdmin.has_add_permission
- ryneeverett - Fix tests for pyflakes 1.2.x. The warning message now includes the module name - ryneeverett
- Fix selector of the
_order
field to make stacked inlines sortable - Eduardo Rivas - Catch TinyMCE errors when trying to save inlines. Previously this used to prevent the new
_order
values from being computed - Eduardo Rivas - Annotate special handling of the
_order
field in inlines - Eduardo Rivas - Add CSS to hide the
_order
field in stacked inlines - Eduardo Rivas - Constrain content images to max width in default templates - Stephen McDonald
- un-urlencode thumbnail filenames. Closes #1580 - Stephen McDonald
- Clarify format of
ADMIN_REMOVAL
setting - Stephen McDonald - Fix: Add missing space - cspollar
- Fix file name decoding from zip files in python 3. In python3, non-ascii filenames in galleries are incorrectly decoded,. interpreting utf8 code points as box-drawing characters. For example, in. the demo project "Ávila Spain" is incorrectly parsed as "A╠üvila Spain". CP437 is a superset of ascii and the de facto standard for file names. Obviously not every valid utf-8 character is in this character set, but. a lot of tooling does not support file names with characters outside. this set anyway. If we were to encode them in a broader character set I. suspect we would get into OS-interoperability issues, so better to. forego encoding them and coerce them into valid file names. Note that this changes the behavior such that in python3, file names are. now decoded with a chardet-detected encoding. It's also notable that the latest release of chardet incorrectly. identifies the encoding, so in the demo galleries, "Ávila Spain" is. incorrectly parsed as "AĚvila Spain". This is fixed in chardet master - ryneeverett
base_concrete_model:
accept model class argument. Previously only model instances were accepted but now model classes can. be passed alternatively - ryneeverett- Factor custom content types out of Page. Custom content types are now implemented as Model and ModelAdmin mixins. This way they can be reused by Cartridge's Product model - ryneeverett
- Add
content_typed/change_list.html
include. This eliminates template duplication for the content type selector in. cartridge. Note that all jQuery events are propagated unless one of them returns.false
, so both of ouraddlist
change handlers get called.http://stackoverflow.com/questions/4379403/jquery-event-handlers-return-values
- ryneeverett - Append default
TEMPLATE_ACCESSIBLE_SETTINGS
. This means users don't have to copy the defaults into their settings and. are protected from future changes to the settings used by internal. mezzanine templates - ryneeverett - Warn when unallowed template settings are used. Since the exception is suppressed, give a hint that the template. setting isn't allowed - ryneeverett
- dynamically set current rating if it exists - Martín Gaitán
- Remove redundant slash in urlpatterns when homepage is the blog - Stephen McDonald
- Django 1.10 removed
LOGOUT_URL
, so provide a default - Stephen McDonald - Replace Django's deprecated
AUTH_PROFILE_MODULE
setting with newACCOUNTS_PROFILE_MODEL
setting - Stephen McDonald - Remove use of NoArgsCommand, which Django 1.10 removes - Stephen McDonald
- Remove
content_typed
namespace. -content_typed.py
->models.py
+admin.py
. -content_typed/change_list.html
->.admin/includes/content_typed_change_list.html
- ryneeverett - Restore guards against back button in page tree / content typed JS - Stephen McDonald
- Fix encoding in blog feeds. Closes #1461 - Stephen McDonald
- Add form media to Form pages. My use case is adding form assets to a widget used by a field included. in the
FORMS_EXTRA_FIELDS
setting. I don't think one should have to. override this template to do this and overextension doesn't seem to work. on content-typed templates - ryneeverett - Fail gracefully on third-party admin classes that do odd things. Closes #1628 - Stephen McDonald
- Prevent bleach from stripping 'tel:' hrefs in HTML - Stephen McDonald
- Fix #1438 -- allow multiple comment forms on a page - Alex Hill
- Use
call_command
instead callingCommand.execute()
directly - Alex Hill - Fix search by hacking around Django's abstract manager restriction - Alex Hill
- Allow Django 1.10 in
setup.py
- Alex Hill - Pass raw context dict to
template.render()
in error views - Alex Hill - Remove testing of dotted path for
LOGIN_URL
setting, since Django 1.10 doesn't support it - Stephen McDonald - Prevent Django 1.10 from adding required attribute to admin change list actions dropdown - Stephen McDonald
- Replace usage of optparse with argparse - Alex Hill
- Ensure blog import commands contain base args - Stephen McDonald
- Add Django
stable/1.10.x
to test matrix - Alex Hill - Upgrade pip and setuptools before test run - Alex Hill
- Restore access to parent template context in comments template tag. Closes #1654 - Stephen McDonald
-
v4.1.0 Changes
January 17, 2016- Update Python version classifiers in
setup.py
- Stephen McDonald - Update excluded files in package build - Stephen McDonald
- Force
local_settings.py
intosys.modules
so it's visible to Django's autoreloader - Stephen McDonald - Add the ability to use proxy in "Add ," drop down. We sometimes want to use proxy models in the add dropdown, to have. different changeform being backed-up by the same model. See ce02f8afe3d42dda for more information about the "and not.
m._meta.proxy"
part - Antoine Catton - Improve readability by using list comprehension - Antoine Catton
- Remove extraneous site permissions field. Closes #1366 - Stephen McDonald
- Add to settings this:
RATINGS_ACCOUNT_REQUIRED
= TrueCOMMENTS_ACCOUNT_REQUIRED
= TrueRATINGS_RANGE
= [-1, 1] and then run tests you will get about 5 errors, so i fixed tests for these settings and now they work well - d-first - Do not throw away next parameter on login.
get_full_path()
throws away the "next" URL parameter, breaking. vanilla Django redirection behavior. The login form should redirect. to the "next" parameter on a successful login - Alexander Bliskovsky - When the thumbnail richtext filter runs, deal with BeautifulSoup adding closing br tags, by stripping them out. Closes #1377 - Stephen McDonald
r_range
deleted replased with settings - d-first- Fix textarea fields in live-editing - Stephen McDonald
- Upgrade to jQuery 1.8.3 - Nik Nyby
- Upgrade jQuery UI to 1.8.24. This upgrades jQuery UI from 1.8.2 to 1.8.24, fixing. a bunch of bugs. It also changes the CSS file used for jQuery UI - the
v1.9
. CSS was being used, so I've replaced it with the appropriate. CSS for version 1.8.24 - Nik Nyby - Upgrade
jquery.form.js
to 3.51.0-2014.06.20 - Nik Nyby - Fix edit overlay vertical positioning - Nik Nyby
- Upgrade Bootstrap from 3.0.3 to 3.1.1 - Nik Nyby
- Test on Python 2.7, Django 1.8. These are the versions I use by default, so we shouldn't need to exclude this combination - Nik Nyby
- Don't use zip files - Nik Nyby
- Fix TinyMCE width in live-editing - Stephen McDonald
- Bootstrap 3.2.0. Continuing the effort of gradually updating bootstrap,. this upgrades from 3.1.1 to 3.2.0. There's not many changes here and everything's looking okay. to me - Nik Nyby
- Fix tag list padding - Stephen McDonald
- Make a note about removing JS hack for site permissions field at some stage - Stephen McDonald
- Update
tinymce_setup.js:
Django language codes.https://docs.djangoproject.com/en/1.8/topics/i18n/
. Language codes are generally represented in lower-case, but the HTTP Accept-Language header is case-insensitive. The separator is a dash. I also noticed a warning message showing when I run 'pythonmanage.py
runserver'. it's about 'zh-tw' will be deprecated in Django 1.9, use 'zh-hant' instead. So I also add 'zh-hant'. I guess 'zh-cn' may be deprecated too. I tested 'zh-hant' and 'zh-tw' well, my tinymce editor shows hints in Traditional Chinese now. I only change the content in "varlanguage_codes
= {}" block, but github marks whole file to be changed. I don't know why - fygul - Update
frequently-asked-questions.rst
. Update the link of"urls.py
module" - Fygul Hether - Checking if page attribute in request is of type
mezzanine.page.models.Page
, before processing it - pirave - Ken is a core team member - Stephen McDonald
- Add support for blogs with > 500 posts - Anna Wiggins
- Replace timestamp trimming code with a more robust regex; current code broke on some timestamps returned by blogger - Anna Wiggins
- Add several new overridable blocks to the base template - Anna Wiggins
- Fix and test
page_processor's
exact_page
argument - David Sanders - Updating disqus sso tag with working encoder - pirave
- Resolve css/js Media paths using static templatetag - David Sanders
- Clean up page context processor check - Stephen McDonald
- Removing
tox.ini
since it's out of date - and of course it is, we don't use it - Stephen McDonald utils.html:
HTMLParseError disappeared in Python 3.5. The HTMLParser is guaranteed not to choke on HTML soup - Hervé Cauwelier- Add kwarg for form used in login and password reset views - David Sanders
- Don't titlecase group name for
ADMIN_MENU_ORDER
- David Sanders - Add
_parent_page_ids
to global context scope. Currently if the first menu loaded is in a nested context.parent_pages_ids
can drop out of scope, and then never get reset since.menu_pages
is set incontext.dicts[0]
. Seehttps://github.com/stephenmcd/mezzanine/issues/1154
- Julian Andrews - Upgrade html5shiv to
v3.7.3
- Nik Nyby - Remove unnecessary triple-quote in comment - Nik Nyby
- Don't overwrite files options in mezzanine-project command. Updating the
files
option here disables the--name
option, which I need. to render custom template files(i.e
. a Makefile) when making a custom. mezzanine template for use withmezzanine-project
. This change addslocal_settings.py.template
to the list of files to render instead. of overwriting the list completely. This allows users to specify their own template. files if necessary. Relevant django code is here:https://github.com/django/django/blob/master/django/core/management/templates.py#L56
. And my mezzanine template I'm getting this to work with is here:https://github.com/nikolas/ctlmezzanine
- Nik Nyby - Ensure global context variables set in
page_menu
template tag are actually global - Stephen McDonald - Switch to a lazy static for Media statics - David Sanders
- In the admin dropdown menu, show add links to users without change permissions. This is a patch to fix the following problem: 1. Create a user with add permissions but not change permissions on a model. that is managed through the admin
(e.g
. blog posts). 2. Log in as that user in the admin site. 3. Click on the name of the model in the dropdown menu on the left. 4. Error. The problem arises because the template uses theadmin_url
instead of the.add_url
for users without appropriate permissions to change instances of the. model. It then tries to remedy the situation by manually appending 'add/' to. the url. However, the url it receives from the template tagadmin_url
is set. to 'None' - Pieter - Fix for
is_spam_akismet
to handle Python 3's bytestring response properly - Christian Hill - Handle None as
content_type
subclass without breaking - Sam Kingston - Restore login redirects on ratings/comments. Closes #1440 - Stephen McDonald
- Check for
FORMS_USE_HTML5
on the admin instead of the model. Fixes #1399 - Eduardo Rivas - Removing duplicate profile fields from admin. Issue #1449 - Danny Sag
- Document
errors_for
and updatefields_for
docs. - The fields for template path and type are out of date. - Documenterrors_for
since it adds a lot of value tofields_for
- ryneeverett - Add references to api-docs. This will add links to documentation generated from the source - Tomas Chmelevskij
- Added mezzanine-shortcodes to third-party apps - Stephen McDonald
- Don't strip HTML in TinyMCE. Because filtering is handled by bleach. Reimplement 0f6ab7c - ryneeverett
- Recommend using
includes/footer_scripts
. This is how it's done in the default templates but docs-readers probably. aren't going to know that they're already callingeditable_loader
via. an include - ryneeverett - Add support for Python 3.5 in trove classifiers and travis build - Sam Kingston
- Add a setter for property
MenusField.choices
. Django 1.9’sCharField.choices
is just a regular attribute, no longer a. property. Its constructor tries to set a value, and since we weren’t. providing a setter, we’d hit an exception - Alex Hill - Update project template to use TEMPLATES - Alex Hill
- Suggest using TEMPLATES in
set_dynamic_settings
- Alex Hill - Replace SortedDict with OrderedDict - Alex Hill
- Drop support for Django 1.7 - Alex Hill
- Drop Python 3.3 support - Alex Hill
- Don't use OrderableBase in 1.9. Django 1.9 supports ordering with respect to generic foreign keys,. which makes OrderableBase no longer necessary - Alex Hill
- Update Django & Python versions in
setup.py
- Alex Hill - Import skipUnless from Python's unites - Alex Hill
- Fix saving related objects in tests - Alex Hill
- Don't use removed
Field.get_flatchoices()
- Alex Hill - Remove check for page context processor in PageMiddleware - Alex Hill
- Remove LazyModelOperations. Django now provides lazy model signals which accept model strings and. render this class redundant - Alex Hill
- Update flake8 configuration to match Django's - Alex Hill
- Refactor
EXTRA_MODEL_FIELD
code. Break into a few smaller functions, and useApps.lazy_model_operation
. instead ofclass_prepared
signal - Alex Hill - Remove usage of SubfieldBase - Alex Hill
- Revert "Don't use OrderableBase in 1.9". This reverts commit 54d900776a2c7412cdacd7b5a6a4af44affac869 - Alex Hill
- Remove complexity check from flake8 config. This wasn’t being honoured by the lint test before, so causes several. failures when enabled. We can add it again later and refactor those. functions if necessary - Alex Hill
- Bring
docs/conf.py
into line with flake8 - Alex Hill - Restore but deprecate Mezzanine's
get_user_model()
. This wasn’t actually defined before, simply imported from Django. We. define it here in order to provide a deprecation warning for anybody. importing it from this file - Alex Hill - Make
EXTRA_MODEL_FIELDS
work in 1.8 again - Alex Hill - Add a
footer_js
block in templates - Alex Hill - Fix usage of TemplateResponse - Alex Hill
- Account for middleware subclasses in
cache_installed()
- Alex Hill - Remove "builtins" from TEMPLATE options in Django < 1.9 - Alex Hill
- Can't use add() with bulk=False in Django 1.8 - Alex Hill
- Formalise template tests with checks framework - Alex Hill
- Fixed #1483 ValueError while parsing dates of imported Blogger posts - Daniel Blasco
- missing french messages for accounts, compiling
.mo
file - [email protected] - Move SingletonAdmin to utils. Resolve #1480 - ryneeverett
- Add classes to
app_list
in admin. This provides a hook for model specific styling, and mirrors what Django. itself does. See:https://github.com/django/django/blob/5399ccc0f4257676981ef7937ea84be36f7058a6/django/contrib/admin/templates/admin/index.html#L23
- Julian Andrews - Catch error if user sitepermissions don't exist. For the most part, if not using
SitePermissionMiddleware
Mezzanine. falls back on theis_staff
attribute seamlessly. But since. d5d21ba527bd4 it's possible to have users without sitepermissions. This. breaks the admin dropdown, but not much else. This fix should allow. single site projects to continue to leaveSitePermissionMiddleware
. uninstalled - Julian Andrews - Fall back to title field first before using string rep for meta title - Stephen McDonald
- Give the media library a root URL so it can be correctly highlighted in the admin nav. Closes #1505 - Stephen McDonald
- Only add debug toolbar urlpatterns if installed - Stephen McDonald
- Support admin classes registered via decorator. Closes #1462 - Stephen McDonald
- Fix some more cases of related managers requiring saved data in Django 1.9 - Stephen McDonald
- Remove redundant slashes in blog urlpatterns - Stephen McDonald
- Update from deprecated features of urlpatterns - Stephen McDonald
- Remove use of deprecated
get_all_field_names()
- Stephen McDonald - Remove deprecated use of
i18n_patterns()
- Stephen McDonald - Remove deprecated middleware names - Stephen McDonald
- Fix admin login interface selector - Stephen McDonald
- Fix slashes in blog urlpatterns - Stephen McDonald
- Create links to settings mentioned in the comments. Adds labels to the
settings.rst
files which can be used accross the. documentation to to link to their description - Tomas Chmelevskij - Remove deprecated category/keyword helpers on blog posts, which existed for Django 1.3 - Stephen McDonald
- Remove Django 1.7 support from overextends templatetag - Stephen McDonald
- Remove a bunch of Django 1.7 handling from tests - Stephen McDonald
- TEMPLATES is a list of configurations - ryneeverett
django.core.context_processors->django.template,
. RemovedInDjango110Warning:django.core.context_processors
is deprecated in favor ofdjango.template.context_processors
- ryneeverett- string url views -> callable url views. RemovedInDjango110Warning: Support for string view arguments to url() is deprecated and will be removed in Django 1.10, Pass the callable instead - ryneeverett
- Fix user profile signal handler - Stephen McDonald
- Restore profile form fields - Stephen McDonald
- Update Python version classifiers in
-
v4.0.1 Changes
July 26, 2015- Prompt for user creation in createdb command if interactive - Stephen McDonald
- Fix #1351 - exception in
displayable_links_js
- Alex Hill - Use Django's createsuperuser command when createdb is run in interactive mode - Stephen McDonald
- Fix some Django 1.9 warnings - Stephen McDonald
- Remove references to long deprecated
PAGES_MENU_SHOW_ALL
setting - Stephen McDonald - Locale middleware should fall after session middleware - Stephen McDonald
- Set up debug toolbar explicitly when installed. Closes #1358 - Stephen McDonald
- Restore support for alternate package option in mezzanine-project command - Stephen McDonald
- Fix for issue #1361 - backup command fails when called from deploy - Luke Plant
- Use 'exec' instead of import to add
local_settings
. This allowslocal_settings
to reference and modify existing settings. Refs issue #1360 - Luke Plant
-
v4.0.0 Changes
July 09, 2015- Strip punctuation from keywords instead of non-alphanumeric chars, since languages like Hindi use characters that Python doesn't consider to be alphanumeric - Stephen McDonald
- Unpin tzlocal version 1.0 - Alex Hill
- Update tinymce setup to use browsers' built in spell checking. Tested and works in latest FireFox and Chrome and Safari - joshcartme
- Support custom user models in admin password change view. Previously it was assumed that the user's pw change view is at "auth/user/(\d+)/password/", which caused NoReverseMatch with custom models - Rivo Laks
- Fix admin password change for Django 1.5 - Stephen McDonald
- Support Django 1.7 migrations - Baylee Feore
- Don't remove south when
USE_SOUTH
isn't defined - Stephen McDonald - Use
is_staff
to check for logged in user in base admin template. Closes #1114 - Stephen McDonald - beautifulsoup version should not be pinned exactly. There's no need to require exactly 4.1.3 - Gavin Wahl
- Added brackets for Python 3 print() - Tuk Bredsdorff
- Handle malformed user agent strings. Closes #1116 - Stephen McDonald
- Configure
SOUTH_MIGRATION_MODULES
setting to check for custom south migration packages - Stephen McDonald - Move
south_migrations
-> migrations/south - Stephen McDonald - Added
The Entrepreneurial School <http://theentrepreneurialschool.com/>
to site using Mezzanine - Renyi Khor - Fix DoesNotExist when non admin visits /admin. SitePermission objects are only added when staff users are created. If a non admin user (with no manually assigned site permissions) visits the admin a DoesNotExist is raised since no site permissions exist for the user. Therefore the templatetags logic should only run if the user is staff - joshcartme
- Exposed
JQUERY_UI_FILENAME
for templates - wrwrwr - wordpress export is under Tools, not Settings - Gavin Wahl
- Renamed all
get_query_set
methods toget_queryset
. Django 1.6 normalized the naming, providing a metaclass that handles. previous naming schemes, while printing a warning. See:https://code.djangoproject.com/ticket/15363
. This is probably incompatible with 1.5, but limits the amount of. Django 1.8 deprecation warnings - wrwrwr - Explicitly list fields when defining form from model. This only changes one test (
test_richtext_widget
), but here's a. short article that may explain whyfields
orexclude
becomes. mandatory argument tomodelform_factory
and why you actually may. want to explicitly list fields to be available in forms:http://blog.mhartl.com/2008/09/21/mass-assignment-in-rails-applications/
- wrwrwr - Unfrozen future, pep and flakes. If the reason to keep these at some fixed old versions still exists,. please add a comment - wrwrwr
- Let sqlite configuration not contain a
NAME
at all (as with some settings environments) - wrwrwr - Resolve race condition in
conf.settings
- Alex Hill - Fixed a couple of block comments not starting with hash and space - wrwrwr
- List form fields (as recommended) to preserve compatibility with 1.5. The
"__all__"
shortcut must bepast-1.6
only - wrwrwr - Fixed
test_login_required
when run withoutmezzanine.accounts
. Note 1: Always testing both scenerios no matter what's in the settings. would be thorough, but without something like the 1.7+modify_settings
. it turns out ugly. It would be better to run the whole suite with and. without some optional apps. Note 2: This test passes when run throughruntests
, but it cheats. by forcingmezzanine.accounts
into installed apps ;-) - wrwrwr - Allow Mezzanine's static files handling to support
MEDIA_ROOT
outside ofSTATIC_ROOT
during development - Stephen McDonald - Don't colorize the terminal banner if color sequences aren't supported - Stephen McDonald
- Cleaned up
in_menus
defaults test. Making use of the runtime settings changes support - wrwrwr - Added failing settings race condition test - Alex Hill
- Simpler fix for race condition in settings - Alex Hill
- Reorder and add comments to settings test - Alex Hill
- Overwrite settings cache when loading from DB - Alex Hill
- Clear DB settings after test run - Alex Hill
- Made forms tests use Mezzanine's TestCase. Not currently necessary, but potentially surprising if you add something. to the TestCase - wrwrwr
- Added a simple decorator defining
get_query_set
orget_queryset
. allowing to use the latter one while preserving compatibility with 1.5. Django (1.6+) uses a metaclass to allow usage of the former name after. renaming a method (django.utils.deprecation.RenameMethodsBase
), but. for the 2 cases in Mezzanine a decorator seems sufficient and less. intrusive - wrwrwr - Replaced usage of
Options.get_(add|change|delete)_permission
with.auth.get_permission_codename
. Just a single case inutils/views.py
. The former one is deprecated and will be removed in Django 1.8; see.https://code.djangoproject.com/ticket/20642
- wrwrwr - Added an 1.5-compatible implementation of
get_permission_codename
- wrwrwr - Made MenusField respect the current value of
PAGE_MENU_TEMPLATES_DEFAULT
- wrwrwr - Small semantic change in MenusField behavior, now
in_menus
returns an. empty tuple instead of None for a page not in any menu. This seems more consistent withPAGE_MENU_TEMPLATES_DEFAULT
= tuple() - wrwrwr - Made MenusField also support dynamic changes to
PAGE_MENU_TEMPLATES
. This costs a call to a privateField._get_choices()
, because.Field.choices
is already a property - wrwrwr - Extended the
test_login_required
to check ifLOGIN_URL
set to view or. pattern name still allows the decorator to work as expected. The new cases are only checked ifmezzanine.accounts
is installed. These additionalLOGIN_URL
possibilities were introduced in 1.5; view. objects should also work, but don't seem to be documented - wrwrwr - Don't test the new options with 1.4, it's not supposed to support them - wrwrwr
- Prevent duplicate app names when testing - Stephen McDonald
- Extend
renamed_get_queryset
to also support admin classes, and apply to OwnableAdmin - Stephen McDonald set_slug
now save itself - Dustin Broderickset_slug
now saves itself - Dustin Broderick- Remove the requirement for searchable models to subclass Displayable - Stephen McDonald
- Handle installing initial data with Django 1.7's syncdb signals. Closes #1123 - Stephen McDonald
- Remove redundant page save in slug tests - Stephen McDonald
- Slightly faster settings loader - Stephen McDonald
- Fix some docstrings and messages - Stephen McDonald
- Actually skip the threading test as expected - Stephen McDonald
- Fix version check in
post_syncdb
signals - Stephen McDonald - Added description of "label" keyword argument of
register_settings
. function to docs - eyeinthebrick - Cache site ID on request object, even when fallback setting is used. Closes #1144 - Stephen McDonald
- Fix site ID fallback when testing - Stephen McDonald
- separate basic gallery functionality. to be more flexible with creating galleries we can separate gallery. functionality so it can be reused if developer wants to create a. gallery but not necessarily a gallery page - Robert Zywucki
- Added a test for DynamicInlineAdmin - wrwrwr
- Allow DynamicInlineAdmin fields to be a tuple. Previously, if fields was defined as a tuple, a very confusing TypeError. would be raised - Rocky Meza
- Travis test the latest versions of Django. This way you don't have to update every time a security release comes. out - Rocky Meza
- Re-instate conf test as per recent threading fixes. Closes #858 - Stephen McDonald
- Return HTTP 405 on comment/rating URLs for GET requests. Closes #1159 - Stephen McDonald
- Fix Travis Django installation - Rocky Meza
- Shamelessly modified the dynamic admin fields tuple test, so it checks.
get_fieldsets()
instead of directly using the fields attribute. Also made BaseDynamicInlineAdmin work when fields are listed without. the_order
field or fieldsets are declared (with or without it) - wrwrwr - SiteRelated changed to allow explicit site assignment on creation - Kelvin Wong
- Made "flake8 ." output less warnings. Excluded
docs/conf.py
as its autogenerated by Sphinx and increased. acceptable complexity from 10 to 20 - wrwrwr - Allowed optional apps to be loaded for testing - wrwrwr
- Separated generation of
short_urls
from their saving - wrwrwr - include menu pages in broader context. issue #1154 - Eduardo S. Klein
- Refactored confirmation prompts in createdb,
create_pages
and collecttemplates - wrwrwr - Factored out deleting unused keywords as a manager method - wrwrwr
- Removed
django_extensions
fromINSTALLED_APPS
for testing - wrwrwr - Fixed
pages.test_login_required
with I18N / LocaleMiddleware - wrwrwr - Fixed
core.test_password_reset
withi18n_patterns
- wrwrwr - Use the response context during two-phase rendering. If a response has
context_data
use that instead of creating a new. context and running context processors again - David Sanders - Fix for using response
context_data
- David Sanders - Remove call to
set_model_permissions
in page admin - Alex Hill - Backout context processor changes to cache middleware for now, re #1174 - Stephen McDonald
- Prevent order setting vs. form submission race condition. If the js runs slow for any reason the admin form can submit before the order of inlines has been set - joshcartme
- Create new model field OrderField - Alex Hill
OrderWidget.is_hidden
should evaluate False - Alex Hill- Update orderable ordering to use the submit event. It seems that the click event may not be guaranteed to run in FireFox before the form actually submits. This may be due to a variety of factors including the version of jQuery but for now switching to the submit event solves the problem - joshcartme
- Fixed spelling of 'collapsed' - Stone C. Lasley
- Refactored all the initial data setup to only occur when the createdb command is used, since Django 1.7's migrations no longer provide a signal that can reliably trap when tables are created - Stephen McDonald
- Added migrations for changed
_order
field - Stephen McDonald - Host the dashboard screentshot in the docs so it can be correctly referenced on github - Stephen McDonald
- Fix docs build for Django 1.7 - Stephen McDonald
- Fix for brocken link - Krzysztof Szumny
- Fix optional data installation for non-interactive installs - Stephen McDonald
- Don't store absolute urls as short urls in the db, since the column length is shorted, and these aren't necessairly permanent either. Closes #1178 - Stephen McDonald
- Refactored the
fields_for
templatetag to allow for custom field template - Avery Laird - nginx conf: use Mozilla recommended ciphers. For the included
nginx.conf
, use the ciphersuite recommended by the Operations. Security team at the Mozilla project:https://wiki.mozilla.org/Security/Server_Side_TLS
. The ones included here are the ones labelled "Intermediate compatibility". They. also document a ciphersuite with a higher level of security on that page. labelled "Modern compatibility", though it excludes more older browsers - Lorin Hochstein - Updated the js in
footer_scripts.html
to handle universal analytics - Avery Laird - Convert relative URLs to absolute in RSS feed item descriptions. Closes #1193 - Stephen McDonald
- Fix 500 error when the 'comment' view function doesn't receive expected form data - Christian Abbott
- Filenames in ZIP not always UTF-8. Fixing this with chardet - Souren Araya
- Don't assume
INSTALLED_APPS
is all modules as Django 1.7 adds AppConfig - Frankie Robertson - Replace
django.contrib.comments
withdjango_comments
. Django has removed the comments app fromdjango.contrib
, and. moved it into an external django-contrib-comments package hosted. under the Django GitHub organisation - Alex Hill - Test up to Python 3.4 and Django up to 1.8 - Alex Hill
- Test with Py 3.4, Django 1.7 and default runners. Update
.travis.yml
config to run tests under Python 3.4 and Django 1.7. Future-proof the test script to work with both default test runners: DjangoTestSuiteRunnerpre-1.6
, and DiscoverRunner in 1.6 and later. Under DiscoverRunner, thedjango.contrib
tests won’t be run - Alex Hill - Enable SHA1 hasher for happy Django 1.4 tests - Alex Hill
- Miscellaneous backwards-compatible 1.8 fixes. Includes changes to Meta, some moved functions and various internal API. changes - Alex Hill
- Accommodate Django 1.8's template system changes. Django 1.8 introduces the possibility of using multiple template. engines, which means that some components of Django's template system. have been encapsulated in an Engine class instead of being available. globally, and other parts refactored and moved around - Alex Hill
- Remove Django 1.4 and 1.5 from
.travis.yml
- Alex Hill - No need to enable SHA1 hasher in tests > 1.4 - Alex Hill
- Remove
mezzanine.utils.models.get_user_model
. This was introduced for compatibility with Django 1.4 after Django 1.5. included support for custom User models. Now that we no longer support. Django 1.4, we can just use the builtin version. Still need to remove references in filebrowser, so the import remains. inmezzanine.utils.models
- Alex Hill - Remove shims for
force_text
andsmart_text
. Not necessary since dropping support for Django 1.4 - Alex Hill - Deleted
mezzanine/utils/deprecation.py
. This contained compatibility fixes for Django < 1.6, which we no longer. support - Alex Hill - Remove miscellaneous BC fixes for Django < 1.6 - Alex Hill
- Use
get_models
fromdjango.db.models.loading
- Alex Hill - Bump required Django version to > 1.6.0 - Alex Hill
- Import
local_settings.py
before test run - Alex Hill - Restore previous behaviour in runtests script - use the
local_settings
template to createtest_settings
, not an actuallocal_settings
module, which may already exist during development - Stephen McDonald - Use south's test command, which is needed to pick up our custom values for
SOUTH_MIGRATION_MODULES
- Stephen McDonald - Some envs don't create pyc files - Stephen McDonald
- Allow
local_settings
import when project isn't a package - Stephen McDonald - Some path hacks during development to allow tests to be picked up when calling the test command via
manage.py
- Stephen McDonald - KeyError when excluding
first_name
,last_name
, and username fields usingACCOUNTS_PROFILE_FORM_EXCLUDE_FIELDS
andACCOUNTS_NO_USERNAME
settings - rsadwick - Fix handling blank first/last names in username creation - Stephen McDonald
- Fix bug with missing scope in atexit registered function in test runner - Stephen McDonald
- Update
views.py
. clean the cookie rating record after an auth user undoing his/her rating - Yuheng QIU - Exclude commit messages with 3 words or less from the changelog - Stephen McDonald
- Using Tabbed admin instead of showing all fields at once - Mathias
- Delete cached context settings on settings update. With editable settings it is best to invalidate the context settings. cache key when settings have been changed via the admin panel so that. they can take effect immediately - David Sanders
- Added site ID back to settings cache key prefix - David Sanders
- pip can't seem to install Django 1.8 from a zip file on Python 2.7 - Stephen McDonald
- Fallback lookup for current page should exclude link pages, since they may contain duplicate slugs. Closes #1220 - Stephen McDonald
- Update docs and add mini-tutorial in Deployment section - Eduardo Rivas
- Handle new app-loading mechanism for Django 1.7 in fabfile. See
https://docs.djangoproject.com/en/1.7/releases/1.7/#standalone-scripts
- Eduardo Rivas - Add documentation about using AppConfigs in
INSTALLED_APPS
anddefaults.py
- Frankie Robertson - Added exception handler for
make_dirs()
function call in thumbnail() template tag - Alex Bendig - Fix error raised when twitter lib is installed, but
mezzanine.twitter
is removed fromINSTALLED_APPS
- Stephen McDonald - Update
multi-lingual.rst
for spelling/grammar - Ryan Sadwick - Show Links to Code in Package Documentation. Refs #1148 - Pavan Rikhi
- Account for
cartridge.shop
being aftermezzanine.pages
in the template rendering pipeline. Also enable nested {% ifinstalled %} tags - Mathias - Twitter: Fix parsing of email addresses as Twitter usernames - Eduardo Rivas
- Added setting to allow custom forms for submitting comments. Handy for common requests from people such as adding captchas. Easiest way is to create a new form class that inherits from ThreadedCommentForm then specify that class in the new setting - Paul Hunt
- Import WordPress draft posts correctly - Jan Varho
- Don't consider proxy models a content model. Otherwise we'll try to use them with
select_related
, which is not. supported - Gavin Wahl - Remove all support for South in favour of Django >= 1.7 migrations - Stephen McDonald
- Remove all support for Django < 1.7 - Stephen McDonald
- Add option for thumbnails to not grow in size. Add the
no_grow
option to the thumbnail template tag, specifying. whether a thumbnail is allowed to grow in size when resizing to a given. width or height - Simen Heggestøyl - Fix createdb to work with Django 1.7 and 1.8. Django 1.8 changed the way optional args are added to management commands. This patch adds optional args "the old way" for Django 1.7 in
Command.__init__
, and then uses "the new way" for Djagno 1.8, which is via a call to the new class methodadd_arguments()
- Eduardo Rivas - Check for valid Python package name format in mezzanine-project command. Closes #1248 - Stephen McDonald
- Add
SECRET_KEY
to docs config which fixes broken rtd builds - Sam Kingston - Attempt to fix path issue in rtd environment - Sam Kingston
- Set
CurrentSiteManager.use_in_migrations
= False - Alex Hill - Migrations for Django 1.8 - Alex Hill
- Fix overextends tag for Django 1.7 & 1.8 - Alex Hill
- Compile all new Spanish locale - Eduardo Rivas
- Initial project layout update - Alex Hill
- Allow project template's
local_settings.py
into repo - Alex Hill - Explicitly set email field
max_length
to 254 - Alex Hill - Make updated project template work with
local_settings.py.template
- Alex Hill - Restore
".template"
suffix in test script - Alex Hill - Django changed
Model._meta.get_parent_list()
to return a list instead of a set! This fixes it - Stephen McDonald - Change field on site permission model as per Django warning - Stephen McDonald
- Add mezzanine-modal-announcements to third party modules - Josh Cartmell
- change redirect to be permanent, which is how Django does it - Darius
- Change way PostgreSQL version is displayed - orotau
- Fix import error with latest django-contrib-comments - Stephen McDonald
- Fix various import warnings for Django 1.9 - Stephen McDonald
- Use a consistent version of jquery-ui - Stephen McDonald
- Add the
featured_image
as an enclosure to the rss feed. Add the featured image to the rss feed as an enclosure url, so that it can be used by feed readers. For example Zapier RSS to Facebook to use as the Post Image - Michael Best - Restricted support Django versions to < 1.9 - Stephen McDonald
- Prefetch blog categories in RSS feed - Stephen McDonald
- Ensure host for the current site is used in RSS feeds - Stephen McDonald
- Handle parent comment ID in duplicate comment check. Closes #1286 - Stephen McDonald
- Added mezzanine-slideshows to third-party apps - Stephen McDonald
- Updated email address for security issues - Stephen McDonald
- Fix edge case where
mezzanine.accounts
code is run even though not installed (generated docs, some alternate test run setups), and theACCOUNTS_PROFILE_FORM_EXCLUDE_FIELDS
isn't defined - Stephen McDonald - Added mezzanine-onepage to third-party apps - Stephen McDonald
- Ensure consistent
related_model
attribute throughout django fields - Mathias - Keep compatibility with django 1.7 for
generic.fields.BaseGenericRelation
- Mathias - Ensure front-end language selector is always visible - Stephen McDonald
- Switch forms admin to use the object-tools-items block in template - David Sanders
- Add some space between the filter-horizontal admin widget and its help text - Stephen McDonald
- Move default button text for forms app from model into template - Stephen McDonald
- Fix double-escaping of HTML in settings admin form field help text - Stephen McDonald
- Define correct JS media for settings admin form class - Stephen McDonald
- Ensure
mezzanine.accounts
is available when generating settings docs - Stephen McDonald - Allow protocol to be omitted from URL arg in
import_rss
command - Stephen McDonald - Fix mysql/unicode issue on saving Link pages - Stephen McDonald
- Use Django language code to configure language for TinyMCE - Stephen McDonald
- Remove automatic selection of site permission for staff users, since it breaks when manually choosing them in the admin interface - Stephen McDonald
- Updating documentation to account for the switch between South and Django's builtin migration tools - Mathias
- Updating multi-lingual documentation to add a note on migrations - Mathias
- Update
model-customization.rst
. Small grammar changes - orotau - Restore support for the
ADMIN_REMOVAL
setting. Closes #1313 - Stephen McDonald - Don't assume
ADMIN_REMOVAL
setting is defined - Stephen McDonald - Added optional
extra_context
to applicable views - David Sanders - Add index on
publish_date
- Frankie Robertson - Ensure emptyish page titles in admin tree are clickable. Closes #1321 - Stephen McDonald
- Smarter handling of editable settings - Alex Hill
- Make
use_editable
backward compatible - Alex Hill - Use
clear_cache
in tests - Alex Hill - Remove calls to
Settings.use_editable()
- Alex Hill - Make setting context processor lazy - Alex Hill
- Make Settings object more opaque WRT the current thread - Alex Hill
- Remove context settings caching - Alex Hill
- Show repr of setting values in warning - Alex Hill
- Add a few settings tests - Alex Hill
- Don't require
Settings.clear_cache()
outside of a request - Alex Hill - Test conflicting settings warning - Alex Hill
- Refactor settings retrieval logic - Alex Hill
- Clear request settings cache when settings saved - Alex Hill
- Handle updated project layout in fabfile - Alex Hill
- Handle updated project layout in
supervisor.conf
- Alex Hill - Update
settings.py
for new project layout - Alex Hill - Fix URLs during tests - Alex Hill
- Stop server before dropping database - Alex Hill
- Fix paths in settings - Alex Hill
- More refinements to fabfile - Alex Hill
- Give all deploy files the
.template
extension - Alex Hill - Add utility function
real_project_name
- Alex Hill - Use
real_project_name
infabfile.py
- Alex Hill - Use
real_project_name
inmanage.py
- Alex Hill - Add missing blank line - Alex Hill
- Use
real_project_name
inwsgi.py
- Alex Hill - Use unicode paths in project template handling - Alex Hill
- Add missing trailing bracket - Alex Hill
- Add
BASE_DIR
to settings - Alex Hill - Don't use DB settings at import time - Alex Hill
- Update settings docs to reflect removeal of
use_editable
- Stephen McDonald - Fix doc generation for new project template layout - Stephen McDonald
- Update jquery to 1.7.2, jquery-mobile to 1.2.1. In an effort to gradually bring mezzanine's javascript up to date,. this commit updates mezzanine's default jquery version to the. latest in the 1.7.x series (which is 1.7.2). Because the 1.7.2 release notes state that this version. should be used with jQuery Mobile >= version 1.1, I've updated. jQuery Mobile as well.
http://blog.jquery.com/2012/03/21/jquery-1-7-2-released/
- Nik Nyby - Prefer published date over updated date in RSS importer. Closes #1329 - Stephen McDonald
- Fix manually assigned template settings, such as
MEZZANINE_ADMIN_PREFIX
- Stephen McDonald - Fix host themes when current site does not match domain, eg when selected via admin. Closes #1327 - Stephen McDonald
- Ensure local middleware installed if required - Stephen McDonald
- Change next release numbering in warning message - Mathias Ettinger
- Upgrade to TinyMCE 4. Closes #705 - Stephen McDonald
- Refactor dynamic inline handling. Fixes a bug where Mezzanine would delete inline rows even when its. inlines weren’t being used - Alex Hill
- Correctly handle
GRAPPELLI_INSTALLED
andADMIN_MENU_COLLAPSED
- Alex Hill - Amend file location for local settings when advising on contribution - Stuart Dines
- admin: use apps config
verbose_name
for display - gradel - TinyMCE 4.2 -> 4.1 due to image insertion conflict - Stephen McDonald
- Don't show draft blog posts under related posts - Stephen McDonald
- Ensure link pages only allow external URLs. Closes #1342. Closes #1345 - Stephen McDonald
- Revert changes to Link model validation - Stephen McDonald
- Clean leading/trailing slashes from page admin slugs - Alexander Bliskovsky
-
v3.1.10 Changes
August 30, 2014- Delete kwargs for
page_view
. This is strange, passview_kwargs
form some view topage_view
. I have error if kwargs continslug
key or some keys with not exists inpage_view
kwargs - Pahaz Blinov - South should not be used for Django 1.7 - Stephen McDonald
- Added mezzanine-bsbanners to third party apps - Stephen McDonald
- Clean up some docstrings - Stephen McDonald
- For dropdown fields in the forms builder app, use the placeholder text to provide an empty first choice - Stephen McDonald
- Add a custom banner to Mezzanine's runserver command, showing a logo and various software versions - Stephen McDonald
- Handle new management command loading order in Django 1.7, so we can override runserver - Stephen McDonald
- Make the setuptools test runner part of the mezzanine package so that we can call it from other packages (such as cartridge). Also make its
local_settings
module more dynamic - Stephen McDonald - Remove working directory hack from bundled
manage.py
- conflicts with Django runserver's auto-reloader when run from outside of project root - Stephen McDonald - Updated development instructions for setting up Mezzanine when contributing - Stephen McDonald
- Update to latest patch versions of Django in travis config - Stephen McDonald
- Better explansion example in dev setup docs - Stephen McDonald
- A test for the
login_required
property has been added - Ulrich Wagner - A more complete test for the
login_required
property - Ulrich Wagner - Don't apply a zindex to h1 tags in admin, since it conflicts with date picker widgets. Closes #1087 - Stephen McDonald
- Raise 404 in page view if page is not an exact match. Closes #1090 - Stephen McDonald
- Add unique constraint to site perm model. Closes #1089 - Stephen McDonald
- Provide a more meaningful exception message when the
SEARCH_MODEL_CHOICES
settings points to missing models - Stephen McDonald - Run page processors before view in PageMiddleware - Alex Hill
- Only run page processors for Mezzanine's page view - Alex Hill
- Update
models.py
. This fixes day light saving issue. It seems thatcreated_at
is coming with timezone 0000 UTC, so I would like to make ti timezoneaware using just utc. Django templates shows datetime ok with timesince without one hour error - eino-makitalo - Fix login required test for protected page - Stephen McDonald
- Fix dynamic
INSTALLED_APPS
in setuptools test runner - Stephen McDonald - Remove non-ascii chars from comment - Stephen McDonald
- Better approach for test settings - Stephen McDonald
- Issue 1102 - fixed UnicodeEncodeError when importing non-ascii files from zip - Maciej Szulik
- Fix
local_settings
import error check for Python 3 - Stephen McDonald
- Delete kwargs for