# What’s New ## 1.1.0 + **Deprecated** several configuration values ~ + Removed permanently the remains of extensions. + I18n improvements. ## 1.0.0 + **BREAKING CHANGES AHEAD**! + **SECURITY ADVISORY**: versions from `0.7` up to `0.9` are **VULNERABLE to XSS** due to `.jinja2` not getting autoescaped. + No more a monolith: `app.py` got split into several files into `salvi` package + Switched from peewee to **SQLAlchemy**; Schema as of 1.0 is the same as 0.9 + Added dependency on [libsuou](https://github.com/yusurko/suou) + `site.conf` deprecated, but still supported for the time being + Switched to `pyproject.toml`. `requirements.txt` has been sunset. + Switched to the Apache License; the old license text is moved to `LICENSE.0_9` + Added color themes! This is a breaking (but trivial) aesthetic change. Default theme is 'Miku' (aquamarine green). + Extensions **have been removed**. They never had a clear, usable, public API in the first place. ## 0.9 + Removed `markdown_katex` dependency, and therefore support for math. It is bloat; moreover, it ships executables with it, negatively impacting the lightweightness of the app. + Added support for `.env` (dotenv) file. + Now a database URL is required. For example, `[database]directory = /path/to/data/` becomes `[database]url = sqlite:////path/to/data/data.sqlite` (site.conf) or `DATABASE_URL=sqlite:////path/to/data/data.sqlite` (.env). ## 0.8 + Schema changes: + New tables `UserGroup`, `UserGroupMembership` and `PagePermission`. + Added flag `is_cw` to `Page`. + Added `restrictions` field to `User`. + Pages now can have a Content Warning. It prevents them to show up in previews, and adds a caution message when viewing them. + SEO improvement: added `keywords` and `description` meta tags to viewing pages. + Added Terms, Privacy Policy and Rules. + Changed user page URLs (contributions page) from `/u/user` to `/@user`. + `/manage/` is now a list of all managing options, including export/import and the brand new `/manage/accounts`. + Users can now be disabled (and re-enabled) by administrator. + TOC is now shown in pages when screen width is greater than 960 pixels. + Style changes: added a top bar with the site title. It replaces the floating menu on the top right. + Now logged-in users have an “Edit” button below the first heading. All users can access page history by clicking the last modified time. + Added a built-in installer (`app_init.py`). You still need to manually create `site.conf`. ## 0.7.1 + Improved calendar view. Now `/calendar` shows a list of years and months. ## 0.7 + Schema changes: + Removed `PagePolicy` and `PagePolicyKey` tables altogether. They were never useful. + Added `calendar` field to `Page`. + Added `User` table. + Added `Flask-Login` and `Flask-WTF` dependencies in order to implement user logins. + Added `python-i18n` as a dependency. Therefore, i18n changed format, using JSON files now. + Login is now required for creating and editing. + Now you can leave a comment while changing a page’s text. Moreover, a new revision is created now only in case of an effective text change. + Now a page can be dated in the calendar. + Now you can export and import pages in a JSON format. Importing can be done by admin users only. + Improved page history view, and added user contributions page. + Updated Markdown extensions to work under latest version. + Like it or not, now gzip library is required. + Added CSS variables in the site style. + Templates are now with `.jinja2` extension. ## 0.6 + Added support for database URLs: you can now specify the URL of the database in `site.conf` by setting `[database]url`, be it MySQL, PostgreSQL or SQLite. + Added experimental math support, with `markdown_katex` library. The math parsing can be opted out in many ways. + Backlinks can now be accessed for each page. + Spoiler tags at beginning of line now work. Just for now. + Removed `Upload` table. + Added `PageLink` table. ## 0.5 + Removed support for uploads. The `/upload/` endpoint now points to an info page, and the “Upload image” button and gallery from home page are now gone. + `markdown_strikethrough` extension is no more needed. Now there are two new built-in extensions: `StrikethroughExtension` and `SpoilerExtension` (the last one is buggy tho). + Removed support for magic words (the commands between `{{` `}}`). These features are now lost: `backto`, `media` and `gallery` (easily replaceable with simple Markdown). + Added app version to site footer. + Added client-side drafts (they require JS enabled). ## 0.4 ## 0.3 ## 0.2 + Some code refactoring. + Light and dark theme. + Move database into `database/` folder. + Style improvements.