Skip to content
Choose a tag to compare


@NicolasCARPi NicolasCARPi released this
· 1697 commits to master since this release
Choose a tag to compare

Version 3.4.0

Wow. This is a BIG update! A lot of commits, new features, enhancements and general code improvements. eLabFTW keeps improving thanks to the community of users and people sponsoring the project through donations (on or custom development requests (on


This version requires a change in the MySQL structure. After the update, run bin/console db:updateTo34.

How to update the SQL structure:

# for docker users (assuming the container is called 'elabftw'
docker exec -it elabftw bin/console db:updateTo34
# for non docker users (from the elabftw folder)
php bin/console db:updateTo34

Read the blog post for this release!


  • Fix files not getting imported from zip archive (#1645)
  • Fix wrong behavior on InvalidSchemaException
  • Fix the division by zero warning for new user visiting profile
  • Fix registration emails not sent to admins with lock power

New features:

  • Allow users to be in several teams
  • Add write permissions to exp/items
  • Remove team restriction on team groups: you can add a member of another team in a team group
  • Add possibility to create users from the sysadmin/admin panels
  • Allow TAB separated values for CSV import (#1743)
  • Add expand all button (#1634)
  • Upgrade of the Scheduler with new version, better UI and possibility to bind an experiment to an event (#1619)
  • Add JSON editor (by @shabihsherjeel via PR #1554) (fix #1467)
  • Allow sysadmin to restrict email domain on registration (#1649)
  • Add API access to events and bookable endpoints (#1618)
  • Add API endpoint for making a zip backup on a time period
  • Improve the permission system with separate read/write permissions (#1646)
  • Allow IDP to send several teams and synchronize the teams from that


  • Import steps and links from zip archive (#1645)
  • Add the user menu in the navbar
  • Place the Create button on the right side and improve it
  • Resize the main container
  • Add modal dialogs for timestamping, create item and help
  • Improve zip name for single export (#1690)
  • Allow visibility change in show mode for items (#1640)
  • Make todolist scrollable (#1626)
  • Read exif orientation of image and rotate it if necessary (#1635)
  • Improve the UI of login and register pages
  • Background color of events is now color of item type (#1672)
  • The database structure import is now done through a command instead of the /install folder
  • Add pretty modals for some actions
  • Update Italian
  • Increase timeout for uploading big files
  • Make the main container less wide
  • Move the menu into the top bar


  • Add dev:populate command to replace the current database with fake data
  • Improve the test suite to use a temporary docker setup to run the tests (see tests/
  • Use Codeception to run API tests instead of a custom curl script
  • All Javascript has been moved to TypeScript (in src/ts)
  • All CSS has been moved to SCSS (in scr/scss)
  • The webpack packing has been greatly improved with proper chunking (see builder.js)
  • Update Codeception to 4.0
  • Bootstrap is now used properly with SCSS variables overriding and proper usage of bootstrap classes for buttons