v0.4.0-rc.1
Pre-release🚧 PRE-RELEASE 🚧
This is the pre-release for the upcoming 0.4.0 release. The CHANGELOG below may be missing some information. It is not recommended that you update to this pre-release unless you have a good reason, or want to test new features before they are finished.
This release of datalab contains significant new functionality whilst broadly maintaining compatibility with the 0.3.x series.
It is also accompanied by the first release of the datalab Python API package (https://github.com/datalab-org/datalab-api), as well as the first release of the Ansible playbooks and Terraform rules (Azure only, for now) to automated datalab deployments (https://github.com/datalab-org/datalab-ansible-terraform).
Special thanks go to @BenjaminCharmes and @vrajpatel9988 who made their first contributions to datalab in this release!
Highlights
- User accounts: users can now update their name and contact info, as well as connect external accounts and regenerate API keys directly from the web UI. The ability to login via ORCID is now enabled by default (but must be configured at the instance level).
- Admin dashboard: adds the ability for admins to do user management from the UI directly.
- Electrochemistry block: support for Neware file formats, MPR files written by ECLab > 11.50 and cyclic voltammetry data.
- Equipment: A new entry type has been added to record the equipment in the lab used for certain operations
- Better default permissions on inventories: users can now create and edit inventory entries without requiring an admin.
- Automatic random IDs: The ability to generate random IDs for new samples was added, allowing datalab to be used as the source of IDs.
- General improvements to block error reporting and reactivity, as well as several bug fixes.
Notes for upgrading to v0.4.0
These notes will be populated for the final release, but not yet.
Full changelog
- Dynamically set production app container config in entrypoint by @ml-evs in #605
- Visual style improvements, test updates and improved block UI by @jdbocarsly in #608
- Refactor mail config settings by @ml-evs in #614
- Add Neware support and fix MPR issue by @ml-evs in #617
- Hotfix for block errors and warnings UI that arise over multiple renderings by @ml-evs in #615
- Use newly released galvani and NewareNDA packages by @ml-evs in #625
- Update xrdml parser so it works with v2.0 by @jdbocarsly in #631
- Restrict relationship types in UI synthesis and constituents tables by @ml-evs in #630
- Update copyright year in LICENSE by @ml-evs in #622
- Allow browser context menu in tinymce fields by @jdbocarsly in #635
- Allow any authenticated user to generate an API key by @ml-evs in #641
- Serve the identifier prefix in the
/info
response by @ml-evs in #638 - Return user role from
/get-current-user
endpoint by @ml-evs in #644 - Created component for editing account settings by @BenjaminCharmes in #627
- User registration: default display name to GitHub username when no profile name is set by @ml-evs in #655
- Fix typo where CI tests were never run in chrome by @ml-evs in #656
- Temporarily disable Firefox tests by @ml-evs in #659
- Bump webpack-dev-middleware from 5.3.3 to 5.3.4 in /webapp by @dependabot in #660
- Bump follow-redirects from 1.15.4 to 1.15.6 in /webapp by @dependabot in #647
- Allow echem block to plot non-cyclic data by @ml-evs in #665
- Add optional functionality to add starting materials from within the webapp by @jdbocarsly in #642
- Added validation for the user update route/UI by @BenjaminCharmes in #646
- Improve block warning/error reactivity in the UI by @ml-evs in #666
- Add ability to generate .csv files within block callbacks by @ml-evs in #621
- Debug flaky e2e tests by @jdbocarsly in #670
- Add option to generate ID automatically when creating items by @jdbocarsly in #668
- Add default config for
VUE_APP_EDITABLE_INVENTORY
by @ml-evs in #673 - Add codecov upload to CI by @ml-evs in #677
- Disable codecov PR annotations by @ml-evs in #681
- Add "equipment" item type by @jdbocarsly in #531
- Convert Whinchat to use langchain by @vrajpatel9988 in #661
- Bump langchain-core from 0.1.33 to 0.1.35 in /pydatalab by @dependabot in #686
- Bump prettier, pre-commit hooks and some other deps by @ml-evs in #685
- Allow starting materials and equipment to be edited by normal users by @ml-evs in #672
- Bump pymongo from 4.6.2 to 4.6.3 in /pydatalab by @dependabot in #689
- Use mocked API keys in API tests to fake different authentication scenarios by @ml-evs in #676
- Significant refactor of deployment docs by @ml-evs in #690
- Enable ORCID connection by default by @ml-evs in #693
- Only fix PRs with pre-commit CI when asked by @ml-evs in #697
- Upgrade cypress and other testing deps to allow Firefox testing by @ml-evs in #699
- Update README with links to Python API by @ml-evs in #701
- Add public deployment badge in README by @ml-evs in #702
- Separate each browser test into separate run and temporarily disable Firefox by @ml-evs in #703
- Add admin dashboard with user management controls by @BenjaminCharmes in #674
- Added a way to refresh API Key from Account Settings UI by @BenjaminCharmes in #700
- Recreate user index with new settings if already existing by @ml-evs in #707
- Fix for saving collection blocks and error handling for excessively large blocks by @ml-evs in #709
- Add
account_status
field (active, unverified or deactivated) to People model by @BenjaminCharmes in #687
New Contributors
- @BenjaminCharmes made their first contribution in #627
- @vrajpatel9988 made their first contribution in #661
Full Changelog: v0.3.2...v0.4.0-rc.1