This release candidate moves the VOLTTRON platform into Python version 3.6 ahead of Python 2.7's end of life. This is a major revision that touched multiple parts of the codebase. Please exercise this release candidate and report any issues with installation or execution to help us bring this to a full release.
A major focus of this release was converting to Python3. In addition, the following list highlights the most notable changes included in the 7.0 Release Candidate 1 added since the full release of version 6 (https://github.com/VOLTTRON/volttron/releases/tag/6.0)
- Python3 Upgrade
- Update libraries to appropriate and compatible versions
- String handling efficiency
- Encode/Decode of strings has been simplified and centralized
- Added additional test cases for frame serialization in ZMQ
- Syntax updates such difference in handling exceptions, dictionaries, sorting lists, pytest markers etc.
- Made bootstrap process simpler
- Resolved gevent monkey patch issues when using third party libraries
- RabbitMQ Message Bus
- Client code for integrating non-VOLTTRON applications with the message bus available at: https://github.com/VOLTTRON/external-clients-for-rabbitmq
- Includes support for MQTT, non-VOLTTRON Python, and Java based Rabbit MQ clients
- Config store secured
- Agents can prevent other agents from modifying their configuration store entry
**Known Issues** which will be dealt with for the final release:
- Python 3.7 has conflicts with some libraries such as gevent
- The VOLTTRON Central agent is not fully integrated into Python3
- CFFI library has conflicts on the Raspian OS which interferes with bootstrapping