Press release

We are releasing version XXX of Contiki-NG. This release adds XXX, and support for link-time-optimization that can reduce the binary size up to 50% on some examples.

Various parts of the user experience for developers have been improved in this release:

  • Docker image updated to Ubuntu 22.04.

Find out more at:

Engage with the community:

The Contiki-NG team

API changes for ports outside the main tree

Cooja API changes for plugins outside the main tree

Update from JDOM 1 to JDOM 2

JDOM was upgraded from version 1 to version 2 (#784). This requires some source code updates, but since Cooja uses such a small subset of the JDOM API, the update can be done automatically with the command:

find <directory> -name \*.java -exec perl -pi -e 's#import org.jdom.#import org.jdom2.#g' {} \;

Avoid starting the AWT thread in headless mode

Cooja will no longer start plugins that extend VisPlugin in headless mode to avoid starting the AWT thread. Plugins that should run in both GUI mode and headless mode need to be updated to keep the JInternalFrame internal. Examples for PowerTracker and other plugins can be found in the PR (#261).



  • Support for link-time-optimization in the build system (#2077)

  • Consolidate configuration defines of TI platforms. Prefixes CCXXWARE_CONF and CC26XX_UART_CONF are deprecated in favor of CCFG_CONF and TI_UART_CONF. (#2311, #2387)

  • Optimize channel offsets in Orchestra to reduce collisions. Note! This changes the default channel offsets in Orchestra. Deployments with a mix of nodes with default configuration at v4.9 and earlier releases may not work, or see poor performance. Adjustments to ORCHESTRA_*_CHANNEL_OFFSET may be needed. (#1673)

All commits since v4.8.


  • Mobility plugin added to Cooja (#768)

All commits since v4.8.