NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3668 most downloaded on PyPI
A debugging and profiling tool that can trace and visualize python code execution
Last release 10 months ago
11 Nov 2025
Release timing varies
gaps range from 2 weeks to 6 months
Nearly every release is documented
notes for 56 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
86 releases · first in 2020
One column per quarter.
Validate the output file extension on the command line
Fixed how multiprocessing treats max_stack_depth
Support source code of frozen modules
__main__ after execSupported python entries for subprocess
Fixed a critical (but rare) issue where some C method call might not be recorded.
Fixed overflow in quicktime calibration loop
Polished the interface and APIs of C tracer to fully eliminate the middleware _VizTracer
_VizTracer__rdtsc() for timestamp when available, reducing the overheadviztracer command can be much faster to invokesys.monitoring for Python3.12+ for better performanceSupported PyTorch events with --log_torch
Supported 3.13 and 3.13t, dropped 3.8
__qualname__ when possibleAdded option to generate unique file name
Much better experience with multiproccesing trace report collection
Fixed subprocess argument issue
Supported Python 3.12, dropped 3.7
Nothing published for this version
Added support for 3.11 and dropped support for 3.6
Supported function name error ignore
* Thread safe now * Supported external processor * Stack for log_sparse
Enabled color on Windows terminal without default VT
Add functools.wraps for decorators
Nothing published for this version
* aarch64 wheels * Fix help command * add trio support
Accelerated report generation speed with raw dump
log_audit featureFixed an encoding bug in vizviewer
with statement.viztracerrc rcfile for configurationFixed duplicated timestamp calculation
Added fast log feature - log_var and log_instant
removed --log_multiprocess and --log_subprocess
--log_multiprocess and --log_subprocessmin_duration filterOptimized flamegraph and its output
* Support flamegraph * Optimize memory usage
Support Instant and Counter event in UI
Support Instant and Counter event in UI
* Updated perfetto * Fixed timestamp unit
* Use Perfetto as default UI * Changed vizviewer * Fixed timestamp bug
* Support jupyter cell magics * Add column number * Some performance improvement
Bug fix for vizviewer and timestamps
Bug fix for vizviewer and timestamps
unique name for tmp folder so multi-multi-processing program can work
vizviewerlog_sparse can show source code now
* add remote attach feature * fix source code display bug * fix spawn process bug
Now --log_multiprocess supports spawn
Now --log_multiprocess supports spawn
Fix __name__ issue with -m
Fix __name__ issue with -m
Renamed ignore_non_file to ignore_frozen and changed the implementation to reflect that. Now it will only ignore frozen functions, not ones.
Renamed ignore_non_file to ignore_frozen and changed the implementation to reflect that. Now it will only ignore frozen functions, not <string> ones.
thread and process name supported
subprocess works in more cases nowFixed run_module issue to locate the attributes
run_module issue to locate the attributeslog_sparse when --log_sparse is not passed inset_afterfork is added to customize tracer after fork()
set_afterfork is added to customize tracer after fork()multiprocessing--max_stack_depth works properly with multiprocessing nowAdded space after file path print on console to make it clickable
log_var work with function and for loopDo not reference to the whole frame/args, only keep the useful part
</script> to keep report from crashingGlobal tracer registry is added
--version is supportedTracer save entries are unified.
VizTracer can display the source code of the function now
VizTracer can display the source code of the function now
Fix the timestamp bug for sparse log
Fix the timestamp bug for sparse log
Add two features: * log_func_entry * log_sparse
Add two features:
Nothing published for this version
Support following: * `multiprocessing library * os.fork()`
Support following:
multiprocessing libraryos.fork()`subprocess module is supported with --log_subprocess`
subprocess module is supported with --log_subprocess`-- is preferred over --run` to separate positional arguments
-- is preferred over --run to separate positional argumentsVizTracer supports `log_func_exec` now to log function executions
log_func_exec now to log function executionsNothing published for this version
VizTracer can log any variable without changing the source code now.
VizTracer can log any variable without changing the source code now.
python 3.9 is officially supported.
python 3.9 is officially supported.
--open is added
Now include/exclude files only check python functions.
Now include/exclude files only check python functions.
viztracer command will convert the file to abs path
add example scripts
Use binary to read the script to avoid encoding conflict.
Use binary to read the script to avoid encoding conflict.
Also force using utf-8 to read the html file because that's how we check it in.
VizTracer can log garbage collector operation now.
VizTracer can log garbage collector operation now.
Fixed a potential double decref issue.
Your coding agent can read these notes before it upgrades. Set up the MCP server →