Skip to content

Release 1.11.0

Choose a tag to compare

@falexwolf falexwolf released this 14 Sep 14:05
· 480 commits to main since this release

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 delete and 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 AnnData object 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 save by @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 fsspec to 2025.7.0 by @Koncopd in #3047
  • ✨ Support validating linked features: adding a schema argument to .features.add_values() by @Zethson in #3039
  • πŸ› Fix queryset.to_dataframe(include=...) with using and 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 save by @Koncopd in #3050
  • πŸ“ Add documentation on how to use ln.Artifact.from_lazy by @Koncopd in #3056
  • ✨ Support validating attrs of 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 RecordUser link model by @falexwolf in #3057
  • ♻️ Refactor and prettify login() and lamin login by @falexwolf in #3058
  • πŸ› Fix ambiguity in is_valid_record_type by @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 clinicore by @falexwolf in #3065
  • ♻️ Refactor croissant file mapping by @falexwolf in #2999
  • βœ… Test setting search_path in RLS functions by @Koncopd in #3067
  • ♻️ Improve fixture & examples design by @Zethson in #3049
  • πŸ› Update is_latest also upon soft delete by @falexwolf in #3068
  • ♻️ Ensure all write_text() calls use UTF8 by @falexwolf in #3069
  • ♻️ Link RecordUser to ManyToManyField by @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

Full Changelog: 1.10.2...1.11.0