Skip to content

Commit 5febaae

Browse files
committed
release-notes.txt: Add Release 2018.07 notes
This release-notes where contributed by the following github users: * aabadie * bergzand * cladmi * gebart * miri64 * PeterKietzmann
1 parent ba6d386 commit 5febaae

File tree

1 file changed

+286
-0
lines changed

1 file changed

+286
-0
lines changed

release-notes.txt

+286
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,289 @@
1+
RIOT-2018.07 - Release Notes
2+
============================
3+
RIOT is a multi-threading operating system which enables soft real-time
4+
capabilities and comes with support for a range of devices that are typically
5+
found in the Internet of Things: 8-bit and 16-bit microcontrollers as well as
6+
light-weight 32-bit processors.
7+
8+
RIOT is based on the following design principles: energy-efficiency, soft
9+
real-time capabilities, small memory footprint, modularity, and uniform API
10+
access, independent of the underlying hardware (with partial POSIX 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) and is
14+
licensed with a non-viral copyleft license (LGPLv2.1), which allows indirect
15+
business models around the free open-source software platform provided by RIOT.
16+
17+
18+
About this release:
19+
===================
20+
21+
The 2018.07 release includes new features, like NimBLE (ble stack),
22+
a MQTT-SN client, SHA-1 based PRNG, an UUID implementation. The RISC-V CPU
23+
architecture support used by the hifive1 board.
24+
Effort was done on refactoring, documentation, test improvements and bug fixes.
25+
26+
During the last release, maintainers contributed by running the automated test
27+
suites on their boards. This gave valuable feedback on the board support state,
28+
test reliability and where to focus effort to make testing easier and more
29+
reliable.
30+
31+
About 380 pull requests with about 675 commits have been merged since the last
32+
release and about 27 issues have been solved. 45 people contributed with code
33+
in 93 days. Approximately 1678 files have been touched with 147122 insertions
34+
and 16060 deletions.
35+
36+
37+
Notations used below:
38+
=====================
39+
+ means new feature/item
40+
* means modified feature/item
41+
- means removed feature/item
42+
43+
New features and changes
44+
========================
45+
46+
Community
47+
---------
48+
+ Maintainers guidelines have been written and added to the repository
49+
50+
Documentation
51+
-------------
52+
+ Fix undefined doxygen groups and add a dedicated static check
53+
+ Extend `auto_init` documentation
54+
55+
Core
56+
----
57+
+ core: clist_foreach() now returns break-causing node
58+
59+
System libraries
60+
----------------
61+
+ puf_sram: SRAM PUF feature to seed PRNGs cortex-m platforms
62+
+ random: SHA-1 based PRNG
63+
+ matstat: Integer mathematical statistics library
64+
+ UUID: [RFC4122](https://tools.ietf.org/html/rfc4122) Unique ID library
65+
* analog_util: Refactor, add unit test
66+
- cbor: Deprecation of this module, use cn-cbor or tinycbor package
67+
instead
68+
69+
Networking
70+
----------
71+
+ asymcute: an asynchronous MQTT-SN client
72+
+ gnrc_ipv6: full duplicate address detection support according to
73+
[RFC4862](https://tools.ietf.org/html/rfc4862)
74+
+ gnrc_ipv6: support to handle RDNSS option in neighbor discovery
75+
+ netif.h: a network-stack agnostic API to network interfaces
76+
+ lorawan: add example application of autonomous class A device
77+
* sock_udp: allocate ephemeral port on sock creation when port is 0
78+
* gnrc_netif: Enable RX and TX complete events after netdev initialization
79+
* net/gcoap: Refine Observe re-registration
80+
* net/nanocoap: Build message with coap_pkt_t
81+
82+
Packages
83+
--------
84+
+ NimBLE: Bluetooth Low Energy stack used in mynewt
85+
+ TLSF: re-enable original API to have different pools
86+
+ LUA: Add an example with the shell
87+
+ semtech-loramac: add support for link_check MAC command
88+
* libcose: Use RIOT random_bytes instead of randombytes
89+
* tweetnacl: Use RIOT random_bytes instead of randombytes
90+
* hacl: Use RIOT random_bytes instead of randombytes
91+
92+
Boards
93+
------
94+
+ Nucleo boards use their marketing names
95+
+ HiFive1 (RISC-V)
96+
+ slstk3402a
97+
+ stm32f429i-disc1
98+
+ stm32l476-disco
99+
+ nucleo-l496zg
100+
+ stm32mindev
101+
+ frdm-k22f, frdm-k64f, frdm-kw41z: Add bus configuration for onboard FXOS8700CQ sensor
102+
* mulle: Fix mixed up RX TX pins on UART0
103+
104+
CPU
105+
---
106+
+ E310 (RISC-V)
107+
* kinetis: GPIO: Enable the correct IRQn on CM0+
108+
* kinetis: Refactor PIT timer driver implementation
109+
* kinetis: Refactor RTT driver
110+
* kinetis: Refactor clock initialization code
111+
* kinetis: Refactor LPTMR timer implementation
112+
* kinetis: Clean up SPI module power handling
113+
* kinetis: Conditionally enable MCG
114+
115+
Device Drivers
116+
--------------
117+
+ periph_eeprom API with support for STM32 L0/L1 and AVR
118+
+ AT commands parser
119+
+ Fix periph_flashpage for iotlab-a8-m3/iotlab-m3/fox boards
120+
+ IO1 Xplained extension: add support for light sensor and SD card, fix
121+
GPIOs initialization and SAUL support
122+
+ tests/bench_timers: A comprehensive benchmark for periph_timer
123+
124+
Build System / Tooling
125+
----------------------
126+
+ Correctly set the RIOT_VERSION on release archives
127+
+ iotlab-m3/iotlab-a8-m3: fix boards flashing
128+
+ Fix use of non completely initialized BASELIBS variable
129+
+ newlib.mk: extract gcc include search directories for newlib-nano support
130+
+ llvm: many compatibilities issues have been resolved
131+
* testbed-support: use new iot-lab command names
132+
133+
Testing
134+
-------
135+
+ Address some of the failing tests
136+
+ New tests enabled by default in CI
137+
+ Improve testing automation for release testing
138+
139+
Known Issues
140+
============
141+
142+
Networking related issues
143+
-------------------------
144+
145+
#4527: gnrc_ipv6: Multicast is not forwarded if routing node listens to the
146+
address
147+
#5016: gnrc_rpl: Rejoining RPL instance as root after reboot messes up rooting
148+
#5051: Forwarding a packet back to its link layer source should not be allowed
149+
#5230: gnrc_ipv6: multicast packes are not dispatched to the upper layers
150+
#5748: gnrc: nodes crashing with too small packet buffer
151+
#6123: gnrc: crash with (excessive) traffic in native
152+
#7474: 6lo: gnrc fragmentation expects driver to block on TX
153+
#7737: pkg: libcoap is partially broken and outdated
154+
#8086: gnrc_rpl_p2p: not compiling
155+
#8130: gcoap: can't build witth network stacks other than gnrc
156+
#8172: gnrc_netif, gnrc_uhcpc: Replacing prefix on border router results in no
157+
configured prefix
158+
#8271: app/netdev: application stops working after receiving frames with
159+
assertion or completely without error
160+
#9616: at86rf2xx: can not correctly set channel after `NETOPT_STATE_RESET`
161+
#9656: gnrc/netif: various problems after resetting interface a second time
162+
#9573: pkg/lwip: assert on samr21-xpro
163+
#9584: drivers/cc2420: add netopt NETOPT_MAX_PACKET_SIZE
164+
165+
Timer related issues
166+
--------------------
167+
168+
#5103: xtimer: weird behavior of tests/xtimer_drift
169+
#5338: xtimer: xtimer_now() is not ISR safe
170+
#6052: tests: xtimer_drift_gets_stuck
171+
#7114: xtimer: adds items to the wrong list if the timer overflows between
172+
_xtimer_now() and irq_disable()
173+
#7347: xtimer_usleep stuck for small values
174+
#8251: telosb: timer config wrong when running o a tmote sky
175+
#9052: misc issues with tests/trickle
176+
177+
Native related issues
178+
---------------------
179+
180+
#495: native not float safe
181+
#5796 native: tlsf: early malloc will lead to a crash
182+
#6442: cpu/native: timer interrupt issue
183+
#7206: native: race-condition in IPC
184+
185+
Other platforms related issues
186+
------------------------------
187+
188+
#4512: pkg: tests: RELIC unittests fail on iotlab-m3
189+
#4612: pkg: TLSF does not build for 16 bit platforms
190+
#4872: at86rf2xx: Simultaneous use of different transceiver types is not
191+
supported
192+
#4954: chronos: compiling with -O0 breaks
193+
#4866: periph: GPIO drivers are not thread tafe
194+
#5009: RIOT is saw-toothing in energy consumption (even when idling)
195+
#5128: some use of asm keyword might be missing volatile
196+
#5486: at86rf2xx: lost interrupts
197+
#5774: cpu: cortexm_common: context switching code breaks when compiling with
198+
LTO
199+
#5848: arduino: Race condition in sys/arduino/Makefile.include
200+
#6018: nRF52: gnrc 6lowpan ble memory leak
201+
#6437: periph/spi: Leftovers from SPI rework in #4780
202+
#6567: periph/spi: Switching between CPOL=0,1 problems on Kinetis with software
203+
CS
204+
#6650: GPIO Port shift in cc2538 is unconsistent
205+
#6838: Issuing a reboot on ATmega328p makes the board loop-reboot
206+
#6874: SAMD21: possible CMSIS bug
207+
#7020: isr_rfcoreerrors while pinging between CC2538DKs
208+
#7667: sam0 flashpage_write issues
209+
#7846: stm32f1: I2C read functions return bogus values with unconnected devices
210+
#8028: diskio: failed assertion in send_cmd() on lpc2387
211+
#8045: stm32/periph/uart: extra byte transmitted on first transmission
212+
#8436: Kinetis PhyNode: failed to flash binary > 256K
213+
#8444: tests/thread_priority_inversion hangup
214+
#9616: ATmega platform issues.
215+
216+
Other issues
217+
------------
218+
219+
#1263: sys: the TLSF implementation contains (a) read-before-write error(s)
220+
#4053: macros: RIOT_FILE_RELATIVE printing wrong file name for headers
221+
#4488: making the newlib thread-safe
222+
#5561: C++11 extensions in header files
223+
#5776: make: Predefining CFLAGS are parsed weirdly
224+
#5863: OSX+SAMR21-xpro: shell cannot handle command inputs larger than 64 chars
225+
#6120: Windows AVR Mega development makefile Error
226+
#7220: sys/fmt: Missing tests for fmt_float,fmt_lpad
227+
#7877: SPI connection can't read 16bit size register
228+
#8107: crypto/ccm: bugs in the implementation of CCM mode
229+
#9548: Many i2c bugs found with the i2c api rework but did not reach the release
230+
#9709: examples: failed assertion in dtls-echo example
231+
232+
Fixed Issues from the last release (2018.04)
233+
============================================
234+
235+
#8112 crypto/ccm: fix input_len checking with length_encoding
236+
#8532 kinetis: timer_set_absolute randomly misses its target
237+
#8778 sys/random: random_uint32_range is only uniform if range is a power of 2
238+
bug quality defect
239+
#9065 flashpage_write broken on iotlab-m3
240+
#9154 cpu/lpc2387: Fixed broken SPI driver
241+
#9451 Makefile.include: fully define BASELIBS before using its value
242+
#9579 stm32_common: fix ram length for MCUs with non-contiguous ram regions
243+
#9675 tests: gnrc_netif: fix group join iteration macro
244+
245+
246+
You can get the complete detail in the git history and in the release milestone
247+
[Release 2018.07](https://github.com/RIOT-OS/RIOT/milestone/23?closed=1).
248+
249+
250+
Acknowledgements
251+
================
252+
We would like to thank all companies (vendors) that provided us with (their)
253+
hardware for porting and testing RIOT-OS. Further thanks go to companies and
254+
institutions that directly sponsored development time. And finally, big thanks
255+
to all of you contributing in so many different ways to make RIOT worthwhile!
256+
257+
More information
258+
================
259+
http://www.riot-os.org
260+
261+
Mailing lists
262+
-------------
263+
* RIOT OS kernel developers list
264+
devel@riot-os.org (http://lists.riot-os.org/mailman/listinfo/devel)
265+
* RIOT OS users list
266+
users@riot-os.org (http://lists.riot-os.org/mailman/listinfo/users)
267+
* RIOT commits
268+
commits@riot-os.org (http://lists.riot-os.org/mailman/listinfo/commits)
269+
* Github notifications
270+
notifications@riot-os.org (http://lists.riot-os.org/mailman/listinfo/notifications)
271+
272+
IRC
273+
---
274+
* Join the RIOT IRC channel at: irc.freenode.net, #riot-os
275+
276+
License
277+
=======
278+
* The code developed by the RIOT community is licensed under the GNU Lesser
279+
General Public License (LGPL) version 2.1 as published by the Free Software
280+
Foundation.
281+
* Some external sources and packages are published under a separate license.
282+
283+
All code files contain licensing information.
284+
285+
286+
1287
RIOT-2018.04 - Release Notes
2288
============================
3289
RIOT is a multi-threading operating system which enables soft real-time

0 commit comments

Comments
 (0)