Skip to content

Commit 0a75ae0

Browse files
haukepetersenmiri64
authored andcommitted
RELEASE 2016.04
RIOT-2016.04 - Release Notes ============================ RIOT is a real-time multi-threading operating system that supports a range of devices that are typically found in the Internet of Things: 8-bit microcontrollers, 16-bit microcontrollers and light-weight 32-bit processors. RIOT is based on the following design principles: energy-efficiency, real-time capabilities, small memory footprint, modularity, and uniform API access, independent of the underlying hardware (this API offers partial POSIX compliance). RIOT is developed by an international open source community which is independent of specific vendors (e.g. similarly to the Linux community) and is licensed with a non-viral copyleft license (LGPLv2.1), which allows indirect business models around the free open-source software platform provided by RIOT. About this release: =================== This release adds support for two additional network stacks: lwIP and emb6. A bunch of additional protocols are now available, P2P-RPL in the GNRC network stack, Ethernet-over-Serial (ethos). Murdock, the new, blazing fast RIOT CI is now available to significantly speed up code merging procedures. This release also adds support for a number of new boards and sensors and a new tool for automated border router setup is now provided which greatly simplifies that setup for newbies as well as for old-timers. Last but not least: this release includes a number of bug fixes, mostly about stabilizing and enhancing the networking capabilities of RIOT. About 470 pull requests with about 1196 commits have been merged since the last release and 127 additional issues have been solved. 55 people contributed code in 124 days. 1521 files have been touched with ~91700 insertions and ~42200 deletions. Notations used below: ===================== + means new feature/item * means modified feature/item - means removed feature/item New features and changes ======================== General ---------- + added Makefile support for creating a "binary distribution", making it easier to create closed source applications while still complying to LGPL Testing
1 parent 77cf00b commit 0a75ae0

File tree

1 file changed

+225
-0
lines changed

1 file changed

+225
-0
lines changed

release-notes.txt

+225
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,228 @@
1+
RIOT-2016.04 - Release Notes
2+
============================
3+
RIOT is a real-time multi-threading operating system that supports a range of
4+
devices that are typically found in the Internet of Things: 8-bit
5+
microcontrollers, 16-bit microcontrollers and light-weight 32-bit processors.
6+
7+
RIOT is based on the following design principles: energy-efficiency, real-time
8+
capabilities, small memory footprint, modularity, and uniform API access,
9+
independent of the underlying hardware (this API offers partial POSIX
10+
compliance).
11+
12+
RIOT is developed by an international open source community which is
13+
independent of specific vendors (e.g. similarly to the Linux community)
14+
and is licensed with a non-viral copyleft license (LGPLv2.1), which allows
15+
indirect business models around the free open-source software platform
16+
provided by RIOT.
17+
18+
About this release:
19+
===================
20+
This release adds support for two additional network stacks: lwIP and emb6.
21+
A bunch of additional protocols are now available, P2P-RPL in the GNRC
22+
network stack, Ethernet-over-Serial (ethos). Murdock, the new, blazing fast
23+
RIOT CI is now available to significantly speed up code merging procedures.
24+
25+
This release also adds support for a number of new boards and sensors and a new
26+
tool for automated border router setup is now provided which greatly simplifies
27+
that setup for newbies as well as for old-timers. Last but not least: this
28+
release includes a number of bug fixes, mostly about stabilizing and enhancing
29+
the networking capabilities of RIOT.
30+
31+
About 470 pull requests with about 1196 commits have been merged since the last
32+
release and 127 additional issues have been solved. 55 people contributed code
33+
in 124 days. 1521 files have been touched with ~91700 insertions and ~42200
34+
deletions.
35+
36+
Notations used below:
37+
=====================
38+
+ means new feature/item
39+
* means modified feature/item
40+
- means removed feature/item
41+
42+
New features and changes
43+
========================
44+
General
45+
----------
46+
+ added Makefile support for creating a "binary distribution", making it easier to create closed source applications while still complying to LGPL
47+
48+
Testing
49+
---
50+
+ Murdock, the new RIOT CI
51+
+ unified pexpect code
52+
+ added various new unittests and test applications
53+
54+
Core
55+
----
56+
+ added thread flags, a new method to signal events in an efficient and thread safe manner
57+
+ messaging is now compile-time optional, shaving off some bytes off each thread's state struct for projects not requiring it
58+
+ new, simpler list implementation increases mutex and msg performance
59+
60+
Network Stack
61+
---
62+
+ P2P-RPL (RFC6997)
63+
+ netdev2_test: test framework for users of the netdev2 API
64+
65+
Packages
66+
---
67+
+ emb6 network stack
68+
+ jsmn (minimal JSON parser)
69+
+ lwIP network stack
70+
+ unified and streamlined git package source handling
71+
+ added support for caching git repositories
72+
73+
Platforms
74+
---
75+
+ reworked existing peripheral drivers and added SPI driver for arduino-mega2560
76+
+ added support for nRF52dk
77+
+ added support for nucleo-f072 and nucleo-f103
78+
+ unified LED macros for all boards
79+
80+
Drivers
81+
---
82+
+ ethos "ethernet over serial" driver, enabling shared uart + network communication over one serial connection
83+
+ RHOM BH1750FVI ambient light sensor
84+
+ ST LIS3MDL three-axis magnetic sensor
85+
+ Silicon Labs Si70xx low-power temperature + humidity sensor
86+
+ simplified GPIO driver interface
87+
+ AES encryption for xbee radio driver
88+
+ added ADC mapping to SAUL
89+
90+
Sytem libraries
91+
---
92+
- vtimer support was dropped completely and removed
93+
94+
Build System
95+
---
96+
+ made build system safe for concurrent building of multiple applications
97+
+ desvirt integration into the RIOT build system
98+
99+
Other
100+
---
101+
- simplified border router setup tool (single UART and automation script)
102+
103+
API changes
104+
---
105+
* at86rf2xx was moved from gnrc_netdev to the netdev2 API
106+
* genrand_* -> random_*
107+
* xtimer_remove() no longer returns whether a timer was actually removed
108+
* disableIRQ(), enableIRQ(), restoreIRQ(), inISR() -> irq_disable(), irq_enable(), irq_restore(), irq_is_in()
109+
* renamed periph/random to periph/hwrng
110+
111+
Fixed Issues from the last release
112+
==================================
113+
* #3109: periph/random: random_read should return unsigned int
114+
* #3970: RPL: Advertise DODAG only over the assigned interface
115+
* #4462: IPHC/NHC broken between Linux and a RIOT node with a RIOT-based border router in between.
116+
* #4608: tests/xtimer_usleep_until: unstable behaviour
117+
118+
Known Issues
119+
==========
120+
----------------------
121+
* #3075: nhdp: unnecessary microsecond precision
122+
NHDP works with timer values of microsecond precision which is not required. Changing
123+
to lower precision would save some memory.
124+
* #3086: Max. packet length for AT86RF2XX
125+
The size of the link-layer header is not dynamically calculated, but instead the maximum
126+
size is always assumed.
127+
* #4048: potential racey memory leak
128+
According to the packet buffer stats, flood-pinging a multicast destination may lead to a
129+
memory leak due to a race condition. However, it seems to be a rare case and a
130+
completely filled up packet buffer was not observed.
131+
* #5005: ndp: router advertisement sent with global address
132+
Under some circumstances a router might send RAs with GUAs. While they are ignored
133+
on receive (as RFC 4861 specifies), RAs should have link-local addresses and not even
134+
be send out this way.
135+
* #5007: gnrc icmpv6: Ping reply goes out the wrong interface
136+
* #5055: cpuid: multiple radios will get same EUI-64
137+
Nodes with multiple interfaces might get the same EUI-64 for them since they are generated
138+
from the same CPU ID
139+
* #5230: gnrc ipv6: multicast packets are not dispatched to the upper layers
140+
* #5388: gnrc_sixlowpan_iphc_nhc: receiving NHC compressed UDP packets hits assert in IPv6
141+
Fix already provided in #5281, but did not made it into the release due to its complexity
142+
* #5390: pkg: OpenWSN does not compile
143+
This package still uses deprecated modules and was not tested for a long time
144+
145+
native related issues
146+
---------------------
147+
* #495: native not float safe
148+
When the FPU is used when an asynchronous context switch occurs, either the
149+
stack gets corrupted or a floating point exception occurs.
150+
* #534: native debugging on osx fails
151+
Using valgrind or gdb with a nativenet target in OSX leads to "the network"
152+
being stuck (gdb) or the whole process being stuck (valgrind).
153+
* #3341 and #3824: nativenet crashes when hammered
154+
Flood-pinging a native instance from more than one host (either multiple threads on the
155+
host system or multiple other native instances), leads to a SEGFAULT
156+
157+
other platform related issues
158+
-----------------------------
159+
* #4560: make: clang is more pedantic than gcc
160+
oonf_api is not building with clang.
161+
* #4583: cpp11: clang doesn't allow `mutex_t` to be used with `constexpr`
162+
All cpp11-* tests fail with clang.
163+
* #4866: not all GPIO driver implementations are thread safe
164+
Due to non-atomic operations in the drivers some pin configurations might get lost
165+
166+
other issues
167+
------------
168+
* #1263: TLSF implementation contains (a) read-before-write error(s)
169+
* #2761: core: define default flags
170+
If a thread is created without the corresponding flag (CREATE_STACKTEST),
171+
the ps command will yield wrong numbers for the stack usage
172+
* #2927: core: Automatically select the lowest possible LPM mode
173+
Not all available low power modes (LPMs) are implemented for each platform and the
174+
concept of how the LPM is chosen needs some reconsideration
175+
* #2967: Makefile.features: location is not relevant for all features
176+
Provided features for the build system should be split up into a board and cpu specific
177+
part
178+
* #4488: Making the newlib thread-safe
179+
When calling puts/printf after thread_create(), the CPU hangs for DMA enabled uart drivers.
180+
* #4841: xtimer: timer already in the list
181+
Under some conditions an xtimer can end up twice in the internal list of the xtimer module.
182+
* #5338: xtimer: xtimer_now() not ISR safe
183+
For non-32-bit platforms
184+
185+
Special Thanks
186+
===============
187+
We like to give our special thanks to all the companies that provided us with
188+
their hardware for porting and testing, namely the people from (in alphabetical
189+
order): Atmel, Freescale, Limifrog, Nordic, OpenMote, Phytec, SiLabs, UDOO,
190+
and Zolertia; and also companies that directly sponsored development time:
191+
Cisco Systems, Eistec, Ell-i, Enigeering Spirit, FreshTemp LLC, and Phytec.
192+
193+
More information
194+
================
195+
http://www.riot-os.org
196+
197+
Mailing lists
198+
-------------
199+
* RIOT OS kernel developers list
200+
* devel@riot-os.org (http://lists.riot-os.org/mailman/listinfo/devel)
201+
* RIOT OS users list
202+
* users@riot-os.org (http://lists.riot-os.org/mailman/listinfo/users)
203+
* RIOT commits
204+
* commits@riot-os.org (http://lists.riot-os.org/mailman/listinfo/commits)
205+
* Github notifications
206+
* notifications@riot-os.org (http://lists.riot-os.org/mailman/listinfo/notifications)
207+
208+
IRC
209+
-----
210+
* Join the RIOT IRC channel at: irc.freenode.net, #riot-os
211+
212+
License
213+
=======
214+
* Most of the code developed by the RIOT community is licensed under the GNU
215+
Lesser General Public License (LGPL) version 2.1 as published by the Free
216+
Software Foundation.
217+
* Some external sources are published under a separate, LGPL compatible license
218+
(e.g. some files developed by SICS).
219+
220+
All code files contain licensing information.
221+
222+
223+
224+
225+
1226
RIOT-2015.12 - Release Notes
2227
============================
3228
RIOT is a real-time multi-threading operating system that supports a range of

0 commit comments

Comments
 (0)