github elabftw/elabftw 3.0.0-beta
elabftw-3.0.0-beta

latest releases: 5.3.11, 5.3.10, 5.3.9...
pre-release6 years ago

Hello! I'm glad to announce the release of 3.0.0-beta version of eLabFTW.

What's a beta version?

This is a stabilized alpha version. No major changes should occur before the final release. Only bugfixes will be considered before release.

How to try it?

It is recommended to use a copy of your normal database to try this version.

Edit your "elabftw.yml" file so that the image line looks like this: image:elabftw/elabimg:next. Then issue elabctl update.

Make sure that you have a (working) backup of your database if something goes wrong during the upgrade! As downgrading back to the previous version implies reimporting a backup database (because the structure will be changed during the upgrade process).

NOTE: it is not recommended to try out unstable releases if you have a lot of users depending on the instance! Use a testing database!

What's new in this release?

A lot! And there is still quite a few things I want to include, but I also don't want to have too much differences between the latest released version and the dev version, so I felt the need to at least release an alpha version.

Full changelog:

Breaking changes:

  • For users: Old API keys will be erased upon update. Users of the HTTP REST API will need to generate new keys from their profile.
  • For sysadmins: If you are not using Docker you'll need to edit your CSP header and change google.com to gstatic.com!
  • For sysadmins: to update to version 3.0.0, run elabctl update and then docker exec -it elabftw php bin/console db:updateto3

New features:

  • Add a report generating tool for sysadmin (#1000)
  • Add support for Indonesian language (thanks to Khari Secario)
  • Add possibility to send email to the team (#840)
  • API keys are now stored properly and they have permissions (read/write or read-only)
  • Add privacy policy setting in Sysadmin panel (#870)
  • Add visibility setting to import CSV/ZIP (#988)
  • Add "hr" plugin in tinymce for horizontal rules

Bugfixes:

  • Fix issue with IDP of id different of 1, add active attribute to IDP (#1025)
  • Fix insert in text at cursor position for markdown (#1094)
  • Fix issue with multiple tag search and clicking a tag hiding the other tags (#974 #632)
  • Correctly display markdown on revision page

Enhancements:

  • API endpoint will send proper error codes instead of always 200
  • Bring back the pretty pie chart on profile page. Note: if you are not using Docker you'll need to edit your CSP header and change google.com to gstatic.com!
  • Add CSRF protection on basically every POST request
  • Add recipients in BCC for mass email (#1021)
  • The full users list is not displayed anymore on Sysconfig and Admin pages. A query must be entered (empty query will show all users)
  • Add footer on search page when there is no search (#848)
  • Set default font size in TinyMCE to 10pt (#880)
  • Display the name of the author of revision (#924)
  • Better warning message before deletion (#934)
  • Add last login info for users (#1000)
  • Add book link to view mode of bookable item (#847)
  • Use marked instead of markdown-js to preview markdown (#1092)
  • Allow admin to delete scheduler events of users in team (#1111)
  • Add SECURITY.md file for security related information
  • Add link to instance in email sent to admin after user registration (#953)
  • Add gitter chat in footer
  • Add documentation link on SAML config page (#1115)

Dev corner:

  • Add more namespacing (for traits, models, controllers, services, exceptions and interfaces) and corresponding folders in src/
  • Add new UploadTrait for common file operations
  • Add new custom Exceptions, see Contributing page
  • Update onelogin/php-saml to 3.0.0: drop the mcrypt PHP extension
  • Get rid of the src/views classes
  • Add new controllers in src/controllers
  • Code style: don't check bool return value but expect exceptions if something goes wrong
  • FormKey renamed in Csrf and added to App
  • Remove userid property of Users
  • Code style: don't catch exceptions, let them bubble up
  • Code style: always use custom exceptions
  • Add Extensions class to get the correct icon depending on extension
  • Add MakeThumbnail to create thumbnails for uploaded files
  • Split controllers in RedirectResponse and JsonResponse (Ajax)
  • Add foreign keys constraints to the MySQL tables
  • Change the update strategy: use sql files now
  • Rename status (experiments) and type (items) columns in category
  • Load prism.js from node_modules with webpack
  • Better use of wepback for tinymce
  • Add tests/api.sh for testing the HTTP API
  • Load js from src folder if debug is on
  • Numerous other small improvements to the code
  • Add Contributor License Agreement for contributions
  • Add a service to populate user data (very alpha for now) to work on a bigger database in dev
  • Lint CSS with stylelint (see contributing doc)
  • Lint JS with eslint
  • Add .editorconfig and fix indentation discrepencies
  • Add more tests in circleci (lint css, js and php)
  • Remove jquery complexify from code and revamp the registration page

Please try it out and report any bug you might find (especially with the new features!).

Cheers,
~Nico

Don't miss a new elabftw release

NewReleases is sending notifications on new releases.