|
| 1 | + |
| 2 | +# v0.9.9 - 2025-04-21 |
| 3 | + |
| 4 | +## break |
| 5 | +- oserr: unexport pathsAsOne, new tryOsOp accepts 2 or 0 paths (3f1f1140) |
| 6 | +- slice: toNimSlice is no longer a cvt; cvt toPySlice from PySlice1. (c9518e8f) |
| 7 | + |
| 8 | +## Bug Fixes |
| 9 | +- Lib/sys: |
| 10 | + - float_repr_style not export (21b7f793) |
| 11 | +- sugar: |
| 12 | + - @a.b, @a.b(1) not compile (0fb94267, 1927cef4) |
| 13 | + - generic class rewrite was wrong; class O(a.c)/O(a[t]) not compile. (f6c2824b) |
| 14 | +- list: |
| 15 | + - slice used in get,setitem with negative value causes RangeDefect. (4d33844a) |
| 16 | + - fix setitem discarded longer values. (cd9ed64) |
| 17 | +- builtins.slice: toNimSlice's assert not work. (903c1cd) |
| 18 | +- initVal_with_handle_signal: |
| 19 | + - deadloop(d9e0a00938e), os.wait*(f25a731fce5). (a5bae2c6) |
| 20 | + - not compile on JS (6534a352) |
| 21 | +- fixup! refact(os_impl): Py_get_osfhandle_noraise to util/get_osfhandle. (0f51997b) |
| 22 | + |
| 23 | + |
| 24 | +### JS |
| 25 | +- pyerrors.oserr: new catchJsErrAndSetErrno; add defval for raiseErrno,raiseErrnoWithPath (6534a352) |
| 26 | +- importDenoOrNodeMod;2-arg importDenoOrProcess. (8f22a68c) |
| 27 | +- os.utime not work: "fs is not defined". (47eca906) |
| 28 | +- fixup(d7541b8c4): catchJsErrAsCode (used error which is cstring). (694eae8c) |
| 29 | + |
| 30 | +## Fixes for inconsistence with Python |
| 31 | +- Lib/os |
| 32 | + - readlink raises not just FileNotFoundEror,OSError... (c7976a54) |
| 33 | + - makedirs: if existsts_ok, exception might be raised. (90c9610a) |
| 34 | +- n_tempfile: |
| 35 | + - js: mktemp raised OSError over FileNotFoundError. (f576b689) |
| 36 | + |
| 37 | +### inner |
| 38 | + |
| 39 | +## Feature additions |
| 40 | + |
| 41 | +### builtins |
| 42 | + |
| 43 | + |
| 44 | +### Lib |
| 45 | +- stat (4c8e84e9) |
| 46 | +- unittest: |
| 47 | + - TestCase: addCleanup,tearDown,setUp,run. (3314d922) |
| 48 | + |
| 49 | + |
| 50 | +### inner |
| 51 | +- test: support.os_helper.TESTFN (2c8406a3) |
| 52 | +- pyconfig: util.from_c_int_expr,`AC_CHECK_FUNC[S]` (6534a352, be5332b1) |
| 53 | +- js: |
| 54 | + - jsutils/consts from_js_const (ae1671e6) |
| 55 | + |
| 56 | + |
| 57 | +## doc |
| 58 | + |
| 59 | +## CI |
| 60 | +- testC,testJs: run iff src/,tests/,./*.nimble, !feat-* branch. (2788f60d) |
| 61 | + |
| 62 | +## impr |
| 63 | +- js: os.{open,close}: use importNode over "require...". (f361005c) |
| 64 | + |
| 65 | +## refine |
| 66 | + |
| 67 | +## refactor |
| 68 | +- refact: mv os_impl/private/platform_util root's private (1d5e2a8e) |
| 69 | +- Lib/unittest: split to unittest/case_py (4853b497) |
| 70 | +- Lib/sys: split into sys_impl/; add n_sys (34f0cb98) |
| 71 | +- Lib/os_impl: dedup MS_WINDOWS, InJs (6534a352) |
| 72 | + |
| 73 | + |
| 74 | +### Purge warning |
0 commit comments