FreedomBox/CHANGELOG.md
James Valleroy b2c33bcbbd
Update changelog
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2017-11-06 18:19:00 -05:00

16 KiB

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.