Release notes
Release plan
0.11.x Update bootstrap to v5 and removes Python 3.7 support.
0.10.x Uses Hatch as the new build system and has upgrades for Django 4.x and Python 3.11.
0.9.x Definitely Removes Python 3.5 and 3.6 support
0.7.x Removes Django 2.1 support, adds Django 3.1, 3.2
0.6.x Targets Bootstrap v4, if you are interested in this work, please get in touch on Github!
0.5.x Remove Django 1.11 support, adds Django 2.2 and 3.x support. Python 3.5+.
0.4.x supports Django 1.11 and Django 2.1 and Python 3.4+.
0.3.x series suppors Django 1.11. As with the upstream Django release, 0.3 was be the last series with Python 2.7 support.
0.10
Released on 2023-05-15
Changed
Removed sqlite database and use fixtures #1260 (Oscar Cortez)
Improved settings and middleware for demo #1267 (Oscar Cortez)
Updated languages and use the new Transifex client with Docker (Benjamin Balder Bach)
Updated django requirement from <4.2,>=2.1 to >=2.1,<4.3 #1275 (Oscar Cortez)
Upgraded for Sphinx 6 on Read the Docs #1270 (Benjamin Balder Bach)
Improved Read The Docs configuration #1283 (Oscar Cortez)
Added
New milestone for v0.11 (https://github.com/django-wiki/django-wiki/milestone/13)
Added support for the latest Bleach package version #1264 (Oscar Cortez)
Added environments for Python 3.11 and Django 4.1 #1265 (Oscar Cortez)
Use the new Transifex client in Docker #1284 (Benjamin Balder Bach)
Improve discussion forms #1262 (Oscar Cortez)
Fixed
Bleach is deprecated #1259 (Oscar Cortez)
TypeError: unsupported operand type(s) for +: ‘frozenset’ and ‘list’ #1257 and #1251 (Oscar Cortez)
Editing the demo without a login #1263 (Oscar Cortez)
jQuery broken on docs pages #1281 (Benjamin Balder Bach)
Solve yml issues and improve issue templates #1261 (Oscar Cortez)
Fix Release Date for 0.10b1 #1282 (Thomas Rinklin)
0.10b1
Released on 2023-01-25
Welcome onboard to new co-maintainer Oscar Cortez 🎉️
Changed / added
“Edit Section” plugin fixed and patterns for finding headings rewritten #1247 #1246 (Chris Vigelius)
Python 3.11 compatiblity: Fix “global flags not at the start of the expression” #1243 (Benbb96)
Removed direct dependency on
tinycss2
, inherited frombleach
- due to old versions of pip unable to resolvePass current revision to
Editor.get_widget()
andget_admin_widget()
#1249 (Chris Vigelius)Refactor package setup to use
pyproject.toml
and Hatch #1227 (Oscar Cortez)
Fixed
Translation updates
New: Portuguese
pt_PT
: 100% translated, 100% reviewed. This comes in addition topt_BR
which was already finalized.
0.9
Released on 2022-06-27
Changed
Upgrade to
bleach>=5
, addstinycss2
dependency, drops Python 3.5 and 3.6 support #1183 (Benjamin Balder Bach)
Fixed
Double-escaping in
codehilite
Markdown extension #945 (Benbb96 and jenda1)
0.8.2
Released on 2022-05-07
Changed
Python-Markdown updated to 3.3 #1180 (Benjamin Balder Bach)
Fixed
Support for revision history w/ IP Address from
HTTP_X_REAL_IP
#1184 (David van Rijn)
0.8.1
Released on 2022-04-25
Fixed
0.8
Released on 2022-02-14
Added
Support for Django 4.0 and Python 3.10 #1165 (Mads Jensen)
Changed
Bump dependency versions of sorl-thumbnail, django-nyt, django-mptt and django-functest #1165 (Benjamin Balder Bach)
Fixed
Attachment search failing if files exceptionally missing on server #1162 (Benjamin Balder Bach)
0.7.10
Released on 2021-12-29
Fixed
0.7.9
Released on 2021-11-15.
Security fixes
XSS vulnerability: Unescaped HTML in title propagated to notification (WhiteSource Vulnerability Research Team)
0.7.8
Released on 2021-10-25.
Fixed
Notification menu bug after Bootstrap upgrades #1142 (Fred Dyc)
0.7.7
Released on 2021-08-28.
Changed
Bundled JQuery upgraded from 3.4.1 to 3.6.0 #1138 (Benjamin Balder Bach)
Fixed
Small notification plugin registration bug introduced in 0.7.6 #1132 (SlyPerdix)
0.7.6
Released on 2021-08-01.
Fixed
0.7.5
Released on 2021-04-10.
Added
Django 3.2 support #1121 (Benjamin Bach)
0.7.4
Released on 2021-04-10.
Fixed
Settings page on article broken for non-superusers #1058 (Benjamin Balder Bach)
Dependency
bleach
is bumped to>=3.3.0,<3.4
after security advisory #1109 (Benjamin Balder Bach)Font-awesome icon on external links was not showing #1111 (Benjamin Balder Bach)
Red links were not correctly displaying in some cases #1114 (Gereon Kaiping)
Translation updates
Chinese: 100% translated, 100% reviewed
Czech: 100% translated
Dutch: 100% translated, 100% reviewed
French: Some syntax fixes, remains 100% translated
Hungarian: 100% translated
Korean: 100% translated, 96% reviewed
Russian: 100% translated
Turkish: 100% translated
0.7.3
Released on 2021-01-11.
Fixed
Plugin
editsection
failing with unexpected contents #1094 (Teury Diaz, Benjamin Balder Bach, OTR)
0.7.2
Released on 2021-01-08.
Fixed
Use
.iter()
instead of long deprecated and removed method.getiterator
#1083 (Teury Diaz, Benjamin Balder Bach)
0.7.1
Released on 2020-12-28.
Fixed
Fixed cache key exceptions for
SafeString` objects ``no attribute append
#1072 (Gert-Jan Braas)
0.7
Released on 2020-10-28.
Added
Fixed
Removed
Django 2.1 support removed #1061 (Mads Jensen)
Translations
Japanese (ja): 100% translated
Brazilian Portuguese (pt_BR): 100% translated
0.6
Released on 2020-06-03.
Warning
These release contains Bootstrap v4. If you have overridden django-wiki’s templates but rely on the distributed Bootstrap CSS, then a lot of CSS class names have changed. Please refer to the Bootstrap Documentation.
Added
Fixed
Changed
Use SASS instead of LESS for Stylesheets. The compiler in
Makefile
islessc
. #1035 (Benjamin Bach)Removed
src/wiki/static/wiki/css/wiki-bootstrap.css
- Only distribute a minified CSS version. #1035 (Benjamin Bach)Test coverage upped from 75 to 80+% #976 (Mads Jensen, Benjamin Bach)
PDF attachment Content-Disposition header changed to
inline
for browser previewing #1010 (nicolazilio)PyTest upgraded to latest 5.3
django-mptt updated from 0.9 to 0.11.0 #1019 (Benjamin Bach, slinkymanbyday)
sorl-thumbnail bumped to 12.6.2 #1019 (Benjamin Bach, slinkymanbyday)
Upgrade bleach from 2.1 to 3.1 #1020 (slinkymanbyday)
Python-Markdown 3.2 compatibility (Benjamin Bach)
Removed
Python 3.4 support more or less definitively removed (no longer supported by test suite PyTest)
Removed unmaintained plugin
wiki.plugins.haystack
Translations
Dutch translation 100% completed #1037 (Gert-Jan Braas)
Polish 100% completed
0.5
Compatibility note, 2020-02-18: Django 3.0 support was scheduled but never completed, as dependencies lacked the support. It was completed in 0.6.
Changed
Update to Markdown >= 3.1 #920 (Don Bowman, Benjamin Bach)
Several code-cleanups, test improvements and test
Added
Django 2.2
Removed
Django 1.11 support
Translations
We need help to complete translations. It’s done easily by creating a profile and joining the django-wiki project on Transifex. You are also encouraged to create new languages if you would like to translate to a language that doesn’t yet exist.
0.4.5
Fixed
Django admin error when uploading images: Column ‘revision_number’ cannot be null #950 (Benjamin Bach)
Translations
Added: Romanian
ro
0.4.4
Fixed
0.4.3
Discarded release due to git errors (the actual fixes were not merged in).
Automated language updates from Transifex
0.4.2
Fixed
Using customized
MESSAGE_TAGS
setting causedKEY_ERROR
#922 (Benjamin Bach)
0.4.1
Security
jQuery upgrade from 1.12.4 to 3.3.1. jQuery UI also upgraded (for dynamic resizing of modals) #882 (Benjamin Bach)
0.4
Added
Django 2.0 and 2.1 support #755 (Raffaele Salmaso & Mads Jensen)
Python 3.7 support
Added
wiki.sites.WikiSite
for easy customization #827Automatic link highlighting of URLs handles lots of new patterns #816 (Branko Majic)
Red links: Internal links turn red and link to Create Page (Mathias Rav) #889
Translations
Complete / almost complete:
Chinese (China)
zh_CN
100.00%Danish
da
100.00%Dutch
nl
94.32%French
fr
97.95%German
de
95.00%Korean (Korea)
ko_KR
95.00%Polish (Poland)
pl_PL
98.18%Portuguese (Brazil)
pt_BR
95.00%Russian
ru
99.55%Slovak
sk
94.77%Spanish
es
94.77%
Well under way, need support:
Chinese (Taiwan)
zh_TW
34.55%Czech
cs
35.45%Finnish
fi
81.14%Italian
it
47.05%Japanese
ja
79.77%Norwegian Bokmål (Norway)
nb_NO
34.77%Portuguese (Portugal)
pt_PT
79.32%Turkish (Turkey)
tr_TR
30.68%
Changed
Dependency for escaping HTML and safeguarding against injections
bleach
upgraded>=2.1,<2.2
(last-partizan) #702Use full path names for
MARKDOWN_KWARGS['extensions']
as short names support wil be removed inMarkdown 2.7
#823Support for
include('wiki.urls')
for urls instantiation #827Use Django’s ‘checks.py’ pattern to test configuration (Raffaele Salmaso & Mads Jensen) #830 #807
Test coverage added: Images plugin + Account handling (Mads Jensen) #804
Last couple of non-CBVs (Class Based Views) refactored to CBV (Raffaele Salmaso & Mads Jensen) #788 #819 #808
Big cleanup: Deprecating lots of Python 2.7 specific code (Mads Jensen & Raffaele Salmaso) See: >30 PRs
Search term highligting tweaked, first match is now highlighted instead of last (Mathias Rav) #901
Markdown parsing for
[image]
,[article_list]
and macros rewritten and improved to allow escaping (Mathias Rav) #896
Fixed
Use
user.is_authenticated/is_anonymous
as a boolean #790 (Raffaele Salmaso)Use
simple_tag
for assignment tag #791 (Raffaele Salmaso)Direct invocation of
pytest
fixed (removingruntests.py
) #781 (Branko Majic)Line breaks in help texts for macros #851 (Mathias Dannesbo)
Table of contents now has a header by default, and several built-in django-wiki extensions can be configured using
WIKI_MARKDOWN_KWARGS
#881 (Mathias Rav)S3 Storage engine image deletion bug #907 (Andrea Maschio & Benjamin Bach)
Back link on “permission denied” page should point to parent article on read errors #915 (Benjamin Bach & Christian Duvholt)
Deprecated/Removed
0.3.1
Fix error messages of missing migrations due to inconsistent change of
on_delete
on some model fields #776
0.3
Translation updates from Transifex
Languages that need support:
Dutch 88%
Finnish 85%
Japanese 80%
Chinese (Taiwan) 36%
Norwegian 36%
Turkish 30%
Czech 13%
Italian 8%
>90% completed: Chinese, French, German, Russian, Spanish, Danish, Korean, Polish, Portuguese (Brazilian), Slovak, Spanish
Added
Search choice between either current or global tree (Christian Duvholt) #580 #731
New bootstrapped image insert dialog (Frank Loemker) #628
Allow the HTML tag
<hr>
(Frank Loemker) #629Global History overview of page revisions (Frank Loemker and Maximilien Cuony) #627
Move article support with redirects (Frank Loemker) #640
Django 1.11 compatibility (Luke Plant) #634
Crop paginator window when there are >9 pages in a list (Frank Loemker) #646
Extended syntax for attachment macro:
[attachment:id title:"text" size]
(Frank Loemker) #678Add Sphinx documentation for plugin settings (Frank Loemker) #681
Show “log out” in menu when account handling is disabled (jenda1) #691
Markdown tag with wiki paths now support fragments like
[Click Here](wiki:/path#header)
(Frank Loemker) #701
Changed
Test refactor: Use django-functest and separate WebTest from Selenium (Luke Plant) #634
Repo refactor: Moved
wiki
package tosrc/
folder and test code totests/
#631Render django.contrib.messages with template tag and inclusion template: Configurable and bootstrap 3 compatible (Benjamin Bach and Frank Loemker) #654
Don’t hardcode redirect url in account update view (Benjamin Bach) #650
Python 3.6 support added to test matrix (Benjamin Bach) #664
Keep CSS global namespace clean, refactor CSS rule
label
->.wiki-label label
(Christian Duvholt) #679Plugins can whitelist HTML tags and attributes (jenda1) #700
Optimizations to fundamental permission lookup managers (Christian Duvholt) #714
Code quality upgrade, remove obsolete code, linting and tidying up (Mads Jensen) #797, #705, #707, #716, #717, #718, #719, #720, #721, #722, #724, #725, #726, #727, #728, #730, #732, #733, #735, #736, #737, #738, #741, #743, #743, #756, #757
Added
AppConfig
class for all plugins (Raffaele Salmaso) #758Explicit
on_delete
for allForeignKey
fields (Raffaele Salmaso) #759Django 2.0 preparation:
atomic=False
for 3 migrations that rename tables/fields (Raffaele Salmaso) #760Set dependency
django-nyt<1.1
to avoid future breakage (Benjamin Bach) #761
Fixed
Removed exception catch all in
URLPath.delete_subtree
which silenced errors while delete articles with descendentsFix article settings page in Django 1.11 (Frank Loemker) #682
Fix upstream MPTT breaking deletion of articles from django-admin (Frank Loemker) #683
Wrong HTML attribute ‘type’ on search result page (Geoff Clapp) #698
Fix restoring of attachments and other RevisionPlugin types after deletion (Frank Loemker) #672
Allowing
<sup>
because of footnotes (Frank Loemker) #750
0.2.5
Set dependency
django-nyt<1.1
to avoid future breakage (Benjamin Bach) #761
0.2.4
Hot-fix because of missing woff2 files #625
0.2.3
Pulled Transifex translations and pushed source translations.
Fix support for Py2 unicode in code blocks (Benjamin Bach) #607
Support for Github style fenced codeblocks (Benjamin Bach) #618
Cached articles showing up in wrong language (Benjamin Bach) #592
Upgraded Bootstrap from 3.3.1 to 3.3.7 (Benjamin Bach) #620
Upgraded bundled jQuery to 1.12.4 (Benjamin Bach) #620
Setting
WIKI_MARKDOWN_HTML_STYLES
for allowingstyle='..'
in user code (Benjamin Bach) #603Strip Markdown code in search result snippets (Benjamin Bach) #42
0.2.2
Remove
wiki.decorators.json_view
, fixes server errors when resolving 404 links #604Replace usage of
render_to_response()
withrender()
#606Scroll bars and display area fixed for code blocks #601 and #608 (Branko Majic)
Option
WIKI_MARKDOWN_SANITIZE_HTML
skips Bleach (warning: Don’t use for untrusted code) #610 (Michal Hozza)Allow the HTML tag
<br>
. #613 (Frank Loemker)Add thumbnail size directive (example:
[image:123 size:large]
). #612 (Frank Loemker and @inflrscns)Fix error with absolute paths in wiki links (example:
[Sub-root](wiki:/sub-root)
) #616 (Benoit C. Sirois)Require
Django<1.11
#616 (Benoit C. Sirois)
0.2.1
Lowercase slugs when creating new pages with
[[Like This]]
#595 (Eric Clack)Fix issues related to Bleach before Markdown processing esp. pertaining
>
characters. #596Remove
wiki.plugins.mediawikiimport
#597Pretty up the highligted code’s line enumeration #598
Customize codehilite in order to wrap highlighted code with scrollbars #598
0.2
Translation updates from Transifex
Danish translation from 39% to 100% (Bo Holm-Rasmussen)
Updated languages since 0.1: Chinese, French, German, German, Russian, Spanish
Added Django 1.10 support #563
Security: Do not depend on markdown
safe_mode
, instead usebleach
.Fix duplicate search results when logged in #582 (duvholt)
Do not allow slugs only consisting of numbers #558
Copy in urlify.js and fix auto-population of slug field in Django 1.9+ #554
Fix memory leak in markdown extensions setting #564
Updated translations - Languages > 90% completed: Chinese (China), Portuguese (Brazil), Korean (Korea), French, Slovak, Spanish, Dutch, German, Russian, Finnish.
Taiwanese Chinese added (39% completed)
Cleanup documentation structure #575
HTML contents
Bleach is now used to sanitize HTML before invoking Markdown.
HTML escaping is done before Markdown parsing happens. In future Markdown
versions, HTML escaping is no longer done, and safe_mode
is removed. We have
already removed safe_mode
from the default WIKI_MARKDOWN_KWARGS
setting,
however if you have configured this yourself, you are advised to remove
safe_mode
.
Allowed tags are from Bleach’s default settings: a
, abbr
, acronym
,
b
, blockquote
, code
, em
, i
, li
, ol
, strong
,
ul
.
Please use new setting WIKI_MARKDOWN_HTML_WHITELIST
and set a list of
allowed tags to customize behavior.
Python and Django support
Support has been removed for:
Python 2.6
Django < 1.8
South
0.1.2
0.1.1
Several languages updated from Transifex
Slovak added Thanks M Hozza
Portuguese also added, but as copy of PT-BR (make changes as desired in Transifex)
Brand new Account Settings page (email / password) Thanks inflrscns
Testproject turned into Django 1.9 layout
Replace context-processor dependent use of
{{ STATIC_URL }}
with{% static %}
Bugfix for
pip install wiki
in an empty (no Django installed) virtualenvPrecommit hooks added in repository
Import statements sorted and codebase re-pep8’thed
Log in page is now called “Log in” in
<title>
tag - Thanks Eugene Obukhov
0.1
Warning
If you are upgrading from a previous release, please ensure that you pass through the 0.0.24 release because it contains the final migrations necessary before entering the django-wiki 0.1+ migration tree.
If you are using django 1.7+ and have an old installation of django-wiki (which should be impossible since it wouldn’t run) please downgrade to 1.6 as follows:
$ pip install wiki\<0.1 --upgrade # Latest 0.0.24 release
$ pip install django\<1.7 # Downgrade django if necessary
$ python manage.py migrate # Run 0.0.24 migrations
$ pip install wiki\<0.2 --upgrade # Upgrade to latest 0.1 series
$ python manage.py migrate --delete-ghost-migrations # Run migrations again,
# removing the (ghost)
# migrations from previous
# release
$ # Feel free to upgrade Django again
Supported
Python 2.7, 3.3, 3.4, 3.5 (3.2 is not supported)
Django 1.5, 1.6, 1.7, 1.8, 1.9
Django < 1.7 still needs South, and migration trees are kept until next major release.
Breaking changes
wiki.VERSION as tuple
We want to follow Django’s way of enumerating versions. If you want the old
string version, use wiki.__version__
.
Plugin API
Since Django 1.8 has started making warnings about patterns being deprecated, we’ve decided to stop using them by default. Thus, as with the future Django 2.0, we will use lists of url objects to store the urlconf of plugins. All the bundled plugins have been updated to reflect the change.
Django-mptt
We now depend on django-mptt 0.7.2+ for Django 1.8 compatibility.
0.0.24
This release is a transitional release for anyone still using an older version of django-wiki. The code base has been heavily refactored and this is hopefully the final release.
Warning
0.0.24 is mainly a transitional release, but new features and bug fixes are included, too.
Compatibility
Django 1.5, 1.6 (That means Django 1.7 is not yet fully supported)
South 1.0+ (if you are on an older South, you need to upgrade)
Python 2.6, 2.7, 3.3, 3.4
Upgrading
Firstly, upgrade django-wiki through familiar steps with pip
$ pip install wiki --upgrade
During the upgrade, notice that django-nyt is installed. This replaces the previously bundled django_notify and you need to make a few changes in your settings and urls.
In settings.INSTALLED_APPS
, replace “django_notify” with “django_nyt”.
Then open up your project’s urlconf and make sure you have something
that looks like the following:
from wiki.urls import get_pattern as get_wiki_pattern
from django_nyt.urls import get_pattern as get_nyt_pattern
urlpatterns += patterns('',
(r'^notifications/', get_nyt_pattern()),
(r'', get_wiki_pattern())
)
Notice that we are importing from django_nyt.urls and no longer django_notify and that the function is renamed to get_nyt_pattern.
After making these changes, you should run migrations.
$ python manage.py migrate
Notifications fixed
In past history, django-wiki has shipped with a very weird migration. It caused for the notifications plugin’s table of article subscriptions to be removed. This is fixed in the new migrations and the table should be safely restored in case it was missing.
However, you may want to bootstrap subscription notifications in case you have run into this failed migration. You can ensure that all owners and editors of articles receive notifications using the following management command:
python manage.py wiki_notifications_create_defaults
Troubleshooting
If you have been running from the git master branch, you may experience problems and need to re-run the migrations entirely.
python manage.py migrate notifications zero --delete-ghost-migrations
python manage.py migrate notifications
If you get DatabaseError: no such table: notifications_articlesubscription, you have been running django-wiki version with differently named tables. Don’t worry, just fake the backwards migration:
python manage.py migrate notifications zero --fake
If you get relation "notifications_articlesubscription" already exists
you
may need to do a manual DROP TABLE notifications_articlesubscription;
using
your DB shell (after backing up this data).
After this, you can recreate your notifications with the former section’s instructions.
News archive
April 15, 2017
0.2.3 released: Release notes
0.2.2 released: Release notes
February 27, 2017
0.2.1 released: Release notes
December 27, 2016
0.2 final released: Release notes
June 19, 2016
0.1.2 released: Release notes
May 6, 2016
0.1.1 released: Release notes
January 25, 2016
0.1 final released
December 26th, 2015
A new release 0.0.24.4 is out and has fixes for the Django loaddata
management command such that you can create dumps and restore the dump. Notice, though, that loaddata
only works for Django 1.7+.
Django 1.9 support is available in the current master, please help get a 0.1 released by giving feed back in the last remaining issues:
November 16th, 2015
Django 1.8 support is very ready and 0.1 is right on the doorstep now.
January 26th, 2015
After too long, the new release is out.
The wait was mainly due to all the confusing changes by adding support of Python 3 and readying the migrations for Django 1.7. But there’s actually new features, too.
Bootstrap 3.3.1 and Font Awesome 4 (Christian Duvholt)
django_nyt
instead of builtindjango_notify
(Benjamin Bach, Maximilien Cuony)tox
for testing (Luke Plant)Appropriate use of gettext_lazy (Jaakko Luttinen)
Fixed support of custom username fields (Jan De Bleser)
Several fixes to the attachment plugin (Christian Duvholt)
Errors on notifications settings tab (Benjamin Richter)
Chinese translations (Ronald Bai)
Finish translations (Jaakko Luttinen)
Compatibility with custom user model in article settings (Andy Fang)
Fixed bug when
[attachment:XX]
present multiple times on same line (Maximilien Cuony)Simple mediawiki import management command (Maximilien Cuony)
Python 3 and Django 1.6 compatibility (Russell-Jones, Antonin Lenfant, Luke Plant, Lubimov Igor, Benjamin Bach)
(and more, forgiveness asked if anyone feels left out)