4d91dcd4a4
* Fix the document for python3.12 by @colinxu2020 in #142 * fix: handle small try blocks by @P403n1x87 in #145 * Add support for Python 3.13 by @MatthieuDartiailh in #146 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bytecode?expand=0&rev=21
134 lines
6.4 KiB
Plaintext
134 lines
6.4 KiB
Plaintext
-------------------------------------------------------------------
|
|
Fri Nov 1 08:33:19 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
|
|
|
|
- Update to 0.16.0:
|
|
* Fix the document for python3.12 by @colinxu2020 in #142
|
|
* fix: handle small try blocks by @P403n1x87 in #145
|
|
* Add support for Python 3.13 by @MatthieuDartiailh in #146
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Aug 14 15:03:42 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- use modern python on sle15
|
|
- switch to PEP517 build
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Nov 14 15:47:28 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- update to 0.15.1:
|
|
* Disallow creating an instruction targeting a
|
|
pseudo/instrumented opcode PR #133
|
|
* Fixes encoding of 0 as a varint PR #132
|
|
* Correct spelling of "INTRINSIC" in several places; this
|
|
affected some ops in Python 3.12. PR #131
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Sep 18 10:14:40 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- update to 0.15.0:
|
|
* Add support for Python 3.12 PR #122
|
|
* Support for Python 3.12, comes with a number of changes
|
|
reflecting changes in CPython bytecode itself:
|
|
* handle the ability of ``LOAD_ATTR`` to replace
|
|
``LOAD_METHOD``
|
|
As a consequence the argument is now a ``tuple[bool, str]``
|
|
similarly ``LOAD_SUPER_ATTR`` which uses the 2 lowest bits as
|
|
flag takes a ``tuple[bool, bool, str]`` as argument
|
|
* ``POP_JUMP_IF_*`` instructions are undirected in Python 3.12
|
|
* ``YIELD_VALUE`` now takes an argument
|
|
* Support for ``CALL_INSTRINSIC_1/2`` led to the addition of 2
|
|
new enums to represent the argument
|
|
|
|
-------------------------------------------------------------------
|
|
Sat May 27 21:36:54 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- update to 0.14.2:
|
|
* allow to convert a CFG, for which stack sizes have not been
|
|
computed, to Bytecode even in the presence of mergeable
|
|
TryBegin/TryEnd
|
|
* remove spurious TryEnd leftover when going from CFG to
|
|
Bytecode
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Apr 19 09:32:16 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- update to 0.14.1:
|
|
* allow to disassemble code containing ``EXTENDED_ARG``
|
|
targeting a ``NOP`` PR #117
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Dec 15 22:44:00 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
|
|
|
- Fix dependencies
|
|
- Fix python-sitelib-glob-in-files and 0.0.0 version egg-info by
|
|
not forgetting setuptools_scm
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Dec 9 17:16:11 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
|
|
|
|
- Update to 0.14.0
|
|
* New features:
|
|
Removed the peephole optimizer PR #107
|
|
Basically changes in Python 3.11 made it hard to port and the maintenance cost exceeded the perceived use. It could be re-added if there is a demand for it.
|
|
Add support for Python 3.11 PR #107
|
|
Support for Python 3.11, comes with a number of changes reflecting changes in CPython bytecode itself:
|
|
support for the exception table in ConcreteBytecode
|
|
support for pseudo-instruction TryBegin and TryEnd describing the exception table in Bytecode and ControlflowGraph
|
|
new keyword arguments in conversion method related to computations required for the exception table
|
|
handling of CACHE opcode at the ConcreteBytecode level
|
|
handling of the ability of LOAD_GLOBAL to push NULL (the argument is now a tuple[bool, str])
|
|
support for end_lineno and column offsets in instructions
|
|
support for co_qualname (as qualname on bytecode objects)
|
|
and a number of internal changes related to changes in the internal bytecode representation.
|
|
Add type annotations and make types stricter PR # 105 In particular, ConcreteInstr does not inherit from Instr anymore and one cannot
|
|
use ConcreteInstr in Bytecode object. This is saner than before.
|
|
* Bugfixes:
|
|
Removed EXC_MATCH from the Compare enumeration starting with Python 3.9. The new JUMP_IF_NOT_EXC_MATCH opcode should be used instead.
|
|
Removed IN, NOT_IN, IS, NOT_IS from the Compare enumeration starting with Python 3.9. The new CONTAINS_OP and IS_OP opcodes should be used instead.
|
|
Add proper pre and post stack effects to all opcodes (up to Python 3.11) PR #106 #107
|
|
* Maintenance:
|
|
Make the install process PEP517 compliant PR #97
|
|
Drop support for Python 3.6 and 3.7 PR #100
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Nov 18 11:47:11 UTC 2021 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
|
|
|
- Update to 0.13.0
|
|
* Add support for Python 3.10 new encoding of line number. This support is
|
|
minimal in the sense that we still systematically assign a line number
|
|
while the new format allow bytecode with absolutely no line number. PR #72
|
|
* Fix handling of RERAISE (introduced in 3.9) when creating a ControlFlowGraph,
|
|
previously it was not considered final. PR #72
|
|
* Fix line table assembly in Python 3.10. PR #85
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Aug 31 11:04:29 UTC 2021 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
|
|
|
- Update to 0.12.0
|
|
* All calculations of stacksize now check for stack underflow to
|
|
avoid segfault at runtime PR #69
|
|
* Fix recursion limitations when compiling bytecode with numerous basic
|
|
blocks. PR #57
|
|
* Fix handling of line offsets. Issue #67, PR #71
|
|
* Forbid an :class:`Instr` to hold an EXTENDED_ARG op_code PR #65
|
|
* Forbid the use of :class:`ConcreteInstr` in :class:`Bytecode` and
|
|
:class:`ControlFlowGraph` PR #65
|
|
This is motivated by the extra complexity that handling possible EXTENDED_ARG
|
|
instruction in those representation would bring (stack computation, etc)
|
|
* Always remove EXTENDED_ARG when converting :class:`ConcreteBytecode` to
|
|
:class:`Bytecode` PR #65
|
|
* This is equivalent to say that the :class:`ConcreteBytecode` converted to
|
|
:class:`Bytecode` was generated by :meth:`ConcreteBytecode.from_code`
|
|
with extended_args=False
|
|
* :class:`Instr` now has a new method :meth:`Instr.pre_and_post_stack_effect`
|
|
for checking the prerequisite stack size of an operation PR #69
|
|
* :meth:`_compute_stack_size` now uses :meth:`Instr.pre_and_post_stack_effect`
|
|
to compute the stack size to reject code that will lead to runtime segfault
|
|
caused by stack underflow PR #69
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Apr 9 11:29:55 UTC 2020 - pgajdos@suse.com
|
|
|
|
- initial version 0.11.0, required by python-enaml
|
|
|