Skip to content

Commit ca1f633

Browse files
committed
Merge branch 'release/v6.1.12'
2 parents c2b3097 + a2f3e85 commit ca1f633

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+441
-209
lines changed

.github/workflows/core.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ jobs:
88
fail-fast: false
99
matrix:
1010
os: [ubuntu-20.04, windows-latest, macos-latest]
11-
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"]
11+
python-version: ["3.6", "3.7", "3.11", "3.12"]
1212

1313
runs-on: ${{ matrix.os }}
1414

1515
steps:
16-
- uses: actions/checkout@v3
16+
- uses: actions/checkout@v4
1717
with:
1818
submodules: "recursive"
1919

@@ -37,7 +37,7 @@ jobs:
3737
tox -e lint
3838
3939
- name: Integration Tests
40-
if: ${{ matrix.python-version == '3.9' }}
40+
if: ${{ matrix.python-version == '3.11' }}
4141
run: |
4242
tox -e testcore
4343

.github/workflows/deployment.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@ jobs:
1212
environment: production
1313

1414
steps:
15-
- uses: actions/checkout@v3
15+
- uses: actions/checkout@v4
1616
with:
1717
submodules: "recursive"
1818

1919
- name: Set up Python
2020
uses: actions/setup-python@v4
2121
with:
22-
python-version: "3.9"
22+
python-version: "3.11"
2323

2424
- name: Install dependencies
2525
run: |
@@ -35,7 +35,8 @@ jobs:
3535
tox -e testcore
3636
3737
- name: Build Python source tarball
38-
run: python setup.py sdist bdist_wheel
38+
# run: python setup.py sdist bdist_wheel
39+
run: python setup.py sdist
3940

4041
- name: Publish package to PyPI
4142
if: ${{ github.ref == 'refs/heads/master' }}

.github/workflows/docs.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ jobs:
77
name: Build Docs
88
runs-on: ubuntu-latest
99
steps:
10-
- uses: actions/checkout@v3
10+
- uses: actions/checkout@v4
1111
with:
1212
submodules: "recursive"
1313
- name: Set up Python
1414
uses: actions/setup-python@v4
1515
with:
16-
python-version: 3.9
16+
python-version: "3.11"
1717
- name: Install dependencies
1818
run: |
1919
python -m pip install --upgrade pip
@@ -78,7 +78,7 @@ jobs:
7878
fi
7979
- name: Checkout latest Docs
8080
continue-on-error: true
81-
uses: actions/checkout@v3
81+
uses: actions/checkout@v4
8282
with:
8383
repository: ${{ env.DOCS_REPO }}
8484
path: ${{ env.DOCS_DIR }}

.github/workflows/examples.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ jobs:
1515
PIO_INSTALL_DEVPLATFORM_NAMES: "aceinna_imu,atmelavr,atmelmegaavr,atmelsam,espressif32,espressif8266,nordicnrf52,raspberrypi,ststm32,teensy"
1616

1717
steps:
18-
- uses: actions/checkout@v3
18+
- uses: actions/checkout@v4
1919
with:
2020
submodules: "recursive"
2121

2222
- name: Set up Python
2323
uses: actions/setup-python@v4
2424
with:
25-
python-version: "3.9"
25+
python-version: "3.11"
2626

2727
- name: Install dependencies
2828
run: |

.github/workflows/projects.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,20 +40,20 @@ jobs:
4040

4141
runs-on: ${{ matrix.os }}
4242
steps:
43-
- uses: actions/checkout@v3
43+
- uses: actions/checkout@v4
4444
with:
4545
submodules: "recursive"
4646

4747
- name: Set up Python ${{ matrix.python-version }}
4848
uses: actions/setup-python@v4
4949
with:
50-
python-version: 3.9
50+
python-version: 3.11
5151

5252
- name: Install PlatformIO
5353
run: pip install -U .
5454

5555
- name: Check out ${{ matrix.project.repository }}
56-
uses: actions/checkout@v3
56+
uses: actions/checkout@v4
5757
with:
5858
submodules: "recursive"
5959
repository: ${{ matrix.project.repository }}

HISTORY.rst

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,26 @@ Unlock the true potential of embedded software development with
1717
PlatformIO's collaborative ecosystem, embracing declarative principles,
1818
test-driven methodologies, and modern toolchains for unrivaled success.
1919

20+
6.1.12 (2024-01-10)
21+
~~~~~~~~~~~~~~~~~~~
22+
23+
* Added support for Python 3.12
24+
* Introduced the capability to launch the debug server in a separate process (`issue #4722 <https://github.com/platformio/platformio-core/issues/4722>`_)
25+
* Introduced a warning during the verification of MCU maximum RAM usage, signaling when the allocated RAM surpasses 100% (`issue #4791 <https://github.com/platformio/platformio-core/issues/4791>`_)
26+
* Drastically enhanced the speed of project building when operating in verbose mode (`issue #4783 <https://github.com/platformio/platformio-core/issues/4783>`_)
27+
* Upgraded the build engine to the latest version of SCons (4.6.0) to improve build performance, reliability, and compatibility with other tools and systems (`release notes <https://github.com/SCons/scons/releases/tag/4.6.0>`__)
28+
* Enhanced the handling of built-in variables in |PIOCONF| during |INTERPOLATION| (`issue #4695 <https://github.com/platformio/platformio-core/issues/4695>`_)
29+
* Enhanced PIP dependency declarations for improved reliability and extended support to include Python 3.6 (`issue #4819 <https://github.com/platformio/platformio-core/issues/4819>`_)
30+
* Implemented automatic installation of missing dependencies when utilizing a SOCKS proxy (`issue #4822 <https://github.com/platformio/platformio-core/issues/4822>`_)
31+
* Implemented a fail-safe mechanism to terminate a debugging session if an unknown CLI option is passed (`issue #4699 <https://github.com/platformio/platformio-core/issues/4699>`_)
32+
* Rectified an issue where ``${platformio.name}`` erroneously represented ``None`` as the default `project name <https://docs.platformio.org/en/latest/projectconf/sections/platformio/options/generic/name.html>`__ (`issue #4717 <https://github.com/platformio/platformio-core/issues/4717>`_)
33+
* Resolved an issue where the ``COMPILATIONDB_INCLUDE_TOOLCHAIN`` setting was not correctly applying to private libraries (`issue #4762 <https://github.com/platformio/platformio-core/issues/4762>`_)
34+
* Resolved an issue where ``get_systype()`` inaccurately returned the architecture when executed within a Docker container on a 64-bit kernel with a 32-bit userspace (`issue #4777 <https://github.com/platformio/platformio-core/issues/4777>`_)
35+
* Resolved an issue with incorrect handling of the ``check_src_filters`` option when used in multiple environments (`issue #4788 <https://github.com/platformio/platformio-core/issues/4788>`_)
36+
* Resolved an issue where running `pio project metadata <https://docs.platformio.org/en/latest/core/userguide/project/cmd_metadata.html>`__ resulted in duplicated "include" entries (`issue #4723 <https://github.com/platformio/platformio-core/issues/4723>`_)
37+
* Resolved an issue where native debugging failed on the host machine (`issue #4745 <https://github.com/platformio/platformio-core/issues/4745>`_)
38+
* Resolved an issue where custom debug configurations were being inadvertently overwritten in VSCode's ``launch.json`` (`issue #4810 <https://github.com/platformio/platformio-core/issues/4810>`_)
39+
2040
6.1.11 (2023-08-31)
2141
~~~~~~~~~~~~~~~~~~~
2242

docs

Submodule docs updated 116 files

platformio/__init__.py

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
VERSION = (6, 1, 11)
15+
VERSION = (6, 1, 12)
1616
__version__ = ".".join([str(s) for s in VERSION])
1717

1818
__title__ = "platformio"
@@ -41,7 +41,7 @@
4141
__core_packages__ = {
4242
"contrib-piohome": "~3.4.2",
4343
"contrib-pioremote": "~1.0.0",
44-
"tool-scons": "~4.40502.0",
44+
"tool-scons": "~4.40600.0",
4545
"tool-cppcheck": "~1.21100.0",
4646
"tool-clangtidy": "~1.150005.0",
4747
"tool-pvs-studio": "~7.18.0",
@@ -52,22 +52,3 @@
5252
"88.198.170.159", # platformio.org
5353
"github.com",
5454
] + __registry_mirror_hosts__
55-
56-
__install_requires__ = [
57-
# Core requirements
58-
"bottle == 0.12.*",
59-
"click >=8.0.4, <=8.2",
60-
"colorama",
61-
"marshmallow == 3.*",
62-
"pyelftools == 0.29",
63-
"pyserial == 3.5.*", # keep in sync "device/monitor/terminal.py"
64-
"requests == 2.*",
65-
"semantic_version == 2.10.*",
66-
"tabulate == 0.*",
67-
] + [
68-
# PIO Home requirements
69-
"ajsonrpc == 1.2.*",
70-
"starlette >=0.19, <0.32",
71-
"uvicorn >=0.16, <0.24",
72-
"wsproto == 1.*",
73-
]

platformio/assets/system/99-platformio-udev.rules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,3 +171,6 @@ ATTRS{product}=="*CMSIS-DAP*", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID
171171

172172
# Atmel AVR Dragon
173173
ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2107", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
174+
175+
# Espressif USB JTAG/serial debug unit
176+
ATTRS{idVendor}=="303a", ATTR{idProduct}=="1001", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"

platformio/builder/tools/piobuild.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,10 @@ def _append_pio_macros():
126126
# remove specified flags
127127
env.ProcessUnFlags(env.get("BUILD_UNFLAGS"))
128128

129+
env.ProcessCompileDbToolchainOption()
130+
131+
132+
def ProcessCompileDbToolchainOption(env):
129133
if "compiledb" in COMMAND_LINE_TARGETS:
130134
# Resolve absolute path of toolchain
131135
for cmd in ("CC", "CXX", "AS"):
@@ -138,6 +142,7 @@ def _append_pio_macros():
138142
)
139143

140144
if env.get("COMPILATIONDB_INCLUDE_TOOLCHAIN"):
145+
print("Warning! `COMPILATIONDB_INCLUDE_TOOLCHAIN` is scoping")
141146
for scope, includes in env.DumpIntegrationIncludes().items():
142147
if scope in ("toolchain",):
143148
env.Append(CPPPATH=includes)
@@ -376,6 +381,7 @@ def generate(env):
376381
env.AddMethod(GetBuildType)
377382
env.AddMethod(BuildProgram)
378383
env.AddMethod(ProcessProgramDeps)
384+
env.AddMethod(ProcessCompileDbToolchainOption)
379385
env.AddMethod(ProcessProjectDeps)
380386
env.AddMethod(ParseFlagsExtended)
381387
env.AddMethod(ProcessFlags)

platformio/builder/tools/piointegration.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,7 @@ def IsIntegrationDump(_):
2929
def DumpIntegrationIncludes(env):
3030
result = dict(build=[], compatlib=[], toolchain=[])
3131

32-
result["build"].extend(
33-
[
34-
env.subst("$PROJECT_INCLUDE_DIR"),
35-
env.subst("$PROJECT_SRC_DIR"),
36-
]
37-
)
32+
# `env`(project) CPPPATH
3833
result["build"].extend(
3934
[os.path.abspath(env.subst(item)) for item in env.get("CPPPATH", [])]
4035
)

platformio/builder/tools/piolib.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -477,6 +477,7 @@ def build(self):
477477
self.is_built = True
478478

479479
self.env.PrependUnique(CPPPATH=self.get_include_dirs())
480+
self.env.ProcessCompileDbToolchainOption()
480481

481482
if self.lib_ldf_mode == "off":
482483
for lb in self.env.GetLibBuilders():
@@ -791,7 +792,9 @@ def get_include_dirs(self):
791792
include_dirs.append(os.path.join(self.path, "utility"))
792793

793794
for path in self.env.get("CPPPATH", []):
794-
if path not in self.envorigin.get("CPPPATH", []):
795+
if path not in include_dirs and path not in self.envorigin.get(
796+
"CPPPATH", []
797+
):
795798
include_dirs.append(self.env.subst(path))
796799

797800
return include_dirs

platformio/builder/tools/pioupload.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -218,12 +218,11 @@ def _format_availale_bytes(value, total):
218218
if int(ARGUMENTS.get("PIOVERBOSE", 0)):
219219
print(output)
220220

221-
# raise error
222-
# if data_max_size and data_size > data_max_size:
223-
# sys.stderr.write(
224-
# "Error: The data size (%d bytes) is greater "
225-
# "than maximum allowed (%s bytes)\n" % (data_size, data_max_size))
226-
# env.Exit(1)
221+
if data_max_size and data_size > data_max_size:
222+
sys.stderr.write(
223+
"Warning! The data size (%d bytes) is greater "
224+
"than maximum allowed (%s bytes)\n" % (data_size, data_max_size)
225+
)
227226
if program_size > program_max_size:
228227
sys.stderr.write(
229228
"Error: The program size (%d bytes) is greater "

platformio/check/cli.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ def cli(
108108
"+<%s>" % os.path.basename(config.get("platformio", "include_dir")),
109109
]
110110

111-
src_filters = (
111+
env_src_filters = (
112112
src_filters
113113
or pattern
114114
or env_options.get(
@@ -120,7 +120,7 @@ def cli(
120120
tool_options = dict(
121121
verbose=verbose,
122122
silent=silent,
123-
src_filters=src_filters,
123+
src_filters=env_src_filters,
124124
flags=flags or env_options.get("check_flags"),
125125
severity=[DefectItem.SEVERITY_LABELS[DefectItem.SEVERITY_HIGH]]
126126
if silent

platformio/commands/upgrade.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@
1818

1919
import click
2020

21-
from platformio import VERSION, __install_requires__, __version__, app, exception
21+
from platformio import VERSION, __version__, app, exception
2222
from platformio.http import fetch_remote_content
2323
from platformio.package.manager.core import update_core_packages
24+
from platformio.pipdeps import get_pip_dependencies
2425
from platformio.proc import get_pythonexe_path
2526

2627
PYPI_JSON_URL = "https://pypi.org/pypi/platformio/json"
@@ -37,7 +38,7 @@
3738
@click.option("--verbose", "-v", is_flag=True)
3839
def cli(dev, only_dependencies, verbose):
3940
if only_dependencies:
40-
return upgrade_pypi_dependencies(verbose)
41+
return upgrade_pip_dependencies(verbose)
4142

4243
update_core_packages()
4344

@@ -102,7 +103,7 @@ def cli(dev, only_dependencies, verbose):
102103
return True
103104

104105

105-
def upgrade_pypi_dependencies(verbose):
106+
def upgrade_pip_dependencies(verbose):
106107
subprocess.run(
107108
[
108109
get_pythonexe_path(),
@@ -111,7 +112,7 @@ def upgrade_pypi_dependencies(verbose):
111112
"install",
112113
"--upgrade",
113114
"pip",
114-
*__install_requires__,
115+
*get_pip_dependencies(),
115116
],
116117
check=True,
117118
stdout=subprocess.PIPE if not verbose else None,

0 commit comments

Comments
 (0)