Skip to content

Releases: arkOScloud/genesis

v0.8.1 "Galileo"

19 Oct 19:48
57d61cb
Compare
Choose a tag to compare

This is a bugfix release for arkOS 0.8 "Galileo".

Genesis fixes

  • b7ecf75 Fix typo preventing file manager downloads
  • 24ec22e Fix bug preventing error submission to GRM
  • 680fb4f Handle backup failure more gracefully
  • d1f7798 Display and properly handle website updates
  • d5c6e5c Fix setting user password on edit
  • 57d61cb Properly display full name when no last name exists

v0.8.0 "Galileo"

12 Oct 02:59
ac6de41
Compare
Choose a tag to compare
  • Migrate to Python 3.x (Core and Kraken)
  • Full redesign and simplification using Semantic UI (Genesis)
  • Serve a pre-compiled version of Genesis, removing the need for on-device builds
  • Create File Shares services framework: allow automatic integration of shares and mounts for Samba, AFP and NFS
  • ACME (Let's Encrypt) certificates available for request through Certificates framework
  • Automatically forward ports for sites and services with your router, thanks to uPnP
  • Notifications framework: send notifications to both the log, the API and the user
  • WebSockets support for live notifications and model updates (Kraken and Genesis)
  • Add IPv6 and HTTP/2 support by default for new websites
  • Improve exception handling and logging, both inside and outside of threaded jobs
  • New arkosctl command-line utility
  • Disk usage added to Statistics
  • Add custom firewall rules through the interfaces
  • Version checks for apps, system and language packages
  • Website 'extra options' and 'actions' now generated on-the-fly in Genesis
  • Use GRM to test if domains are properly assigned and ports are open/forwarded (experimental)
  • Create unit testing system (experimental) and include tests for LDAP integrations
  • Improved deployment through arkosctl init commands and default configuration
  • Style updates: Python to PEP8/flake and JavaScript through jslint
  • Many, many bug fixes and performance improvements, and a holiday surprise!

v0.6.2

19 Oct 19:08
Compare
Choose a tag to compare
v0.6.2 Pre-release
Pre-release

Bugfixes

  • 5d5cc20 SSLv3 support removed in new websites due to POODLE vulnerability
  • 6689791 User and group searches with no matches no longer fail with exceptions
  • 6689791 File manager now properly evaluates UID/GID for users with capital letters in their username in Genesis
  • 6689791 Websites with present metadata files but no serverblock are now ignored
  • 3dd5bbd Webapp sources can now have .tgz extension
  • 1808b7b Error reports now include plugin versions

Plugin Changes

  • New plugins: db131a1 DokuWiki (thanks @heinzK1X!), 55b85ed Lychee (thanks @keybits!), 1110a18 Haste
  • New versions: 2d58c5a Wallabag 1.8, 2801784 Ghost 0.5.2, 41b979d f8cbb7b Syncthing 0.10 (waiting on upstream package)
  • c633592 [Wallabag 1.8.0-2] Properly implements SQLite3 database option; creates first user during site setup wizard
  • 91e7051 [ownCloud 7.0.2-2] Update included NGINX rules for latest versions
  • a89ce1e [MariaDB 2.7] Properly commit inserts when added via execute()
  • 3124ade [SQLite3 2] Implement system group for access rights to databases
  • 4cc12b8 [SSH 0.5] Ignore username capital letter conflicts

v0.6.1

28 Sep 00:38
Compare
Choose a tag to compare
v0.6.1 Pre-release
Pre-release

Bugfixes

  • Adding users no longer produces an error when trying to display the confirmation dialog
  • Dropping databases no longer fails and will now always drop the correct database ;)
  • NGINX reload failures after site edits now launch an alert rather than crashing the interface
  • "Show hidden files" button no longer fails with an error if the user is in Anonymous mode
  • First Run wizard no longer fails if cron or sudo aren't reachable right away
  • Database user change permission dialog now properly closes and shows database lists
  • Website metadata is now properly moved/edited on site changes
  • First Run now forces logout on completion, evading various bugs including when using SSH plugin during the first session
  • Group edit dialog now properly saves changes
  • Networking, Databases and System Monitor panes no longer randomly crash when certain values aren't available
  • Firewall plugin no longer randomly crashes when certain plugins are uninstalled
  • Settings entered for Certificates (keytype and length) are now properly saved for use during the same session
  • Websites pane Update function no longer causes crashes when used with certain site types
  • server_names_hash_bucket_size value of NGINX config now editable via the Settings dialog in Websites pane
  • Reverse Proxy sites no longer throw various errors when attempts made to remove them
  • Hardware identification on boot no longer crashes on certain platforms
  • Certificate info dialog no longer complains of missing value in list

v0.6 "Panoply"

17 Jul 22:50
Compare
Choose a tag to compare
v0.6 "Panoply" Pre-release
Pre-release

Core Updates

  • Complete redesign and restructuring of application's visual interface; including new tables, menus and widgets, and redesign of First Run wizard
  • Applications transitioned to "App Store", organized by categories and showing logos/screenshots where applicable
  • Supervisor services framework integrated into core: Operate and control Supervisor services from the Services pane, just like for regular system services
  • App installs/uninstalls/verifications are now smoother and executed more efficiently
  • App installs and uninstalls will now install/uninstall all required dependency apps as necessary
  • Help subsystem: display a custom help page for each plugin/framework currently being used (actual contents coming soon)
  • Filesystems
    • Filesystems, both regular and encrypted, are now generated much faster
    • Allow user customization of default filesystem encryption methods
  • File Manager
    • Redesign and addition of new options in toolbar
    • Added "Go" menu to quickly jump between important HD locations ("Points of Interest")
    • Allow opening of text files in Notepad by clicking the file name
  • Certificates
    • Improved speed for certificate generation and assignment
    • Display additional info about certificates and keys, including SHA1 and MD5 fingerprints
    • Certificates are now created with group access rights for the system ssl-cert user, allowing apps to access them properly
  • Websites
    • Allow one-click updates for websites that don't know how to update themselves
    • Databases now created in the backend rather than from plugin code itself
    • Websites that support multiple database types now offer the choice to the user as to which to use on install
    • Set file upload limits from within the app
  • Databases
    • Allow upload SQL file to database and download SQL file as backup
    • Updates to SQL execution display
  • Additional First Run options and system information for Cubieboard2 and Cubietruck
  • Create option on bug report page for automatically sending in bug reports to Genesis developers
  • Most system information calls in Statistics, Services, Task Manager and Filesystems moved from shell calls to Python psutil
  • Moved to Core: Notepad, Packages, Scheduled Tasks, Supervisor, Task Manager, Terminal
  • Removed Logs plugin in favour of revamped Notepad plugin
  • Updates to frameworks that Genesis uses regularly, including Bootstrap 3, jQuery, pyte and CodeMirror
  • Added Font Awesome as a possible choice for in-app icons
  • Some sections now allow the "Enter" button to advance rather than requiring a click to "OK" or "Next" etc.
  • Many alert messages have been clarified, both in appearance and language used

App Updates

  • Added File Sync app: based on Syncthing, an open-source replacement for BitTorrent Sync
  • Added Mumble Server and Etherpad apps (thanks @heinzK1X!)
  • Added Gitweb app
  • Calendar/Contacts: Improved initial setup and operation, thanks in large part to Supervisor core integration
  • MariaDB & SQLite3: Functional updates to how database queries are executed and displayed
  • Mailserver: Database backend moved to SQLite3, resulting in significant performance improvements
  • Transmission: allow editing of all configuration file options
  • Basic Website: improve database selection, creation and install process
  • All webapps updated to latest versions
  • Removed Execute app in favour of Terminal
  • Removed Advanced Users app and migrated some features into core Users pane

Bugfixes

  • Logouts now function properly
  • Filesystems can now be properly and consistently mounted/unmounted
  • Improvements to synchronous status message system, fixing disappearing alert messages after a few seconds
  • All services, regardless of running state, now properly show in the Services pane
  • Buttons and other elements behind generated tooltips are no longer blocked from access once the tooltips disappear
  • Scrolling to top now works properly in additional browsers
  • Packages plugin now properly posts its status information to messages instead of saying nothing
  • All website types can now be properly removed without giving list index errors

v0.5.1

20 Mar 23:16
Compare
Choose a tag to compare
v0.5.1 Pre-release
Pre-release

Core Updates

  • Filesystems overhaul
    • Filesystems plugin moved to Core
    • Allows creation of regular and encrypted file containers
  • Points of Interest (POI) framework
    • Records locations of file containers, mounts
    • Lays groundwork for future integration into File Manager and Webapps frameworks
  • Language Assistants API
    • Allows creation of helper plugins to streamline common operations per language, global installs of prerequisites, etc
  • Architecture and board type is now tracked and identified via a mechanism on startup
  • Webapps: HTTP hits to sites on standard ports (80/443) now redirect to HTTPS when SSL is enabled
  • Webapps can be installed via git clone or unzipping ZIP archives
  • Created framework to ease communication and passing orders between non-core plugins
  • Date and time formats now customizable via the Genesis Settings plugin
  • Widget added to track temperature in the System Monitor (Raspberry Pi only)

Plugin Updates

  • ownCloud can now be installed to custom data directories and POIs
  • Ghost blogging webapp plugin added
  • Calendar/Contacts server plugin (Radicale) added
  • Supervisor process control plugin added
  • XMPP chat server (Prosody) plugin added
  • SparkleShare file hosting system plugin added
  • Wallabag RSS reader webapp plugin added
  • Reverse Proxy webapp plugin added
  • Language assistant plugins added for PHP, Ruby, Python, NodeJS
  • Miscellaneous updates and edits to ownCloud, WordPress, MariaDB, Jekyll, Basic Site

Bugfixes

  • Plugins can now be removed without throwing errors during validation checks
  • An old reference to a PHP config file that caused errors when starting Nginx has now been completely removed
  • The Networking plugin no longer crashes when using OpenVPN tunnels
  • Installing Python modules doesn't fail as spectacularly
  • Certificates can now be assigned/unassigned if there was an error assigning/unassigning prior
  • System time is now properly set when using the button in System Settings
  • System time is now properly checked for when Genesis starts
  • Webapp package downloads now properly raise errors if an HTTP error is encountered
  • Downloading the plugin list on boot now properly returns errors if they are encountered
  • Networking plugin only greps for IPv4 address instead of failing sometimes if an IPv6 one was found too
  • SSL certificates are now properly signed by the generated certificate authority
  • Names for SSL certificates are now properly checked for forbidden characters before generation/assignment
  • Certain names including the word "test" can now be used with Jekyll and Basic sites
  • Networks that are enabled in the Networking plugin are now more clearly distinguished
  • Errors are no longer thrown when a user tries to log out when they are in Anonymous mode

v0.5

05 Feb 21:04
Compare
Choose a tag to compare
v0.5 Pre-release
Pre-release

Core Updates

  • File Manager plugin overhaul
    • File Manager plugin moved to Core
    • Allows upload/download of files from the browser window
    • Upload/download of folders from browser window, to and from archive formats (.tar.gz, .zip, .tar.bz2, etc)
    • Hide hidden files by default, show/hide with push of a button
    • Directories can now be added absolutely and recursively
  • Certificates plugin
    • Allow upload of externally-purchased SSL certs
    • Generate certificate authority (CA) and allow to download
    • Allow custom key lengths and types
    • Better field validation
  • Major overhaul of plugin metadata infrastructure, access and management (in preparation for future updates)
  • Change reposerver API to interact in JSON, and removed unnecessary string evaluations to improve security
  • Network plugin overhaul: field verification, improved code, improved error handling, and simplified interface
  • Move system options to new System Settings page. Allow for management of Beacon and Logrunner, change hostname and timezone, etc
  • System time management: Check for time continuity on startup, see time difference on System Settings page and force check
  • Database plugin now allows setting of root passwords for database engines that allow this. DB operations must now be done after a successful login, and root passwords must be set on first use
  • Improved field and naming verification in the Databases plugin
  • Created python-nginx module for parsing serverblocks, and switched Webapps plugin to use it, resulting in performance and reliability improvements on adding/editing sites
  • Improved field and naming verification in the Webapps plugin, integrated it with new updates to the Database plugin (root logins), use the locally-understood hostname as default site address, and allowed adding sites based on subdomain
  • Updated JS/AJAX to more easily allow file uploads in plugins and core
  • Log plugin list retrieval errors with reasons
  • Prompt to remove the home folder when user is removed
  • Prompt the user to stay on the Genesis webpage if they try to close it in their browser while an operation is taking place
  • Security rule processing is done on boot instead of on first page load, reducing wait time
  • Password verification added in JS
  • Improved fetching status message queue and displaying of messages
  • Improved logging of core login attempts, and added fail2ban rules for Genesis, manageable via Security plugin
  • Services can now be enabled/disabled from the Status buttons of ServiceControlPlugins
  • Show only the last 50 lines of action in bug reports, to improve accessibility and reduce spam
  • Updated PHP plugins to use xCache instead of APC in keeping with Arch convention
  • Python modules are now installed if they are missing (reload still needed to use them, though)
  • Login screen has a new colour and logo

Plugin Updates

  • MariaDB plugin now uses Python MySQL plugin instead of using shell calls
  • SQLite3 plugin now uses Python SQLite3 plugin instead of using shell calls
  • Custom websites now added via the "Basic Website" plugin
  • Basic Websites: PHP sites based in "htdocs" subfolder
  • Samba plugin: removed obsolete options, simplified interface and operation
  • Transmission plugin: RPC-whitelist option can now be edited

Bugfixes

  • Naming conflicts are now correctly captured in the Webapps, Databases, and Certificates plugins
  • Network plugin fields will no longer randomly throw errors (due to better field validation and read testing)
  • Package Manager plugin now uses separate UIs for each tab, making Search function more intuitive
  • SQL execution via the Databases plugin now properly formats errors in the execution dialog
  • First Run wizard no longer allows forbidden characters in user creation
  • Password updates no longer need to be effectuated by clicking the evil little green checkmark
  • ownCloud plugin now enables the proper PHP modules when a new site is installed
  • ownCloud plugin now does not throw errors on use of xCache
  • ownCloud custom SSL certificate is now added to ca-certificates when generated
  • Webapps plugin no longer crashes if a site wasn't expected to have SSL but does
  • Time is now more reliably checked in the Certificates plugin when generating an SSL cert
  • SSH plugin no longer crashes on every little significant thing (like unexpected usernames)
  • Certificates plugin now no longer (occasionally) fails to generate a second certificate
  • Disk usage widget only has one line named "Total" now instead of two
  • Reload/restart terminology has been clarified, once again
  • Scripts and stylesheets from core loaded first before those from plugins

v0.4.1

19 Oct 15:55
Compare
Choose a tag to compare
v0.4.1 Pre-release
Pre-release

Bugfix Release

  • FIXED: When a plugin is removed, it is now immediately removed from the Applications list (a refresh is still required before it is removed from the sidebar)
  • FIXED: The First Run wizard now checks for plugin dependency and conflict like the Applications manager does
  • FIXED: The Settings page no longer shows SSL options, requiring users to go through the new Certificates framework, to reduce confusion and errors
  • FIXED: The Package Manager plugin no longer allows checking Info of packages that are not installed (limitation of pacman)
  • FIXED: The user created during the First Run wizard is now properly added to the sudo group
  • FIXED: Custom websites added with the PHP flag now properly have PHP enabled
  • FIXED: If a System Monitor widget encounters an error while loading, it can now be removed via a "Clean Up" button that appears
  • FIXED: Automatic resizing of the SD card now works (for real this time!)
  • FIXED: The WordPress plugin no longer comments out the keys obtained via the WP API
  • FIXED: Changing SSH options now properly restarts the SSH daemon
  • FIXED: The embedded webapp functionality (like Transmission uses) now properly redirects to HTTP/HTTPS depending on app settings and Genesis SSL status
  • FIXED: The "Generate Certificate" form no longer bothers with an error if the form is cancelled
  • FIXED: The terms "reload", "restart" and "reboot" in various functions of Genesis have been revised and clarified

v0.4

06 Oct 00:47
Compare
Choose a tag to compare
v0.4 Pre-release
Pre-release

Core Updates

  • Security API/Framework completed:
    • Enables a configurable firewall, blocking traffic by default and only allowing through the services that you need
    • Allow services to be available the entire Internet, only to your local area network, or to nobody at all
    • Enables a defence system (Fail2ban) for individual plugins that allows intrusion attempts to be detected and mitigated
  • Certificates API/Framework completed:
    • Allows the generation and management of self-signed SSL certificates
    • Automatically assign an SSL certificate to a plugin or a webapp, enabling SSL on that service
  • Long-running processes can now display status messages instead of the stock loading spinner
  • Plugin and webapp installation displays status messages during installation
  • Plugins with associated running services (daemons) now feature a button for easy access to start/stop/restart
  • Plugins with associated web applications to manage them can now have a redirect in Genesis
  • Webapps Framework Updates:
    • Integration with Security framework: webapp ports are automatically registered to the firewall
    • Integration with Certificates framework: SSL enabled when a certificate is provisioned for a specific webapp. Custom actions can occur for SSL enable/disable depending on webapp type
  • More detail given to user confirmation before dangerous operations
  • Config option added to reduce RPi memory split
  • Root password can now be set via the First Run wizard

Plugin Updates

New plugins to manage:

  • Jekyll static site and blog generator
  • Transmission BitTorrent client (thanks @wwilson!)

Other changes:

  • Executing commands via Shell plugin is now done as the logged-in user and not root

Bugfixes

  • Fixed: Applications pane will now stop you if you try to install a plugin before its dependency, or to remove it while others depend on it
  • Fixed: Webapps pane will now stop you from installing a webapp if it requires a database service that is not running
  • Fixed: SSL can now be properly enabled in Genesis
  • Fixed: Disk resizes properly take effect after the first run
  • Fixed: Custom website installs via the Webapps plugin work now
  • Fixed: Webapps can now have their name changed and still work
  • Fixed: Samba plugin now has basic functionality (has not been reviewed yet, though)
  • Fixed: Users created through the First Run wizard and user plugins now have home directories and control over them
  • Fixed: Shebangs are now properly rewritten in all modules

v0.3

15 Jul 19:35
Compare
Choose a tag to compare
v0.3 Pre-release
Pre-release

Core Updates

  • Webapps API/Framework completed:
    • Add and remove websites, automatically downloading from source and formatting as necessary
    • Automatically generate nginx serverblocks based on given information
    • Activate and serve new sites on-the-fly
    • Manage nginx and PHP server processes when needed
    • Modular framework for easily adding and managing new webapp types
  • Databases API/Framework completed:
    • Add and remove databases
    • Add, remove and modify permissions for database users
    • Execute database commands
    • Modular framework for easily adding new database types in the future
  • In-App updates:
    • When an update is detected, the app will display a message
    • Updates can be installed from the Config menu automatically
    • Can manually check for new updates
  • Performance greatly improved for Services plugin
  • Plugins stand out more when they cannot be activated at runtime
  • Plugin dependency checks are faster and less resource-intensive
  • HTTP requests no longer printed to logfiles, to lessen logspam
  • User created in First Run wizard now automatically a sudoer
  • Users given the option to purge server data associated with dependencies on app removal

Plugin Updates

New plugins to manage:

  • MariaDB/MySQL databases
  • SQLite3 databases
  • Wordpress installations
  • ownCloud installations
  • Custom Website installations

Other changes:

  • SSH plugin performance and accuracy improved
  • DNS and Hosts plugins removed, merged into core Networking plugin

Bugfixes

  • Fixed: only remove plugin dependencies on removal if the plugin is the last one that requires those dependencies
  • Fixed: Terminal plugin responds to keypresses once again (thanks @explorigin)
  • Fixed: news widget articles were not sorted by date
  • Fixed: the system monitor no longer crashes when a widget raises an exception; the exception is logged and the widget is disabled
  • Fixed: dotted-line widget handle shows up again
  • Fixed: issuing multiple modify/delete calls in one AJAX session blacked the screen and/or gave wrong results
  • Fixed: Network plugin widget no longer crashes on empty lines