Changes¶
3.6.2 (2024-10-10)¶
Add support for Python 3.13.
3.6.1 (2024-02-26)¶
Add support for Python 3.12.
3.6.0 (2023-06-16)¶
Add support for Python 3.9, 3.10, and 3.11.
Drop support for Python 2.7 and 3.6.
3.5.0 (2020-10-11)¶
Do not require
mock
for the test suite on Python 3; use unittest.mock instead.100% test coverage for each version of Python rather than combined, using
coverage-python-version
.Add the optional
extra_node_attrs
parameter toshow_backrefs
andshow_backrefs
Fix IPython/Jupyter inline graph support code that would kick in even if you explicitly passed a filename=’foo.png’ argument to
show_refs
/show_backrefs
. See issue 47.Add support for Python 3.8.
Drop support for Python 3.5.
3.4.1 (2019-04-23)¶
Add support for Python 3.7.
Drop support for Python 3.3 and 3.4.
3.4.0 (2018-02-13)¶
New functions:
get_new_ids()
,at_addrs()
.Contributed by Justin Black in PR 36.
3.3.0 (2017-12-28)¶
New function:
growth()
.
3.2.0 (2017-12-20)¶
New
filter
argument fortypestats()
,most_common_types()
,show_most_common_types()
,show_growth()
.Show lambda functions in a more human-friendly way.
3.1.2 (2017-11-27)¶
Correct UTF-8 mojibake in the changelog and switch all links to HTTPS.
3.1.1 (2017-10-30)¶
Add support for Python 3.6.
Replace bare
except:
insafe_repr()
withexcept Exception:
.
3.1.0 (2016-12-07)¶
Support displaying graphs inline in IPython/Jupyter notebooks (issue 28 <https://github.com/mgedmin/objgraph/pull/28>).
3.0.1 (2016-09-17)¶
The
file
argument ofshow_most_common_types()
andshow_growth()
now defaults toNone
instead ofsys.stdout
.None
is interpreted to be the same assys.stdout
, which means the right stdout will be used if you change it at runtime (which happens, in doctests).
3.0.0 (2016-04-13)¶
show_most_common_types()
andshow_growth()
now accept afile
argument if you want to redirect the output elsewhere.Fixes issue 24. Contributed by “d-sun-d”.
Don’t trust
__class__
to be accurate and__name__
to be a string. Fixes errors in some convoluted corner cases when mocks are involved.Contributed by Andrew Shannon Brown in PR 26.
Drop support for Python 2.4, 2.5, and 2.6.
Drop support for Python 3.1 and 3.2.
Add support for Python 3.5.
2.0.1 (2015-07-28)¶
Avoid creating reference cycles between the stack frame and the local
objects
variable inby_type()
,count()
, andtypestats()
.Fixes issue 22. Contributed by Erik Bray.
2.0.0 (2015-04-18)¶
show_refs()
andshow_backrefs()
now accept a file-like object (via the newoutput
argument) as an alternative to a filename.Made internal helper methods private. This includes
find_chain
,show_graph
,obj_node_id
,obj_label
,quote
,long_typename
,safe_repr
,short_repr
,gradient
,edge_label
, and_program_in_path
.Correctly determine the name of old-style classes in
count()
,by_type()
, and graph drawing functions.Fixes issue 16. Contributed by Mike Lambert.
1.8.1 (2014-05-15)¶
Do not expect file objects to have an
encoding
attribute. Makes objgraph compatible with Eventlet’s monkey-patching.Fixes issue 6. Contributed by Jakub Stasiak.
1.8.0 (2014-02-13)¶
Moved to GitHub.
Python 3.4 support (LP#1270872).
New function:
is_proper_module()
.New
shortnames
argument fortypestats()
,most_common_types()
,show_most_common_types()
,show_growth()
,show_refs()
, andshow_backrefs()
.count()
andby_type()
accept fully-qualified type names now.Fixes issue 4.
1.7.2 (2012-10-23)¶
Bugfix: setup.py sdist was broken on Python 2.7 (UnicodeDecodeError in tarfile).
The
filename
argument forshow_refs()
andshow_backrefs()
now allows arbitrary image formats, not just PNG. Patch by Riccardo Murri.Temporary dot files are now named objgraph-*.dot instead of tmp*.dot.
Python 3.3 support: no code changes, but some tests started failing because the new and improved dictionary implementation no longer holds references to str objects used as dict keys.
Added a tox.ini for convenient multi-Python testing.
1.7.1 (2011-12-11)¶
Bugfix: non-ASCII characters in object representations would break graph generation on Python 3.x, in some locales (e.g. with LC_ALL=C). Reported and fixed by Stefano Rivera.
Bugfix: setup.py was broken on Python 3.x
Bugfix: dot.exe/xdot.exe were not found on Windows (LP#767239).
Documentation updates: document the forgotten
find_ref_chain()
, updateshow_chain()
prototype.
1.7.0 (2011-03-11)¶
New function:
find_ref_chain()
.New
backrefs
argument forshow_chain()
.New function:
get_leaking_objects()
, based on a blog post by Kristján Valur.New
objects
argument forcount()
,typestats()
,most_common_types()
,show_most_common_types()
, andby_type()
.Edges pointing to function attributes such as __defaults__ or __globals__ are now labeled.
Edge labels that are not simple strings now show the type.
Bugfix: ‘0’ and other unsafe characters used in a dictionary key could break graph generation.
Bugfix: show_refs(…, filename=’graph.dot’) would then go to complain about unrecognized file types and then produce a png.
1.6.0 (2010-12-18)¶
Python 3 support, thanks to Stefano Rivera (fixes LP#687601).
Removed weird weakref special-casing.
1.5.1 (2010-12-09)¶
Avoid test failures in uncollectable-garbage.txt (fixes LP#686731).
Added HACKING.txt (later renamed to HACKING.rst).
1.5.0 (2010-12-05)¶
Show frame objects as well (fixes LP#361704).
New functions:
show_growth()
,show_chain()
.find_backref_chain()
returns[obj]
instead ofNone
when a chain could not be found. This makesshow_chain(find_backref_chain(...), ...)
not break.Show how many references were skipped from the output of
show_refs()
/show_backrefs()
by specifyingtoo_many
.Make
show_refs()
descend into modules.Do not highlight classes that define a
__del__
, highlight only instances of those classes.Option to show reference counts in
show_refs()
/show_backrefs()
.Add Sphinx documentation and a PyPI long description.
1.4.0 (2010-11-03)¶
Compatibility with Python 2.4 and 2.5 (
tempfile.NamedTemporaryFile
has nodelete
argument).New function:
most_common_types()
.
1.3.1 (2010-07-17)¶
Rebuild an sdist with no missing files (fixes LP#606604).
Added MANIFEST.in and a Makefile to check that setup.py sdist generates source distributions with no files missing.
1.3 (2010-07-13)¶
Highlight objects with a
__del__
method.Fixes LP#483411: suggest always passing
[obj]
toshow_refs()
,show_backrefs()
, since obj might be a list/tuple.Fixes LP#514422:
show_refs()
,show_backrefs()
don’t create files in the current working directory any more. Instead they accept a filename argument, which can be a .dot file or a .png file. If None or not specified, those functions will try to spawn xdot as before.New extra_info argument to graph-generating functions (patch by Thouis Jones, LP#558914).
setup.py should work with distutils now (LP#604430, thanks to Randy Heydon).
1.2 (2009-03-25)¶
Project website, public source repository, uploaded to PyPI.
No code changes.
1.1 (2008-09-10)¶
New function:
show_refs()
for showing forward references.New functions:
typestats()
andshow_most_common_types()
.Object boxes are less crammed with useless information (such as IDs).
Spawns xdot if it is available.
1.0 (2008-06-14)¶
First public release.