2024-10-14 v3.7.0

  Added support for CPython 3.13.

  Improve support for Python processes running in containers.

  Removed the exclude-empty option.

  Bugfix: fixed a bug with the MOJO binary format that caused the line end
  position to wrongly be set to a non-zero value for CPython < 3.11, where line
  end information is not actually available.


2023-10-04 v3.6.0

  Added support for CPython 3.12

  Added support for sub-interpreters.

  Dropped support for CPython 2, 3.3, 3.4, 3.5, 3.6 and 3.7.

  Improved interpreter detection and general stability on all supported
  platforms.

  Bugfix: ensure that threads are resumed by austinp when an error occurs during
  the sampling process.

  Bugfix: propagate the termination signal to the child process when launching a
  command with Austin to prevent it from running indefinitely in the background.


2023-02-21 v3.5.0

  Added support for fine-grained, column-level location information when
  exporting samples in binary mode.

  Improved multiprocess support.

  Dropped the alternative output format.

  Improved interpreter detection on all supported platforms.


2022-10-26 v3.4.1

  Fixed a bug with the MOJO binary format.


2022-10-25 v3.4.0

  Added support for Python 3.11.

  Allowed disabling logging by setting the environment variable
  AUSTIN_NO_LOGGING.

  Improved permission error reporting on MacOS.

  Improved MacOS support.

  Improved austinp support on fork.

  Small performance improvements.

  Renamed the austinp binary installed from the Snap Store from austin.austinp
  to austin.p.
  
  Fixed a bug in austinp that could have caused the interpreter to stall on
  launch.

  Fixed a bug in austinp that could have caused segmentation faults.

  Fixed a regression in austinp that caused most of the samples to be wrongly
  reported as idle


2022-01-28 v3.3.0

  Added the new Where mode.

  Overall performance and accuracy improvements.

  The heap allocation has been turned off by default.

  Added support for profiling child processes that might have a different Python
  runtime version than the parent process.

  Bugfix: fixed heap size handling.

  Bugfix: fixed a potential segmentation fault issue in the austinp variant.

  Bugfix: fixed a potential deadlock scenario in austinp.

  Bugfix: fixed support for the py.exe launcher on Windows.


2021-12-16 v3.2.0

  Improved detection of invalid samples

  Added support for Python launchers on Windows

  Improved Python version detection on Linux

  Fixed support of older versions of glibc on Linux


2021-08-18 v3.1.0

  Added garbage collection state sampling for Python 3.7 onward.

  Bugfix: the MinGW libwinpthread library is now linked statically on Windows.


2021-06-13 v3.0.0

  Added pipe mode.

  Bugfix: fixed file descriptor leak on Linux.

  Bugfix: fixed sampling duration reporting on macOS.


2021-04-25 v3.0.0a1

  The format of the emitted samples has been changed into something easier to
  parse.

  The sleepless mode now gives an estimate of CPU time.

  Binaries with arbitrary names are now supported, allowing Austin to easily
  profile applications like uWSGI.

  Windows compatibility has been enhanced to support wrapper launchers.

  Bugfix: report the correct process ID on macOS.


2020-12-30 v2.1.1

  Bugfix: Fix symbol name clash on BSD systems with strtonum.


2020-12-29 v2.1.0

  Improved general Python support on all the supported platforms.

  Allowed specifying argument for time-like parameters using units (e.g. 10ms).

  Error reporting has been made more accurate and informative.

  Bugfix: Fixed line number reporting.


2020-10-06 v2.0.0

  Substantial performance improvements. Austin 2 can sample deep call stacks
  5 to 8 times faster than previous versions.

  Support for Python 3.9.

  Added the exposure option to instruct Austin to sample for a given number of
  seconds only (#53).


2020-05-16 v1.0.1

  Bugfix: Fixed broken support for Python 3.8 on MacOS.


2019-07-28 v1.0.0

  Austin can now profile multi-process Python application:

    When attaching Austin to an already running multi-process application it is
    enough to provide the process ID of the parent process. Austin will then
    discover all the child processes and profile those too.

    To tell Austin to look for child processes, use the new -C switch from the
    command line.

  Austin can now profile Python 3.8 applications.


2019-07-28 v0.7.0

  Austin can now profile memory usage and output samples to a file.

  Added new command line options:

    - --memory, -m:

        Switch to memory profling mode

    - --full, -f:

        Generate samples with a full set of metrics, which include timing and
        memory profiling information. Note that the output from this mode needs
        to be processed before it can be used with FlameGraph.

    - --output, -o:

        Designate an output file for the collected samples.


2018-10-15 v0.6.0-beta

  Introduced native support for MacOS and Windows.


2018-10-10 v0.5.0-beta

  Added support for all the major releases of Python 2 and 3 on 32-bit Linux.


2018-10-08 v0.4.0-alpha

  Added support for all the major releases of Python 2 and 3 on 64-bit Linux.


2018-10-02 v0.3.1-alpha

  Bugfix: Austin can now attach to a running Python process again.


2018-09-30 v0.3.0-alpha

  Austin now supports Python 3.3, 3.4, 3.5 and 3.7 on x86_64 Linux.


2018-09-26 v0.2.0-alpha

  Austin can now be attached to a running Python 3 process.

  Added new command line options:

    - --alt-format, -a:

        Use the alternative format for collapsed stack samples.

    - --exclude-empty, -e:

        Exclude samples of threads with no frame stacks.

        Usually, these are Python threads created by C extensions, whose code
        cannot currently be traced.

    - --sleepless, -s:

        Suppress idle samples.

        These are samples where a call to wait has been made and the thread
        sits there doing nothing.

  Fixed a bug that caused some valid thread samples to be marked as invalid.

  Austin has been tested successfully on Windows 10 64-bit via WSL.


2018-09-20 v0.1.0-alpha

  Initial release.
