Although this is only a minor release, enough has changed that we strongly reccommend a clean installation using our auto-installer script.

Version numbering

We are now synchronising major and minor version numbering between OpenFlexure eV and the OpenFlexure Microscope Server. This makes it simpler to ensure all API functionality is in proper use. Note that patch versions (i.e. 1.1.X) are not synchronised, as we will be pushing out bug and security fixes separately for each project.

Plugin system

  • Added an entirely new plugin layer. Now, server plugins can include a JSON description of a form, which eV will render in a new tab. Finally, you can give your microscope plugins nice buttons!

Config system

  • Overhauled the runtime-config system. To make code clearer, all device classes now use normal object attributes to store various settings. Conversion between these attributes, and dictionaries that are saved to disk for persistence, is now handled by class methods.


  • Added state key for server package version.
  • Inject server_version into saved config.
  • Automatically add microscope ID and name to metadata.
  • Added deprecation warnings to config property.
  • Added a basic mock camera.
  • Created an ugly but useful stack of convenience imports.
  • Sangaboard now handles port scanning and firmware checking.


  • Ensure stream recording at start of fast_up_down_up_autofocus.
  • Fixed default stage backlash.
  • Fixed missing methods in mock stage.
  • Fixed camera unit tests (may still be deprecated soon).


  • Converted base camera into an ABC.
  • Smarter server teardown procedure.