mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
release-notes.txt: Add Release 2018.07 notes
This release-notes where contributed by the following github users: * aabadie * bergzand * cladmi * gebart * miri64 * PeterKietzmann
This commit is contained in:
parent
ba6d386c5e
commit
5febaaeedb
@ -1,3 +1,289 @@
|
||||
RIOT-2018.07 - Release Notes
|
||||
============================
|
||||
RIOT is a multi-threading operating system which enables soft real-time
|
||||
capabilities and comes with support for a range of devices that are typically
|
||||
found in the Internet of Things: 8-bit and 16-bit microcontrollers as well as
|
||||
light-weight 32-bit processors.
|
||||
|
||||
RIOT is based on the following design principles: energy-efficiency, soft
|
||||
real-time capabilities, small memory footprint, modularity, and uniform API
|
||||
access, independent of the underlying hardware (with 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:
|
||||
===================
|
||||
|
||||
The 2018.07 release includes new features, like NimBLE (ble stack),
|
||||
a MQTT-SN client, SHA-1 based PRNG, an UUID implementation. The RISC-V CPU
|
||||
architecture support used by the hifive1 board.
|
||||
Effort was done on refactoring, documentation, test improvements and bug fixes.
|
||||
|
||||
During the last release, maintainers contributed by running the automated test
|
||||
suites on their boards. This gave valuable feedback on the board support state,
|
||||
test reliability and where to focus effort to make testing easier and more
|
||||
reliable.
|
||||
|
||||
About 380 pull requests with about 675 commits have been merged since the last
|
||||
release and about 27 issues have been solved. 45 people contributed with code
|
||||
in 93 days. Approximately 1678 files have been touched with 147122 insertions
|
||||
and 16060 deletions.
|
||||
|
||||
|
||||
Notations used below:
|
||||
=====================
|
||||
+ means new feature/item
|
||||
* means modified feature/item
|
||||
- means removed feature/item
|
||||
|
||||
New features and changes
|
||||
========================
|
||||
|
||||
Community
|
||||
---------
|
||||
+ Maintainers guidelines have been written and added to the repository
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
+ Fix undefined doxygen groups and add a dedicated static check
|
||||
+ Extend `auto_init` documentation
|
||||
|
||||
Core
|
||||
----
|
||||
+ core: clist_foreach() now returns break-causing node
|
||||
|
||||
System libraries
|
||||
----------------
|
||||
+ puf_sram: SRAM PUF feature to seed PRNGs cortex-m platforms
|
||||
+ random: SHA-1 based PRNG
|
||||
+ matstat: Integer mathematical statistics library
|
||||
+ UUID: [RFC4122](https://tools.ietf.org/html/rfc4122) Unique ID library
|
||||
* analog_util: Refactor, add unit test
|
||||
- cbor: Deprecation of this module, use cn-cbor or tinycbor package
|
||||
instead
|
||||
|
||||
Networking
|
||||
----------
|
||||
+ asymcute: an asynchronous MQTT-SN client
|
||||
+ gnrc_ipv6: full duplicate address detection support according to
|
||||
[RFC4862](https://tools.ietf.org/html/rfc4862)
|
||||
+ gnrc_ipv6: support to handle RDNSS option in neighbor discovery
|
||||
+ netif.h: a network-stack agnostic API to network interfaces
|
||||
+ lorawan: add example application of autonomous class A device
|
||||
* sock_udp: allocate ephemeral port on sock creation when port is 0
|
||||
* gnrc_netif: Enable RX and TX complete events after netdev initialization
|
||||
* net/gcoap: Refine Observe re-registration
|
||||
* net/nanocoap: Build message with coap_pkt_t
|
||||
|
||||
Packages
|
||||
--------
|
||||
+ NimBLE: Bluetooth Low Energy stack used in mynewt
|
||||
+ TLSF: re-enable original API to have different pools
|
||||
+ LUA: Add an example with the shell
|
||||
+ semtech-loramac: add support for link_check MAC command
|
||||
* libcose: Use RIOT random_bytes instead of randombytes
|
||||
* tweetnacl: Use RIOT random_bytes instead of randombytes
|
||||
* hacl: Use RIOT random_bytes instead of randombytes
|
||||
|
||||
Boards
|
||||
------
|
||||
+ Nucleo boards use their marketing names
|
||||
+ HiFive1 (RISC-V)
|
||||
+ slstk3402a
|
||||
+ stm32f429i-disc1
|
||||
+ stm32l476-disco
|
||||
+ nucleo-l496zg
|
||||
+ stm32mindev
|
||||
+ frdm-k22f, frdm-k64f, frdm-kw41z: Add bus configuration for onboard FXOS8700CQ sensor
|
||||
* mulle: Fix mixed up RX TX pins on UART0
|
||||
|
||||
CPU
|
||||
---
|
||||
+ E310 (RISC-V)
|
||||
* kinetis: GPIO: Enable the correct IRQn on CM0+
|
||||
* kinetis: Refactor PIT timer driver implementation
|
||||
* kinetis: Refactor RTT driver
|
||||
* kinetis: Refactor clock initialization code
|
||||
* kinetis: Refactor LPTMR timer implementation
|
||||
* kinetis: Clean up SPI module power handling
|
||||
* kinetis: Conditionally enable MCG
|
||||
|
||||
Device Drivers
|
||||
--------------
|
||||
+ periph_eeprom API with support for STM32 L0/L1 and AVR
|
||||
+ AT commands parser
|
||||
+ Fix periph_flashpage for iotlab-a8-m3/iotlab-m3/fox boards
|
||||
+ IO1 Xplained extension: add support for light sensor and SD card, fix
|
||||
GPIOs initialization and SAUL support
|
||||
+ tests/bench_timers: A comprehensive benchmark for periph_timer
|
||||
|
||||
Build System / Tooling
|
||||
----------------------
|
||||
+ Correctly set the RIOT_VERSION on release archives
|
||||
+ iotlab-m3/iotlab-a8-m3: fix boards flashing
|
||||
+ Fix use of non completely initialized BASELIBS variable
|
||||
+ newlib.mk: extract gcc include search directories for newlib-nano support
|
||||
+ llvm: many compatibilities issues have been resolved
|
||||
* testbed-support: use new iot-lab command names
|
||||
|
||||
Testing
|
||||
-------
|
||||
+ Address some of the failing tests
|
||||
+ New tests enabled by default in CI
|
||||
+ Improve testing automation for release testing
|
||||
|
||||
Known Issues
|
||||
============
|
||||
|
||||
Networking related issues
|
||||
-------------------------
|
||||
|
||||
#4527: gnrc_ipv6: Multicast is not forwarded if routing node listens to the
|
||||
address
|
||||
#5016: gnrc_rpl: Rejoining RPL instance as root after reboot messes up rooting
|
||||
#5051: Forwarding a packet back to its link layer source should not be allowed
|
||||
#5230: gnrc_ipv6: multicast packes are not dispatched to the upper layers
|
||||
#5748: gnrc: nodes crashing with too small packet buffer
|
||||
#6123: gnrc: crash with (excessive) traffic in native
|
||||
#7474: 6lo: gnrc fragmentation expects driver to block on TX
|
||||
#7737: pkg: libcoap is partially broken and outdated
|
||||
#8086: gnrc_rpl_p2p: not compiling
|
||||
#8130: gcoap: can't build witth network stacks other than gnrc
|
||||
#8172: gnrc_netif, gnrc_uhcpc: Replacing prefix on border router results in no
|
||||
configured prefix
|
||||
#8271: app/netdev: application stops working after receiving frames with
|
||||
assertion or completely without error
|
||||
#9616: at86rf2xx: can not correctly set channel after `NETOPT_STATE_RESET`
|
||||
#9656: gnrc/netif: various problems after resetting interface a second time
|
||||
#9573: pkg/lwip: assert on samr21-xpro
|
||||
#9584: drivers/cc2420: add netopt NETOPT_MAX_PACKET_SIZE
|
||||
|
||||
Timer related issues
|
||||
--------------------
|
||||
|
||||
#5103: xtimer: weird behavior of tests/xtimer_drift
|
||||
#5338: xtimer: xtimer_now() is not ISR safe
|
||||
#6052: tests: xtimer_drift_gets_stuck
|
||||
#7114: xtimer: adds items to the wrong list if the timer overflows between
|
||||
_xtimer_now() and irq_disable()
|
||||
#7347: xtimer_usleep stuck for small values
|
||||
#8251: telosb: timer config wrong when running o a tmote sky
|
||||
#9052: misc issues with tests/trickle
|
||||
|
||||
Native related issues
|
||||
---------------------
|
||||
|
||||
#495: native not float safe
|
||||
#5796 native: tlsf: early malloc will lead to a crash
|
||||
#6442: cpu/native: timer interrupt issue
|
||||
#7206: native: race-condition in IPC
|
||||
|
||||
Other platforms related issues
|
||||
------------------------------
|
||||
|
||||
#4512: pkg: tests: RELIC unittests fail on iotlab-m3
|
||||
#4612: pkg: TLSF does not build for 16 bit platforms
|
||||
#4872: at86rf2xx: Simultaneous use of different transceiver types is not
|
||||
supported
|
||||
#4954: chronos: compiling with -O0 breaks
|
||||
#4866: periph: GPIO drivers are not thread tafe
|
||||
#5009: RIOT is saw-toothing in energy consumption (even when idling)
|
||||
#5128: some use of asm keyword might be missing volatile
|
||||
#5486: at86rf2xx: lost interrupts
|
||||
#5774: cpu: cortexm_common: context switching code breaks when compiling with
|
||||
LTO
|
||||
#5848: arduino: Race condition in sys/arduino/Makefile.include
|
||||
#6018: nRF52: gnrc 6lowpan ble memory leak
|
||||
#6437: periph/spi: Leftovers from SPI rework in #4780
|
||||
#6567: periph/spi: Switching between CPOL=0,1 problems on Kinetis with software
|
||||
CS
|
||||
#6650: GPIO Port shift in cc2538 is unconsistent
|
||||
#6838: Issuing a reboot on ATmega328p makes the board loop-reboot
|
||||
#6874: SAMD21: possible CMSIS bug
|
||||
#7020: isr_rfcoreerrors while pinging between CC2538DKs
|
||||
#7667: sam0 flashpage_write issues
|
||||
#7846: stm32f1: I2C read functions return bogus values with unconnected devices
|
||||
#8028: diskio: failed assertion in send_cmd() on lpc2387
|
||||
#8045: stm32/periph/uart: extra byte transmitted on first transmission
|
||||
#8436: Kinetis PhyNode: failed to flash binary > 256K
|
||||
#8444: tests/thread_priority_inversion hangup
|
||||
#9616: ATmega platform issues.
|
||||
|
||||
Other issues
|
||||
------------
|
||||
|
||||
#1263: sys: the TLSF implementation contains (a) read-before-write error(s)
|
||||
#4053: macros: RIOT_FILE_RELATIVE printing wrong file name for headers
|
||||
#4488: making the newlib thread-safe
|
||||
#5561: C++11 extensions in header files
|
||||
#5776: make: Predefining CFLAGS are parsed weirdly
|
||||
#5863: OSX+SAMR21-xpro: shell cannot handle command inputs larger than 64 chars
|
||||
#6120: Windows AVR Mega development makefile Error
|
||||
#7220: sys/fmt: Missing tests for fmt_float,fmt_lpad
|
||||
#7877: SPI connection can't read 16bit size register
|
||||
#8107: crypto/ccm: bugs in the implementation of CCM mode
|
||||
#9548: Many i2c bugs found with the i2c api rework but did not reach the release
|
||||
#9709: examples: failed assertion in dtls-echo example
|
||||
|
||||
Fixed Issues from the last release (2018.04)
|
||||
============================================
|
||||
|
||||
#8112 crypto/ccm: fix input_len checking with length_encoding
|
||||
#8532 kinetis: timer_set_absolute randomly misses its target
|
||||
#8778 sys/random: random_uint32_range is only uniform if range is a power of 2
|
||||
bug quality defect
|
||||
#9065 flashpage_write broken on iotlab-m3
|
||||
#9154 cpu/lpc2387: Fixed broken SPI driver
|
||||
#9451 Makefile.include: fully define BASELIBS before using its value
|
||||
#9579 stm32_common: fix ram length for MCUs with non-contiguous ram regions
|
||||
#9675 tests: gnrc_netif: fix group join iteration macro
|
||||
|
||||
|
||||
You can get the complete detail in the git history and in the release milestone
|
||||
[Release 2018.07](https://github.com/RIOT-OS/RIOT/milestone/23?closed=1).
|
||||
|
||||
|
||||
Acknowledgements
|
||||
================
|
||||
We would like to thank all companies (vendors) that provided us with (their)
|
||||
hardware for porting and testing RIOT-OS. Further thanks go to companies and
|
||||
institutions that directly sponsored development time. And finally, big thanks
|
||||
to all of you contributing in so many different ways to make RIOT worthwhile!
|
||||
|
||||
More information
|
||||
================
|
||||
http://www.riot-os.org
|
||||
|
||||
Mailing lists
|
||||
-------------
|
||||
* RIOT OS kernel developers list
|
||||
devel@riot-os.org (http://lists.riot-os.org/mailman/listinfo/devel)
|
||||
* RIOT OS users list
|
||||
users@riot-os.org (http://lists.riot-os.org/mailman/listinfo/users)
|
||||
* RIOT commits
|
||||
commits@riot-os.org (http://lists.riot-os.org/mailman/listinfo/commits)
|
||||
* Github notifications
|
||||
notifications@riot-os.org (http://lists.riot-os.org/mailman/listinfo/notifications)
|
||||
|
||||
IRC
|
||||
---
|
||||
* Join the RIOT IRC channel at: irc.freenode.net, #riot-os
|
||||
|
||||
License
|
||||
=======
|
||||
* The code developed by the RIOT community is licensed under the GNU Lesser
|
||||
General Public License (LGPL) version 2.1 as published by the Free Software
|
||||
Foundation.
|
||||
* Some external sources and packages are published under a separate license.
|
||||
|
||||
All code files contain licensing information.
|
||||
|
||||
|
||||
|
||||
RIOT-2018.04 - Release Notes
|
||||
============================
|
||||
RIOT is a multi-threading operating system which enables soft real-time
|
||||
|
Loading…
Reference in New Issue
Block a user