1.. _changelog: 2 3Changelog 4========= 5 60.16.0 (2021-11-20) 7------------------- 8 9New 10~~~ 11 12- **BREAKING**: add support for continuous output 13 to the ``propagate_for/until()`` methods 14 (`#81 <https://github.com/bluescarni/heyoka.py/pull/81>`__). 15 This is a :ref:`breaking change <bchanges_0_16_0>`. 16- Event detection is now available also in batch mode 17 (`#80 <https://github.com/bluescarni/heyoka.py/pull/80>`__). 18- Attributes can now be dynamically added to the main heyoka.py 19 classes (`#78 <https://github.com/bluescarni/heyoka.py/pull/78>`__). 20- Add a tutorial on the computation of event sensitivity 21 (`#77 <https://github.com/bluescarni/heyoka.py/pull/77>`__). 22 23Changes 24~~~~~~~ 25 26- heyoka.py now requires at least version 0.16.0 of the 27 heyoka C++ library 28 (`#75 <https://github.com/bluescarni/heyoka.py/pull/75>`__). 29 300.15.1 (2021-10-10) 31------------------- 32 33Fix 34~~~ 35 36- Fix conversion from SymPy rationals. 37 380.15.0 (2021-09-28) 39------------------- 40 41New 42~~~ 43 44- Add a tutorial on the simulation of tides 45 (`#70 <https://github.com/bluescarni/heyoka.py/pull/70>`__). 46- The conversion of expressions from/to SymPy now takes advantage 47 of reference semantics, which leads to large 48 performance improvements when dealing with expressions 49 with a high degree of internal repetition 50 (`#70 <https://github.com/bluescarni/heyoka.py/pull/70>`__). 51- Add the possibility to customise the behaviour of the 52 ``from_sympy()`` function 53 (`#70 <https://github.com/bluescarni/heyoka.py/pull/70>`__). 54- Add :math:`\pi` as a symbolic constant to the expression system 55 (`#70 <https://github.com/bluescarni/heyoka.py/pull/70>`__). 56- Add a function to compute the size of an expression 57 (`#69 <https://github.com/bluescarni/heyoka.py/pull/69>`__). 58- Add an example on the computation of definite integrals 59 (`#68 <https://github.com/bluescarni/heyoka.py/pull/68>`__). 60- Add an implementation of the VSOP2013 analytical solution 61 for the motion of the planets of the Solar System, usable 62 in the definition of differential equations 63 (`#67 <https://github.com/bluescarni/heyoka.py/pull/67>`__). 64 An example describing this new feature is available in 65 the documentation. 66- Add support for the two-argument inverse tangent function 67 ``atan2()`` in the expression system 68 (`#64 <https://github.com/bluescarni/heyoka.py/pull/64>`__). 69 70Changes 71~~~~~~~ 72 73- heyoka.py now requires at least version 0.15.0 of the 74 heyoka C++ library 75 (`#64 <https://github.com/bluescarni/heyoka.py/pull/64>`__). 76 77Fix 78~~~ 79 80- Test fixes on PPC64 81 (`#69 <https://github.com/bluescarni/heyoka.py/pull/69>`__). 82 830.14.0 (2021-08-03) 84------------------- 85 86New 87~~~ 88 89- Add a new example on the numerical detection of integrals 90 of motion 91 (`#59 <https://github.com/bluescarni/heyoka.py/pull/59>`__). 92- The tolerance value is now stored in the integrator objects 93 (`#58 <https://github.com/bluescarni/heyoka.py/pull/58>`__). 94 95Changes 96~~~~~~~ 97 98- heyoka.py now requires at least version 0.14.0 of the 99 heyoka C++ library 100 (`#58 <https://github.com/bluescarni/heyoka.py/pull/58>`__). 101 1020.12.0 (2021-07-23) 103------------------- 104 105New 106~~~ 107 108- Add support for 64-bit ARM processors 109 (`#55 <https://github.com/bluescarni/heyoka.py/pull/55>`__). 110- Pickling support has been added to all classes 111 (`#53 <https://github.com/bluescarni/heyoka.py/pull/53>`__). 112- Event properties can now be accessed after construction 113 (`#53 <https://github.com/bluescarni/heyoka.py/pull/53>`__). 114 115Changes 116~~~~~~~ 117 118- heyoka.py now depends on the 119 `Boost <https://www.boost.org/>`__ C++ libraries 120 (`#53 <https://github.com/bluescarni/heyoka.py/pull/53>`__). 121- heyoka.py now requires at least version 0.12.0 of the 122 heyoka C++ library 123 (`#53 <https://github.com/bluescarni/heyoka.py/pull/53>`__). 124 1250.11.0 (2021-07-06) 126------------------- 127 128New 129~~~ 130 131- New tutorial on transit timing variations 132 (`#50 <https://github.com/bluescarni/heyoka.py/pull/50>`__). 133 134Changes 135~~~~~~~ 136 137- heyoka.py now requires at least version 0.11.0 of the 138 heyoka C++ library 139 (`#50 <https://github.com/bluescarni/heyoka.py/pull/50>`__). 140 1410.10.0 (2021-06-09) 142------------------- 143 144New 145~~~ 146 147- The callback that can be passed to the ``propagate_*()`` methods 148 can now be used to stop the integration 149 (`#48 <https://github.com/bluescarni/heyoka.py/pull/48>`__). 150- New tutorial on SymPy interoperability 151 (`#47 <https://github.com/bluescarni/heyoka.py/pull/47>`__). 152- Add a pairwise product primitive 153 (`#46 <https://github.com/bluescarni/heyoka.py/pull/46>`__). 154- heyoka.py expressions can now be converted to/from SymPy expressions 155 (`#46 <https://github.com/bluescarni/heyoka.py/pull/46>`__). 156 157Changes 158~~~~~~~ 159 160- **BREAKING**: a :ref:`breaking change <bchanges_0_10_0>` 161 in the ``propagate_*()`` callback API 162 (`#48 <https://github.com/bluescarni/heyoka.py/pull/48>`__). 163- Division by zero in the expression system now raises an error 164 (`#48 <https://github.com/bluescarni/heyoka.py/pull/48>`__). 165- heyoka.py now requires at least version 0.10.0 of the 166 heyoka C++ library 167 (`#46 <https://github.com/bluescarni/heyoka.py/pull/46>`__). 168 1690.9.0 (2021-05-25) 170------------------ 171 172New 173~~~ 174 175- Add time polynomials to the expression system 176 (`#44 <https://github.com/bluescarni/heyoka.py/pull/44>`__). 177- New tutorial on Mercury's relativistic precession 178 (`#42 <https://github.com/bluescarni/heyoka.py/pull/42>`__). 179- Add the inverse of Kepler's elliptic equation to the expression system 180 (`#41 <https://github.com/bluescarni/heyoka.py/pull/41>`__). 181- New tutorial on planetary embryos 182 (`#39 <https://github.com/bluescarni/heyoka.py/pull/39>`__). 183- Initial exposition of the ``llvm_state`` class 184 (`#39 <https://github.com/bluescarni/heyoka.py/pull/39>`__). 185 186Changes 187~~~~~~~ 188 189- heyoka.py now requires at least version 0.9.0 of the 190 heyoka C++ library 191 (`#41 <https://github.com/bluescarni/heyoka.py/pull/41>`__). 192 1930.8.0 (2021-04-28) 194------------------ 195 196New 197~~~ 198 199- The ``propagate_for/until()`` functions now support writing 200 the Taylor coefficients at the end of each timestep 201 (`#37 <https://github.com/bluescarni/heyoka.py/pull/37>`__). 202 203Changes 204~~~~~~~ 205 206- **BREAKING**: :ref:`breaking changes <bchanges_0_8_0>` 207 in the event detection API 208 (`#37 <https://github.com/bluescarni/heyoka.py/pull/37>`__). 209- heyoka.py now requires at least version 0.8.0 of the 210 heyoka C++ library 211 (`#37 <https://github.com/bluescarni/heyoka.py/pull/37>`__). 212 2130.7.0 (2021-04-22) 214------------------ 215 216New 217~~~ 218 219- The ``propagate_*()`` functions now accept an optional 220 ``max_delta_t`` argument to limit the size of a timestep, 221 and an optional ``callback`` argument that will be invoked 222 at the end of each timestep 223 (`#34 <https://github.com/bluescarni/heyoka.py/pull/34>`__). 224- ``update_d_output()`` can now be called with a relative 225 (rather than absolute) time argument 226 (`#34 <https://github.com/bluescarni/heyoka.py/pull/34>`__). 227 228Changes 229~~~~~~~ 230 231- **BREAKING**: the time coordinates in batch integrators 232 cannot be directly modified any more, and the new 233 ``set_time()`` function must be used instead 234 (`#34 <https://github.com/bluescarni/heyoka.py/pull/34>`__). 235- heyoka.py now requires at least version 0.7.0 of the 236 heyoka C++ library 237 (`#34 <https://github.com/bluescarni/heyoka.py/pull/34>`__). 238 2390.6.1 (2021-04-08) 240------------------ 241 242New 243~~~ 244 245- Add the wavy ramp tutorial 246 (`#32 <https://github.com/bluescarni/heyoka.py/pull/32>`__). 247 248Changes 249~~~~~~~ 250 251- heyoka.py now requires at least version 0.6.1 of the 252 heyoka C++ library 253 (`#32 <https://github.com/bluescarni/heyoka.py/pull/32>`__). 254 2550.6.0 (2021-04-06) 256------------------ 257 258New 259~~~ 260 261- Add a tutorial about Brouwer's law 262 (`#31 <https://github.com/bluescarni/heyoka.py/pull/31>`__). 263- Add a tutorial about batch mode 264 (`#30 <https://github.com/bluescarni/heyoka.py/pull/30>`__). 265- Add tutorials about gravitational billiards 266 (`#29 <https://github.com/bluescarni/heyoka.py/pull/29>`__, 267 `#28 <https://github.com/bluescarni/heyoka.py/pull/28>`__). 268- Expose propagation over a time grid for the batch integrator 269 (`#29 <https://github.com/bluescarni/heyoka.py/pull/29>`__). 270- Add a tutorial about the computation of Poincaré sections 271 (`#27 <https://github.com/bluescarni/heyoka.py/pull/27>`__). 272- Add a tutorial on optimal control 273 (`#24 <https://github.com/bluescarni/heyoka.py/pull/24>`__). 274- Initial version of the event detection system 275 (`#23 <https://github.com/bluescarni/heyoka.py/pull/23>`__). 276- Expose low-level functions to compute the jet of derivatives 277 for an ODE system 278 (`#21 <https://github.com/bluescarni/heyoka.py/pull/21>`__). 279 280Changes 281~~~~~~~ 282 283- **BREAKING**: the ``propagate_grid()`` method now requires 284 monotonically-ordered grid points 285 (`#25 <https://github.com/bluescarni/heyoka.py/pull/25>`__). 286- heyoka.py now depends on the `spdlog <https://github.com/gabime/spdlog>`__ library 287 (`#23 <https://github.com/bluescarni/heyoka.py/pull/23>`__). 288- heyoka.py now requires at least version 0.6.0 of the 289 heyoka C++ library 290 (`#21 <https://github.com/bluescarni/heyoka.py/pull/21>`__). 291 292Fix 293~~~ 294 295- Properly restore the original ``mpmath`` precision after 296 importing heyoka.py 297 (`#21 <https://github.com/bluescarni/heyoka.py/pull/21>`__). 298 2990.5.0 (2021-02-25) 300------------------ 301 302New 303~~~ 304 305- Expose symbolic differentiation. 306- Add a new tutorial (restricted three-body problem). 307 308Changes 309~~~~~~~ 310 311- The interface of the integrator in batch mode has changed 312 to work with arrays in which the batch size has its own dimension, 313 instead of being flattened out 314 (`#20 <https://github.com/bluescarni/heyoka.py/pull/20>`__). 315- heyoka.py now depends on the `{fmt} <https://fmt.dev/latest/index.html>`__ library 316 (`#20 <https://github.com/bluescarni/heyoka.py/pull/20>`__). 317- heyoka.py now requires at least version 0.5.0 of the 318 heyoka C++ library 319 (`#20 <https://github.com/bluescarni/heyoka.py/pull/20>`__). 320 3210.4.0 (2021-02-20) 322------------------ 323 324New 325~~~ 326 327- Expose the new ``powi()`` function from heyoka 0.4.0 328 (`#18 <https://github.com/bluescarni/heyoka.py/pull/18>`__). 329- Add support for ``propagate_grid()`` 330 (`#17 <https://github.com/bluescarni/heyoka.py/pull/17>`__). 331- Add support for dense output and for storing 332 the Taylor coefficients at the end of a timestep 333 (`#11 <https://github.com/bluescarni/heyoka.py/pull/11>`__). 334- Various doc additions 335 (`#15 <https://github.com/bluescarni/heyoka.py/pull/15>`__, 336 `#14 <https://github.com/bluescarni/heyoka.py/pull/14>`__, 337 `#13 <https://github.com/bluescarni/heyoka.py/pull/13>`__, 338 `#12 <https://github.com/bluescarni/heyoka.py/pull/12>`__, 339 `#11 <https://github.com/bluescarni/heyoka.py/pull/11>`__). 340 341Changes 342~~~~~~~ 343 344- heyoka.py now requires at least version 0.4.0 of the 345 heyoka C++ library. 346 3470.3.0 (2021-02-13) 348------------------ 349 350- This is the initial public release of heyoka.py 351