Skip to content

elabftw-4.3.0

Compare
Choose a tag to compare
@NicolasCARPi NicolasCARPi released this 26 May 09:37
· 824 commits to master since this release
4.3.0

Changelog for version 4.3.0

Breaking changes:

  • Completely drop support for non-Docker installation method, see why.
  • Require MySQL version 8.0.
    WARNING If you are running MySQL version 5.7 or earlier, you might run into encoding issues after updating to MySQL 8.0. First make sure that you have a proper backup in UTF-8 before upgrading. You might need to re-import your backup after the upgrade if you run into encoding issues.
  • A new mandatory configuration option (environment variable) SITE_URL is needed. Edit your configuration file (/etc/elabftw.yml by default) and add a new environment variable SITE_URL for the web (elabftw) container, in the environment part, with a value that corresponds to the address for the instance (including the port if not custom). If this value is not set, the container will show an error and the app won't work until it is fixed. This was previously an optional setting in the instance main config, but it was causing issues, see #3319. (PR #3323). Example:
   SITE_URL=https://elab.example.org

Important changes:

  • When deletion is requested, the entry isn't really deleted but its state is set to deleted. It is not possible anymore to actually delete something . (PR #3302)
  • When an uploaded file is replaced by a new version, the previous version has its state changed to archived and is kept around.

New features:

For sysadmins:

  • You can now configure S3 storage for uploaded files (PR #3281) (and use bin/console uploads:migrate)
  • Add uploads:prune command to remove deleted files from database and filesystem
  • The db:update command now displays important messages at the end
  • Add cache:clear command to clear cached files
  • Allow user to request access to a team after SAML authentication (issue #3244, PR #3246)
  • Show MySQL version in sysadmin page (#3509 by Marcel)
  • Add a timestamp monthly limit (#3512)

For admins:

  • Allow export of data from the Admin panel: experiments, items or scheduler data (PR #3445) (fix #3386)
  • When an event is deleted from the scheduler, Admins get a notification

For users:

  • Allow searching for entities in API (issue #3264, PR #3308)
  • New notifications system (#3363)
  • Revamp completely the search interface, and allow complicated search queries, mainly by Marcel Bolten (PR #3247, PR #2975, fix #2677, PR #3555, #3554)
  • Add import link from link function (#3488)
  • Allow searching for several metadata fields on search page (#3473)
  • Allow searching in attachments filename and comment (PR #3515 by Marcel)
  • Add write permissions settings when importing CSV or ZIP (fix #3559)
  • Many other cosmetic changes and improvements all over the application.

Bugfixes:

  • Fix steps block not getting updated in view mode after clicking the checkbox
  • Fix issue with template update on api (fix #3517)
  • Fix non working actions when navigating with the Favorite tags (issue #3329, PR #3331)
  • Fix bug where creating event resulted in changing the title of the item (issue #3326)
  • Actually use the Lato font for PDFs (issue #3211)
  • Fix team event binding behavior (PR #3301 by Marcel Bolten)
  • Fix page reloading on item type deletion preventing user from reading error message
  • Don't choke on password protected PDFs (PR #3288 by Marcel Bolten)
  • Avoid elabid overflow on small screens (PR #3260 by Marcel Bolten)
  • Fix url encoding issue in pdf qr code (issue #2940)
  • Fix html tags whitelisting (fix #3239)
  • Make sure every entity gets its own directory in zip file (#3446 by Marcel Bolten)
  • Fix half broken toggle body in show mode
  • Add possibly missing authfail table
  • Fix incorrect proxy setting for timestamping request (fix #3157)
  • Fix metadata not being duplicated for items (fix #3413)
  • Move show related action button (fix #3391)
  • Fix #3392, show mode issues
  • Fix issue with step edition/reload of element (#3506 by Marcel)
  • Fix incorrect parsing of query params for api (fix #3513)
  • Allow images to be centered (fix #3368)
  • Filter out archived users from user list autocomplete in admin panel (fix #3571)
  • Fix select elements in show mode menu

Enhancements:

  • Improve the edit users interface (PR #3551)
  • More robust exif reading for files with incorrect extension
  • Add link to register page after install script is done
  • Add user email on team group autocomplete (fix #3528)
  • Improve json editor/doodle/chemddoodle interface (PR #3526)
  • Always add the thumbnail image in pdf, not the full resolution one (fix #3103)
  • Minor API documentation fixes by Henning Timm (PR #3327)
  • Prevent issues when pasting from Word (issue #3193)
  • Append PDFs in multi mode (PR #3303 by Marcel Bolten)
  • Add user notification when things fail during PDF generation (PR #3283 by Marcel Bolten)
  • Improve some UI elements (PR #3304, PR #3259, PR #3257 by Marcel Bolten)
  • Better handling of MathJax errors (PR #3155, see #3076, fix #3076, by Marcel Bolten)
  • Order linked items by category, then date, then title (fix #3280)
  • During CSV import, interpret the "tags" column to add tags (fix #3101)
  • Prevent modification of events in the past in scheduler (unless user is admin)
  • Add team selection filter on sysadmin panel/Users tab (fix #2764, PR #3444 by Marcel)
  • And other cosmetic enhancements by Marcel
  • Steps can now have a deadline set (#3415), with possibility to receive a notification, and the times are editable
  • Add confirmation dialog when unfinishing a step
  • Improve SAML implementation (#3389 by Maximilian H). Add certificate rollover (#2951)
  • Add a sysadmin option to disable blockchain timestamping
  • Add a sysadmin option to anonymize user for blockchain stamp
  • Add metadata to CSV export
  • Allow target=_blank on links (fix #3367)
  • Prevent link input fiend being squashed if category has a long name (#3508 by Marcel)
  • Add a "now" line on scheduler
  • There is only one type of Admin now (no more the Admin/Admin + lock power distinction) (#3484)
  • Disallow api entity update action if entity is locked (fix #3433)
  • Simplify timestamp configuration by removing admin level config (#3512)
  • Only send ajax requests if data is changed (#3511 by Marcel)
  • Force selection of a file when replacing an upload
  • Drop plasmid viewer user setting (#3572)
  • Ignore mathjax in tags (fix #3570)
  • Make all status timestampable (#3567)

Dev corner:

  • Add many unit tests
  • Charset utf8mb4 and collate utf8mb4_0900_ai_ci for all tables
  • Rework of storage code to allow uploading to s3, use of flysystem v3
  • Update twig to v3
  • Filesize column added to uploads so we don't need to read filesystem every time
  • Scrutinizer-ci is now using a custom docker image (by Marcel)
  • jquery-jeditable library now replaced by malle, a modern library created by Nicolas CARPi
  • MySQL fixes and enhancements by Marcel (#3431, see #3411, #3490, #3491, #3480, #3475, #3521)
  • CircleCI changes (#3520 by Marcel)

Big thanks to Marcel Bolten for his many contributions to this release!