Browse Source
This is just scaffolding for now, but the idea is that there should be an addition to this file for every commit that uses the `MICROPY_PREVIEW_VERSION_2` macro. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>pull/12645/head
Jim Mussared
1 year ago
committed by
Damien George
2 changed files with 75 additions and 0 deletions
@ -0,0 +1,74 @@ |
|||
.. _micropython2_migration: |
|||
|
|||
MicroPython 2.0 Migration Guide |
|||
=============================== |
|||
|
|||
MicroPython 2.0 is the (currently in development, not yet available) next major |
|||
release of MicroPython. |
|||
|
|||
After maintaining API compatibility for almost a decade with the ``1.x`` series, in |
|||
order to unblock some project-wide improvements MicroPython 2.0 will introduce a |
|||
small number of breaking API changes that will require some programs to be |
|||
updated. This guide explains how to update your Python code to accommodate these |
|||
changes. |
|||
|
|||
This document is a work-in-progress. As more work is done on MicroPython 2.0, |
|||
more items will be added to the lists below. |
|||
|
|||
**Note:** There are currently no MicroPython 2.0 firmware builds available for |
|||
download. You can build it yourself by enabling the ``MICROPY_PREVIEW_VERSION_2`` |
|||
config option. As it gets closer to being ready for release, builds will be |
|||
provided for both ``1.x.y`` and ``2.0.0-preview``. |
|||
|
|||
Hardware and peripherals |
|||
------------------------ |
|||
|
|||
Overview |
|||
~~~~~~~~ |
|||
|
|||
The goal is to improve consistency in the :mod:`machine` APIs across different |
|||
ports, making it easier to write code, documentation, and tutorials that work on |
|||
any supported microcontroller. |
|||
|
|||
This means that some ports' APIs need to change to match other ports. |
|||
|
|||
Changes |
|||
~~~~~~~ |
|||
|
|||
*None yet* |
|||
|
|||
OS & filesystem |
|||
--------------- |
|||
|
|||
Overview |
|||
~~~~~~~~ |
|||
|
|||
The primary goal is to support the ability to execute :term:`.mpy files <.mpy |
|||
file>` directly from the filesystem without first copying them into RAM. This |
|||
improves code deployment time and reduces memory overhead and fragmentation. |
|||
|
|||
Additionally, a further goal is to support a more flexible way of configuring |
|||
partitions, filesystem types, and options like USB mass storage. |
|||
|
|||
Changes |
|||
~~~~~~~ |
|||
|
|||
*None yet* |
|||
|
|||
CPython compatibility |
|||
--------------------- |
|||
|
|||
Overview |
|||
~~~~~~~~ |
|||
|
|||
The goal is to improve compatibility with CPython by removing MicroPython |
|||
extensions from CPython APIs. In most cases this means moving existing |
|||
MicroPython-specific functions or classes to new modules. |
|||
|
|||
This makes it easier to write code that works on both CPython and MicroPython, |
|||
which is useful for development and testing. |
|||
|
|||
Changes |
|||
~~~~~~~ |
|||
|
|||
*None yet* |
Loading…
Reference in new issue