python-bytecode/python-bytecode.changes
Steve Kowalik 4d91dcd4a4 - 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

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bytecode?expand=0&rev=21
2024-11-01 08:34:00 +00:00

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