salvi/CHANGELOG.md
2025-10-10 17:46:29 +02:00

4.7 KiB
Raw Blame History

Whats New

1.1.0

  • Deprecated several configuration values ~
  • Schema changes: several columns changed format. Update your schema.
  • 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
  • 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 pages 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.