Skip to content

4.0.0

Compare
Choose a tag to compare
@hannorein hannorein released this 13 Nov 23:35
· 63 commits to main since this release
  • Major API changes and new features! If you have used a previous version of REBOUND, then you will need to update your code. If you have trouble with the migration, open a GitHub issue!
  • Many function and variable names have changed. They now follow a coherent naming convention. See the naming convention section in the documentation for more information.
  • New visualization module! Previously, using OpenGL visualization required the GLFW library which led to problems on various operating systems. The new visualization module no longer requires ANY dependencies and is compatible with MacOS, Linux, and Windows. It works by running a local web server to which you can point your browser to. In your web browser, an emscripten compiled version of REBOUND handles the WebGL visualization while constantly updating simulation data over HTTP. You can use ssh and port forwarding to visualize simulations on remote servers. Check out the documentation for more details on this new module.
  • OpenGL for all the examples has been turned off by default so that new users don't get stuck at this step. To turn on OPENGL simply change the flag in the Makefile.
  • Added emscripten support. All C examples (including those using visualizations) are now automatically compiled with emscripten on readthedocs.org so you can run from within the browser. No download or installation required.
  • A race condition in OpenGL visualization has been removed. Visualizations run much smoother.
  • reb_random functions now callable with r=NULL. If r=NULL then the time and PID is used as a seed.
  • Removed support for Simulationarchives with version 2. Added some additional support for reading corrupt/old archives.
  • Fixed memory leak in reb_simulation_copy.
  • Consistent integer sizes for 32/64bit. This includes padding for reb_particle which is stored in the Simulationarchive.

Version 3.x