From 657f7817807522e6e16860ac9477143e5355e3f2 Mon Sep 17 00:00:00 2001 From: Simon Humpohl Date: Mon, 17 May 2021 12:34:33 +0200 Subject: [PATCH] Mention the change log and towncrier in README.md. Remove old ReleaseNotes.txt --- README.md | 3 ++ ReleaseNotes.txt | 111 ----------------------------------------------- 2 files changed, 3 insertions(+), 111 deletions(-) delete mode 100644 ReleaseNotes.txt diff --git a/README.md b/README.md index 677916d8f..990743257 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,9 @@ The current feature list is as follows: - High-level pulse to hardware configuration and waveform translation routines - Hardware drivers for Tabor Electronics, Tektronix and Zurich Instruments AWGs and AlazarTech Digitizers - MATLAB interface to access qupulse functionality + +Pending changes are tracked in the `changes.d` subdirectory and published in [`RELEASE_NOTES.rst`](RELEASE_NOTES.rst) on +release using the tool `towncrier`. ## Installation qupulse is available on [PyPi](https://pypi.org/project/qupulse/) and the latest release can be installed by executing: diff --git a/ReleaseNotes.txt b/ReleaseNotes.txt deleted file mode 100644 index 7e9bbf129..000000000 --- a/ReleaseNotes.txt +++ /dev/null @@ -1,111 +0,0 @@ -## pending/current ## - - General: - - Fix TimeType comparisons with non-finite floats (inf, -inf, NaN) - - Drop python 3.5 support - - Added ConstantPulseTemplate (#565) - - - Expressions: - - Add `evaluate_with_exact_rationals` method to ExpressionScalar - - - Hardware: - - Improve atsaverage backend usability - - -## 0.5.1 ## - - - General: - - Unify `TimeType.from_float` between fractions and gmpy2 backend behaviour (fixes issue 529). - -## 0.5 ## - - - General: - - Improve `TimeType` consistency by leveraging str(float) for rounding by default. - - Add support for sympy==1.5 - - Add volatile parameters. Repetition counts can now be changed at runtime in some cases (useful for DNP). See - `volatile` kwarg of `create_program` - - - Hardware: - - Add a `measure_program` method to the DAC interface. This method is used by the QCoDeS integration. - - Add a `set_measurement_mask` to DAC interface. This method is used by the QCoDeS integration. - - Add a `get_sample_times` util method to share code for exact and fast sample time calculation - - Add a driver for Tektronix AWG5000/7000 - - Add a driver for Zurich Instruments HDAWG - - Warn the user if waveforms need to be concatenated to be compatible with hardware requirements. - -- Pulse Templates: - - Add `__repr__` and `__format__` for easier inspection - - `MappingPulseTemplate`: - - `allow_partial_parameter_mapping` is now True as a default. The default can be changed with the class variable `MappingPulseTemplate.ALLOW_PARTIAL_PARAMETER_MAPPING`. - - Add specializations for `map_parameters` because the auto-inference of the return type did not work for empty input. - - Channels mapped to None are now dropped - - Add simple arithmetic operations for pulse templates - - offset and scaling with scalars - - addition with atomic pulse templates - -- Expressions: - - Expressions can now be formatted as floats if they do not have free variables - -- Parameters: - - Replace Parameter class with Scope - - Parameter class is now deprecated - -- Backward incompatible changes: - - Removed deprecated classes: - - Sequencer: Replaced by PulseTemplate.create_program method - - Condition: Never used - - InstructionBlock: Old representation of programs. Replaced by Loop - - MultiChannelProgram: Was required in the instruction block framework - -## 0.4 ## - -- General: - - Add utility function `qupulse.utils.types.has_type_interface` and use it to circumvent autoreload triggered isinstance fails - - Add utility function `qupulse.utils.time_from_fraction` to make creation from numerator and denominator obvious. - -- Pulse Templates: - - `MappingPulseTemplate`: - - Raise a ValueError if more than one inner channel is mapped to the same outer channel - - Plotting: - - Make `plotting.render` behaviour and return value consistent between calls with `InstructionBlock` and `Loop`. Render now always returns 3 arguments. - -## 0.3 ## - -- General: - - Introduce qupulse.utils.isclose (an alias for math.isclose if available) - - Dropped support for Python 3.4 in setup.py due to incompatible syntax in qupulse. - - Official support for Python 3.7 has begun. - -- Pulse Templates: - - `AtomicMultichannelPulseTemplate`: - - Add duration keyword argument & example (see MultiChannelTemplates notebook) - - Make duration equality check approximate (numeric tolerance) - - Plotting: - - Add `time_slice` keyword argument to render() and plot() - - Add `AbstractPulseTemplate` class - - `PointPulseTemplate`: - - Fixed bug in integral evaluation - - Add `ParallelConstantChannelPulseTemplate` which allows adding a constant valued channel to an arbitrary pulse template - -- Expressions: - - Make ExpressionScalar hashable - - Fix bug that prevented evaluation of expressions containing some special functions (`erfc`, `factorial`, etc.) - -- Parameters: - - `ConstantParameter` now accepts a `Expression` without free variables as value (given as `Expression` or string) - -## 0.2 ## - -- General: - - - officially removed support for Python 3.3 (qupulse and dependencies are not compatible anymore) - -- Serialization / Storage: - - - Added functionality to easily access available content/identifiers in `PulseStorage` and `StorageBackend`. - - DEPRECATED `list_contents()` of `StorageBackend` (use `contents property` instead). - - DEPRECATED: `CachingBackend` because its functionality is a subset of `PulseStorage`. - -- Expressions: - - Fixed bug in `Expression.evaluate_numeric` if result is array of numeric sympy objects - -## 0.1.2 ##