Releases: laminlabs/lamindb
Release 1.11.2
See https://docs.lamin.ai/changelog/2025#db-1-11-2
What's Changed
- ✅ Fix test_streaming for release by @Koncopd in #3084
- ✅ Add additional test for versioning based on revises and existing S3… by @falexwolf in #3086
- 📝 Edits and corrections in documentation by @Koncopd in #3090
- 🩹 Fix the cache warning on
ln.track()in scripts on Windows by @Koncopd in #3091 - 📝 Improve the README by @Koncopd in #3085
- 🐛 Fix inconsistency between
.get()and.filter()due tobranch_idby @Koncopd in #3094 - ✅ Test read-only db access for read-only db tokens by @Koncopd in #3055
Full Changelog: 1.11.1...1.11.2
Release 1.11.1
See https://docs.lamin.ai/changelog/2025#db-1-11-1
What's Changed
- 🚸 Clear error message on RLS error trigger for tracking artifacts and collections by @Koncopd in #3080
- 🚸 Better detection of untitled notebooks in
track()by @Koncopd in #3082 - 🐛 Enable version lookup in
keep_artifacts_localmode by @falexwolf in #3083
Full Changelog: 1.11.0...1.11.1
Release 1.11.0
See https://docs.lamin.ai/changelog/2025#db-1-11-0-bionty-1-7-0-wetlab-1-5-0
What's Changed
- 🏗️ Always import the entire public API & enable switching instances in the same Python session by @falexwolf in #2851
- 🚸 Define
__all__by @falexwolf in #3019 - ♻️ Adapt to new convention for tracking R environments by @falexwolf in #3020
- 🐛 Fix duplicated migration, loading issues, and unavailable instances, all introduced in the "always-connect PR" by @falexwolf in #3021
- 🚸 Soft delete everywhere by @falexwolf in #3022
- 🐛 Fix missing ProjectRecord model in schema json by @fredericenard in #3024
- 🚸 Better
lamin deleteand getting versioned entities from trash by @falexwolf in #3025 - 💚 Fix curator tests by @Zethson in #3028
- ✨ Support more organisms in CELLxGENE by @Zethson in #3026
- ✨ Support AnnDataAccessor for AnnDataCurator by @Zethson in #2980
- 🔒 Fine-grained storage access management via spaces by @falexwolf in #3023
- ✨ Unstructured slot validation of scverse datastructures by @Zethson in #3029
- 🩹 Do not reset latest version when deleting latest versions of folder artifacts by @Koncopd in #3031
- ♻️ Amend storage access tests by @falexwolf in #3032
- 🐛 Fix adding a column to a cloud
AnnDataobject with consolidated metadata by @Koncopd in #3033 - ✨ Add
Feature.from_dict()by @Zethson in #3030 - ✨ Allow getting artifacts by path via
Artifact.get(path="...")by @Koncopd in #3034 - ♻️ Rename
.df()to.to_dataframe()by @Koncopd in #3035 - ♻️ Rename
.list()to.to_list(),.from_df()to.from_dataframe()by @Koncopd in #3038 - ✨ Support py:percent notebooks by @Koncopd in #3041
- 💚 Adapt permissions tests setup by @Koncopd in #3042
- ✨ Parse and populate title in r notebooks on
lamin saveby @Koncopd in #3043 - 💚 Proper storage cleanup in test_permissions by @Koncopd in #3044
- 💚 Proper storage cleanup in test_permissions 2 by @Koncopd in #3045
- ⬆️ Upgrade
fsspecto 2025.7.0 by @Koncopd in #3047 - ✨ Support validating linked features: adding a
schemaargument to.features.add_values()by @Zethson in #3039 - 🐛 Fix
queryset.to_dataframe(include=...)withusingand annotations by @Koncopd in #3053 - ✨ Add support for CELLxGENE Schema 6.0.0 by @Zethson in #3000
- ✨ Implement lazy artifact saving for streaming data by @Koncopd in #3051
- 📝 Improve documentation for "slots" by @Zethson in #3048
- ♻️ Make storage space test more robust by @falexwolf in #3054
- 📝 Add validating linked features guide & examples by @Zethson in #3052
- ✨ Allow to update reports of notebooks on
lamin saveby @Koncopd in #3050 - 📝 Add documentation on how to use
ln.Artifact.from_lazyby @Koncopd in #3056 - ✨ Support validating
attrsof Pandas DataFrames by @Zethson in #3036 - 📝 Add croissant example to TOC by @Zethson in #3046
- 🐛 Transfer feature based on uid instead of name by @sunnyosun in #2998
- 🗃️ Record types can no longer inherit from parent types that have a schema by @chaichontat in #3015
- 🚸 Print warning when creating spaces on SQLite or local instances by @falexwolf in #3027
- ✨ Add
RecordUserlink model by @falexwolf in #3057 - ♻️ Refactor and prettify
login()andlamin loginby @falexwolf in #3058 - 🐛 Fix ambiguity in
is_valid_record_typeby @Koncopd in #3059 - 🐛 Fix cellxgene deprecated save call by @Zethson in #3062
- 🏗️ Include wetlab & bionty in lamindb, upgrade to latest versions by @falexwolf in #3063
- 🐛 Include a project feature in a sheet and test it by @falexwolf in #3064
- 🏗️ Pause maintenance of
clinicoreby @falexwolf in #3065 - ♻️ Refactor croissant file mapping by @falexwolf in #2999
- ✅ Test setting
search_pathin RLS functions by @Koncopd in #3067 - ♻️ Improve fixture & examples design by @Zethson in #3049
- 🐛 Update
is_latestalso upon soft delete by @falexwolf in #3068 - ♻️ Ensure all write_text() calls use UTF8 by @falexwolf in #3069
- ♻️ Link
RecordUsertoManyToManyFieldby @falexwolf in #3071 - 🐛 Fix version family mapping when registering existing files and add more extensive tests for Croissant file parameterization by @falexwolf in #3070
- ✨ Query by feature across instances by @Koncopd in #3061
- 🐛 Fix space warning on sqlite and local instances by @Koncopd in #3075
- ♻️ Extend soft deletes to querysets by @Zethson in #3073
- 🏗️ Integrate the 3 small Jupyter-related dependencies by @falexwolf in #3076
- 🐛 Better warnings during queryset soft delete by @falexwolf in #3077
New Contributors
- @chaichontat made their first contribution in #3015
Full Changelog: 1.10.2...1.11.0
Release 1.10.2
See https://docs.lamin.ai/changelog/2025#db-1-10-2
What's Changed
- 🚸 Ask for additional confirmation when creating storage locations through switching storage settings by @falexwolf in #3003
- 🐛 Annotate Artifacts passed to Curator with Schema by @Zethson in #3007
- ✨ Add
ProjectRecordfor annotating sheets with projects by @falexwolf in #3014 - 🐛 Fix
AnnDataAccessorforAnnDataobjects with indices stored as integers by @Koncopd in #3016 - ♻️ Adjust many-to-many field for
ProjectRecordby @falexwolf in #3017 - ✨ Write mode for
zarrbackedAnnDataAccessorby @Koncopd in #3012
Full Changelog: 1.10.1...1.10.2
Release 1.10.1
See https://docs.lamin.ai/changelog/2025#db-1-10-1
What's Changed
- ✅ Test yet another RLS optimization by @Koncopd in #2990
- ⬆️ Upgrade lamindb-setup by @Koncopd in #3004
- 📝 Improve arrays tutorial by @Koncopd in #3006
- 🐛 Fix selection with a bool mask in
AnnDataAccessorwithzarrby @Koncopd in #3008 - 📝Add nested dictionary case for Pydantic/Pandera/LaminDB comparison by @Zethson in #3005
- ⬆️ Upgrade lamindb-setup (require ssl for postgres connections) by @Koncopd in #3011
Full Changelog: 1.10.0...1.10.1
Release 1.10.0
See https://docs.lamin.ai/changelog/2025#db-1-10-0
What's Changed
- ✨ Implement backed access to
tablesofSpatialDataby @Koncopd in #2968 - ✅ Test complex features & schemas with index by @Zethson in #2970
- ✨ Add Collection.describe() by @Zethson in #2975
- 📝 Expand
SpatialDatasection in arrays by @Koncopd in #2978 - 🚸 Hide
VitessceConfigartifacts by @falexwolf in #2982 - ⬆️ Upgarde lamindb-setup by @Koncopd in #2986
- ♻️ Stricter hash uniqueness on artifact and more indexes by @falexwolf in #2983
- ⚡️ Generate GIN indexes by @falexwolf in #2987
- ✅ Clean up core tests properly by @Zethson in #2984
- ✨ Add
curate_from_croissant()to curate from MLCommonsCroissantfiles by @falexwolf in #2989 - ♻️ No more subprocesses in schema examples by @falexwolf in #2991
- 🚚 Move datasets from core to examples by @falexwolf in #2992
- 🚚 Move & rename
examples.ingest_mini_immuno_datasetstoexamples.datasets.save_mini_immuno_datasetsby @falexwolf in #2993 - 💚 Adapt permissions test setup by @Koncopd in #2994
- ⏪️ Revert GIN indexes by @falexwolf in #2995
Full Changelog: 1.9.1...1.10.0
Release 1.9.1
See https://docs.lamin.ai/changelog/2025#db-1-9-1
What's Changed
- 🚸 Create records under subtype via
Curator.add_new_fromby @sunnyosun in #2966 - ⬆️ Upgarde lamindb-setup by @Koncopd in #2967
- 🚸 On
transformdelete, deleteTransformProjectlinks because they might be protected through a run of the same transform by @falexwolf in #2969 - 🐛 Fix keep-artifacts-local mode when no local storage location is found by @falexwolf in #2971
Full Changelog: 1.9.0...1.9.1
Release 1.9.0
See https://docs.lamin.ai/changelog/2025#db-1-9-0
What's Changed
- ⚡️ Implement performant synchronization for directories by @Koncopd in #2933
- 🐛 Fix
indexhash calculation forSchemaby @sunnyosun in #2932 - 🐛 Fix creation of a
Schemawithis_type=Trueby @sunnyosun in #2937 - ✨ Get CELLxGENE Schema & ✨ enable curation of Feature typed indices by @Zethson in #2878
- ♻️ More efficient tests cleanup by @sunnyosun in #2938
- 🐛 Fix deletion of cloud transfer local instance by @Zethson in #2928
- ⬆️ Upgrade wetlab by @Zethson in #2940
- 📝 Add an actual README by @falexwolf in #2943
- ⬆️ Upgrade lamindb-setup to fix
UPath.to_urlby @Koncopd in #2945 - 📝 Polish README and
artifact.describe()by @falexwolf in #2946 - ⬆️ Upgrade
lamindb-setupandbiontyby @Koncopd in #2947 - ⚡️ Speed up
lamin connectby @falexwolf in #2948 - ♻️ Refactor
lamin connectby @falexwolf in #2949 - ✨ Add
lamin annotate, enable string-based annotation with non-ulabels, overhaul CLI docs by @falexwolf in #2952 - 🩹 Order storages by root length when searching on
artifact.save()by @Koncopd in #2954 - ⬆️ Upgrade lamindb-setup by @Koncopd in #2955
- ⬆️ Upgrade lamindb-setup by @Koncopd in #2956
- ⚡️ Speed up
describe()by 6x by @falexwolf in #2953 - ⬆️ Upgrade lamindb-setup by @Koncopd in #2959
- ♻️ Fix FutureWarning in CanCurate by @Zethson in #2950
- 🚸 Expose
storage,branch, andspacein theArtifactconstructor by @falexwolf in #2960 - 🚸 Improve UX of working in keep-artifacts-local mode by @falexwolf in #2961
- 🚸 Enable
ln.track()andln.finish()for notebooks running on remote servers by @falexwolf in #2962 - 📝 Fix SpatialDataCurator docstring by @sunnyosun in #2963
- ♻️ Improve CELLxGENE compatibility by @Zethson in #2941
- 📝 Refactor curate guide by @sunnyosun in #2957
- 🎨 Polish curate guide by @Zethson in #2964
- ⬆️ Upgrade anndata to 0.12.0 by @Koncopd in #2965
Full Changelog: 1.8.0...1.9.0
Release 1.8.0
See https://docs.lamin.ai/changelog/2025#db-1-8-0
What's Changed
- ⚡️ Use native
polarsObject Store by default by @Koncopd in #2922 - 🚸 Improve UX for labeling unsaved records from other instances by @Zethson in #2924
- 🚸 Improve error message when attempting to curate unsaved Schema by @Zethson in #2925
- 🐛 Fix Settings sphinx repr by @Zethson in #2921
- 🚸 Improve data type issue errors by @Zethson in #2926
- 🚸 Improve the experience of working in
keep-artifacts-localmode by @falexwolf in #2917 - 🐛 Properly ignore
ln.track()and tracking warnings on read-only connections by @Koncopd in #2934 - 📝 Improve storage docs by @falexwolf in #2935
Full Changelog: 1.7.1...1.8.0
Release 1.7.1
See https://docs.lamin.ai/changelog/2025#db-1-7-1
What's Changed
- ⬆️ Upgrade lamin-cli by @Koncopd in #2911
- ⬆️ Upgarde lamindb-setup by @Koncopd in #2912
- ⬆️ Upgrade lamindb-setup by @Koncopd in #2913
Full Changelog: 1.7.0...1.7.1