Releases: datalab-org/datalab
v0.5.0
It's a real one! Not a release candidate! This release is long overdue following the 8 pre-releases. The 0.5.x series now provides a stable base for us to begin some major overhauling of how we handle custom schemas and data blocks, both of which will form the basis of 0.6.x in the new year. The Ansible playbooks at datalab-ansible-terraform and the Python API package at datalab-python-api already both support this release.
Many thanks to all contributors: developers, user feedback and deployment managers!
Breaking changes
- The Python server has been entirely repackaged with
uv
for much more streamlined dependency management (especially for external plugins). If you are using the docker deployments, then nothing should change for you, but developers may need to adjust their development setups following the instructions at INSTALL.md
Highlights
- The table component used to display all items has been entirely rewritten, and is now more visually responsive and can accommodate custom schemas/components.
- QR code generation and scanning for all items, optionally using the new datalab pURL service when configured with
VUE_APP_QR_CODE_RESOLVER_URL
. - Following from the block info from the last release, the API now reports the schemas it is using at
/info/types
, ready for these to become more easily configurable at the deployment level. The edit page and item table are beginning to dynamically use this information. - Improvements to the collections UI, allowing items to be added to collections more easily after creation.
- Ability to selectively share items with certain users; this will soon be expanded to user groups and projects (via collections) with configurable defaults.
- Several bug fixes to the UI, API (timezone consistency, tweaks to the LLM integration, better handling of permissions edge cases)
- Ease-of-use features and new configuration options for deployments.
Exhaustive changelog
- CI build time and fork compatibility improvements by @ml-evs in #833
- Tweak cache usage on docker builds by @ml-evs in #841
- Repackage server as proper Python package, removing
pipenv
by @ml-evs in #604 - Re-enable dependabot for Python dependencies by @ml-evs in #845
- Remove release workflow now that versions are dynamic by @ml-evs in #847
- Bump the github-actions group with 3 updates by @dependabot in #846
- Fix docs formatting and update versioning scheme by @ml-evs in #850
- Use uv and deps lockfiles in CI & pre-commit by @ml-evs in #851
- Attempt to configure lockfile-only dependabot strategy by @ml-evs in #853
- Re-attempt to use lockfile-only strategy with dependabot by @ml-evs in #854
- Do not show option to connect accounts in account settings if not configured in server by @ml-evs in #856
- Use node v20 in build, CI and dev environments by @ml-evs in #858
- Let linting settings reflect development usage by @ml-evs in #859
- Add QR code generation and scanning to UI by @ml-evs in #808
- Refactor login components by @ml-evs in #857
- Bump webpack from 5.88.2 to 5.94.0 in /webapp by @dependabot in #863
- Bump elliptic from 6.5.4 to 6.5.7 in /webapp by @dependabot in #837
- Deprecate gpt-3.5-turbo series and handle missing models in chatblock by @ml-evs in #855
- Bump flask-cors from 4.0.1 to 5.0.0 in /pydatalab by @dependabot in #867
- Bump cryptography from 43.0.0 to 43.0.1 in /pydatalab by @dependabot in #871
- Filter out b64-encoded data before sending to LLM by @ml-evs in #870
- Fix deployment config options for new VUE_APP settings by @ml-evs in #874
- Lockfile compatibility by @ml-evs in #873
- Fix QR code warning showing when not required by @ml-evs in #875
- Close database ports by default by @ml-evs in #876
- Add component tests by @BenjaminCharmes in #872
- Add API route to add items to a collection and associated UI by @BenjaminCharmes in #828
- Improving prime Datatable by @BenjaminCharmes in #862
- Fix some issues in the datatable by @BenjaminCharmes in #888
- Update deps lockfiles and use
uv sync
in CI by @ml-evs in #899 - Add dynamic data table on collection page by @ml-evs in #885
- Hotfix for new e2e test command by @ml-evs in #904
- Fix SelectAll issue in DataTable after search by @BenjaminCharmes in #893
- Add support for XRD files that have indeterminate headers (e.g., diffrac.eva export) by @ml-evs in #905
- Add Collapsible Functionality for Block Warnings by @BenjaminCharmes in #898
- Exclude pydantic from dependabot by @ml-evs in #908
- Bump the python-dependencies-dev group in /pydatalab with 2 updates by @dependabot in #910
- Rearrange dependencies and update navani by @ml-evs in #911
- Re-enable lockfile only mode of dependabot by @ml-evs in #912
- Add dropdown with actions buttons for selected items inside DataTable by @BenjaminCharmes in #902
- Switch Python package to src-layout by @ml-evs in #865
- Update uv.lock file and use
--locked
inuv sync
by @ml-evs in #913 - Refactor ID Validation Logic into Utility Function by @BenjaminCharmes in #896
- Rid ourselves of
pipenv
, requirements files, dev containers and other unecessary complexity by @ml-evs in #914 - Install datalab as editable inside docker build to make env passing simpler by @ml-evs in #917
- Fix css issues in DynamicDataTable by @BenjaminCharmes in #919
- Update CODEOWNERS by @ml-evs in #922
- Ensure that new collection
immutable_id
is returned upon creation by @ml-evs in #925 - Use dynamic version number from git tags in webapp by @BenjaminCharmes in #906
- Explcitly set
OAUTHLIB_INSECURE_TRANSPORT
env var when present in.env
by @ml-evs in #928 - Configure coverage for new src-layout by @ml-evs in #929
- Use git version inside app container build by @ml-evs in #930
- Better handle case where block in database is not implemented by app/API by @ml-evs in #931
- Update collection deletion endpoint to also unlink items by @ml-evs in #933
- Set up custom primevue theme by @BenjaminCharmes in #921
- Fix bug where blocks would not be loaded automatically by @ml-evs in #935
- Fix eslint warning in CollectionInformation by @BenjaminCharmes in #934
- Tweak for edit page to allow upload file modal to load correctly by @ml-evs in #937
- Hotfix for file-overwriting from uppy by @ml-evs in #942
- Add scheduled
uv lock -U
to replace dependabot by @ml-evs in #945 - Bump express from 4.19.2 to 4.21.0 in /webapp by @dependabot in #883
- Tidy up uv workflow after first generated PR by @ml-evs in #947
- Update pillow requirement from ~=10.4 to ~=11.0 in /pydatalab by @dependabot in #949
- Add suggested 'ready-for-review' workaround to checks not running from actions-created PRs by @ml-evs in #959
- Add scheduled
yarn upgrade
job in CI by @ml-evs in #960 - Fix typo in yarn upgrade workflow by @ml-evs in #961
- Add body to automated yarn upgrade PR by @ml-evs in #962
- yarn upgrade PR should be created as a draft by @ml-...
v0.5.0-rc.8
Right, maybe this will be the final RC. Compared to the last one, this mostly just refreshes our dependencies and hotfixes a few issues introduced in previous release candidates.
What's Changed
- CI build time and fork compatibility improvements by @ml-evs in #833
- Tweak cache usage on docker builds by @ml-evs in #841
- Repackage server as proper Python package, removing
pipenv
by @ml-evs in #604 - Re-enable dependabot for Python dependencies by @ml-evs in #845
- Remove release workflow now that versions are dynamic by @ml-evs in #847
- Bump the github-actions group with 3 updates by @dependabot in #846
- Fix docs formatting and update versioning scheme by @ml-evs in #850
- Use uv and deps lockfiles in CI & pre-commit by @ml-evs in #851
- Attempt to configure lockfile-only dependabot strategy by @ml-evs in #853
- Re-attempt to use lockfile-only strategy with dependabot by @ml-evs in #854
- Do not show option to connect accounts in account settings if not configured in server by @ml-evs in #856
- Use node v20 in build, CI and dev environments by @ml-evs in #858
- Let linting settings reflect development usage by @ml-evs in #859
- Add QR code generation and scanning to UI by @ml-evs in #808
- Refactor login components by @ml-evs in #857
- Bump webpack from 5.88.2 to 5.94.0 in /webapp by @dependabot in #863
- Bump elliptic from 6.5.4 to 6.5.7 in /webapp by @dependabot in #837
- Deprecate gpt-3.5-turbo series and handle missing models in chatblock by @ml-evs in #855
- Bump flask-cors from 4.0.1 to 5.0.0 in /pydatalab by @dependabot in #867
- Bump cryptography from 43.0.0 to 43.0.1 in /pydatalab by @dependabot in #871
- Filter out b64-encoded data before sending to LLM by @ml-evs in #870
- Fix deployment config options for new VUE_APP settings by @ml-evs in #874
- Lockfile compatibility by @ml-evs in #873
- Fix QR code warning showing when not required by @ml-evs in #875
- Close database ports by default by @ml-evs in #876
- Add component tests by @BenjaminCharmes in #872
- Add API route to add items to a collection and associated UI by @BenjaminCharmes in #828
- Improving prime Datatable by @BenjaminCharmes in #862
- Fix some issues in the datatable by @BenjaminCharmes in #888
- Update deps lockfiles and use
uv sync
in CI by @ml-evs in #899 - Add dynamic data table on collection page by @ml-evs in #885
- Hotfix for new e2e test command by @ml-evs in #904
- Fix SelectAll issue in DataTable after search by @BenjaminCharmes in #893
- Add support for XRD files that have indeterminate headers (e.g., diffrac.eva export) by @ml-evs in #905
- Add Collapsible Functionality for Block Warnings by @BenjaminCharmes in #898
- Exclude pydantic from dependabot by @ml-evs in #908
- Bump the python-dependencies-dev group in /pydatalab with 2 updates by @dependabot in #910
- Rearrange dependencies and update navani by @ml-evs in #911
- Re-enable lockfile only mode of dependabot by @ml-evs in #912
- Add dropdown with actions buttons for selected items inside DataTable by @BenjaminCharmes in #902
- Switch Python package to src-layout by @ml-evs in #865
- Update uv.lock file and use
--locked
inuv sync
by @ml-evs in #913 - Refactor ID Validation Logic into Utility Function by @BenjaminCharmes in #896
- Rid ourselves of
pipenv
, requirements files, dev containers and other unecessary complexity by @ml-evs in #914 - Install datalab as editable inside docker build to make env passing simpler by @ml-evs in #917
- Fix css issues in DynamicDataTable by @BenjaminCharmes in #919
- Update CODEOWNERS by @ml-evs in #922
- Ensure that new collection
immutable_id
is returned upon creation by @ml-evs in #925 - Use dynamic version number from git tags in webapp by @BenjaminCharmes in #906
- Explcitly set
OAUTHLIB_INSECURE_TRANSPORT
env var when present in.env
by @ml-evs in #928 - Configure coverage for new src-layout by @ml-evs in #929
- Use git version inside app container build by @ml-evs in #930
- Better handle case where block in database is not implemented by app/API by @ml-evs in #931
- Update collection deletion endpoint to also unlink items by @ml-evs in #933
- Set up custom primevue theme by @BenjaminCharmes in #921
- Fix bug where blocks would not be loaded automatically by @ml-evs in #935
- Fix eslint warning in CollectionInformation by @BenjaminCharmes in #934
- Tweak for edit page to allow upload file modal to load correctly by @ml-evs in #937
- Hotfix for file-overwriting from uppy by @ml-evs in #942
- Add scheduled
uv lock -U
to replace dependabot by @ml-evs in #945 - Bump express from 4.19.2 to 4.21.0 in /webapp by @dependabot in #883
- Tidy up uv workflow after first generated PR by @ml-evs in #947
- Update pillow requirement from ~=10.4 to ~=11.0 in /pydatalab by @dependabot in #949
- Add suggested 'ready-for-review' workaround to checks not running from actions-created PRs by @ml-evs in #959
- Add scheduled
yarn upgrade
job in CI by @ml-evs in #960 - Fix typo in yarn upgrade workflow by @ml-evs in #961
- Add body to automated yarn upgrade PR by @ml-evs in #962
- yarn upgrade PR should be created as a draft by @ml-evs in #964
- Remove
vue/cli
as dependency and add missing polyfills by @ml-evs in #957 - Refresh user list after activating a user in admin dashboard by @BenjaminCharmes in #967
- Add e2e JS tests for file upload and block creation by @ml-evs in #968
- Split vue docker build into two stages by @ml-evs in #958
- Rework of the files utilities and endpoints for both app and API by @ml-evs in #943
- Reduces updates frequency to once a week by @BenjaminCharmes in #975
- Update
uv.lock
with latest dependencies by @github-actions in #946 - Update
yarn.lock
with latest dependencies by @github-actions in #963 - Stagger fortnightly scheduled uv/yarn updates by @ml-evs in #977
- Fix default
MAX_CONTENT_LENGTH
setting to 10 GB by @ml-evs in #979 - Fix and streamline attribute lookup in MediaBlock by @ml-evs in #981
- Add timezone consistency across deployments & UI by @ml-evs in #970
New Contributors
- @github-actions made their first contribution in #946
Full Changelog: v0.4.4...v0.5.0-rc.8
v0.5.0-rc.7
Hopefully the final release candidate for 0.5.0! This rc contains several bug fixes and UI tweaks.
What's Changed
- Update CODEOWNERS by @ml-evs in #922
- Ensure that new collection
immutable_id
is returned upon creation by @ml-evs in #925 - Use dynamic version number from git tags in webapp by @BenjaminCharmes in #906
- Explcitly set
OAUTHLIB_INSECURE_TRANSPORT
env var when present in.env
by @ml-evs in #928 - Configure coverage for new src-layout by @ml-evs in #929
- Use git version inside app container build by @ml-evs in #930
- Better handle case where block in database is not implemented by app/API by @ml-evs in #931
- Update collection deletion endpoint to also unlink items by @ml-evs in #933
- Set up custom primevue theme by @BenjaminCharmes in #921
- Fix bug where blocks would not be loaded automatically by @ml-evs in #935
- Fix eslint warning in CollectionInformation by @BenjaminCharmes in #934
- Tweak for edit page to allow upload file modal to load correctly by @ml-evs in #937
Full Changelog: v0.5.0-rc.6...v0.5.0-rc.7
v0.5.0-rc.6
What's Changed
- Update uv.lock file and use
--locked
inuv sync
by @ml-evs in #913 - Refactor ID Validation Logic into Utility Function by @BenjaminCharmes in #896
- Rid ourselves of
pipenv
, requirements files, dev containers and other unecessary complexity by @ml-evs in #914 - Install datalab as editable inside docker build to make env passing simpler by @ml-evs in #917
- Fix css issues in DynamicDataTable by @BenjaminCharmes in #919
Full Changelog: v0.5.0-rc.5...v0.5.0-rc.6
v0.5.0-rc.5
What's Changed
- CI build time and fork compatibility improvements by @ml-evs in #833
- Tweak cache usage on docker builds by @ml-evs in #841
- Repackage server as proper Python package, removing
pipenv
by @ml-evs in #604 - Re-enable dependabot for Python dependencies by @ml-evs in #845
- Remove release workflow now that versions are dynamic by @ml-evs in #847
- Bump the github-actions group with 3 updates by @dependabot in #846
- Fix docs formatting and update versioning scheme by @ml-evs in #850
- Use uv and deps lockfiles in CI & pre-commit by @ml-evs in #851
- Attempt to configure lockfile-only dependabot strategy by @ml-evs in #853
- Re-attempt to use lockfile-only strategy with dependabot by @ml-evs in #854
- Do not show option to connect accounts in account settings if not configured in server by @ml-evs in #856
- Use node v20 in build, CI and dev environments by @ml-evs in #858
- Let linting settings reflect development usage by @ml-evs in #859
- Add QR code generation and scanning to UI by @ml-evs in #808
- Refactor login components by @ml-evs in #857
- Bump webpack from 5.88.2 to 5.94.0 in /webapp by @dependabot in #863
- Bump elliptic from 6.5.4 to 6.5.7 in /webapp by @dependabot in #837
- Deprecate gpt-3.5-turbo series and handle missing models in chatblock by @ml-evs in #855
- Bump flask-cors from 4.0.1 to 5.0.0 in /pydatalab by @dependabot in #867
- Bump cryptography from 43.0.0 to 43.0.1 in /pydatalab by @dependabot in #871
- Filter out b64-encoded data before sending to LLM by @ml-evs in #870
- Fix deployment config options for new VUE_APP settings by @ml-evs in #874
- Lockfile compatibility by @ml-evs in #873
- Fix QR code warning showing when not required by @ml-evs in #875
- Close database ports by default by @ml-evs in #876
- Add component tests by @BenjaminCharmes in #872
- Add API route to add items to a collection and associated UI by @BenjaminCharmes in #828
- Improving prime Datatable by @BenjaminCharmes in #862
- Fix some issues in the datatable by @BenjaminCharmes in #888
- Update deps lockfiles and use
uv sync
in CI by @ml-evs in #899 - Add dynamic data table on collection page by @ml-evs in #885
- Hotfix for new e2e test command by @ml-evs in #904
- Fix SelectAll issue in DataTable after search by @BenjaminCharmes in #893
- Add support for XRD files that have indeterminate headers (e.g., diffrac.eva export) by @ml-evs in #905
- Add Collapsible Functionality for Block Warnings by @BenjaminCharmes in #898
- Exclude pydantic from dependabot by @ml-evs in #908
- Bump the python-dependencies-dev group in /pydatalab with 2 updates by @dependabot in #910
- Rearrange dependencies and update navani by @ml-evs in #911
- Re-enable lockfile only mode of dependabot by @ml-evs in #912
- Add dropdown with actions buttons for selected items inside DataTable by @BenjaminCharmes in #902
- Switch Python package to src-layout by @ml-evs in #865
Full Changelog: v0.4.4...v0.5.0-rc.5
v0.5.0-rc.4
What's Changed
- CI build time and fork compatibility improvements by @ml-evs in #833
- Tweak cache usage on docker builds by @ml-evs in #841
- Repackage server as proper Python package, removing
pipenv
by @ml-evs in #604 - Re-enable dependabot for Python dependencies by @ml-evs in #845
- Remove release workflow now that versions are dynamic by @ml-evs in #847
- Bump the github-actions group with 3 updates by @dependabot in #846
- Fix docs formatting and update versioning scheme by @ml-evs in #850
- Use uv and deps lockfiles in CI & pre-commit by @ml-evs in #851
- Attempt to configure lockfile-only dependabot strategy by @ml-evs in #853
- Re-attempt to use lockfile-only strategy with dependabot by @ml-evs in #854
- Do not show option to connect accounts in account settings if not configured in server by @ml-evs in #856
- Use node v20 in build, CI and dev environments by @ml-evs in #858
- Let linting settings reflect development usage by @ml-evs in #859
- Add QR code generation and scanning to UI by @ml-evs in #808
- Refactor login components by @ml-evs in #857
- Bump webpack from 5.88.2 to 5.94.0 in /webapp by @dependabot in #863
- Bump elliptic from 6.5.4 to 6.5.7 in /webapp by @dependabot in #837
- Deprecate gpt-3.5-turbo series and handle missing models in chatblock by @ml-evs in #855
- Bump flask-cors from 4.0.1 to 5.0.0 in /pydatalab by @dependabot in #867
- Bump cryptography from 43.0.0 to 43.0.1 in /pydatalab by @dependabot in #871
- Filter out b64-encoded data before sending to LLM by @ml-evs in #870
- Fix deployment config options for new VUE_APP settings by @ml-evs in #874
- Lockfile compatibility by @ml-evs in #873
- Fix QR code warning showing when not required by @ml-evs in #875
- Close database ports by default by @ml-evs in #876
Full Changelog: v0.4.4...v0.5.0-rc.4
v0.5.0-rc.3
What's Changed
- CI build time and fork compatibility improvements by @ml-evs in #833
- Tweak cache usage on docker builds by @ml-evs in #841
- Repackage server as proper Python package, removing
pipenv
by @ml-evs in #604 - Re-enable dependabot for Python dependencies by @ml-evs in #845
- Remove release workflow now that versions are dynamic by @ml-evs in #847
- Bump the github-actions group with 3 updates by @dependabot in #846
- Fix docs formatting and update versioning scheme by @ml-evs in #850
- Use uv and deps lockfiles in CI & pre-commit by @ml-evs in #851
- Attempt to configure lockfile-only dependabot strategy by @ml-evs in #853
- Re-attempt to use lockfile-only strategy with dependabot by @ml-evs in #854
- Do not show option to connect accounts in account settings if not configured in server by @ml-evs in #856
- Use node v20 in build, CI and dev environments by @ml-evs in #858
- Let linting settings reflect development usage by @ml-evs in #859
- Add QR code generation and scanning to UI by @ml-evs in #808
- Refactor login components by @ml-evs in #857
- Bump webpack from 5.88.2 to 5.94.0 in /webapp by @dependabot in #863
- Bump elliptic from 6.5.4 to 6.5.7 in /webapp by @dependabot in #837
- Deprecate gpt-3.5-turbo series and handle missing models in chatblock by @ml-evs in #855
- Bump flask-cors from 4.0.1 to 5.0.0 in /pydatalab by @dependabot in #867
- Bump cryptography from 43.0.0 to 43.0.1 in /pydatalab by @dependabot in #871
- Filter out b64-encoded data before sending to LLM by @ml-evs in #870
- Fix deployment config options for new VUE_APP settings by @ml-evs in #874
- Lockfile compatibility by @ml-evs in #873
- Fix QR code warning showing when not required by @ml-evs in #875
Full Changelog: v0.4.4...v0.5.0-rc.3
v0.5.0-rc.2
What's Changed
- CI build time and fork compatibility improvements by @ml-evs in #833
- Tweak cache usage on docker builds by @ml-evs in #841
- Repackage server as proper Python package, removing
pipenv
by @ml-evs in #604 - Re-enable dependabot for Python dependencies by @ml-evs in #845
- Remove release workflow now that versions are dynamic by @ml-evs in #847
- Bump the github-actions group with 3 updates by @dependabot in #846
- Fix docs formatting and update versioning scheme by @ml-evs in #850
- Use uv and deps lockfiles in CI & pre-commit by @ml-evs in #851
- Attempt to configure lockfile-only dependabot strategy by @ml-evs in #853
- Re-attempt to use lockfile-only strategy with dependabot by @ml-evs in #854
- Do not show option to connect accounts in account settings if not configured in server by @ml-evs in #856
- Use node v20 in build, CI and dev environments by @ml-evs in #858
- Let linting settings reflect development usage by @ml-evs in #859
- Add QR code generation and scanning to UI by @ml-evs in #808
- Refactor login components by @ml-evs in #857
- Bump webpack from 5.88.2 to 5.94.0 in /webapp by @dependabot in #863
- Bump elliptic from 6.5.4 to 6.5.7 in /webapp by @dependabot in #837
- Deprecate gpt-3.5-turbo series and handle missing models in chatblock by @ml-evs in #855
Full Changelog: v0.4.4...v0.5.0-rc.2
v0.4.4
This release primarily contains some bugfixes for the echem block, as well as tidying in preparation of the next release.
What's Changed
- Removed unused css by @BenjaminCharmes in #826
- Remove final mentions of odbx.science by @ml-evs in #827
- Add routes for resolving items by refcode by @ml-evs in #807
- Fix block errors caused by seemingly defunct theme options in bokeh by @ml-evs in #829
- Update to latest navani version, fixing Neware normalisation issues by @ml-evs in #836
- Reload echem data by default, unless disabled by @ml-evs in #840
Full Changelog: v0.4.3...v0.4.4