MoinMoin 2 Version History
==========================

Please note: It is recommended that existing wiki's be upgraded to the
latest moin 1.9.x release before converting to Moin 2. However, this may
not be a necessary step as the 1.9.x file structure has not changed recently.

Version 2.0.0b4 2025-11-07
--------------------------
This is an unstable beta release not suitable for a production wiki,
test carefully and report new issues and feature requests on the issue tracker:
https://github.com/moinwiki/moin/issues.

After installing this release as a upgrade on an existing moin2 wiki be sure to::
* copy or merge src/moin/config/wikiconfig.py into the root version of wikiconfig.py.
* rebuild the Whoosh indexes
  * moin index-destroy
  * moin index-create
  * moin index-build

Fixes
~~~~~
* 2025-11-01 rST in: fix non-section titles (Günter Milde)
* 2025-11-01 Replace white_clouds with gray background (UlrichB22)
* 2025-10-30 Add test case for user login POST request (Roland Rüdenauer)
* 2025-10-28 Add test case for page modification with preview (POST request) (Roland Rüdenauer)
* 2025-10-29 rST in: keep leading slash in wiki-local references (Günter Milde)
* 2025-10-28 Set wikiconfig_dir and instance_dir in wikiconfig.py used for testing (Roland Rüdenauer)
* 2025-10-28 Remove workarounds in test code dealing with Werkzeug versions < 3.0.0 (Roland Rüdenauer)
* 2025-10-23 Add support for Python 3.14 (Roland Rüdenauer)
* 2025-10-23 Remove support for Python 3.9 (Roland Rüdenauer)
* 2025-06-02 Synchronize rST parser documentation files. (Günter Milde)
* 2025-10-11 Improve moin_dir setting to fix tox tests (UlrichB22)
* 2025-10-01 Fix handling of target elements in rst; fixes #1680. (Günter Milde)
* 2025-10-09 Adding Swedish translation (Daniel Nylander)
* 2025-10-07 Pass variable 'subitem_target' instead of 'item_name' into search templates. (Roland Rüdenauer)
* 2025-10-07 Fix code and jinja templates accessing the no longer existing wiki configuration setting 'item_root'. (Roland Rüdenauer)
* 2025-10-05 Remove unused methods (Protected)Revision.set_context (Roland Rüdenauer)
* 2025-04-25 Set item_type and rev_number for userprofile items (Roland Rüdenauer)
* 2025-10-01 Change get_document to a method of IndexingMiddleware (UlrichB22)
* 2025-10-01 Rename get_doc to get_document and other code improvements (UlrichB22)
* 2025-10-01 rST converter: Fix handling of internal cross-references. (Günter Milde)
* 2025-10-01 Add test cases for hyperlinks to sections in reStructuredText. (Günter Milde)
* 2025-09-28 babel: move config to pyproject.toml (Thomas Waldmann)
* 2025-09-27 Rename and rework get_indexer function (UlrichB22)
* 2025-09-24 Modify form: make loading content from file upload work (Roland Rüdenauer)
* 2025-09-24 Basic theme fixes - show "Load Draft" button on modify form if a draft is available (Roland Rüdenauer)
* 2025-09-23 Fix help-en meta using maint-validate-metadata (UlrichB22)
* 2025-09-23 unexpected keyword argument 'fqname' running +feed/atom; fixes #1990 (RogerHaase)
* 2025-09-12 remove inline style from basic theme #1816 (RogerHaase)
* 2025-09-11 improve User Accounts documention (RogerHaase)
* 2025-09-11 mediawiki.rst: fix table markup (Thomas Waldmann)
* 2025-09-10 Correct cspreport log path used in before_wiki (add leading slash) (Roland Rüdenauer)
* 2025-09-05 "Moin Wiki" -> "MoinWiki" when referring to markup type (Thomas Waldmann)
* 2025-09-05 search.rst: fix table markup / width (Thomas Waldmann)
* 2025-09-05 index.rst: re-add bold, remove mm2 (Thomas Waldmann)
* 2025-09-05 docs: fix typos and grammar (Thomas Waldmann)
* 2025-09-03 remove inline styles from index.html and forms.html #1816 (RogerHaase)
* 2025-09-01 fix for: invalid escape sequence '\ ' (Thomas Waldmann)
* 2025-08-29 fix typos and grammar (Thomas Waldmann)
* 2025-08-29 bandit: exclude scripts/ and contrib/loadtesting/ (Thomas Waldmann)
* 2025-08-19 CSP warning on items containing TOC macro fixes #1976 (RogerHaase)
* 2025-07-20 support Python 3.13 (Thomas Waldmann)
* 2025-08-17 html error on TitleIndex macro; fixes #1979 (RogerHaase)
* 2025-08-13 Suppress printing of slideshow start button (UlrichB22)
* 2025-08-12 Add buffer reset to whoosh Bufferfile.close (UlrichB22)
* 2025-08-11 Add custom.css feature (UlrichB22)
* 2025-08-07 get_open_wiki_files: add file mode to output for debugging (UlrichB22)
* 2025-08-04 Search does not support namespaces fixes #1907 (RogerHaase)
* 2025-08-04 Fix load draft in focus theme (Christoph Klassen)
* 2025-08-04 Fix empty lines in diff in focus theme (Christoph Klassen)
* 2025-07-30 Log only invalid metadata properties (Roland Rüdenauer)
* 2025-07-30 Fix logging of invalid element (empty log output before) (Roland Rüdenauer)
* 2025-07-13 Meta data revision already set in MutableBackend._store_meta (Roland Rüdenauer)
* 2025-07-28 test_indexing.py: fix code dumping items (Roland Rüdenauer)
* 2025-07-25 Configuration option for markdown extensions (Sebastian Wagner)
* 2025-07-20 use spdx license metadata in pyproject.toml (Thomas Waldmann)
* 2025-07-13 Make use of meta data key constants (Roland Rüdenauer)
* 2025-07-13 Raise the year of copyright for RTD (UlrichB22)
* 2025-07-02 Fix failing test cases (Roland Rüdenauer)
* 2025-07-02 Fix errors caused by importing 'override' (Roland Rüdenauer)
* 2025-07-02 Replace use of Python 3.12 'type' statement with PEP 613 TypeAlias declaration (Roland Rüdenauer)
* 2025-06-02 Add more type hints (Roland Rüdenauer)
* 2025-07-01 WikiLinkAnalyzer: allow colon in wiki.local page name (Roland Rüdenauer)
* 2025-05-13 Fix issue #1874: correct handling of wiki item links (Roland Rüdenauer)
* 2025-06-20 Moinwiki converter: add additional test cases (Roland Rüdenauer)
* 2025-06-20 Moinwiki converter: pop top of stack for closing strike through character sequence (Roland Rüdenauer)
* 2025-06-20 Moinwiki converter: make definition lists have lowest precedence in indent_re (Roland Rüdenauer)
* 2025-06-18 prevent IndexError in search when wiki contains deleted items #1885 (RogerHaase)
* 2025-06-15 Update favicon.ico (Roland Rüdenauer)
* 2025-06-15 update docs for searching an item's subitems #1885 (RogerHaase)
* 2025-06-15 topside: fix footer width on small screen (UlrichB22)
* 2025-06-14 Remove show.html template from theme 'focus' (UlrichB22)
* 2025-06-13 fix error in test_views.py #1885 (RogerHaase)
* 2025-06-11 change focus theme layout.html to load main.js after other scripts (RogerHaase)
* 2025-06-06 Move slideshow inline js script to separate file (UlrichB22)
* 2025-06-05 Remove leftover class definition from rST converter. (Günter Milde)
* 2025-06-04 remove inline styles & onclick from item_acl_report.html #1816 (RogerHaase)
* 2025-04-05 Convert Basic theme from Boostrap 3 to Boostrap 4 and use sass instead of lessc (fixes #1770) (Roland Rüdenauer)
* 2025-06-02 Use member 'cfg' of class ThemeSupport consistently instead of taking it from the flask application context (Roland Rüdenauer)
* 2025-05-28 Fix extraction of open document format files for indexing (UlrichB22)
* 2025-05-27 Re-enable "Wiki links". (Günter Milde)
* 2025-05-27 set default for EDIT_ON_DOUBLECLICK to False (UlrichB22)
* 2025-05-26 skip before_wiki and teardown_wiki for content in _themes (UlrichB22)
* 2025-05-26 move 'user.may.destroy' call from template to views.py (UlrichB22)
* 2025-05-26 Improve focus theme layout (especially on mobile) (Christoph Klassen)
* 2025-05-26 Improve focus theme consistency between tables (Christoph Klassen)
* 2025-05-26 Add focus theme missing changes from templates (Christoph Klassen)
* 2025-05-26 Remove focus theme font for better performance (Christoph Klassen)
* 2025-05-24 update pyproject.toml Development Status to 4 - Beta (RogerHaase)
* 2025-05-24 add icon for +admin/user and some fault tolerance (UlrichB22)
* 2025-05-23 Switch to native pyproject tox configuration (Roland Rüdenauer)

New features
~~~~~~~~~~~~
* Added support for Python 3.13 and 3.14,  removed support for Python 3.9
* Added Swedish translation


Version 2.0.0b3 2025-05-24
--------------------------
This is an unstable beta release not suitable for a production wiki,
test carefully and report new issues and feature requests on the issue tracker:
https://github.com/moinwiki/moin/issues.

After installing this release as a upgrade on an existing moin2 wiki be sure to::
* copy or merge src/moin/config/wikiconfig.py into the root version of wikiconfig.py.
* rebuild the Whoosh indexes
  * moin index-destroy
  * moin index-create
  * moin index-build

Fixes
~~~~~
* Fix duplicate namespace in discussion link (#1847)
* updated docs for package releases
* Add FullSearch macro migration for moin1.9 categories
* markupsafe was pinned to <= 2.2.0, change to >= 3.0.2
* Fix handling of namespace root items in +misc/sitemap
* Fix download link for binary content (missing namespace)
* Localize download link text
* add "pre-commit run" to development.rst docs
* Fix undefined name 'revs' in diff view
* Fix dump-html: remove item id of links to binary data (#1742)
* remove exists check from itemviews template to improve performance
* User settings: support setting the theme name to 'system default' (#1532)
* Document use of THEME_PATHS in moin wiki
* Remove WIKINAME from schema and queries
* Improve the check in get_open_wiki_files()
* User settings: fix handling of flash messages (#1872)
* ajaxsearch: add check whether content exists
* bandit configuration: exclude ui tests
* docs: improve logging configuration docs with MOINLOGGINGCONF and debug example
* docs: convert logging section titles to headings for Read the Docs navigation
* Make use of Referrer request header value (if available) when redirecting from subscribe (#1841)
* Replace text "Highlight" with "Markup" (#1860)
* Fix index out range error (list with validation errors might be empty)
* Escape html content placed into <pre> section (avoid running again into the same error)
* Fix IndexError in markdown converter (triggered by mismatching tags in html content)
* Make getInterwikiHome() return a fqname
* search query: add some more clickable options, fixes #60
* sanitize Markup() input and ignore bandit B704
* adapt wsgi bench script
* Simplify packaging of moin by removing useless or misleading packaging instructions
* Render item metadata as a table
* Add table header to metadata view
* Metadata view: remove the ugly quotes around some values
* Metadata view: remove the colons in column 'Keys'
* Execute wiki creation in it's own app context
* wikiconfig.py: Add comment on deactivation of discussion feature
* .gitignore: mark some files as not to be ignored
* run black on src/moin/_tests/wikiconfig.py
* Fix build of query in tagged_items() if namespace is 'all'
* Refactoring of 3rd index code, rename index, add handling of missing indexes
* Move code to determine xstatic module paths from wikiconfig.py to moin.utils
* Persist view state (expanded/collapsed) of sidebar elements in browser local storage
* Improve print layout for focus theme
* pin xstatic packages to legacy versions
* Set email_tracebacks to false in the wikiconfig.py used for test execution.
* Catch AttributeError in EmailHandler.emit()
* Add type hints
* Replace ugly static moin png with prettier one from help-common
* IriPath improvements: better argument type checking and add test case for argument of type str
* Fix ConverterBase.absolute_path: return an instance of IriPath
* Focus: fix itemview icons, remove globe-rotate-left-solid, add login icon
* Replace magnifying-glass-solid with free version

New features
~~~~~~~~~~~~
* added new theme 'focus'


Version 2.0.0b2 2025-03-01
--------------------------
This is an unstable beta release not suitable for a production wiki,
test carefully and report new issues and feature requests on the issue tracker:
https://github.com/moinwiki/moin/issues.

Fixes
~~~~~
* updated docs for Python 3.12 pkg_resources workaround
* add docs and key control to SlideShow macro
* removed spam links in contrib/intermap.txt
* fixed bug when creating list of dirs returned by make_flat_index
* ignore empty table attributes within moinwiki_in converter
* fix "moin dump-html" to dump raw data for pdf, tar, and other items
* fix "moin import19" to migrate links only if target namespace is specified
* SlideShow macro uses url_for
* improve footer layout
* fix CSS for Show Wiki Configuration
* moin import19 handles namespace attachments
* restrict all admin views to superuser, partially backed off
* remove ACL form help-en/TemplateSample
* add request.path to clock total timer message
* skip before_wiki and teardown_wiki for static content
* ignore closing stroke tag if no opening tag found within moinwiki_in converter
* change position and order of Submit buttons
* remove "General meta" from modify view
* set url_map.strict_slashes to False
* creating items now uses current namespace ACL
* stricter detection of embedded markup on markdown_in converter
* fix convert_to_indexable for items in a namespace
* fix delete/destroy from index view
* fix several namespace bugs where wrong item names were used
* bump Xstatic_Bootstrap to 4.5.3.1 fixing potential XSS attacks
* add tag parameter to ItemList macro
* wikiconfig.py configuration PERMANENT_SESSION_LIFETIME requres datetime import
* eliminate traceback when destroying a deleted item
* highlight search results: treat each word separately and ignore case
* move 'user.may.write' call from template to views.py
* fix traceback: add may permission in _do_modify_show_templates
* deactivate exists checks for page trail and do not show non-existent items
* performance: add aliases to trail and remove exists check
* import19: Add procs and limitmb options to increase performance
* import19: add exception handling for drop_and_recreate_index
* add missing attribute 'may' to diff.html template
* import19: add option latest-rev-only
* _args_wiki parse: ignore keys with empty value
* support different storage types for each namespace
* import19: add missing parents
* update intermap.txt removing dead links, spam; change to https when possible
* performance: _get_acls: use meta data if available to avoid index query
* fix traceback when viewing item with @itemid
* update development docs with more info about "pre-commit install"
* page_trail: add type checks
* fix search result highlighting for itemlist macro
* fix itemlist arguments in help-en/MoinWikiMacros
* itemList: use _args_wiki parser
* same messages for not found and access denied
* itemList performance: mv regex handling to search_meta
* update, cleanup translations, add few German translations
* remove subprocess call from create_instance
* remove smb_mount module and docs
* add usedforsecurity False in hash functions
* rework of the send_file exception handling
* remove obsolete SubProcess.py
* send_file: seek to the beginning of the file in any case
* use new gravatar hash routine
* remove obsolete profile.py
* fix UnboundLocalError in import19
* show blank page after passwort reset
* remove sistersite feature.
* do not show USERPROFILES ns within a list of selectable namespaces
* add pre-commit for bandit security scan, add to github workflow
* add CSP header and receiver
* correct hit count display when ajax search options use whoosh filters
* fix CSP warning, remove inline style on moin-options-for-javascript
* rename and update README, add CONTRIBUTING.md

New features
~~~~~~~~~~~~
* Add RandomQuote macro


Version 2.0.0b1 2024-08-07
----------------------------
This is an unstable beta release not suitable for a production wiki,
test carefully and report new issues and feature requests on the issue tracker:
https://github.com/moinwiki/moin/issues.

Fixes
~~~~~
* added config option to enable or disable contenttypes
* mass source code changes using pyupgrade to upgrade syntax to 3.9
* removed unused imports
* create SECURITY.md
* update .readthedocs.yaml to generate readthedocs content using Python 3.10
* remove use of obsolete setuptools
* change use of whoosh lru cache to lfu cache
* update Flask and Werkzeug to >=3.0.0
* upgrade feedgen (atom feed lib) to >= 1.0.0
* removed parentid to fix welcome/users_home_meta
* mass source code changes after integrating "black" code auto-formater
* supress false "unused import" when importing flatland.Form
* replace deprecated datetime.utc* calls
* add language auto-detect to user personal settings
* readthedocs now has access to docs/examples
* fix maint-validate-metadata to skip userprofiles backend
* Add REV_NUMBER in sort for history view replacing mtime
* Fix CI workflow to test with all supported python versions, run py39 with Ubuntu 22.04
* add support for SQLAlchemy >=2.0.0
* macros with user editing errors should not fill log with tracebacks
* cleanup redundant icon directories
* add itemlinks validator replacing wikilinks validator where needed
* itemlinks beginning with + were incorrectly given non-existent class (+meta/Home)
* remove trailing /> from void elements to comply with W3C standard
* add validity check if user changes name/alias/display-name in UserSettings>Personal
* add test to prove icons from CSS URLs is a subset of files in icon dir
* add RSS link to global history
* fix search-options font and fix HTML validation errors
* update and add German translations

New features
~~~~~~~~~~~~
* add slideshow macro and view

Version 2.0.0a1 2024-03-27
-----------------------------
This is an unstable alpha release not suitable for a production wiki,
test carefully and report new issues and feature requests on the issue tracker:
https://github.com/moinwiki/moin/issues.

Fixes
~~~~~
* Major rewrite of MoinMoin 1.9.x

New features
~~~~~~~~~~~~
* Python3.9+
* Supports moinwiki, markdown, rst, and DocBook markup languages
* HTML markup support by CKEditor, same version used in moin 1.9.x
* MediaWiki markup support needs work
* Editor help docs optional, can be loaded into a wiki namespace
* New/revised themes: topside, topside-cms, modernized, basic
* EmeraldTree
* Flask
* Flatland
* FontAwesome
* Jinja2
* Jquery
* Whoosh
* Xstatic

Missing features from 1.9.x
~~~~~~~~~~~~~~~~~~~~~~~~~~~
* SVG editor
* LDAP may have missing dependencies depending upon OS flavor
* WikiDicts have limited function, does not use Babel translations
* language support limited to English, German, Portuguese (Brasil), Russian
* some macros have not been converted
* no contributed themes
* no contributed macros

Other changes
~~~~~~~~~~~~~
* GitHub used for issue tracking: https://github.com/moinwiki/moin/issues
* See https://moin-20.readthedocs.io/en/latest/ for Sphinx formatted docs
