You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update documentation for exception type breaking change
- README.md: Update error handling examples to use strings
- docs/migration.md: Add security-related breaking changes section
- c_src/py_nif.h: Update make_py_error documentation
- c_src/py_logging.c: Use cached ATOM_OK/ATOM_ERROR for trace status
- test/py_logging_SUITE.erl: Revert trace status to atoms
Trace span status remains as atoms (ok/error) since these are known,
bounded values that use cached atoms for efficiency.
Copy file name to clipboardExpand all lines: docs/migration.md
+29Lines changed: 29 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,35 @@ This guide covers breaking changes and migration steps when upgrading from erlan
12
12
-[ ] Replace subprocess calls with Erlang ports
13
13
-[ ] Move signal handlers to Erlang level
14
14
-[ ] Review any `os.fork`/`os.exec` usage
15
+
-[ ] Update error pattern matching: exception types are now strings
16
+
17
+
## Security-Related Breaking Changes
18
+
19
+
### Exception Types Changed from Atoms to Strings
20
+
21
+
**Reason:** Atoms are never garbage collected in Erlang. Using atoms for Python exception type names (which are unbounded due to custom exceptions and third-party libraries) could exhaust the atom table.
0 commit comments