mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
release-notes.txt: Add Release 2018.10 notes
This commit is contained in:
parent
2260cd7f45
commit
50832fb643
@ -1,3 +1,384 @@
|
||||
RIOT-2018.10 - 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.10 release includes new features, like CoAP Resource Directory and
|
||||
Block2, ESP32 support, rework of I2C interface, EEPROM registry,
|
||||
Full and Minimal Thread Devices support in OpenThread and compliance of
|
||||
LoRaWAN 1.0.2 (ABP counters stored in EEPROM). Several boards were introduced.
|
||||
|
||||
During the last release the board documentation was migrated from the wiki to
|
||||
the [RIOT API documentation](https://doc.riot-os.org) to improve the
|
||||
maintenance of these entries and provide a better user experience when
|
||||
browsing the documentation. There were also some efforts in grouping some
|
||||
modules to make them easier to access in the documentation.
|
||||
|
||||
There were also some efforts on refactoring, test improvements and bug fixes.
|
||||
|
||||
About 392 pull requests with about 914 commits have been merged since the last
|
||||
release and about 20 issues have been solved. 57 people contributed with code
|
||||
in 100 days. Approximately 2184 files have been touched with 211964 insertions
|
||||
and 34806 deletions.
|
||||
|
||||
|
||||
Notations used below:
|
||||
=====================
|
||||
+ means new feature/item
|
||||
* means modified feature/item
|
||||
- means removed feature/item
|
||||
|
||||
New features and changes
|
||||
========================
|
||||
|
||||
Community
|
||||
---------
|
||||
+ Initial RIOT developer memo + directory structure
|
||||
+ GitHub feature request template
|
||||
+ 'testing' in Github PR template
|
||||
* Rework and documented labeling system
|
||||
* Rework MAINTAINING.md document
|
||||
* Rework CONTRIBUTING.md document
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
+ Add boards `slstk3401a`, `slstk3402a` and `sltb001a`
|
||||
+ Migrate boards documentation to Doxygen
|
||||
+ New groups under `sys` (serialization, math, memory management, hashes)
|
||||
+ `arduino` docs for analog map
|
||||
+ nanocoap
|
||||
+ tinycbor pkg
|
||||
* Drivers with `saul` support are now also part of the `drivers_saul` group
|
||||
|
||||
Core
|
||||
----
|
||||
+ Architecture dependent thread information
|
||||
* Fix `byteorder` bebuftohs() / htobebufs() on big endian
|
||||
* Make `pthread` compilable with g++
|
||||
|
||||
System libraries
|
||||
----------------
|
||||
+ Add EEPROM registration support
|
||||
+ Add `arduino` time functions micros() and delayMicroseconds()
|
||||
+ Add `fmt` hex byte
|
||||
+ ecc: add golay(24,12) half rate and repetition code
|
||||
+ tsrb: add drop function
|
||||
* Change `base64` api (const + void*)
|
||||
* Configure Arduino serial port at compile time
|
||||
* Move `hamming256` module to generic `ecc`
|
||||
* sys/auto_init: Fixed initialization of `sht1x`
|
||||
* crypto/ccm: fix auth_data_len check
|
||||
- Remove `cbor` module
|
||||
|
||||
Networking
|
||||
----------
|
||||
+ cord_ep: Full CoRE Resource Directory endpoint support
|
||||
+ nanocoap: add server-side Block2 support
|
||||
* emb6_sock_udp: copy receive remote correctly
|
||||
* ethos: Add drop frame case to recv function
|
||||
* examples/gcoap: fix post/put without port number
|
||||
* gnrc/6lo: set more data flag on all but last fragment
|
||||
* gnrc_ipv6_nib: always configure 802.15.4 long address with IPv6 included
|
||||
* gnrc_ipv6_nib: fallback to SLAAC if ARO is ignored by upstream
|
||||
* gnrc_ipv6_nib: make automatic NDP packet emission (NS/RS) configurable
|
||||
* gnrc_netif: fix l2addr_len > 0, but no l2addr edge-case
|
||||
* gnrc_netif: reapply event flags on device reset
|
||||
* gnrc_netif_ieee802154: set FCF Frame Pending when more data is expected
|
||||
* gnrc_sixlowpan_frag: add page context to reassembly buffer
|
||||
* gnrc_sixlowpan: refactored for better interchangability of sub-components
|
||||
* gnrc_sock_[udp|ip]: read return value for _recv after release
|
||||
* nanocoap: allow empty uri/location path option
|
||||
|
||||
Packages
|
||||
--------
|
||||
+ libb2: add support (BLAKE2)
|
||||
+ libhydrogen: add support
|
||||
+ lora_serialization: LoRa Serialization format support
|
||||
+ openthread: FTD and MTD support
|
||||
+ semtech-loramac: add support for RU864 ISM band
|
||||
* ccn-lite: update and adapt shell commands
|
||||
* jerryscript: bump version
|
||||
* littlefs: bump version to v1.6.20
|
||||
* lwip: bump to version 2.1.0
|
||||
* semtech-loramac: bump to version 4.4.1
|
||||
* semtech-loramac: fix uninitialized datarate
|
||||
* semtech-loramac: lorawan support is not considered experimental anymore
|
||||
* semtech-loramac: use periph_eeprom to store lorawan configuration
|
||||
* tiny-asn1: bump version
|
||||
* tinycbor: Version bump to 0.5.2
|
||||
|
||||
Boards
|
||||
------
|
||||
+ i2c configuration for `nucleo-f070`, `nucleo-f091rc`,
|
||||
`nucleo-f722ze`, `nucleo-l476rg`, `slstk3402a`.
|
||||
+ second i2c configuration for `b-l475e-iot01a`
|
||||
+ esp32-mh-et-live-minikit: add support
|
||||
+ esp32-olimex-evb: add support
|
||||
+ esp32-wemos-lolin-d32-pro: add support
|
||||
+ esp32-wroom-32: add support
|
||||
+ esp32-wrover-kit: add support
|
||||
+ esp8266-esp-12x: add support
|
||||
+ esp8266-olimex-mod: add support
|
||||
+ esp8266-sparkfun-mod: add support
|
||||
+ firefly: add support for Zolertia FireFly
|
||||
+ lobaro_lorabox: add support
|
||||
+ openmoteb-cc2538: add support
|
||||
+ samr30-xpro: add support
|
||||
+ sensebox: add support for `sensebox` and `sensebox_samd21`
|
||||
+ sodaq_one: add support
|
||||
+ ublox-c030-u201: add support
|
||||
* frdm-k64f: update ADC and `saul` configuration
|
||||
* nrf52xxxdk: make reset pin work
|
||||
* stm32mindev: rename to `blackpill`
|
||||
|
||||
CPU
|
||||
---
|
||||
+ efm32: add support for enabling/disabling DC-DC converter
|
||||
+ esp32: add initial support
|
||||
+ esp8266: add initial support
|
||||
+ i2c: introduce and adapt new I2C interface
|
||||
+ kinetis: add ADC hardware averaging configuration
|
||||
+ nrf52: add PWM support
|
||||
+ samr30: add initial support
|
||||
+ stm32l4: add support for periph_flashpage
|
||||
* Add PUF SRAM feature in `nrf5x` and `stm32` families
|
||||
* atmega_common: allow defining ROM and RAM length for link
|
||||
* cortexm_common/ldscript: simplify generation of firmwares in section of
|
||||
the ROM
|
||||
* nrf5x_common: fix `gpio` port 1 functionality
|
||||
* stm32-common: unified support for periph_i2c. I2C is now supported by
|
||||
all stm32 families (F0/1/2/3/4/7, L0/1/4)
|
||||
* stm32_common: fix source selection declared as module dependencies
|
||||
|
||||
Device Drivers
|
||||
--------------
|
||||
+ drivers/ds18: add limited support for Maxim Integrated 1-Wire temperature
|
||||
sensor
|
||||
+ drivers/mma7660: initial support
|
||||
+ drivers/srf04: add range finder sensor
|
||||
+ drivers/sx127x: add initial support for multi interrupt pins
|
||||
+ drivers/tsl4531x: add support for visible light intensity sensor
|
||||
+ drivers/vcnl40x10: add initial support
|
||||
* drivers/*: unify driver initialization parameters scheme
|
||||
* drivers/adxl345: fix driver
|
||||
* drivers/at86rf2xx: add smart idle listening feature
|
||||
* drivers/kw2xrf: Fix ack flag handling
|
||||
* drivers/mtd_spi_nor: add 4-byte address flash support
|
||||
* drivers/periph_i2c: rework API
|
||||
* drivers/sx127x: return correct state when device is receiving
|
||||
|
||||
Build System / Tooling
|
||||
----------------------
|
||||
+ Makefile.include: Include VERSION file for release
|
||||
+ dist/tools: add lazysponge tool
|
||||
+ docker: Use system GIT_CACHE_DIR if available
|
||||
+ docker: allow using sudo for docker
|
||||
+ make: introduce periph_gpio_irq
|
||||
+ make: process include and dep for external modules
|
||||
+ makefile.iotlab.single.inc.mk: add new supported nodes
|
||||
* cflags: use gnu99 only if nothing else is specified (mips, msp430, native)
|
||||
* docker/Makefile.include: Fix BUILDRELPATH when RIOTPROJECT is CURDIR
|
||||
* docker: export RIOT_CI_BUILD_to docker
|
||||
* docker: handle building in git worktree
|
||||
* edbg.inc.mk: allow flashing with an offset in rom without erasing all ROM
|
||||
* make: add APPDIR to info-build target
|
||||
* make: provide support for listing supported and blacklisting toolchains
|
||||
* make: unify app folder search (examples/*, tests/*, ...)
|
||||
* makefiles/buildtests.inc.mk: fix 'clean-intermediates' not cleaning
|
||||
* makefiles/docker.inc.mk: handle building in git worktree
|
||||
* openocd.sh: allow flashing binary files without configuration
|
||||
* pkg.mk: do not use user identity when applying patches
|
||||
* pyterm: handle ctrl+d shortcut nicely
|
||||
|
||||
Testing
|
||||
-------
|
||||
+ automatic compile tests for LLVM for selected boards
|
||||
+ shellcheck: add CI check script
|
||||
+ tests/bench_runtime_coreapis: add benchmark for selected core functions
|
||||
+ tests/bench_sizeof_coretypes: initial include
|
||||
+ tests/periph_uart: add automated testing script
|
||||
+ tests/periph_eeprom: add automated testing script
|
||||
+ tests/periph_flashpage: add automated testing script
|
||||
* murdock: also compile with LLVM/clang
|
||||
* murdock: add hook support
|
||||
+ tests/arduino: add automatic test for arduino module
|
||||
+ tests/libc_newlib: add test for newlib-nano inclusion
|
||||
+ tests/periph_uart: add automated testing script
|
||||
+ tests/gnrc_netif: add test for ULA source selection
|
||||
+ tests/periph_gpio: add interrupt enable disable command
|
||||
+ sock_util: Add unittest and fix detected issues
|
||||
|
||||
|
||||
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
|
||||
#9656: gnrc/netif: various problems after resetting interface a second time
|
||||
#9889: ethos: desync between ethos::last_framesize and tsrb content possible
|
||||
#10370: gomach: Resetting netif with cli doesn't return
|
||||
|
||||
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
|
||||
#10073: xtimer_usleep wrong delay time
|
||||
|
||||
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)
|
||||
#5218: 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
|
||||
#6567: periph/spi: Switching between CPOL=0,1 problems on Kinetis with software
|
||||
CS
|
||||
#6874: SAMD21: possible CMSIS bug
|
||||
#7020: isr_rfcoreerrors while pinging between CC2538DKs
|
||||
#7667: sam0 flashpage_write issues
|
||||
#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
|
||||
#9619: ATmega platform issues.
|
||||
#9882: sys/tsrb is not thread safe on AVR
|
||||
#10338: xbee: setting PAN ID sometimes fails
|
||||
#10341: driver_my9221 prevents further flashing of nucleo-l073rz
|
||||
#10345: frdm-k22f cannot flash after certain firmware flashed
|
||||
#10351: samd21/periph/rtt: Interrupt flags are not correctly cleared
|
||||
#10353: cpu/nrf5x_common: hwrng hangs
|
||||
|
||||
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
|
||||
#9742: `buildtest` uses wrong build directory
|
||||
#10121: RIOT cannot compile with the latest version of macOS (10.14) and Xcode 10
|
||||
#10175: No error returned from aes_init when a key with a bad size is used
|
||||
#10206: Lua_basic example doesn't flash in b-l072z-lrwan1
|
||||
#10258: Incorrect default $PORT building for esp32-wroom-32 on macOS
|
||||
#10287: docker: docker cannot access /etc/localtime on OS X
|
||||
#10367: sam0.inc.mk: Did not find a device with serial ATML21xxxxxxxx
|
||||
|
||||
Fixed Issues from the last release (2018.07)
|
||||
============================================
|
||||
|
||||
#9573: pkg/lwip: assert on samr21-xpro
|
||||
#9584: drivers/cc2420: add netopt NETOPT_MAX_PACKET_SIZE
|
||||
#6437: periph/spi: Leftovers from SPI rework in #4780
|
||||
#6650: GPIO Port shift in cc2538 is unconsistent
|
||||
#6836: Issuing a reboot on ATmega328p makes the board loop-reboot
|
||||
#7846: stm32f1: I2C read functions return bogus values with unconnected devices
|
||||
#9616: at86rf2xx: can not correctly set channel after `NETOPT_STATE_RESET`
|
||||
|
||||
|
||||
You can get the complete detail in the git history and in the release milestone
|
||||
[Release 2018.10](https://github.com/RIOT-OS/RIOT/milestone/24?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.07 - Release Notes
|
||||
============================
|
||||
RIOT is a multi-threading operating system which enables soft real-time
|
||||
|
Loading…
Reference in New Issue
Block a user