Merge branch 'hotfix/v3.6.7'

This commit is contained in:
Ivan Kravets
2019-04-23 12:47:27 +03:00
9 changed files with 40 additions and 24 deletions

View File

@ -4,6 +4,16 @@ Release Notes
PlatformIO 3.0 PlatformIO 3.0
-------------- --------------
3.6.7 (2019-04-23)
~~~~~~~~~~~~~~~~~~
* `PIO Unified Debugger <https://docs.platformio.org/page/plus/debugging.html>`__: improved debugging in ``debug_load_mode = modified`` and fixed an issue with useless project rebuilding
* Project Generator: fixed a VSCode C/C++'s "Cannot find" warning when CPPPATH folder does not exist
* Fixed an "IndexError: list index out of range" for Arduino sketch preprocessor
(`issue #2268 <https://github.com/platformio/platformio-core/issues/2268>`_)
* Fixed an issue when invalid "env_default" in `"platformio.ini" (Project Configuration File) <https://docs.platformio.org/page/projectconf.html>`__ results into unhandled errors
(`issue #2265 <https://github.com/platformio/platformio-core/issues/2265>`_)
3.6.6 (2019-03-29) 3.6.6 (2019-03-29)
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
@ -12,7 +22,7 @@ PlatformIO 3.0
* Fixed an issue when PlatformIO Build System does not pick up "mbed_lib.json" files from libraries * Fixed an issue when PlatformIO Build System does not pick up "mbed_lib.json" files from libraries
(`issue #2164 <https://github.com/platformio/platformio-core/issues/2164>`_) (`issue #2164 <https://github.com/platformio/platformio-core/issues/2164>`_)
* Fixed an error with conflicting declaration of a prototype (Arduino sketch preprocessor) * Fixed an error with conflicting declaration of a prototype (Arduino sketch preprocessor)
* Fixed "FileExistsError" when `platformio ci <https://docs.platformio.org/en/latest/userguide/cmd_ci.html>`__ command is used in pair with ``--keep-build-dir`` option * Fixed "FileExistsError" when `platformio ci <https://docs.platformio.org/page/userguide/cmd_ci.html>`__ command is used in pair with ``--keep-build-dir`` option
* Fixed an issue with incorrect order of project "include" and "src" paths in ``CPPPATH`` * Fixed an issue with incorrect order of project "include" and "src" paths in ``CPPPATH``
(`issue #1914 <https://github.com/platformio/platformio-core/issues/1914>`_) (`issue #1914 <https://github.com/platformio/platformio-core/issues/1914>`_)
@ -22,7 +32,7 @@ PlatformIO 3.0
* Project Generator: added new targets for CLion IDE "BUILD_VERBOSE" and "MONITOR" (serial port monitor) * Project Generator: added new targets for CLion IDE "BUILD_VERBOSE" and "MONITOR" (serial port monitor)
(`issue #359 <https://github.com/platformio/platformio-core/issues/359>`_) (`issue #359 <https://github.com/platformio/platformio-core/issues/359>`_)
* Fixed an issue with slow updating of PlatformIO Core packages on Windows * Fixed an issue with slow updating of PlatformIO Core packages on Windows
* Fixed an issue when `platformio ci <https://docs.platformio.org/en/latest/userguide/cmd_ci.html>`__ recompiles project if ``--keep-build-dir`` option is passed * Fixed an issue when `platformio ci <https://docs.platformio.org/page/userguide/cmd_ci.html>`__ recompiles project if ``--keep-build-dir`` option is passed
(`issue #2109 <https://github.com/platformio/platformio-core/issues/2109>`_) (`issue #2109 <https://github.com/platformio/platformio-core/issues/2109>`_)
* Fixed an issue when ``$PROJECT_HASH`` template was not expanded for the other directory ``***_dir`` options in `"platformio.ini" (Project Configuration File) <https://docs.platformio.org/page/projectconf.html>`__ * Fixed an issue when ``$PROJECT_HASH`` template was not expanded for the other directory ``***_dir`` options in `"platformio.ini" (Project Configuration File) <https://docs.platformio.org/page/projectconf.html>`__
(`issue #2170 <https://github.com/platformio/platformio-core/issues/2170>`_) (`issue #2170 <https://github.com/platformio/platformio-core/issues/2170>`_)
@ -70,9 +80,9 @@ PlatformIO 3.0
* Generate an `include <http://docs.platformio.org/page/projectconf/section_platformio.html#include-dir>`__ and `test <http://docs.platformio.org/page/projectconf/section_platformio.html#test-dir>`__ directories with a README file when initializing a new project * Generate an `include <http://docs.platformio.org/page/projectconf/section_platformio.html#include-dir>`__ and `test <http://docs.platformio.org/page/projectconf/section_platformio.html#test-dir>`__ directories with a README file when initializing a new project
* Support in-line comments for multi-line value (``lib_deps``, ``build_flags``, etc) in `"platformio.ini" (Project Configuration File) <https://docs.platformio.org/page/projectconf.html>`__ * Support in-line comments for multi-line value (``lib_deps``, ``build_flags``, etc) in `"platformio.ini" (Project Configuration File) <https://docs.platformio.org/page/projectconf.html>`__
* Added ``$PROJECT_HASH`` template variable for `build_dir <http://docs.platformio.org/en/latest/projectconf/section_platformio.html#projectconf-pio-build-dir>`__. One of the use cases is setting a global storage for project artifacts using `PLATFORMIO_BUILD_DIR <http://docs.platformio.org/en/latest/envvars.html#envvar-PLATFORMIO_BUILD_DIR>`__ system environment variable. For example, ``/tmp/pio-build/$PROJECT_HASH`` (Unix) or ``$[sysenv.TEMP}/pio-build/$PROJECT_HASH`` (Windows) * Added ``$PROJECT_HASH`` template variable for `build_dir <http://docs.platformio.org/page/projectconf/section_platformio.html#projectconf-pio-build-dir>`__. One of the use cases is setting a global storage for project artifacts using `PLATFORMIO_BUILD_DIR <http://docs.platformio.org/page/envvars.html#envvar-PLATFORMIO_BUILD_DIR>`__ system environment variable. For example, ``/tmp/pio-build/$PROJECT_HASH`` (Unix) or ``$[sysenv.TEMP}/pio-build/$PROJECT_HASH`` (Windows)
* Improved a loading speed of PIO Home "Recent News" * Improved a loading speed of PIO Home "Recent News"
* Improved `PIO Unified Debugger <https://docs.platformio.org/en/page/plus/debugging.html>`__ for "mbed" framework and fixed issue with missed local variables * Improved `PIO Unified Debugger <https://docs.platformio.org/page/plus/debugging.html>`__ for "mbed" framework and fixed issue with missed local variables
* Introduced `"Release" and "Debug" Build Configurations <http://docs.platformio.org/page/projectconf/build_configurations.html>`__ * Introduced `"Release" and "Debug" Build Configurations <http://docs.platformio.org/page/projectconf/build_configurations.html>`__
* Build project in "Debug Mode" including debugging information with a new ``debug`` target using `platformio run <https://docs.platformio.org/page/userguide/cmd_run.html>`__ command or `targets <http://docs.platformio.org/page/projectconf/section_env_general.html#targets>`__ option in ``platformio.ini``. The last option allows avoiding project rebuilding between "Run/Debug" modes. * Build project in "Debug Mode" including debugging information with a new ``debug`` target using `platformio run <https://docs.platformio.org/page/userguide/cmd_run.html>`__ command or `targets <http://docs.platformio.org/page/projectconf/section_env_general.html#targets>`__ option in ``platformio.ini``. The last option allows avoiding project rebuilding between "Run/Debug" modes.
(`issue #1833 <https://github.com/platformio/platformio-core/issues/1833>`_) (`issue #1833 <https://github.com/platformio/platformio-core/issues/1833>`_)
@ -130,7 +140,7 @@ PlatformIO 3.0
build environment build environment
(`issue #1665 <https://github.com/platformio/platformio-core/issues/1665>`_) (`issue #1665 <https://github.com/platformio/platformio-core/issues/1665>`_)
* Handle "architectures" data from "library.properties" manifest in * Handle "architectures" data from "library.properties" manifest in
`lib_compat_mode = strict <https://docs.platformio.org/en/page/librarymanager/ldf.html#compatibility-mode>`__ `lib_compat_mode = strict <https://docs.platformio.org/page/librarymanager/ldf.html#compatibility-mode>`__
* Added workaround for Python SemVer package's `issue #61 <https://github.com/rbarrois/python-semanticversion/issues/61>`_ with caret range and pre-releases * Added workaround for Python SemVer package's `issue #61 <https://github.com/rbarrois/python-semanticversion/issues/61>`_ with caret range and pre-releases
* Replaced conflicted "env" pattern by "sysenv" for `"platformio.ini" Dynamic Variables" <https://docs.platformio.org/page/projectconf/dynamic_variables.html>`__ * Replaced conflicted "env" pattern by "sysenv" for `"platformio.ini" Dynamic Variables" <https://docs.platformio.org/page/projectconf/dynamic_variables.html>`__
(`issue #1705 <https://github.com/platformio/platformio-core/issues/1705>`_) (`issue #1705 <https://github.com/platformio/platformio-core/issues/1705>`_)
@ -158,7 +168,7 @@ PlatformIO 3.0
(`issue #1612 <https://github.com/platformio/platformio-core/issues/1612>`_) (`issue #1612 <https://github.com/platformio/platformio-core/issues/1612>`_)
* Configure a custom path to SVD file using `debug_svd_path <https://docs.platformio.org/page/projectconf/section_env_debug.html#debug-svd-path>`__ * Configure a custom path to SVD file using `debug_svd_path <https://docs.platformio.org/page/projectconf/section_env_debug.html#debug-svd-path>`__
option option
* Custom project `description <https://docs.platformio.org/en/page/projectconf/section_platformio.html#description>`_ * Custom project `description <https://docs.platformio.org/page/projectconf/section_platformio.html#description>`_
which will be used by `PlatformIO Home <https://docs.platformio.org/page/home/index.html>`_ which will be used by `PlatformIO Home <https://docs.platformio.org/page/home/index.html>`_
* Updated Unity tool to 2.4.3 * Updated Unity tool to 2.4.3
* Improved support for Black Magic Probe in "uploader" mode * Improved support for Black Magic Probe in "uploader" mode
@ -184,9 +194,9 @@ PlatformIO 3.0
- Multiple themes (Dark & Light) - Multiple themes (Dark & Light)
- Ability to specify a name for new project - Ability to specify a name for new project
* Control `PIO Unified Debugger <https://docs.platformio.org/en/page/plus/debugging.html>`__ * Control `PIO Unified Debugger <https://docs.platformio.org/page/plus/debugging.html>`__
and its firmware loading mode using and its firmware loading mode using
`debug_load_mode <https://docs.platformio.org/en/page/projectconf/section_env_debug.html#debug-load-mode>`__ option `debug_load_mode <https://docs.platformio.org/page/projectconf/section_env_debug.html#debug-load-mode>`__ option
* Added aliases (off, light, strict) for * Added aliases (off, light, strict) for
`LDF Compatibility Mode <https://docs.platformio.org/page/librarymanager/ldf.html>`__ `LDF Compatibility Mode <https://docs.platformio.org/page/librarymanager/ldf.html>`__
* Search for a library using PIO Library Registry ID ``id:X`` (e.g. ``pio lib search id:13``) * Search for a library using PIO Library Registry ID ``id:X`` (e.g. ``pio lib search id:13``)

2
docs

Submodule docs updated: 3a6c69a1ae...0c29f9671f

View File

@ -14,7 +14,7 @@
import sys import sys
VERSION = (3, 6, 6) VERSION = (3, 6, 7)
__version__ = ".".join([str(s) for s in VERSION]) __version__ = ".".join([str(s) for s in VERSION])
__title__ = "platformio" __title__ = "platformio"

View File

@ -296,8 +296,7 @@ def ProcessDebug(env):
if not env.subst("$PIODEBUGFLAGS"): if not env.subst("$PIODEBUGFLAGS"):
env.Replace(PIODEBUGFLAGS=["-Og", "-g3", "-ggdb3"]) env.Replace(PIODEBUGFLAGS=["-Og", "-g3", "-ggdb3"])
env.Append( env.Append(
PIODEBUGFLAGS=["-D__PLATFORMIO_DEBUG__"], BUILD_FLAGS=list(env['PIODEBUGFLAGS']) + ["-D__PLATFORMIO_DEBUG__"])
BUILD_FLAGS=env.get("PIODEBUGFLAGS", []))
unflags = ["-Os"] unflags = ["-Os"]
for level in [0, 1, 2]: for level in [0, 1, 2]:
for flag in ("O", "g", "ggdb"): for flag in ("O", "g", "ggdb"):

View File

@ -23,6 +23,7 @@ import click
from platformio import exception, util from platformio import exception, util
from platformio.commands.platform import \ from platformio.commands.platform import \
platform_install as cli_platform_install platform_install as cli_platform_install
from platformio.commands.run import check_project_envs
from platformio.ide.projectgenerator import ProjectGenerator from platformio.ide.projectgenerator import ProjectGenerator
from platformio.managers.platform import PlatformManager from platformio.managers.platform import PlatformManager
@ -130,10 +131,11 @@ def get_best_envname(project_dir, boards=None):
config = util.load_project_config(project_dir) config = util.load_project_config(project_dir)
env_default = None env_default = None
if config.has_option("platformio", "env_default"): if config.has_option("platformio", "env_default"):
env_default = config.get("platformio", env_default = util.parse_conf_multi_values(
"env_default").split(", ")[0].strip() config.get("platformio", "env_default"))
check_project_envs(config, env_default)
if env_default: if env_default:
return env_default return env_default[0]
section = None section = None
for section in config.sections(): for section in config.sections():
if not section.startswith("env:"): if not section.startswith("env:"):

View File

@ -5,7 +5,7 @@
}, },
{ {
% import platform % import platform
% from os.path import commonprefix, dirname % from os.path import commonprefix, dirname, isdir
% %
% systype = platform.system().lower() % systype = platform.system().lower()
% %
@ -15,7 +15,7 @@
% %
% cleaned_includes = [] % cleaned_includes = []
% for include in includes: % for include in includes:
% if "toolchain-" not in dirname(commonprefix([include, cc_path])): % if "toolchain-" not in dirname(commonprefix([include, cc_path])) and isdir(include):
% cleaned_includes.append(include) % cleaned_includes.append(include)
% end % end
% end % end
@ -65,7 +65,8 @@
% if cxx_stds: % if cxx_stds:
"cppStandard": "c++{{ cxx_stds[-1] }}", "cppStandard": "c++{{ cxx_stds[-1] }}",
% end % end
"compilerPath": "{{! _escape(cc_path) }} {{! _escape(cc_m_flags) }}" "compilerPath": "\"{{! _escape(cc_path) }}\" {{! _escape(cc_m_flags) }}"
} }
] ],
"version": 4
} }

View File

@ -24,9 +24,10 @@ from platformio import __version__, exception, util
from platformio.managers.package import PackageManager from platformio.managers.package import PackageManager
CORE_PACKAGES = { CORE_PACKAGES = {
"contrib-piohome": "^2.0.0", "contrib-piohome": "^2.0.1",
"contrib-pysite": "~2.%d%d.0" % (sys.version_info[0], sys.version_info[1]), "contrib-pysite":
"tool-pioplus": "^2.0.0", "~2.%d%d.190418" % (sys.version_info[0], sys.version_info[1]),
"tool-pioplus": "^2.1.4",
"tool-unity": "~1.20403.0", "tool-unity": "~1.20403.0",
"tool-scons": "~2.20501.7" "tool-scons": "~2.20501.7"
} }

View File

@ -66,7 +66,11 @@ class MeasurementProtocol(TelemetryBase):
self['tid'] = self.TID self['tid'] = self.TID
self['cid'] = app.get_cid() self['cid'] = app.get_cid()
self['sr'] = "%dx%d" % click.get_terminal_size() try:
self['sr'] = "%dx%d" % click.get_terminal_size()
except ValueError:
pass
self._prefill_screen_name() self._prefill_screen_name()
self._prefill_appinfo() self._prefill_appinfo()
self._prefill_custom_data() self._prefill_custom_data()

View File

@ -680,7 +680,6 @@ def get_api_result(url, params=None, data=None, auth=None, cache_valid=None):
PING_INTERNET_IPS = [ PING_INTERNET_IPS = [
"192.30.253.113", # github.com "192.30.253.113", # github.com
"18.195.111.75", # dl.bintray.com
"193.222.52.25" # dl.platformio.org "193.222.52.25" # dl.platformio.org
] ]