Changelogs » Asv

PyUp Safety actively tracks 261,870 Python packages for vulnerabilities and notifies you when to upgrade.

Asv

0.5

----------------
  
  New Features
  ^^^^^^^^^^^^
  - Adding environment variables to build and benchmark commands. (809, 833)
  - Added ``--strict`` option to ``asv run`` to set exit code on failure. (865)
  - Added ``--no-stats`` option to ``asv compare`` and ``asv continuous``. (879)
  - Added ``--durations`` option to ``asv run`` and ``asv show`` for displaying
  benchmark run durations. (838)
  - Added ``--date-period`` option to ``asv run`` for running benchmarks for
  commits separated by a constant time interval. (835)
  - Web UI button to group regressions by benchmark. (869)
  - Space-saving v2 file format for storing results. (847)
  - ``timeraw_*`` benchmarks for measuring e.g. import times. (832)
  - Support for using conda environment files for env setup. (793)
  
  API Changes
  ^^^^^^^^^^^
  - Results file format change requires ``asv update`` to update old data
  to v2 format.
  - The configuration syntax for "matrix", "exclude", and "include"
  in ``asv.conf.json`` has changed. The old syntax is still supported,
  unless you are installing packages named ``req``, ``env``, ``env_nobuild``.
  
  Bug Fixes
  ^^^^^^^^^
  - When an ``asv find`` step fails due to timeout, assume runtime equal to
  timeout to allow bisection to proceed (768)
  - Minor fixes and improvements (897, 896, 888, 881, 877, 876, 875,
  861, 870, 868, 867, 866, 864, 863, 857, 786, 854, 855, 852,
  850, 844, 843, 842, 839, 841, 840, 837, 836, 834, 831, 830,
  829, 828, 826, 825, 824)
  
  Other Changes and Additions
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  - Uniqueness of ``repr()`` for ``param`` objects is now guaranteed
  by suffixing unique identifier corresponding to order of
  appearance. (771)
  - Memory addresses are now stripped from the ``repr()`` of ``param``
  elements, allowing comparison across multiple runs. (771)
  - ``asv dev`` is now equivalent to ``asv run`` with ``--python=same``
  default. (874)
  - ``asv continuous`` by default now records measurement samples,
  for better comparison statistics. (878)
  - ASV now uses PEP 518 ``pyproject.toml`` in packaging. (853)

0.4.1

------------------
  
  - Change wheel installation default command to chdir away from build directory
  instead of ``--force-install``. (823)

0.4

----------------
  
  New Features
  ^^^^^^^^^^^^
  - ``asv check`` command for a quick check of benchmark suite validity. (782)
  - ``asv run HASHFILE:filename`` can read commit hashes to run from file or stdin (768)
  - ``--set-commit-hash`` option to ``asv run``, which allows recording results
  from runs in "existing" environments not managed by asv (794)
  - ``--cpu-affinity`` option to ``asv run`` and others, to set CPU affinity (769)
  - "Hide legend" option in web UI (807)
  - ``pretty_source`` benchmark attribute for customizing source code shown (810)
  - Record number of cores in machine information (761)
  
  API Changes
  ^^^^^^^^^^^
  - Default timer changed from ``process_time()`` to
  ``timeit.default_timer()`` to fix resolution issues on Windows.
  Old behavior can be restored by setting ``Benchmark.timer = time.process_time``
  (780)
  
  Bug Fixes
  ^^^^^^^^^
  - Fix pip command line in ``install_command`` (806)
  - Python 3.8 compatibility (814)
  - Minor fixes and improvements (759, 764, 767, 772, 779, 783, 784, 787,
  790, 795, 799, 804, 812, 813, 815, 816, 817, 818, 820)
  
  Other Changes and Additions
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  - In case of significant changes ``asv continuous`` message now reports
  if performance decreased or increased.

0.3.1

------------------
  
  Minor bugfixes and improvements.
  
  - Use measured uncertainties to weigh step detection. (753)
  - Detect also single-commit regressions, if significant. (745)
  - Use proper two-sample test when raw results available. (754)
  - Use a better regression "badness" measure. (744)
  - Display verbose command output immediately, not when command
  completes. (747)
  - Fix handling of benchmark suite import failures in forkserver and
  benchmark discovery. (743, 742)
  - Fix forkserver child process handling.
  - In asv test suite, use dummy conda packages. (738)
  - Other minor fixes (756, 750, 749, 746)

0.3

----------------
  
  Major release with several new features.
  
  New Features
  ^^^^^^^^^^^^
  
  - Revised timing benchmarking. ``asv`` will display and record the
  median and interquartile ranges of timing measurement results. The
  information is also used by ``asv compare`` and ``asv continuous``
  in determining what changes are significant. The ``asv run`` command
  has new options for collecting samples. Timing benchmarks have
  new benchmarking parameters for controlling how timing works,
  including  ``processes`` attribute for collect data by running
  benchmarks in different sequential processes.
  The defaults are adjusted to obtain faster benchmarking.
  (707, 698, 695, 689, 683, 665, 652, 575, 503, 493)
  
  - Interleaved benchmark running. Timing benchmarks can be run in
  interleaved order via ``asv run --interleave-processes``, to obtain
  better sampling over long-time background performance variations.
  (697, 694, 647)
  
  - Customization of build/install/uninstall commands. (699)
  
  - Launching benchmarks via a fork server (on Unix-based systems).
  Reduces the import time overheads in launching new
  benchmarks. Default on Linux. (666, 709, 730)
  
  - Benchmark versioning. Invalidate old benchmark results when
  benchmarks change, via a benchmark ``version``
  attribute. User-configurable, by default based on source
  code. (509)
  
  - Setting benchmark attributes on command line, via ``--attribute``.
  (647)
  
  - ``asv show`` command for displaying results on command line. (711)
  
  - Support for Conda channels. (539)
  
  - Provide ASV-specific environment variables to launched commands. (624)
  
  - Show branch/tag names in addition to commit hashes. (705)
  
  - Support for projects in repository subdirectories. (611)
  
  - Way to run specific parametrized benchmarks. (593)
  
  - Group benchmarks in the web benchmark grid (557)
  
  - Make the web interface URL addresses more copypasteable.
  (608, 605, 580)
  
  - Allow customizing benchmark display names (484)
  
  - Don't reinstall project if it is already installed (708)
  
  API Changes
  ^^^^^^^^^^^
  
  - The ``goal_time`` attribute in timing benchmarks is removed (and now
  ignored). See documentation on how to tune timing benchmarks now.
  
  - ``asv publish`` may ask you to run ``asv update`` once after upgrading,
  to regenerate ``benchmarks.json`` if ``asv run`` was not yet run.
  
  - If you are using ``asv`` plugins, check their compatibility.  The
  internal APIs in ``asv`` are not guaranteed to be backward
  compatible.
  
  Bug Fixes
  ^^^^^^^^^
  
  - Fixes in 0.2.1 and 0.2.2 are also included in 0.3.
  - Make ``asv compare`` accept named commits (704)
  - Fix ``asv profile --python=same`` (702)
  - Make ``asv compare`` behave correctly with multiple machines/envs (687)
  - Avoid making too long result file names (675)
  - Fix saving profile data (680)
  - Ignore missing branches during benchmark discovery (674)
  - Perform benchmark discovery only when necessary (568)
  - Fix benchmark skipping to operate on a per-environment basis (603)
  - Allow putting ``asv.conf.json`` to benchmark suite directory (717)
  - Miscellaneous minor fixes (735, 734, 733, 729, 728, 727, 726,
  723, 721, 719, 718, 716, 715, 714, 713, 706, 701, 691, 688,
  684, 682, 660, 634, 615, 600, 573, 556)
  
  
  Other Changes and Additions
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  
  - www: display regressions separately, one per commit (720)
  - Internal changes. (712, 700, 681, 663, 662, 637, 613, 606, 572)
  - CI/etc changes. (585, 570)
  - Added internal debugging command ``asv.benchmarks`` (685)
  - Make tests not require network connection, except with Conda (696)
  - Drop support for end-of-lifed Python versions 2.6 & 3.2 & 3.3 (548)

0.3b1

------------------
  
  Prerelease. Same as 0.3rc1, minus 721--

0.2.2

------------------
  
  Bugfix release with minor feature additions.
  
  New Features
  ^^^^^^^^^^^^
  
  - Add a ``--no-pull`` option to ``asv publish`` and ``asv run`` (592)
  - Add a ``--rewrite`` option to ``asv gh-pages`` and fix bugs (578, 529)
  - Add a ``--html-dir`` option to ``asv publish`` (545)
  - Add a ``--yes`` option to ``asv machine`` (540)
  - Enable running via ``python -masv`` (538)
  
  Bug Fixes
  ^^^^^^^^^
  
  - Fix support for mercurial >= 4.5 (643)
  - Fix detection of git subrepositories (642)
  - Find conda executable in the "official" way (646)
  - Hide tracebacks in testing functions (601)
  - Launch virtualenv in a more sensible way (555)
  - Disable user site directory also when using conda (553)
  - Set PIP_USER to false when running an executable (524)
  - Set PATH for commands launched inside environments (541)
  - os.environ can only contain bytes on Win/py2 (528)
  - Fix hglib encoding issues on Python 3 (508)
  - Set GIT_CEILING_DIRECTORIES for Git (636)
  - Run pip via python -mpip to avoid shebang limits (569)
  - Always use https URLs (583)
  - Add a min-height on graphs to avoid a flot traceback (596)
  - Escape label html text in plot legends (614)
  - Disable pip build isolation in wheel_cache (670)
  - Fixup CI, test, etc issues (616, 552, 601, 586, 554, 549,
  571, 527, 560, 565)

0.2.2rc1

---------------------
  
  Same as 0.2.2, minus 670.

0.2.1

------------------
  
  Bug Fixes
  ^^^^^^^^^
  
  - Use process groups on Windows (489)
  - Sanitize html filenames (498)
  - Fix incorrect date formatting + default sort order in web ui (504)

0.2

----------------
  
  New Features
  ^^^^^^^^^^^^
  
  - Automatic detection and listing of performance regressions. (236)
  - Support for Windows. (282)
  - New ``setup_cache`` method. (277)
  - Exclude/include rules in configuration matrix. (329)
  - Command-line option for selecting environments. (352)
  - Possibility to include packages via pip in conda environments. (373)
  - The ``pretty_name`` attribute can be used to change the display
  name of benchmarks. (425)
  - Git submodules are supported. (426)
  - The time when benchmarks were run is tracked. (428)
  - New summary web page showing a list of benchmarks. (437)
  - Atom feed for regressions. (447)
  - PyPy support. (452)
  
  API Changes
  ^^^^^^^^^^^
  
  - The parent directory of the benchmark suite is no longer inserted
  into ``sys.path``. (307)
  - Repository mirrors are no longer created for local repositories. (314)
  - In asv.conf.json matrix, ``null`` previously meant (undocumented)
  the latest version. Now it means that the package is to not be
  installed. (329)
  - Previously, the ``setup`` and ``teardown`` methods were run only once
  even when the benchmark method was run multiple times, for example due
  to ``repeat > 1`` being present in timing benchmarks. This is now
  changed so that also they are run multiple times. (316)
  - The default branch for Mercurial is now ``default``, not ``tip``. (394)
  - Benchmark results are now by default ordered by commit, not by date. (429)
  - When ``asv run`` and other commands are called without specifying
  revisions, the default values are taken from the branches in
  ``asv.conf.json``. (430)
  - The default value for ``--factor`` in ``asv continuous`` and
  ``asv compare`` was changed from 2.0 to 1.1 (469).
  
  Bug Fixes
  ^^^^^^^^^
  
  - Output will display on non-Unicode consoles. (313, 318, 336)
  - Longer default install timeout. (342)
  - Many other bugfixes and minor improvements.

0.2rc2

-------------------
  
  Same as 0.2.

0.1.1

------------------
  
  First full release.

0.1rc3

-------------------
  
  Bug Fixes
  ^^^^^^^^^
  Include pip_requirements.txt.
  
  Display version correctly in docs.

0.1rc2

-------------------

0.1rc1

-------------------