- Support only Python +3.9
- Support only Django 4.2
- Update all dependencies
ST_STORAGErequires a storage backend alias if set
- Support only Python 3.8, 3.9, 3.10, and 3.11
- Support only Django 3.2, and 4.2
- Security fix: fixes open redirect vulnerability (issue #307)
- Added: support for search on Asian languages,
set setting
ST_NGRAM_SEARCH = Trueand rebuild the indexpython manage.py rebuild_index(issue #304)
- Fixed: missing template caused an error on password reset completed
- Updated Pillow dependency
- Added: email notifications for replies and mentions
- Added:
ST_SITE_URLsetting; this setting is required - Added:
ST_HUEY_SCHEDULEsetting to control Huey periodic tasks schedule - Added:
ST_NOTIFY_WHENsetting to set the default frequency of email notifications for new users
- Added: support for Django 3.1
- Added:
custom_header_logoblock totemplate/spirit/_header.htmltemplate to extend/override the site's name/logo - Added: button to mark all notifications as read
- Added: show installed Django version in admin dashboard
- Fixed: error when
ST_STORAGEwas set to'spirit.core.storage.OverwriteFileSystemStorage' - Fixed: Django deprecation warnings
- Fixed: UX/UI reply preview styles
- Added: show success message after a topic moderation action
- Fixed: Gravatar was removed (issue #103)
- Added: user avatar upload, and default CSS avatar
- Added:
ST_STORAGEsetting to use a custom media storage for Spirit images - Added:
ST_ALLOWED_AVATAR_FORMATsetting to restrict the allowed avatar image formats - Added:
DEFAULT_FILE_STORAGEis set to'spirit.core.storage.OverwriteFileSystemStorage'that will overwrite files instead of renaming them when there is a name clash on save
- Fixed:
ST_ORDERED_CATEGORIESno longer generates migrations - Fixed:
LOGIN_URLnot being used in some places; now it's used everywhere - UX: all lists rows in the admin section are now clickable
- Added
ST_EXTENDED_FONTsetting to load the extended font (includes Latin, Greek, and Cyrillic charsets) - Added
DIRSto theTEMPLATESsetting to support templates overriding - Added
custom_head_extra,custom_before_spirit_body, andcustom_after_spirit_bodyblocks totemplate/spirit/_base.htmltemplate to extend and include custom markup/styles/code into Spirit's base template - Added
ST_COMMENT_MAX_URL_LENsetting - Added
hueyto the logging settings - Added
rel=nofollowto moderator/admin posted URLs - Fixed password reset should use the send email task
- Fixed Facebook share comment link
- Removed admin footer snippet (issue #197)
- Removed
spirit.topic.pollthat was deprecated in Spirit v0.5 - Upgraded
django-haystackandPillowdependencies - UX: every row in the topic list redirects to the topic on click
- UX: added microphone badge to OP
- Add default logs formatter and level to
settings/base.py
- Added Kyrgyz translation (thanks to @jumasheff)
- Added
django.contrib.humanizetoINSTALLED_APPSsettings - Added
HAYSTACK_SIGNAL_PROCESSORto settings - Added support for
HueyandCelerytask managers; addedST_TASK_MANAGERandST_SEARCH_INDEX_UPDATE_HOURSsettings - Added realtime search indexation, full search index (periodic) update, and send email tasks
- Fixed user comment reply button
- Fixed paginator current page button (issue #168)
- Fixed ordered list style for the comments (issue #134)
- Revamped UI; Internet Explorer Browser is no longer supported
- Added Dark mode UI; it's active when the web browser is in dark mode, there is no user preference to activate it
- Namespaced CSS style
- Breaking changes:
- Removed Python 3.4 support
- Removed Django 2.0 support
- Removed Django 2.1 support
- Removed Django 1.1 support
- Added Django 2.2 support
- Added Django 3.0 support
- No longer avoid duplicated user files,
because of performance reasons.
Set
ST_PREVENT_SOME_FILE_DUPLICATIONtoTrueto get the previous behaviour back.
- Add math support (disabled by default, see doc's settings section)
- Add sortable categories (disabed by default, see doc's settings section). Thanks to @andreynovikov
- Update
mistuneandPillowdependencies - Remove
uni-slugifyandUnidecodedependencies - Python and Django warnings are enabled for new projects. The change is in manage.py
- Fix strike-through style
- Breakig change: usernames are now case-insensitive,
set
ST_CASE_INSENSITIVE_USERNAMES = Falseto disable this feature. Disabling it is likely required for existing instances of Spirit due to clashing usernames - New: case insensitive usernames
- Fix private forum restriction regression where an anonymous user was able to view sections other than the index
- Make bookmark save latest place only, going back to a previous page won't update the bookmark anymore (PR #245)
- Update locales/translations
- Fix password reset
- Make admin user-list redirect to the right user profile when clicking on a username
- Update dependencies:
pillow==5.2.0anddjango-djconfig==0.8.0
- Drops support for Django 1.8, 1.9 and 1.10
- Adds support for Python 3.7 (no changes required)
- Adds support for Django 2.0 and 2.1
- Adds
django.middleware.security.SecurityMiddleware``toMIDDLEWARE_CLASSES` setting - Adds
LOGOUT_REDIRECT_URL = 'spirit:index'to settings - Removes jQuery dependency in favor of vanilla JS
- Fixes user's
last_seenfeature. There was a bug in the middleware that would update the field pretty much on every request - Renames
MIDDLEWARE_CLASSES(deprecated by django) setting toMIDDLEWARE - Removes
spirit.settingsdeprecated in Spirit 0.5 - Avoids installing
spirit.topic.pollapp in the generated project - Updates haystack dependency to 2.8.1
- Drops support for Python 3.3
- Adds support for Python 3.6
- Adds support for Django 1.9, 1.10 and 1.11
- Adds python-magic dependency (to check uploaded files)
- Improvement: focus on comment editor after clicking a format button. PR #219 (thanks to @cryptogun)
- Fixes: untranslated strings. PR #218 (thanks to @cryptogun)
- Fixes: missing link on admin flag. PR #217 (thanks to @cryptogun)
- Fixes:
XForwardedForMiddlewaremiddleware and gunicorn error. PR #216 (thanks to @cryptogun) - Improvement: Add
@usernameon comment editor when clicking on a reply link. PR #212 (thanks to @cryptogun) - Improvement: notifications page drop-down menu for read/unread. PR #213 (thanks to @cryptogun)
- New: lithuanian translation, thanks to @sirex
- New: file upload on comments
- Improvement: Adds
ST_UPLOAD_IMAGE_ENABLEDto enable/disable image uploads andST_UPLOAD_FILE_ENABLEDto enable/disable file uploads - Remove deprecated
topic_pollapp - Remove deprecated (since v0.2)
spirit_user.User(PR #141), read the wiki or the PR for a workaround - Updates mistune, haystack and woosh dependencies
- Deprecates
spirit.settings. It will be removed in future releases - Updates locales
- New: Anti double post (including comments, topics and private topics)
- New: Adds
ST_DOUBLE_POST_THRESHOLD_MINUTESsetting to change the the threshold time in which the double posting is prevented - Improvement: Adds
ST_COMMENT_MAX_LENsetting to change the maximum characters limit per comment (#107) - New: Adds optional category title color (#110 thanks to @sheepsy90)
- Fix:
Too many submissionswhen form submission has an error (#58) - New: Key based expiration rate-limit.
- New:
ST_RATELIMIT_CACHE = 'st_rate_limit'setting andCACHE. - Fix: Boolean filters for Elasticsearch (PR #130)
- Improvement: UTC timezones instead of GMT in user profile form (#108)
- Fix: missing emojis (#93)
- Improvement: Replaced twitter emoji pack by emojiOne pack (PR #126)
- Improvement: Search within comments (#57)
- Improvement: Search-index partial update (PR #129)
- Improvement: Support for YouTube embeds that have a timestamp (PR #116 thanks to @alesdotio)
- Removed unused
ST_UNCATEGORIZED_CATEGORY_PKsetting - Security fix: fixes a regression within markdown URLs present in v0.4.6 (#105 thanks to @qll)
- New:
settings.ST_ALLOWED_URL_PROTOCOLSa set containing valid URL protocols
- Improvement: Updated mistune (markdown) dependency
- Fix: Facebook share link (#87 thanks to @initialkommit)
- Improvement: Adds email confirmation in registration
- Improvement: Removes password confirmation in registration
- Improvement: Login message changed to inform when the username is not found
- Improvement: Force HTML5 youtube player
- Adds Python 3.5 support
- New: Comment history diff (inserted & deleted lines)
- New: Twitter emojis pack
- New (Dev): Gulp tasks
npm run gulp cssandnpm run gulp coffeefor building assets - Improvement: Adds
rel="nofollow"to all comment links of regular users - Improvement: CSS & JS minification and concatenation
- Improvement: Added
STATICFILES_STORAGE = 'ManifestStaticFilesStorage'(settings.prod only) to append hashes to assets file names - Improvement:
woff2font support - Fix: Email required on registration
- Fix: Changed
DEFAULT_FROM_EMAILdefault towebmaster@localhost(Django's default) - Fix: Redirect to first unread comment on visited topics
- Fix: Adds missing
apps.AppConfiginspirit.searchto avoid app label clashes.
- New: mark topic as visited (grey out the link) when it has a bookmark
- New: mark topic as has new comments (red out comment icon) when it has new comments
- Fix: send emails as
DEFAULT_FROM_EMAIL(default tosite.name <noreply@[site.domain]>), setting this will be mandatory in future releases (default will be removed). - Fix: Implement missing
apps.AppConfiginspirit.coreto avoid app label clashes. - Fix: Show category names in the advance search template.
- New app comment.poll: Polls within comments
- New: Floating flash messages when there is a hash in the URL
- New: Case insensitive emails (setting.ST_CASE_INSENSITIVE_EMAILS)
- New & updated translations: Turkish (thanks to negativefix), Hungarian (thanks to istvanf), Polish, Polish (Poland), Spanish, German, Chinese, Swedish and Russian
- Adds management commands: spiritinstall, spiritupgrade
- Fix to use current date when a history comment is created
- Adds missing user profile migration (issue #62)
- Removed old migrations.
- Removed
spiritapp, it has been decoupled into many apps.
- Requires Django 1.8 (support for 1.7 has been dropped).
- Drops the custom
AUTH_USER_MODEL. - Deprecated
AbstractForumUserandAbstractUser. They will be removed in future releases. - Moved
spirit.middleware.XForwardedForMiddlewaretospirit.core.middleware.XForwardedForMiddleware. - Moved
spirit.middleware.TimezoneMiddlewaretospirit.user.middleware.TimezoneMiddleware. - Moved
spirit.middleware.LastIPMiddlewaretospirit.user.middleware.LastIPMiddleware. - Moved
spirit.middleware.LastSeenMiddlewaretospirit.user.middleware.LastSeenMiddleware. - Moved
spirit.middleware.ActiveUserMiddlewaretospirit.user.middleware.ActiveUserMiddleware. - Moved
spirit.middleware.PrivateForumMiddlewaretospirit.core.middleware.PrivateForumMiddleware. - Removed most signals.
- Renamed models:
spirit.Categorytospirit_category.category,spirit.UserProfiletospirit_user.UserProfile,spirit.Topictospirit_topic.Topic,spirit.TopicFavoritetospirit_topic_favorite.TopicFavorite,spirit.Commenttospirit_comment.Comment,spirit.TopicNotificationtospirit_topic_notification.TopicNotification,spirit.TopicPolltospirit_topic_poll.TopicPoll,spirit.TopicPollChoicetospirit_topic_poll.TopicPollChoice,spirit.TopicPollVotetospirit_topic_poll.TopicPollVote,spirit.TopicPrivatetospirit_topic_private.TopicPrivate,spirit.TopicUnreadtospirit_topic_unread.TopicUnread,spirit.CommentBookmarktospirit_comment_bookmark.CommentBookmark,spirit.CommentFlagtospirit_comment_flag.CommentFlag,spirit.Flagtospirit_comment_flag.Flag,spirit.CommentHistorytospirit_comment_history.CommentHistoryandspirit.CommentLiketospirit_comment_like.CommentLike.ContentTypeswere renamed accordingly, so if you have a model that relates to Spirit via a GenericForeignKey, you should not worry about it.
- Requires Django 1.7 (support for 1.6 has been dropped).
- Polls.
- Better markdown parser.
- Global pinned topics and regular pinned topics.
- Unicode url slug.
- Swappable user model: allows you to replace the Spirit user model by your own user model.
- Code highlighting.
- Emojis popup selector.
- Js scripts rewritten in coffeescript + tests.
- Social Integration: share comments on twitter, etc.
- Languages: German (by derWalter), Swedish (by silverstream).
- Private forum setting: if it's on, it won't allow non-members to browse the forum.
- Markdown fenced code blocks.
- Image upload for comments (not Drag&Drop).