Skip to content

Commit e457248

Browse files
committed
Release notes for 4.5.0
1 parent 42a30c1 commit e457248

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

docs/PythonLibCore-4.5.0.rst

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Python Library Core 4.5.0
2+
3+
4+
`Python Library Core`_ is a generic component making it easier to create
5+
bigger `Robot Framework`_ test libraries. Python Library Core 4.5.0 is
6+
a new release with to refactor internal structure and bug fix to avoid
7+
maximum recursion depth exceeded error on getattr.
8+
9+
All issues targeted for Python Library Core v4.5.0 can be found
10+
from the `issue tracker`_.
11+
12+
If you have pip_ installed, just run
13+
14+
::
15+
16+
pip install --upgrade robotframework-pythonlibcore
17+
18+
to install the latest available release or use
19+
20+
::
21+
22+
pip install pip install robotframework-pythonlibcore==4.5.0
23+
24+
to install exactly this version. Alternatively you can download the source
25+
distribution from PyPI_ and install it manually.
26+
27+
Python Library Core 4.5.0 was released on Friday January 16, 2026.
28+
It support Python versions 3.10+ and Robot Framework versions 6.1 and newer.
29+
30+
.. _PythonLibCore: https://github.com/robotframework/PythonLibCore
31+
.. _Robot Framework: http://robotframework.org
32+
.. _pip: http://pip-installer.org
33+
.. _PyPI: https://pypi.python.org/pypi/robotframework-robotlibcore
34+
.. _issue tracker: https://github.com/robotframework/PythonLibCore/issues?q=milestone%3Av4.5.0
35+
36+
37+
## Most important enhancements
38+
39+
Maximum Recursion Depth Exceeded on getattr ([#158](https://github.com/robotframework/PythonLibCore/issues/158))
40+
----------------------------------------------------------------------------------------------------------------
41+
If one attempts to get any attribute on a child class of HybridCore or DynamicCore before the initializer is called
42+
(so the attributes object has yet to be initialized) the custom getattr implementation on the class causes an
43+
infinite recursion. getattr is called on the attribute of the class then HybridCore attempts to evaluate if name
44+
in self.attributes: but attributes is undef because since attributes is undef, python calls getattr on self.attributes
45+
then HybridCore attempts to evaluate if name in self.attributes: but attributes is undef and so on.
46+
47+
HybridCore should fall back to the standard implementation of getattr if self.attributes is undefined which would avoid this issue.
48+
49+
Many thanks to Joe Rendleman for reporting this issue and providing a PR with a fix.
50+
51+
robotlibcore.py placed right into root of site-packages/ ([#149](https://github.com/robotframework/PythonLibCore/issues/149))
52+
------------------------------------------------------------------------------------------------------------------------------
53+
To improve compatibility with various tools and IDEs, robotlibcore.py is now in own folder and package is refactored
54+
logical modules. This change should be transparent to end users as the package structure is unchanged.
55+
56+
many thanks to Jani Mikkonen to reporting this issue and providing a PR with a fix.
57+
58+
## Full list of fixes and enhancements
59+
60+
| ID | Type | Priority | Summary |
61+
|---|---|---|---|
62+
| [#158](https://github.com/robotframework/PythonLibCore/issues/158) | bug | high | Maximum Recursion Depth Exceeded on getattr |
63+
| [#149](https://github.com/robotframework/PythonLibCore/issues/149) | enhancement | high | robotlibcore.py placed right into root of site-packages/ |
64+
65+
Altogether 2 issues. View on the [issue tracker](https://github.com/robotframework/PythonLibCore/issues?q=milestone%3Av4.5.0).

0 commit comments

Comments
 (0)