Skip to content
DNP3 (IEEE-1815) protocol stack. Modern C++ with bindings for .NET and Java.
C++ Java C# Scala CMake Shell
Branch: release-2.x
Clone or download
Latest commit 44c06cb Jun 21, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Added build status badges. May 21, 2019
cmake Execute clang-tidy per file (otherwise it overflows). May 23, 2019
config Update version numbers. Jun 21, 2019
deps upgrade default ASIO version to 1-12-2 and migrate to new names for i… May 20, 2019
generation remove whitespace in generated file header and change IndexQuanliferM… May 22, 2019
java [maven-release-plugin] prepare for next development iteration Jun 21, 2019
profile recored support for assign_class in the device profile Oct 4, 2014
.clang-format Final format. May 22, 2019
.clang-tidy Applied clang-tidy and clang-format. May 23, 2019
.gitattributes updated git attributes Apr 10, 2014
.gitmodules define ASIO as git submodule Jul 25, 2016
CHANGELOG.markdown Bump version numbers and update CHANGELOG. Jun 17, 2019
CMakeLists.txt Update version numbers. Jun 21, 2019
NOTICE Add missing notice file Oct 3, 2016 Update README with new branch names. Jun 17, 2019
appveyor.yml Fix nuspec. May 22, 2019


Opendnp3 is a portable, scalable, and rigorously tested implementation of the DNP3 protocol stack written in C++11. The library is designed for high-performance applications like many concurrent TCP sessions or huge device simulations. It also embeds with a small footprint on Linux.

Build status

Branch Ubuntu 18.04 Windows
release-2.x CircleCI AppVeyor
develop CircleCI AppVeyor


The documentation can be found on the project homepage.

If you want to help contribute to the official guide its in this repo.


Licensed under the terms of the Apache 2.0 License.

Copyright (c) 2010, 2011 Green Energy Corp

Copyright (c) 2013 - 2019 Automatak LLC

Copyright (c) 2010 - 2019 various contributors

You can’t perform that action at this time.