Skip to content

Commit bf6c1c2

Browse files
committed
changelog wording
1 parent 8ecc41f commit bf6c1c2

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,16 @@
2828
- Runtime type checker: fixed `TypeVar` detection to use `isinstance(T, typing.TypeVar)` instead of a fragile `repr`-based heuristic.
2929
- Runtime type checker: `typing.Reversible` check now uses `isinstance` instead of a `hasattr("__reversed__")` workaround from the Python 3.5 era.
3030
- Runtime type checker: removed redundant `safeissubclass` fallbacks for generic types — `typing.get_origin` handles both bare and parameterized generics on 3.10+.
31-
- Scope analyzer: fixed `MatchCapturesCollector` bug where class references (e.g. `Point` in `case Point(x, y):`) were incorrectly collected as captured variable names. Match captures are `MatchAs`/`MatchStar` nodes with bare strings, not `Name` nodes.
31+
- Scope analyzer: fixed `MatchCapturesCollector` bug where class references (e.g. `Point` in `case Point(x, y):`) were incorrectly collected as captured variable names.
3232
- Macro layer: updated all `hasattr(tree, "ctx")` checks to use `getattr` with defaults, for correct behavior on Python 3.13+ where AST fields always exist with default values.
33+
- **Important**: Since Python 3.13, the default of `ctx` is `Load()`, hence no AST node has its `ctx` in a "not set yet" state anymore. Hence, any macro-created `Name` nodes that appear in a `Store` or `Del` position **MUST** have their `ctx` set appropriately by the macro author. Failing to do so **will** cause mysterious errors during macro expansion.
3334
- Macro layer: updated `arguments()` constructor calls to always include `posonlyargs=[]`, avoiding a `DeprecationWarning` on Python 3.13 (will become an error in 3.15).
3435
- MS Windows: `unpythonic.net.util` failed to load, due to missing `termios` module (which is *nix only) being loaded by `unpythonic.net.__init__` when it imports `unpythonic.net.ptyproxy`.
35-
- Fixed by catching `ModuleNotFoundError`, disabling `ptyproxy` on MS Windows systems.
36+
- Fixed by catching `ModuleNotFoundError`, disabling `ptyproxy` on MS Windows systems. Thus the remote REPL functionality `unpythonic.net.client/server` is not available on MS Windows, but the rest of `unpythonic` works fine.
3637

3738
**Deprecated**:
3839

39-
- Parenthesis syntax for macro arguments (e.g. `let((x, 1), (y, 2))`). Use bracket syntax instead: `let[[x, 1], [y, 2]]`. The parenthesis syntax is kept for backward compatibility but may be removed in a future version.
40+
- Parenthesis syntax for macro arguments (e.g. `let((x, 1), (y, 2))`). Use bracket syntax instead: `let[[x, 1], [y, 2]]`. The parenthesis syntax is kept for backward compatibility for now.
4041
- Runtime type checker: `typing.Text` (deprecated since Python 3.11) and `typing.ByteString` (deprecated since Python 3.12) support is now marked for removal when the floor bumps to Python 3.12.
4142

4243

0 commit comments

Comments
 (0)