diff --git a/docs/conf.py b/docs/conf.py index 51650c6c..d77832bf 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -47,16 +47,16 @@ master_doc = 'index' # General information about the project. project = 'Gluon' -copyright = '2014, Nils Schneider' +copyright = '2014, Project Gluon' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. -version = '2014.2' +version = '2014.3' # The full version, including alpha/beta/rc tags. -release = '2014.2' +release = '2014.3' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -200,7 +200,7 @@ latex_elements = { # author, documentclass [howto, manual, or own class]). latex_documents = [ ('index', 'Gluon.tex', 'Gluon Documentation', - 'Nils Schneider', 'manual'), + 'Project Gluon', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -230,7 +230,7 @@ latex_documents = [ # (source start file, name, description, authors, manual section). man_pages = [ ('index', 'gluon', 'Gluon Documentation', - ['Nils Schneider'], 1) + ['Project Gluon'], 1) ] # If true, show URL addresses after external links. @@ -244,7 +244,7 @@ man_pages = [ # dir menu entry, description, category) texinfo_documents = [ ('index', 'Gluon', 'Gluon Documentation', - 'Nils Schneider', 'Gluon', 'One line description of project.', + 'Project Gluon', 'Gluon', 'One line description of project.', 'Miscellaneous'), ] diff --git a/docs/index.rst b/docs/index.rst index a8a50049..cd6092ea 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -72,6 +72,15 @@ Supported Devices - WRT160NL +Releases +-------- + +.. toctree:: + :maxdepth: 1 + + releases/v2014.3 + + License ------- diff --git a/docs/releases/v2014.3.rst b/docs/releases/v2014.3.rst new file mode 100644 index 00000000..b392cc74 --- /dev/null +++ b/docs/releases/v2014.3.rst @@ -0,0 +1,131 @@ +Gluon 2014.3 +============ + +New hardware support +~~~~~~~~~~~~~~~~~~~~ +* Linksys WRT160NL + +New features +~~~~~~~~~~~~ + +New autoupdater +--------------- +The autoupdater has been rewritten and now limits the time in which updates are +performed normally to the span from 04:00 to 05:00. + +The manifest now has two new fields: DATE specifies the time the update was released +and is set automatically by ``make manifest``. PRIORITY specifies the maximum number of +days until the update should be performed (thus lower numbers mean the priority is higher). It must +be set either in ``site.mk`` or on the ``make manifest`` command line. + +During the days specified by PRIORITY the update probability will start at 0 and slowly rise to 1 +after all PRIORITY days have passed. If more than PRIORITY+1 days have passed, the updater will fall back +to hourly update attempts so nodes which are never active between 04:00 and 05:00 also get an update eventually. + +**Note:** For the new update logic to work, a valid NTP server reachable over the mesh (over IPv6) must +be configured in the ``site.mk``. When the updater can't determine the correct time, it will fall back to +a behavior similar to the old implementation. + +Seperation of announced data +---------------------------- +The data announced by alfred has been split into two data types: + +* *nodeinfo* (type 158) contains all static information about a node +* *statistics* (type 159) contains all dynamic information about a node + +Both types also contain a new field ``node_id`` which contains an arbitrary unique ID +(currently the primary MAC address) which can be used to correlate the *nodeinfo* +and *statistics* information. + +gluon-announced +--------------- +A new daemon has been added in a new package ``gluon-announced``. This daemon can be +used for querying the *nodeinfo* data of a node via link-local multicast on the ad-hoc +interfaces. + +At the moment, this daemon is not used, but we recommend including it in ``site.mk`` nevertheless +as we plan to implement a new status page showing some information about the neighbor nodes in +the next version of Gluon. + +VPN over IPv6 +------------- +Using fastd over IPv6 should now work fine (although it hasn't been tested extensively). + +Please note that the MTU 1426 used by many communities for VPN over IPv4 is too big for IPv6 as +the IPv6 header is 20 bytes longer (fastd over IPv4 has an overhead of 66 bytes, +fastd over IPv6 has an overhead of 86 bytes). + +More modular Config Mode +------------------------ +The package ``gluon-config-mode`` has been split up into multiple packages to simplify the development of own +extensions. The low-level logic (handling of the button, starting the services for the config mode) has been moved +into a new package ``gluon-setup-mode``, while ``gluon-config-mode`` only contains the frontend now. + +Extended Expert Mode +-------------------- +The Expert Mode how has a nice info page. In addition, the new package ``gluon-luci-portconfig`` has been added +which allows simple configuration of batman-adv on the WAN interface. + +Site validators +--------------- +The content of the ``site.conf`` is now validated when the images are built to make it less likely to accidentially +build broken images. + +gluon-firewall +-------------- +The package ``gluon-firewall`` has been removed, its features are now part of the packages ``gluon-core`` and +``gluon-mesh-batman-adv``. + +gluon-ath9k-workaround +---------------------- +This package installs a cron job which tries to recognize ath9k hangs and restart the WLAN while recording some information. +It is very rudimentary and we can't really recommend using it on "production" nodes. + +Bugfixes +~~~~~~~~ + +Improved ath9k stability +------------------------ +Multiple bugs in the WLAN driver ath9k were fixed upstream, which should greatly improve the WLAN stability. + +odhcp6c 50d-Bug +--------------- +An important update for odhcp6c fixes a bug which caused Gluon nodes to lose their IPv6 addresses on br-client after an uptime +of 50 days, making the nodes unable perform an automated update (besides other issues). + +IPv6 preference +--------------- +Commands like ``wget`` now prefer IPv6 for domains with both AAAA and A records, allowing to use such domains for the autoupdater URLs +and as NTP servers in the ``site.conf``. + +Site changes +~~~~~~~~~~~~ +* ``site.conf`` + + - The ``probability`` fields for the autoupdater branches can be dropped as they aren't used anymore + - The type of the ``enabled`` options of the ``gluon-simple-tc`` configuration has been changed to boolean, so ``true`` and ``false`` must be used instead of 1 and 0 now + +* ``site.mk`` + + - Obsolete packages: + + + ``gluon-firewall`` + + - Recommended new packages: + + + ``gluon-announced`` + + ``gluon-luci-portconfig`` + + - GLUON_PRIORITY must be set in ``site.mk`` or on the ``make manifest`` commandline. Use ``GLUON_PRIORITY ?= 0`` in ``site.mk`` to allow overriding it on the commandline. + +Internals +~~~~~~~~~ +Some internal changes not mentioned before which are interesting for developers: + +* Many more shell scripts have been converted to Lua +* ``gluon-mesh-vpn-fastd`` now uses the new package ``gluon-wan-dnsmasq``, which provides a secondary DNS server on port 54 + that is only reachable from *localhost* and uses the DNS servers on the WAN interface for everything. This allowed us to + remove some ugly hacks which were making the DNS servers used depend on the domain being resolved. + + For IPv6, the default route is now controlled via packet marks, so the secondary DNS server and fastd set the packet mark + so they use the default route provided on the WAN interface instead of the mesh.