|
1 | 1 | <!---
|
2 |
| - Copyright 2017-2021 Davide Bettio <davide@uninstall.it> |
| 2 | + Copyright 2017-2025 Davide Bettio <davide@uninstall.it> |
3 | 3 |
|
4 | 4 | SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later
|
5 | 5 | -->
|
@@ -91,23 +91,44 @@ Project Status
|
91 | 91 |
|
92 | 92 | [](https://github.com/atomvm/AtomVM/actions/workflows/build-and-test.yaml)
|
93 | 93 |
|
94 |
| -AtomVM is still in its early stages, but it can run simple applications similar to those available |
95 |
| -in [examples](examples/) and [tests](tests/). |
| 94 | +AtomVM is no longer just a prototype — it has reached a solid level of compatibility with the BEAM |
| 95 | +ecosystem. It can execute unmodified, compiled BEAM modules, and most |
| 96 | +[core standard library functions](https://www.atomvm.net/doc/main/api-reference-documentation.html) |
| 97 | +are already supported. |
96 | 98 |
|
97 |
| -AtomVM might crash with a similar message: |
98 |
| -``` |
99 |
| -Undecoded opcode: 15 |
100 |
| -Aborted (core dumped) |
101 |
| -``` |
102 |
| -This basically means that an instruction has not been implemented yet, or that an outdated version has been used. Please, make sure to always run AtomVM using latest version. |
| 99 | +AtomVM is tested with code compiled with any version from OTP 21 to 27 (28 is supported only in `main` branch). |
| 100 | + |
| 101 | +Crashes may still occur in edge cases, so we recommend using either the |
| 102 | +[latest stable release](https://github.com/atomvm/AtomVM/releases) |
| 103 | +[(v0.6.x)](https://github.com/atomvm/AtomVM/tree/release-0.6) or the |
| 104 | +[main branch](https://github.com/atomvm/AtomVM/tree/main) if you're experimenting with newer |
| 105 | +features. |
| 106 | +If you run into issues, please [open an issue](https://github.com/atomvm/AtomVM/issues/new/choose) |
| 107 | + — we’d love your feedback. |
| 108 | + |
| 109 | +For a detailed list of recent changes and new features, see the |
| 110 | +[changelog](https://github.com/atomvm/AtomVM/blob/main/CHANGELOG.md). |
| 111 | + |
| 112 | +AtomVM is ready to power your next embedded or lightweight functional programming project. |
103 | 113 |
|
104 | 114 | Known Limitations
|
105 | 115 | -----------------
|
106 |
| -This project is a work in progress, so there are several known limitations, that will prevent to run unmodified software, some of them are: |
107 |
| -* There is a minimal standard library, so several standard functions are missing. |
108 |
| -* Several instructions are not yet implemented. |
109 | 116 |
|
110 |
| -All of these limitations are going to be fixed in a reasonable amount of time. |
| 117 | +Your existing project might not work out of the box due to a few current limitations: |
| 118 | + |
| 119 | +- The standard library is minimal — some functions and modules are not yet implemented. |
| 120 | +- Features that depend on a full operating system (e.g. file I/O, OS processes) may be missing or |
| 121 | +behave differently. |
| 122 | +- Certain BEAM features like `on_load` functions and tracing are not yet supported. |
| 123 | +- Some functionality may simply be missing — if you find a gap, feel free to open an issue, and |
| 124 | +we’ll take a look. |
| 125 | + |
| 126 | +When a feature is implemented, we aim to provide behavior that is consistent with the official |
| 127 | +[BEAM documentation](https://www.erlang.org/docs) and |
| 128 | +[Erlang/OTP runtime](https://github.com/erlang/otp). |
| 129 | + |
| 130 | +Some of these limitations are on the roadmap, while others are deliberate design decisions to keep |
| 131 | +AtomVM lightweight, portable, and suitable for embedded systems. |
111 | 132 |
|
112 | 133 | About This Project
|
113 | 134 | ==================
|
|
0 commit comments