docs: add 2014.3 release notes

This commit is contained in:
Matthias Schiffer 2014-08-02 21:33:10 +02:00
parent ae79ab53d4
commit f2c3446aa7
3 changed files with 146 additions and 6 deletions

View File

@ -47,16 +47,16 @@ master_doc = 'index'
# General information about the project. # General information about the project.
project = 'Gluon' project = 'Gluon'
copyright = '2014, Nils Schneider' copyright = '2014, Project Gluon'
# The version info for the project you're documenting, acts as replacement for # The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the # |version| and |release|, also used in various other places throughout the
# built documents. # built documents.
# #
# The short X.Y version. # The short X.Y version.
version = '2014.2' version = '2014.3'
# The full version, including alpha/beta/rc tags. # The full version, including alpha/beta/rc tags.
release = '2014.2' release = '2014.3'
# The language for content autogenerated by Sphinx. Refer to documentation # The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages. # for a list of supported languages.
@ -200,7 +200,7 @@ latex_elements = {
# author, documentclass [howto, manual, or own class]). # author, documentclass [howto, manual, or own class]).
latex_documents = [ latex_documents = [
('index', 'Gluon.tex', 'Gluon Documentation', ('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 # 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). # (source start file, name, description, authors, manual section).
man_pages = [ man_pages = [
('index', 'gluon', 'Gluon Documentation', ('index', 'gluon', 'Gluon Documentation',
['Nils Schneider'], 1) ['Project Gluon'], 1)
] ]
# If true, show URL addresses after external links. # If true, show URL addresses after external links.
@ -244,7 +244,7 @@ man_pages = [
# dir menu entry, description, category) # dir menu entry, description, category)
texinfo_documents = [ texinfo_documents = [
('index', 'Gluon', 'Gluon Documentation', ('index', 'Gluon', 'Gluon Documentation',
'Nils Schneider', 'Gluon', 'One line description of project.', 'Project Gluon', 'Gluon', 'One line description of project.',
'Miscellaneous'), 'Miscellaneous'),
] ]

View File

@ -72,6 +72,15 @@ Supported Devices
- WRT160NL - WRT160NL
Releases
--------
.. toctree::
:maxdepth: 1
releases/v2014.3
License License
------- -------

131
docs/releases/v2014.3.rst Normal file
View File

@ -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.