Skip to content

Commit 36e55c8

Browse files
committed
2015.09: added release notes
1 parent 1c68c8f commit 36e55c8

File tree

1 file changed

+293
-0
lines changed

1 file changed

+293
-0
lines changed

release-notes.txt

+293
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,296 @@
1+
RIOT-2015.09 - 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: devices based on
5+
8-bit microcontrollers, 16-bit microcontrollers and light-weight 32-bit
6+
processors.
7+
8+
RIOT is based on the following design principles: energy-efficiency, real-time
9+
capabilities, small memory footprint, modularity, and uniform API access,
10+
independent of the underlying hardware (this API offers partial POSIX
11+
compliance).
12+
13+
RIOT is developed by an international open source community which is
14+
independent of specific vendors (e.g. similarly to the Linux community).
15+
16+
About this release:
17+
============
18+
This release introduces the GNRC network stack, a completely new, highly
19+
modularized and configurable IPv6/6LoWPAN stack. It also includes xtimer as a
20+
new timer subsystem for accurate short- and long-term timers. Moreover,
21+
peripheral drivers, board, and CPU support has been tidied up and contains
22+
about 50% less duplication in the build system.
23+
24+
About 580 pull requests with about 2,500 commits have been merged since the
25+
last release and 120 additional issues have been solved. 62 people contributed
26+
code in 278 days. 2578 files have been touched with ~320,000 insertions and
27+
~134,000 deletions.
28+
29+
Loose notations used below:
30+
============
31+
+ means new feature/item
32+
* means modified feature/item
33+
- means removed feature/item
34+
35+
36+
37+
New features
38+
============
39+
40+
General
41+
-------
42+
+ complete codebase now compiles with -Werror on all platforms
43+
44+
Device support
45+
--------------
46+
+ vastly improved hardware abstraction, unified over all devices
47+
+ unified most common code
48+
* complete refactoring of MSP430 and ARM7 code
49+
50+
Core
51+
----
52+
+ new timer subsystem: xtimer
53+
+ extended atomic API by compare-and-swap, increase/decrease and
54+
set-to-one/set-to-zero functions
55+
+ introduced a more energy-saving assert macro
56+
57+
Network Stack
58+
-------------
59+
+ RFC compliant gnrc network stack (6LoWPAN, IPv6, UDP, RPL) major refactoring
60+
+ 6LoWPAN ND (including SLAAC)
61+
+ example applications working out of the box (gnrc_networking for the full
62+
gnrc experience, gnrc_border_router for a 6LoWPAN border router, and default
63+
for simple link layer connectivity)
64+
+ explicit support for border router
65+
+ auto-init for the network stack
66+
+ introduction of generic interfaces (netdev, netapi)
67+
+ introduction of a protocol-independent FIB
68+
+ introduction of a central packet buffer
69+
+ wireshark-supported protocol ZEP to send IEEE 802.15.4 frames over UDP on
70+
non-IEEE-802.15.4 devices
71+
+ support for SLIP and link-layers without addresses
72+
+ new low-level driver model
73+
+ new nativenet based directly on ethernet
74+
+ conn: general stack-independent transport layer API
75+
+ POSIX sockets ported for conn
76+
+ NHDP support
77+
78+
Packages
79+
--------
80+
+ support for microCoAP
81+
+ CMSIS DSP
82+
83+
Supported platforms
84+
-------------------
85+
Additional support for the following boards:
86+
+ Zolertia ReMote
87+
+ Atmel SAML21 Xplained Pro (saml21-xpro)
88+
+ ST Nucleo L1
89+
+ ST Nucleo F334
90+
+ ST Nucleo F091
91+
+ Phytec phyWAVE KW22
92+
+ Eistec Mulle
93+
+ Freescale Freedom FRDM-K64F
94+
+ TI Stellaris Launchpad LM4F120
95+
+ LimiFrog V1
96+
+ Silabs EZR32WG
97+
98+
Drivers
99+
-------
100+
+ various peripheral drivers (ADC, UART, timer, SPI, I²C, RTC, RTT, DAC, PWM...)
101+
+ basic NVRAM driver (interface)
102+
103+
Network drivers
104+
+ native ethernet driver
105+
+ ENCx24J600 ethernet driver
106+
107+
Sensors drivers
108+
+ ISL29125 RGB light sensor
109+
+ PDC8544 LCD display
110+
+ INA220 current and power monitor
111+
+ MPU-9150 9-DOF motion sensor
112+
+ LIS3DH accelerometer
113+
+ TMP006 temperature sensor
114+
+ MAG3110 magnetometer
115+
+ MMA8652 accelerometer
116+
+ DHT11/DHT22 temperature-humidity sensor
117+
+ ADT7310 temperature sensor
118+
119+
System libraries
120+
----------------
121+
+ MD5
122+
+ Fletcher's checksum
123+
+ Unified Cipher API and Block cipher operation modes: ECB, CBC, CTR and CCM
124+
+ Bitfield operations
125+
+ thread safe ringbuffer
126+
+ vtimer compatibility layer
127+
128+
Build System
129+
------------
130+
+ support for the FIT IoT-LAB testbed by direct integration into the Make build
131+
system
132+
+ integrated Docker support
133+
+ integration of llvm's clang static analyzer
134+
+ added target for the address sanitizer
135+
+ indicating possible feature conflicts at compile time
136+
+ unified OpenOCD script
137+
138+
139+
Changes
140+
=======
141+
142+
Core
143+
----
144+
* improved documentation
145+
* fixed several IPC message queue initializations
146+
- removed hwtimer
147+
148+
Drivers
149+
-------
150+
* optimized/remodeled GPIO interface
151+
* optimized/remodeled TIMER interface
152+
- temporarily removed CC2420 driver (awaiting last bug fixes for a rewrite)
153+
* re-implementation of the CC110x driver against the peripheral interface
154+
155+
Network Stack
156+
-------------
157+
* temporarily removed and currently being refactored:
158+
- TCP support
159+
- CCN-lite
160+
- AODVv2
161+
162+
System libraries
163+
----------------
164+
* new high level UART/stdio interface
165+
* better modularisation of POSIX wrapper modules
166+
- removed skipjack crypto library
167+
168+
Packages
169+
--------
170+
* updated CMSIS HAL to version 4.3
171+
172+
Other
173+
-----
174+
* clean-up of deprecated system and network libraries
175+
* clean-up of deprecated boards and drivers
176+
177+
Selected Issues Fixed since the Last Release
178+
============================================
179+
#21: Deal with stdin in bordermultiplex.c
180+
A completely new border router implementation is in place
181+
#715: test_hwtimer_wait fails on native
182+
Fixed by @benoit-canet in #2870
183+
#861: neighbor discovery for 6LoWPAN not working
184+
GNRC implements 6LoWPAN ND in a RFC6775 compliant way
185+
#1753: vtimer_msg test crashes after ~49'20" and
186+
#1449: a removed vtimer might still get called back by hwtimer
187+
vtimer has been replaced by xtimer which does not have these issues
188+
#1870: IPv6 neighbor advertisements are malformed
189+
According to Wireshark (and reference implementations) GNRC sends
190+
well-formed neighbor advertisements
191+
#1964 and #1955: eventual problems with IoT-LAB M3 nodes in the testbed
192+
Solved by new driver versions for UART and radio
193+
#2228: samd21 stack sizes are too small
194+
The stacksize has been adapted in #2229
195+
196+
Known Issues
197+
============
198+
199+
network related issues
200+
----------------------
201+
#3075: nhdp: unnecessary microsecond precision
202+
NHDP works with timer values of microsecond precision which is not
203+
required. Changing to lower precision would save some memory.
204+
#3086: Max. packet length for AT86RF2XX
205+
The size of the link-layer header is not dynamically calculated, but
206+
instead the maximum# size is always assumed.
207+
#3201: Odd length packet snips cause invalid check sum
208+
If an odd length packet snip occurs in a packet and is not the last snip
209+
(in the order the packet is supposed to be, not in the list's order) in a
210+
packet it will generate a wrong check sum.
211+
#4048: potential racey memory leak
212+
According to the packet buffer stats, flood-pinging a multicast destination
213+
may lead to a memory leak due to a race condition. However, it seems to be
214+
a rare case and a completely filled up packet buffer was not observed.
215+
216+
native related issues
217+
---------------------
218+
#495: native not float safe
219+
When the FPU is used when an asynchronous context switch occurs, either the
220+
stack gets corrupted or a floating point exception occurs.
221+
#499: native is segfaulting on heavy network usage
222+
Sending more than 100 packets per second causes a SEGFAULT in RIOT native.
223+
#534: native debugging on osx fails
224+
Using valgrind or gdb with a nativenet target in OSX leads to "the network"
225+
being stuck (gdb) or the whole process being stuck (valgrind).
226+
#3341 and #3824: nativenet crashes when hammered
227+
Flood-pinging a native instance from more than one host (either multiple
228+
threads on the host system or multiple other native instances), leads to a
229+
SEGFAULT.
230+
231+
other platform related issues
232+
-----------------------------
233+
#2724: Add support for serial number passing to CMSIS boards, document it
234+
Documentation about how to discover and set the serial number of CMSIS-DAP
235+
chips is missing
236+
237+
other issues
238+
------------
239+
#2761: core: define default flags
240+
If a thread is created without the corresponding flag (CREATE_STACKTEST),
241+
the ps command will yield wrong numbers for the stack usage
242+
#2927: core: Automatically select the lowest possible LPM mode
243+
Not all available low power modes (LPMs) are implemented for each platform
244+
and the concept of how the LPM is chosen need some reconsideration
245+
#2967: Makefile.features: location is not relevant for all features
246+
Provided features for the build system should be split up into a board and
247+
cpu specific part
248+
#3109: periph/random: random_read should return unsigned int
249+
The documentation of this function does not match corresponding
250+
implementation.
251+
252+
Special Thanks
253+
--------------------
254+
We like to give our special thanks to all the companies that provided us with
255+
their hardware for porting and testing, namely the people from (in alphabetical
256+
order): Atmel, Freescale, Limifrog, Phytec, SiLabs, and Zolertia; and also
257+
companies that directly sponsored development time: Cisco Systems, Eistec,
258+
Ell-i, FreshTemp LLC, and Phytec.
259+
260+
More information
261+
================
262+
http://www.riot-os.org
263+
264+
Mailing lists
265+
-------------
266+
* RIOT OS kernel developers list
267+
* devel@riot-os.org (http://lists.riot-os.org/mailman/listinfo/devel)
268+
* RIOT OS users list
269+
* users@riot-os.org (http://lists.riot-os.org/mailman/listinfo/users)
270+
* RIOT commits
271+
* commits@riot-os.org (http://lists.riot-os.org/mailman/listinfo/commits)
272+
* Github notifications
273+
* notifications@riot-os.org (http://lists.riot-os.org/mailman/listinfo/notifications)
274+
275+
IRC
276+
-----
277+
* Join the RIOT IRC channel at: irc.freenode.net, #riot-os
278+
279+
License
280+
=======
281+
282+
* Most of the code developed by the RIOT community is licensed under the GNU
283+
Lesser General Public License (LGPL) version 2.1 as published by the Free
284+
Software Foundation.
285+
* Some external sources are published under a separate, LGPL compatible license
286+
(e.g. some files developed by SICS).
287+
288+
All code files contain licensing information.
289+
290+
291+
292+
293+
1294
RIOT-2014.12 - Release Notes
2295
============================
3296
RIOT is a real-time multi-threading operating system that supports a range of

0 commit comments

Comments
 (0)