1112 Commits

Author SHA1 Message Date
Francesc Alted 7031844cb0 Merge pull request #564 from nevercodecorrect/harden-expression-sanitization
Build / Build and test on ubuntu-24.04-arm for aarch64 (push) Has been cancelled
Build / Build and test on windows-11-arm for aarch64 (push) Has been cancelled
Build / Build and test on ubuntu-latest for x86_64 (push) Has been cancelled
Build / Build and test on ubuntu-latest (numpy 1.26) for x86_64 (push) Has been cancelled
Build / Build and test on macos-latest for x86_64 (push) Has been cancelled
Build / Build and test on windows-latest for x86_64 (push) Has been cancelled
Harden expression sanitization with AST validation
2026-07-31 14:14:09 +02:00
mengw f84a6ca145 update document 2026-07-27 21:34:50 +02:00
mengww 268e22db23 Update documents regarding parsing error types
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-07-27 20:34:50 +02:00
mengw 0577f26eb5 Harden expression sanitization with AST validation
Replace regex-based expression filtering with an AST allowlist and evaluate sanitized expressions without Python builtins.

Resolve sanitize=None consistently across all compilation and evaluation paths, including disable_cache and direct NumExpr usage.

Preserve supported syntax and compatibility for conditional expressions, identity and membership comparisons, and variable names containing double underscores. Retain native SyntaxError behavior for parser failures and TypeError for unknown functions.

Add regression tests and release notes for the sanitizer changes.
2026-07-27 16:53:55 +02:00
Francesc Alted b10fbbb43a Merge pull request #563 from star1327p/correct-typos
DOC: Correct some typos in numexpr documentation
2026-07-27 12:37:32 +02:00
Christine P. Chai a9910cac9d DOC: a HTML -> an HTML (make.bat) 2026-07-26 18:53:44 -07:00
Christine P. Chai 1f34e6d5e1 DOC: a HTML -> an HTML 2026-07-26 18:52:58 -07:00
Christine P. Chai c07e53a676 DOC: a Intel -> an Intel 2026-07-26 18:52:21 -07:00
Christine P. Chai 09d6d7e994 DOC: a in-between -> an in-between 2026-07-26 18:51:54 -07:00
Christine P. Chai 3ed132f997 DOC: an scalar -> a scalar 2026-07-26 18:51:18 -07:00
Francesc Alted a561ee3835 Post 2.14.2 release actions done 2026-07-18 12:59:10 +02:00
Francesc Alted 3b5ddaad46 Getting ready for release 2.14.2
Build / Build and test on ubuntu-24.04-arm for aarch64 (push) Has been cancelled
Build / Build and test on ubuntu-latest for x86_64 (push) Has been cancelled
Build / Build and test on windows-11-arm for aarch64 (push) Has been cancelled
Build / Build and test on ubuntu-latest (numpy 1.26) for x86_64 (push) Has been cancelled
Build / Build and test on macos-latest for x86_64 (push) Has been cancelled
Build / Build and test on windows-latest for x86_64 (push) Has been cancelled
v2.14.2
2026-07-18 12:29:13 +02:00
Francesc Alted d48823ae9b Fix constsig leak on itemsizes allocation failure in NumExpr_init. Closes #561. 2026-07-18 12:13:01 +02:00
Francesc Alted 371d064b65 Merge branch 'master' of github.com:pydata/numexpr 2026-07-18 12:08:48 +02:00
Francesc Alted 2059974b3d Return the actual result code from run_interpreter()
run_interpreter() computed the execution engine's result code but
unconditionally returned 0, discarding it. The caller checks for a
negative return to raise an exception, so any failure in the serial
or parallel VM engine was silently swallowed and whatever was left
in the (possibly unwritten) output buffer was returned instead.

Possibly related to pydata/numexpr#557, though the exact trigger for
that issue's intermittent all-zero output on Windows is not
confirmed.
2026-07-18 12:08:06 +02:00
Francesc Alted d5f712d3a8 Merge pull request #559 from uwezkhan/shift-count-guard
Guard out-of-range shift counts in integer opcodes
2026-07-18 11:42:33 +02:00
Francesc Alted 462d4d10ba Merge pull request #562 from pydata/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2026-07-18 11:28:45 +02:00
pre-commit-ci[bot] 3e2bdd1cbf [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/pycqa/isort: 9.0.0a3 → 9.0.0b1](https://github.com/pycqa/isort/compare/9.0.0a3...9.0.0b1)
2026-07-13 19:54:41 +00:00
uwezkhan caa29dcf8d Guard out-of-range shift counts in integer opcodes 2026-07-08 15:54:02 +05:30
Francesc Alted ca91acf7a8 Drop support for Python 3.10 2026-06-24 14:23:24 +02:00
Francesc Alted b065396faa Merge pull request #560 from gaoflow/fix-558-out-cache-weakref
Avoid retaining evaluate out arrays
2026-06-24 14:18:56 +02:00
Francesc Alted bd99ef33d9 No more free-threaded 3.13 builds, matching numpy's support 2026-06-24 14:02:11 +02:00
Francesc Alted 2288788804 Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-24 10:47:01 +02:00
Francesc Alted ffc084ff5d Merge pull request #555 from pydata/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2026-06-22 11:15:35 +02:00
Vincent Gao a6ad5431c2 Avoid retaining evaluate out arrays 2026-06-19 02:25:44 +02:00
pre-commit-ci[bot] 7a40502398 [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/pycqa/isort: 8.0.0 → 9.0.0a3](https://github.com/pycqa/isort/compare/8.0.0...9.0.0a3)
2026-04-27 19:34:33 +00:00
Francesc Alted 96655c0b80 Merge pull request #554 from 27rabbitlt/patch-1
Modify condition to include index 1 in benchmark, fix https://github.com/pydata/numexpr/issues/547
2026-03-02 17:37:39 +01:00
Teng Liu 7261629f77 Modify condition to include index 1 in benchmark
Currently this benchmark doesn't run since we localize everything, index 1 should also be initialized.
2026-03-02 17:16:12 +01:00
Francesc Alted 93fc5e7e5c Merge pull request #552 from pydata/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2026-03-02 17:08:01 +01:00
Francesc Alted 627126806d Merge pull request #551 from finnagin/arm64-runner
Add arm64 windows wheel builds
2026-03-02 17:07:29 +01:00
pre-commit-ci[bot] 60da1bdea5 [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/pycqa/isort: 7.0.0 → 8.0.0](https://github.com/pycqa/isort/compare/7.0.0...8.0.0)
2026-02-23 19:25:29 +00:00
Finn Womack 57902311a4 Fix comment 2026-02-09 10:17:48 -08:00
Finn Womack 3e4bbe1415 Add 'cp310-win_arm64' to skip list in cibuildwheel 2026-02-09 01:53:27 -08:00
Finn Womack 7162562663 add windows arm64 builds
Added Windows ARM build configuration to workflow.
2026-02-09 01:27:36 -08:00
Francesc Alted 1e3241d988 Print versions during tests execution 2025-12-02 12:52:05 +01:00
Francesc Alted f74e0dbfa4 Merge pull request #546 from 27rabbitlt/add_disable_cache_parameter
FEAT: add `disable_cache` parameter in `evaluate` function.
2025-12-02 07:39:39 +01:00
27rabbitlt c657605cd1 FIX: comment out refcount since Python optimizes refcounts. Keep the test for future reference purpose 2025-11-07 19:25:41 +01:00
pre-commit-ci[bot] 20f31d46fd [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-11-07 16:05:26 +00:00
27rabbitlt d1aa68b1a7 FEAT: add disable_cache parameter in evaluate function. When set to True, we disable the internal cache mechenism nad evaluate the expression directly 2025-11-07 17:03:11 +01:00
lshaw8317 30624a22e7 Merge pull request #544 from pydata/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2025-10-14 13:22:35 +02:00
lshaw8317 fc0959442b Merge pull request #545 from pydata/add_complex
Modernize and make MKL benchmark more demanding
2025-10-14 13:17:38 +02:00
lshaw8317 62a2317ff5 Merge pull request #543 from pydata/update_build_yaml
Streamline build (no wheels for numpy 1.26, just quick local build and test only)
2025-10-14 12:07:29 +02:00
pre-commit-ci[bot] 0b98caf833 [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/pycqa/isort: 6.1.0 → 7.0.0](https://github.com/pycqa/isort/compare/6.1.0...7.0.0)
2025-10-13 19:15:40 +00:00
Luke Shaw cedcf1617b Post 2.14.1 release actions done 2025-10-13 18:20:03 +02:00
Luke Shaw 15ee846b5e Streamline build 2025-10-13 17:42:40 +02:00
Luke Shaw 048a5c42b0 Getting ready for release 2.14.1
Build / Build and test on ubuntu-24.04-arm for aarch64 (push) Has been cancelled
Build / Build and test on ubuntu-latest for x86_64 (push) Has been cancelled
Build / Build and test on ubuntu-latest (numpy 1.26) for x86_64 (push) Has been cancelled
Build / Build and test on macos-latest for x86_64 (push) Has been cancelled
Build / Build and test on windows-latest for x86_64 (push) Has been cancelled
v2.14.1
2025-10-13 17:21:55 +02:00
Luke Shaw d9cf0f0785 Getting ready for release 2.14.1 2025-10-13 17:10:54 +02:00
lshaw8317 1fcb012d96 Merge pull request #542 from pydata/test-numpy-1.26
Test numpy 1.26
2025-10-13 16:44:54 +02:00
lshaw8317 898b4d9dbf Update tests to pass for numpy 1.26 2025-10-13 16:12:48 +02:00
lshaw8317 7cadd0f93b Revert "Merge pull request #534 from jorenham/static-typing"
This reverts commit bce38b4317, reversing
changes made to cd730c826f.
2025-10-13 15:50:59 +02:00