Skip to content

Commit 4d69f76

Browse files
committed
2015.12: added release notes
1 parent 398a81c commit 4d69f76

File tree

1 file changed

+227
-0
lines changed

1 file changed

+227
-0
lines changed

release-notes.txt

+227
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,230 @@
1+
RIOT-2015.12 - 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+
15+
About this release:
16+
===================
17+
This release is mostly a clean-up and bug-fixing release. Besides that, it introduces SAUL,
18+
the [S]ensor [A]ctuator [U]ber [L]ayer, which offers a unified API to interact with all
19+
different types of sensors and actuators on RIOT supported hardware. Furthermore, it re-enables
20+
the support for ICN by integrating CCN-Lite as a package. A lot of new overall documentation was
21+
added and existing documentation was improved (http://riot-os.org/api/). In addition,
22+
a Vagrant (https://www.vagrantup.com/) configuration file was added to the RIOT repository in
23+
order to create reproducible and portable environments that contain all necessary toolchains.
24+
25+
About 222 pull requests with about 631 commits have been merged since the last release and 48
26+
additional issues have been solved. 37 people contributed code in 102 days. 980 files have been
27+
touched with ~59779 insertions and ~12115 deletions.
28+
29+
Notations used below:
30+
=====================
31+
+ means new feature/item
32+
* means modified feature/item
33+
- means removed feature/item
34+
35+
36+
New features and changes
37+
========================
38+
39+
General
40+
-------
41+
42+
Device support
43+
--------------
44+
+ SAUL [S]ensor [A]ctuator [U]ber [L]ayer
45+
46+
Core
47+
----
48+
* replaced deprecated dINT()/eINT() calls by up-to-date disableIRQ()/enableIRQ()/restoreIRQ()
49+
calls throughout the whole core
50+
51+
Network Stack
52+
-------------
53+
+ TFTP support
54+
+ 6LoWPAN: Next Header Compression
55+
+ leaf mode for RPL nodes
56+
* RPL: refactoring of instances and dodags (saved 1kB ROM and 0,5kB RAM)
57+
* FIB: initial source route support
58+
* change to non-blocking 6LoWPAN fragmentation
59+
* POSIX sockets: various fixes
60+
* periodic stats printing for ping6 command
61+
* convert all vtimer into xtimer calls
62+
* send router advertisements without PIOs
63+
64+
Packages
65+
--------
66+
+ CCN-Lite as a ICN network stack
67+
+ RELIC: efficient cryptography library
68+
* fix TLSF to compile with -pedantic
69+
70+
Supported platforms
71+
-------------------
72+
Additional support for the following boards:
73+
+ weio board with NXP LPC11U34 (ARM Cortex-M0)
74+
+ Silicon Labs Wireless Eval Kit SLWSTK6220A (Wonder Gecko)
75+
+ STM32 Nucleo-F401
76+
77+
Drivers
78+
-------
79+
+ Arduino-mega2560 GPIO
80+
+ Arduino pin mapping for Mega2560 and Due
81+
82+
Network drivers
83+
---------------
84+
+ enc28j60 Ethernet chip
85+
+ at86rf2xx: Add support for channel page
86+
* at86rf2xx: fix LQI reading
87+
* implement sleep mode for at86rf2xx
88+
89+
Sensors drivers
90+
---------------
91+
+ AT30TSE75x temperature sensor
92+
+ TCS3772 Color Light-to-Digital converter
93+
94+
System libraries
95+
----------------
96+
+ partial support for the Arduino API
97+
+ lightweight semaphores
98+
+ fmt: simple string formatting library
99+
+ xtimer: 32-bit version of msg_recv_timeout
100+
* implicit socket binding for POSIX connect() and sendto()
101+
* posix_semaphore: make API POSIX compliant
102+
103+
Examples
104+
--------
105+
+ microcoap/conn example
106+
+ minimal GNRC networking example
107+
108+
Build System
109+
------------
110+
* split the Cortex-M0 buildtest group to avoid timeout issues with Travis
111+
* split the Cortex-M4 buildtest group to avoid timeout issues with Travis
112+
113+
Other
114+
-----
115+
+ vagrant configuration
116+
+ documentation: various high-level descriptions of crucial features
117+
+ IoT-LAB: create and connect to debug server
118+
* pyterm: fix problems with German umlauts as input
119+
120+
Fixed Issues from the last release
121+
==================================
122+
123+
#2724: Add support for serial number passing to CMSIS boards, document it
124+
Documentation about how to discover and set the serial number of CMSIS-DAP chips is missing
125+
#3201: Odd length packet snips cause invalid check sum
126+
If an odd length packet snip occurs in a packet and is not the last snip
127+
(in the order the packet is supposed to be, not in the list's order)
128+
in a packet it will generate a wrong check sum.
129+
130+
Known Issues
131+
============
132+
133+
network related issues
134+
----------------------
135+
#3075: nhdp: unnecessary microsecond precision
136+
NHDP works with timer values of microsecond precision which is not required. Changing
137+
to lower precision would save some memory.
138+
#3086: Max. packet length for AT86RF2XX
139+
The size of the link-layer header is not dynamically calculated, but instead the maximum
140+
size is always assumed.
141+
#3970: RPL: Advertise DODAG only over the assigned interface
142+
gnrc_rpl seems to multicast DIOs over all interfaces, though gnrc_rpl_init expects an
143+
interface as parameter and sets the RPL-nodes multicast address only for that interface.
144+
#4048: potential racey memory leak
145+
According to the packet buffer stats, flood-pinging a multicast destination may lead to a
146+
memory leak due to a race condition. However, it seems to be a rare case and a
147+
completely filled up packet buffer was not observed.
148+
#4462: IPHC/NHC broken between Linux and a RIOT node with a RIOT-based border router in between.
149+
150+
native related issues
151+
---------------------
152+
#495: native not float safe
153+
When the FPU is used when an asynchronous context switch occurs, either the
154+
stack gets corrupted or a floating point exception occurs.
155+
#534: native debugging on osx fails
156+
Using valgrind or gdb with a nativenet target in OSX leads to "the network"
157+
being stuck (gdb) or the whole process being stuck (valgrind).
158+
#3341 and #3824: nativenet crashes when hammered
159+
Flood-pinging a native instance from more than one host (either multiple threads on the
160+
host system or multiple other native instances), leads to a SEGFAULT.
161+
#4608: tests/xtimer_usleep_until: unstable behaviour
162+
The test starts to output "too large difference" and fails after a random period of time.
163+
164+
other platform related issues
165+
-----------------------------
166+
#4560: make: clang is more pedantic than gcc
167+
oonf_api is not building with clang.
168+
#4583: cpp11: clang doesn't allow `mutex_t` to be used with `constexpr`
169+
All cpp11-* tests fail with clang.
170+
171+
other issues
172+
------------
173+
#2761: core: define default flags
174+
If a thread is created without the corresponding flag (CREATE_STACKTEST),
175+
the ps command will yield wrong numbers for the stack usage
176+
#2927: core: Automatically select the lowest possible LPM mode
177+
Not all available low power modes (LPMs) are implemented for each platform and the
178+
concept of how the LPM is chosen needs some reconsideration
179+
#2967: Makefile.features: location is not relevant for all features
180+
Provided features for the build system should be split up into a board and cpu specific
181+
part
182+
#3109: periph/random: random_read should return unsigned int
183+
The documentation of this function does not match corresponding implementation.
184+
#4488: Making the newlib thread-safe
185+
When calling puts/printf after thread_create(), the CPU hangs for DMA enabled uart drivers.
186+
187+
Special Thanks
188+
--------------
189+
We like to give our special thanks to all the companies that provided us with their hardware
190+
for porting and testing, namely the people from (in alphabetical order):
191+
Atmel, Freescale, Limifrog, Phytec, SiLabs, and Zolertia; and also companies that directly
192+
sponsored development time:
193+
Cisco Systems, Google, Eistec, Ell-i, Engineering Spirit, FreshTemp LLC, and Phytec.
194+
195+
More information
196+
================
197+
http://www.riot-os.org
198+
199+
Mailing lists
200+
-------------
201+
* RIOT OS kernel developers list
202+
* devel@riot-os.org (http://lists.riot-os.org/mailman/listinfo/devel)
203+
* RIOT OS users list
204+
* users@riot-os.org (http://lists.riot-os.org/mailman/listinfo/users)
205+
* RIOT commits
206+
* commits@riot-os.org (http://lists.riot-os.org/mailman/listinfo/commits)
207+
* Github notifications
208+
* notifications@riot-os.org (http://lists.riot-os.org/mailman/listinfo/notifications)
209+
210+
IRC
211+
-----
212+
* Join the RIOT IRC channel at: irc.freenode.net, #riot-os
213+
214+
License
215+
=======
216+
217+
* Most of the code developed by the RIOT community is licensed under the
218+
GNU Lesser General Public License (LGPL) version 2.1 as published by the Free Software Foundation.
219+
* Some external sources are published under a separate, LGPL compatible license
220+
(e.g. some files developed by SICS).
221+
222+
All code files contain licensing information.
223+
224+
225+
226+
227+
1228
RIOT-2015.09 - Release Notes
2229
============================
3230
RIOT is a real-time multi-threading operating system that supports a range of

0 commit comments

Comments
 (0)