Releases: pocketpy/pocketpy
Releases · pocketpy/pocketpy
v2.0.8
What's Changed (Auto Generated)
- Fixed typos in documentation, comments, and code by @AryanK37 in #346
- Fix line number reporting in trace functions for function calls by @lightovernight in #348
- Remove redundant CMake setup steps in pybind11 workflow by @lightovernight in #350
- fix: ensure isprint() receives unsigned char to prevent MSVC debug as… by @lightovernight in #349
- Add typing.(TypeAlias, NewType, Never, assert_never) for type checkers by @hcarty in #357
- fix: handle hex escapes in strings and reject invalid escapes by @attaulasad in #358
New Contributors
- @AryanK37 made their first contribution in #346
- @lightovernight made their first contribution in #348
- @Adii0906 made their first contribution in #356
- @hcarty made their first contribution in #357
- @attaulasad made their first contribution in #358
Full Changelog: v2.0.6...v2.0.8
v2.0.6
What's Changed (Generated)
- add pybind11 implementation for module reload by @KevinEady in #324
- Improve memory managements (mem-v2) by @blueloveTH in #327
- implement
array2d.chunked_array2d[T, TContext]
by @blueloveTH in #332 - Add test cases for
array2d.chunked_array2d
by @woodzn in #333 - Refactor
Frame
struct by @blueloveTH in #341 - [lz4] Make lz4 a submodule. by @c8ef in #344
Misc
- add
libhv
module - add
getchar
topy_Callbacks
- fix a bug of
c11_vector__extend
- fix a bug of
large_objects
- fix memory leak of new allocator
- intern ascii literals to improve performance
New Contributors
Full Changelog: v2.0.5...v2.0.6
v2.0.5
What's Changed
- use cpython
%
and//
impl - add
colorcvt
module - add
py_importlib_reload
andimportlib
module - add
py_interrupt
and set single handler for REPL - add
PK_LOW_MEMORY_MODE
- reduce type's memory cost
- allow customize
malloc
,realloc
andfree
- make C99 compilers work
- fix win32 clang build by @trim21 in #317
- avoid undefined behavior signed int overflow by @trim21 in #318
- fix pybind11 implementation for error_already_set by @KevinEady in #321
New Contributors
- @trim21 made their first contribution in #317
- @KevinEady made their first contribution in #321
Full Changelog: v2.0.4...v2.0.5
v2.0.4
This version fixes some bugs and improves code quality.
Changes
- add
pickle
module - raise error on mismatched eq/ne
- fix a bug of 32-bit
- support empty tuple
()
- improve
json
Full Changelog: v2.0.3...v2.0.4
v2.0.3
This version fixes some bugs and improves code quality.
Changes
- fix some type annotation usage e.g.
int | None
. - fix some builtins hash functions
- fix a severe bug of
dict
- clean up
#defines
- improve
array2d
- fix a bug of
super
- fix a bug of context manager
Full Changelog: v2.0.2...v2.0.3
v2.0.2
This version fixes some bugs and improves code quality.
Changes
- Fix a bug of
random
module which uses a wrong initial seed. - Fix #315 about
py_switchvm
. - Improve
PK_ENABLE_OS
and addPK_BUILD_WITH_IPO
to cmake options. - Add
conio
module which provides_kbhit
and_getch
functions for desktop platforms. - Fix
True not False
bug of parser. - Fix
**
associativity bug.2**2**3
now evaluates to 256 instead of 64. - Add
__float__
and__int__
and__round__
. - Add
py_bindstaticmethod
. - Fix
str.split
. It behaves the same as cpython now. - Fix a bug of closure for generator functions.
- Support
vec*
unpack, e.g.x, y = vec2i(1, 2)
.
Full Changelog: v2.0.1...v2.0.2
v2.0.1
This is the first stable release of pocketpy.
Changes
__import__
now supports loading dynamic library. The library should have a exported C functionpy_module_initialize
- Fix a bug about
clock_gettime
by @AstroAir - Add builtin function
input()
andtuple.__lt__
yield from
now can return value andyield
implicityield None
next
now can take default- Support PEP695
- Fix a multi-line function definition bug
- Add
bytes.__len__
and improveord()
- Support
finally
syntax
v2.0.0
The first beta release of v2.x. We have completed the move to C11.
v1.4.6
pybind11 support was added in this version.
See https://pocketpy.dev/pybind11/ for details.
After this version, v1.x
series is entering its Long-term support period.
We will provide bug fixes for two years.
v1.4.5
Improvements
- add
bytes
addition and slice support - improve
FileIO
and add more methods such asseek()
andtell()
. See https://pocketpy.dev/modules/io/ - add
__missing__
fordict
and refactordefaultdict
- add
bit_length
method to int #233 - improve performance of for loop
- adoping a more efficient division algorithm for bigint #232
- make
float
always 64-bit; optimize for empty function - add
vec.__getitem__
; addpkpy_set_main_argv
to setsys.argv
- add
reduce
andpartial
forfunctools
module - refactor
random
module to use builtin mt19937 implementation
New Features
- add
enum
module. See https://pocketpy.dev/modules/enum/ - support precompiling. See https://pocketpy.dev/features/precompile/
- add
itertools
module. See https://pocketpy.dev/modules/itertools/ - support PDB debugging. See https://pocketpy.dev/features/debugging/
Bug fixes
- check the size of fillchar passed to str methods (ljust, rjust) #236
- perform boundary check before searching to prevent security vulnerabilities #237
Full Changelog: v1.4.3...v1.4.5