# Change Log All notable changes to this project will be documented in this file. ## [0.16.0] - 2017-11-06 ## Added - Add mobile, web and desktop client info for modules. - users: After setup, enable and restart slapd and nslcd. - debian: Handle jsxc links creation in upstream. - Enable django SecurityMiddleware to improve security ratings. - cockpit: New module for server administration and web terminal. - vagrant: Install dependency packages during install/provisioning. ## Changed - Switched from Travis CI to Circle CI. - Change localization platform details from Transifex to Weblate. - Converted docs to markdown. - debian: Switch to native package. - diaspora: Update tests for better temp directory creation. ## Fixed - Fix formatting in LICENSES file. - letsencrypt: Log info about obtain/revoke only if actually attempted. - letsencrypt: Fix tests requiring sudo. - letsencrypt: Fix internal server error when obtaining a certificate. - ejabberd: Fix LDAP server entry in config file during setup. - ejabberd, jsxc, apache: Rename out-dated "http-bind" to "bosh". - letsencrypt: Disable test when sudo is not available. - tests: Use a temporary directory for testing actions. ## [0.15.3] - 2017-10-20 ### Changed - Rename Disks to Storage. - Rename Snapshot to Storage Snapshots. - Update Django version to 1.11. - tt-rss: Enable API access by default. - users: Migrate ldap bash script into actions/users. - Allow access to plinth from outside the LAN. - matrixsynapse: Disable public registration by default. - power: Merge actions into the user dropdown. ### Added - Add locales for Kannada (kn) and for Bengali (bn). - ejabberd: Use Let's Encrypt certificate, also across renewals. - matrix-synapse: Add enable/disable public registrations. - networks: Move initial connection setup to Plinth. - Move Avahi files from freedombox-setup. - apache: Move freedombox.conf configuration to Plinth. - Add generic framework for user group per application. - networks: Activate the newly created connections. - Add django-simple-captcha in the login page. - captcha: Add flite tts for accessibility. - sso: Add django-axes to project. - sso: Add captcha validation on 3 failed attempts. - matrixsynapse: Enable LDAP integration. - letsencrypt: Automatically obtain and revoke SSL certificates. - ci: Add circle-ci config to Plinth. ### Removed - Remove creation of first-run.d directory. - setup: Remove freedombox-setup related scripts. ### Fixed - i18n, msgfmt: Flag percent symbol in ugettext. - Fix front page label names. - Fix vertical alignment of shortcut icons. - Fix some Django deprecations. - storage: Fix issue with locales that use other decimal separators. - users: Restart nscd after setup. - networks: Make setup script idempotent. - ttrss: Make tt-rss api accessible using Apache basic auth. - setup: Fix Plinth startup issues. - storage: Simplified use of df to get disk information. - Use gir1.2-nm-1.0 instead of gir1.2-networkmanager-1.0. - Ensure url is a str for commonprefix. - users: Fix creating a group. - travis: Install configobj from Debian. - letsencrypt: Handle case where current domain is empty. - Handle both admin and non-admin user names in update user template. ## [0.15.2] - 2017-09-24 ### Added - letsencrypt: Show more info on cert validity status. - letsencrypt: Add option to delete certificates. - letsencrypt: Add option to let Plinth manage certbot's renewal hooks. - power: Warn if a package manager is running before shutdown/restart. - security: Install and manage fail2ban. - names: Include domain and services from dynamicdns. - Add contributing guidelines. - disks: Add low disk space warning to system and disks page. - Capture and log all Python warnings. - ssh: New application to manage SSH server. - apache: New module to manage Apache configuration. - Add api module to get enabled services and access info. - Add Django password validators. - ejabberd, ikiwiki, ttrss: Add user login descriptions. ### Removed - diaspora: Disable for this release due to issues affecting package. - Remove help from navbar before firstboot complete. - Remove print statement from tests. - firewall: Remove redundant setup steps. - first-run: Skip installation of essential modules from Plinth. ### Fixed - i18n: Don't use backslash-newline for wrapping long lines. - radicale: Update link to documentation. - travis: Fix build errors due to change to non-system python. - sso: Add check to see if auth-pubtkt module is available. - sso: Upgrade crypto to 4096-bit RSA and SHA-512. - sso, repro: Add safety checks to make sure auth_pubtkt is enabled. - tahoe: Correct LAFS to Tahoe-LAFS in apps page. - Users: Allow non-admin users to log out. ### Changed - letsencrypt: Make Let's Encrypt an essential module. - Update requirements list. - Remove disabled apps as part of install. - UI: Make apps and configure pages responsive on small screens. - Make help accessible for logged-in non-admin users. - sso: Use Login and Logout view classes instead of methods. - Separate out the short description and app name. - users: Move ldap structure config into normal setup. - Don't run Plinth setup as part of freedombox/setup. - firewall: Move remaining setup steps to Plinth. - Move CI notifications to new channel. ## [0.15.1] - 2017-07-02 ### Fixed - Fixed python format string in translation. ## [0.15.0] - 2017-07-01 ### Added - Added Tahoe-LAFS module for distributed file storage. - Added Diaspora* module for federated social networking. - New Locales for Czech (cs) and Tamil (ta). - Cache whether user is admin in context_processor. - Introduced a new stylesheet to hold custom responsive css. - ejabberd: Added option to enable/disable Message Archive Management. - help: Added Debian release to about page. - Added SSO using auth_pubtkt for Syncthing, Repro, and TT-RSS. - SSO: Generate keys during plinth startup. ### Removed - doc: Removed unused images. - owncloud: Removed module, since it is no longer in Debian. - apps, system: Removed modules, and merged into main. - firstboot: Erased network graph and warning on WiFi passwords. - Removed Power from config menu, since power drop-down was added. ### Changed - datetime: Use timedatectl to get list of time zones. - datetime: Rewrote action timezone-change in Python. - Split reserved usernames list among modules. - module_loader: Split the URLs inclusion step. - menu: Lazily reverse menu item URLs. - firstboot: de-bloat first welcome screen. - Pinned footer to the bottom of the viewport. - disks: restrict precision of reported available space on root partition. - diagnostics: Disable button if app/service is not running. - help: only show help pages if user is logged in. - navbar: moved logout to user drop-down and added a new power drop-down. - letsencrypt: directly call certbot in action script. ### Fixed - disks: Show disabled partition resize option if no space is available. - actions: Make subparsers mandatory, fixes calls without arguments. - networks: Fix failing network test. - Added line break to titles for frontpage shortcuts. - syncthing: Fixed typos and clarity in description. - firewall: Fix 500 error when firewalld is not running. - setup: Disable install/upgrade when dpkg/apt is running. - utils: Fix test case failures due to caching. - disks: Use information from lsblk for more accuracy. - datetime: Show timezone properly when it not in expected list. - disks: add missing import json. - licenses: correct info for ejabberd. - disks: delete existing test file, if necessary. ## [0.14.0] - 2017-04-09 ### Added - tor: Added option to use upstream bridges. - openvpn: Added to front page. - openvpn: Non-admin users can download their own profiles. - Added Debian badges to README. - Added new locales for Hindi (hi) and Gujarati (gu). - Added syncthing module for file synchronization. - Added Matrix Synapse as chat server with groups, audio and video. ### Removed - Removed use of stronghold whitelisting, no longer necessary. - Removed unused symlink to doc directory. ### Changed - Require admin access for all system configuration pages. - Change appearance of topbar and footer. - Use common LDAP auth apache configuration in all modules. ### Fixed - Added missing shaarli logo. - Overwrite existing doc and static folders when installing. - Added line break to infinoted title, used by front page shortcut. - Fixed URL in INSTALL doc. - openvpn: Regenerate user key or certificate if empty. - openvpn: Prevent failures when regenerating user certificate. - Fixed augeas error in travis build. - disks: Workaround issue in parted during resize. ## [0.13.1] - 2017-01-22 ### Added - Added new locale for Japanese (ja). ### Fixed - setup: Fixed an infinite redirect in a rare case. - Fixed URLs referencing jsxc JS and CSS files. - setup.py: Install all first-run scripts for freedombox-setup. - ikiwiki: Fixed showing icon for newly created wiki/blog. ## [0.13.0] - 2017-01-18 ### Added - Added command line argument --list-modules which will list modules and exit. It can be followed by "essential" or "optional" to only list those modules. - Added JS license web labels for LibreJS. - Added basic configuration form for Minetest server. - Added Domain Name Server (BIND) module. - help: Added indicator for new plinth version available. - Added Gobby Server (infinoted) module. ### Changed - frontpage: Show app logos instead of generic icons. - Prevent anonymous users from accessing setup pages. - Firstboot, KVStore: merge old firstboot state fields. - tor: Use Plinth-specific instance instead of default. - xmpp: Split into ejabberd and jsxc modules. - users: Moved part of LDAP setup to first-run. ## [0.12.0] - 2016-12-08 ### Added - Added screenshots to Readme. - repro: Open up RTP ports. - Allow modules to register steps for first_boot. - frontpage: Show Configure button in service details, when user is logged in. - minetest: Add mods packages to be installed with server. - networks: Support configuring IPv6 networks. ### Fixed - Upstream patch from Debian bug #837206 to fix DB and log file permissions. Also switch to new setup command. - Include module static files in build, required for Debian package build. - dynamicdns: Allow reading status as non-root. - config: Set current domainname again after hostname change. - config: Handle clearing of domain name. - letsencrypt: When no domains are configured, show better message, and hide diagnostics button. - frontpage: Fix shortcut spacing issue. - xmpp: Updated to work with JSXC 3.0.0. ### Changed - repro: Use firewalld provided SIP services. - xmpp: Show more clearly if domain is not set. - frontpage: Don't show apps requiring login, unless logged in. - ttrss: Show status block. - frontpage: Make app icons larger. - frontpage: Center shortcut text under icons. - frontpage: Move info to bottom and center. - firewall: Only show services that have completed setup. - firewall: Collapse port lists so they are hidden by default. - users: Make it harder to accidentally delete the only Plinth user. ## [0.11.0] - 2016-09-21 ### Added - Added loading icon for other busy operations. - Added basic front page with shortcuts to web apps, and information about enabled services. - Allow initial setup operation to happen without package installation. - networks: Add polkit rules for network management. - Update man page to add setup operations. - Add argument to list packages needed by apps. - networks: Add batctl as dependency. ### Fixed - users: Fixed checking restricted usernames. - users: Display error message if unable to set SSH keys. - help: Minor updates and fixes to status log. - Updated translations to fix weblate errors. - Fixed spelling errors in datetime and letsencrypt modules. - users: Flush nscd cache after user operations. - monkeysphere: Adopted to using SHA256 fingerprints. - monkeysphere: Sort items for consistent display. - monkeysphere: Handle new uid format of gpg2. - monkeysphere: Fixed handling of unavailable imported domains. - minetest: Fixed showing status block and diagnostics. - Fix stretched favicon. ### Changed - dynamicdns, monkeysphere, transmission, upgrades: Use actions where root is required, so that Plinth can run as non-root. - xmpp: Switched to using ruamel.yaml to modify ejabberd config. - Exit with error if any of the setup steps fail. - actions: Hush some unneeded output of systemd. - letsencrypt: Depend on the new certbot package. - Switch base template from container-fluid to container. This will narrow the content area for larger displays. - Readjust the responsive widths of various tables. - Print django migrate messages only in debug. - Tune log message verbosity. - Plinth no longer runs as root user. Fix all applications that were requiring root permission. - xmpp: Replace jwchat with jsxc. Bump module version number so current installs can be updated. - ikiwiki: Allow only alphanumerics in wiki/blog name. ### Removed - Remove width management for forms. ## [0.10.0] - 2016-08-12 ### Added - Added Disks module to show free space of mounted partitions and allow expanding the root partition. - Added Persian (fa) locale. - Added Indonesian (id) locale. - Added options to toggle Tor relay and bridge relay modes. - Added Security module to control login restrictions. - Added a page to display recent status log from Plinth. It is accessible from the 500 error page. - networks: Added ability to configure generic interfaces. - networks: Added 'disabled' IPv4 method. - networks: Added configuration of wireless BSSID, band, and channel. - networks: Added NetworkManager dispatcher script to configure batman-adv mesh networking. - radicale: Added access rights control. - tor: Added spinner when configuration process is ongoing. - Allowed --setup command to take a list of modules to setup. - Added Vagrantfile. - Added Snapshots module to manage Btrfs snapshots. ### Removed - networks: Removed hack for IP address fetching. ### Fixed - Improved Dynamic DNS status message when no update needed. - Improved Ikiwiki description. - Added check if a2query is installed before using it, since apache2 is not a dependency for Plinth. - networks: Fixed incorrect access for retrieving DNS entries. - Fixed issue with lost menus in Django 1.10. - Added workaround for script prefix problem in stronghold. - users: Fixed editing users without SSH keys. ### Changed - Added suggested packages for ikiwiki. Removed recommends since they are installed automatically. - users: Switched to using dpkg-reconfigure to configure several packages. This will work even if the package is already installed. - Bumped required version of Django to 1.10. ## [0.9.4] - 2016-06-14 ### Fixed - Fixed quoted values in nslcd config. ## [0.9.3] - 2016-06-12 ### Added - Added Polish translation. - Added check to Diagnostics to skip tests for modules that have not been setup. - Added sorting of menu items per locale. - Allowed setting IP for shared network connections. ### Fixed - Fixed issue preventing access to Plinth on a non-standard port. - Fixed issue in Privoxy configuration. Two overlapping listen-addresses were configured, which prevented privoxy service from starting. - Fixed issues with some diagnostic tests that would show false positive results. - Fixed some username checks that could cause errors when editing the user. - Switched to using apt-get for module setup in Plinth. This fixes several issues that were seen during package installs. ### Changed - Moved Dynamic DNS and Pagekite from Applications to System Configuration. ### Deprecated - Dealt with ownCloud removal from Debian. The ownCloud page in Plinth will be hidden if it has not been setup. Otherwise, a warning is shown. ### Removed - Removed init script and daemonize option. - Removed writing to PID file. ### Security - Fixed issue that could allow someone to start a module setup process without being logged in to Plinth. [0.16.0]: https://github.com/freedombox/Plinth/compare/v0.15.3...v0.16.0 [0.15.3]: https://github.com/freedombox/Plinth/compare/v0.15.2...v0.15.3 [0.15.2]: https://github.com/freedombox/Plinth/compare/v0.15.1...v0.15.2 [0.15.1]: https://github.com/freedombox/Plinth/compare/v0.15.0...v0.15.1 [0.15.0]: https://github.com/freedombox/Plinth/compare/v0.14.0...v0.15.0 [0.14.0]: https://github.com/freedombox/Plinth/compare/v0.13.1...v0.14.0 [0.13.1]: https://github.com/freedombox/Plinth/compare/v0.13.0...v0.13.1 [0.13.0]: https://github.com/freedombox/Plinth/compare/v0.12.0...v0.13.0 [0.12.0]: https://github.com/freedombox/Plinth/compare/v0.11.0...v0.12.0 [0.11.0]: https://github.com/freedombox/Plinth/compare/v0.10.0...v0.11.0 [0.10.0]: https://github.com/freedombox/Plinth/compare/v0.9.4...v0.10.0 [0.9.4]: https://github.com/freedombox/Plinth/compare/v0.9.3...v0.9.4 [0.9.3]: https://github.com/freedombox/Plinth/compare/v0.9.2...v0.9.3