Skip to content

Commit adb1dff

Browse files
committed
Revamp README.Md
Update it, AtomVM is less in the early stage, and more solid nowadays. Signed-off-by: Davide Bettio <davide@uninstall.it>
1 parent 0578eb4 commit adb1dff

File tree

1 file changed

+34
-13
lines changed

1 file changed

+34
-13
lines changed

README.Md

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!---
2-
Copyright 2017-2021 Davide Bettio <davide@uninstall.it>
2+
Copyright 2017-2025 Davide Bettio <davide@uninstall.it>
33
44
SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later
55
-->
@@ -91,23 +91,44 @@ Project Status
9191

9292
[![Build and Test](https://github.com/atomvm/AtomVM/actions/workflows/build-and-test.yaml/badge.svg?branch=main)](https://github.com/atomvm/AtomVM/actions/workflows/build-and-test.yaml)
9393

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.
9698

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.
103113

104114
Known Limitations
105115
-----------------
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.
109116

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.
111132

112133
About This Project
113134
==================

0 commit comments

Comments
 (0)