| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| PikaPython v1.14.0 Release Announcement source code.tar.gz | 2026-07-18 | 230.6 MB | |
| PikaPython v1.14.0 Release Announcement source code.zip | 2026-07-18 | 241.5 MB | |
| README.md | 2026-07-18 | 3.9 kB | |
| Totals: 3 Items | 472.1 MB | 3 | |
PikaPython v1.14.0 Release Announcement
We are pleased to announce PikaPython v1.14.0. This release focuses on Python 3 syntax compatibility, runtime correctness, VM performance, fatal-error visibility, and threading support.
New Features and Improvements
- Python 3 Compatibility: Improved short-circuit expressions, chained comparisons, unpacking, comprehensions, default arguments, variable arguments, and keyword argument binding within the existing syntax subset.
- Exception Semantics: Typed
exceptnow matches exception types and parent classes correctly. Nested handler exceptions propagate outward, andexcept ... as aliaspreserves the actual exception type. - Threading Support: Added the
threadingpackage and improved Lock/RLock behavior and tests. - VM Performance: Reduced redundant function, argument, keyword, and object-path lookups. The Fibonacci workload uses approximately 10.1% fewer dynamic instructions across two Callgrind-verified optimization rounds.
- Fatal Error Diagnostics: Stack exhaustion and other fatal resource failures now report capacity, requested size, and execution state before entering the platform panic path.
- Release Tooling: Added consistent validation for runtime versions, package indexes, CMSIS Pack metadata, Git tags, and release commits.
Bug Fixes
- Fixed crashes and silent failures caused by malformed imports, assignments, comprehensions, and unsupported expression forms.
- Fixed incorrect behavior in grouped comparisons and short-circuit expressions.
- Fixed default parameters whose value was
False. - Fixed positional, keyword, starred, and variadic argument binding errors.
- Fixed typed exception dispatch and parent-class exception matching.
- Fixed nested exception handlers losing the outer
trystate. - Fixed iteration and slicing errors that could leave invalid runtime state.
- Fixed excessive argument handling so invalid capacity requests are rejected before writing outside the VM stack.
- Improved error propagation and heap cleanup after failed runtime calls.
- Fixed Linux CI isolation and benchmark publishing failures caused by generated files and optional dependencies.
Performance Improvements
- Optimized recursive global function lookup.
- Removed redundant unqualified host-object path scans.
- Reduced repeated keyword constant-pool scans.
- Reduced argument-binding and unpack-validation overhead.
- Streamlined successful VM error-stack checks.
- Reduced core Flash usage in several optimization rounds without adding persistent RAM.
The Fibonacci benchmark showed an accumulated 10.1% reduction in dynamic instructions. This is not presented as an exact wall-clock speedup because the current benchmark export does not yet retain complete repeated-sample statistics.
Module Releases
| Package | State | Version |
|---|---|---|
| pikascript-core | Update | v1.13.4 -> v1.14.0 |
| PikaStdLib | Update | v1.13.4 -> v1.14.0 |
| threading | New | v0.1.0 |
| requests | Update | v1.0.3 -> v1.0.4 |
| mqtt | Update | v0.1.1 -> v0.1.2 |
| time | Update | v0.2.2 -> v0.2.3 |
Validation
- Release metadata, runtime headers, CMSIS Pack metadata, package indexes, and the annotated tag are consistent.
- Linux Release core compilation passed.
- Python 3 exception, recursive lookup, and error propagation tests passed.
- Development-cycle Linux regression and Valgrind checks completed without heap leaks.
- A fresh clone of
v1.14.0passed release consistency checks and core compilation.
Known Issues
optimize_speedexception tests may still be sensitive to GTest registration and startup allocation layout.- Some Linux REPL tests still depend on unstable fixed log indexes.
- GitHub Pages benchmark exports do not yet include complete repeated-sample variance statistics.
Special thanks to all contributors and users who reported compatibility, runtime, and embedded-system issues.