Skip to content

Releases: laminlabs/lamindb

Release 2.1.2

09 Feb 16:00

Choose a tag to compare

See https://docs.lamin.ai/changelog/2026#db-2-1-2

What's Changed

  • ✨ Enable curation against Features with Union dtypes by @Zethson in #3516
  • ⚑️ Download large single files from s3 with boto3 by default in artifact.cache() by @Koncopd in #3519
  • ⬆️ Upgrade lamindb-setup by @Koncopd in #3521
  • πŸ“ README v5.5: re-write the why? section by @falexwolf in #3520
  • ⬆️ Upgrade lamindb-setup by @Koncopd in #3523
  • πŸ› Fix initializing an instance with db passed by @Koncopd in #3524

Full Changelog: 2.1.1...2.1.2

Release 2.1.1

04 Feb 08:19

Choose a tag to compare

See https://docs.lamin.ai/changelog/2026#db-2-1-1

What's Changed

  • 🚸 Better detection of read-only connections for write errors and tracking by @Koncopd in #3515
  • ✨ Add lamin settings cache-dir reset commad to CLI by @Koncopd in #3517
  • βœ… Fix cleanup of permissions test by @Koncopd in #3518

Full Changelog: 2.1.0...2.1.1

Release 2.1.0

02 Feb 09:02

Choose a tag to compare

See https://docs.lamin.ai/changelog/2026#db-2-1-0-bionty-2-1-0

What's Changed

  • πŸ› Fix Artifact.from_dataframe to support path input by @Zethson in #3455
  • πŸ› Fix str behavior of Artifact.from_dataframe() by @Zethson in #3457
  • ⬆️ Update standard ontology by @sunnyosun in #3461
  • πŸ‘½οΈ Fix broken setup due to laminhub refactoring by @fredericenard in #3464
  • πŸ“ Fix Artifact.from_anndata example by @Zethson in #3463
  • πŸ”’οΈ Introduce safe-guards in updating the space of artifacts by @Koncopd in #3458
  • ⬆️ New Gene Organism sources by @sunnyosun in #3467
  • 🚸 Unify validating features with and without the presence of a schema, fix parsing ISO-format strings as datetime if mapped on a feature with dtype=str by @falexwolf in #3456
  • 🚸 Return information about deleted objects rather than None upon hard delete by @falexwolf in #3469
  • 🍱 Update CellLine default source by @sunnyosun in #3471
  • 🚸 Raise canonical InstanceNotFoundError in Registry.connect() by @falexwolf in #3470
  • 🚚 Rename wetlab to pertdb by @falexwolf in #3472
  • ♻️ Efficiently encode uploading information by @falexwolf in #3473
  • πŸ“ Consistently mention backward relationships and type-annotate ManyToMany fields with QueryManager[T] by @falexwolf in #3474
  • 🚸 Enable convenient re-upload of local file after upload failure by @falexwolf in #3079
  • ♻️ Rather flag _storage_ongoing than _storage_completed by @falexwolf in #3475
  • ⚑ Start monitoring performance profiling by @falexwolf in #3477
  • πŸ“ README v5.1 by @falexwolf in #3478
  • ⬆️ Update lamin-utils by @sunnyosun in #3479
  • ⬆️ Released bionty 2.1.0 by @sunnyosun in #3482
  • πŸ“ Better return typing of feature.__getitem__ by @sunnyosun in #3481
  • 🚸 Improve error message for running a script or notebook outside the development directory by @falexwolf in #3484
  • πŸ“ README v5.2 by @falexwolf in #3486
  • πŸ’š Fix white-space formatting in tests for new Rich behavior by @Zethson in #3489
  • πŸ’š Fix curator tests by @Zethson in #3490
  • 🚸 Check local path existence on artifact.save() by @Koncopd in #3487
  • πŸ“ Improve the Artifact.open() docs by @falexwolf in #3415
  • 🚸 Default to creating a global run context in ln.flow() by @falexwolf in #3492
  • ♻️ Enable memorizing the global run context of a flow by @falexwolf in #3493
  • πŸ› Refactor & fix feature-based queries for records and expand tests by @falexwolf in #3494
  • 🚚 Move lamin cache CLI command to be lamin settings cache-dir, refactor lamin settings, expand lamin annotate, and overhaul CLI docs by @falexwolf in #3495
  • πŸ“ Document RelatedManager[T] and fix ManyToMany type annotations by @falexwolf in #3496
  • πŸ‘· Refactor performance profiling by @falexwolf in #3497
  • πŸ“ Move lazy upload out of arrays guide and into from_lazy() docstring + unit tests by @falexwolf in #3499
  • 🚸 Allow users to pass ids of foreign keys in Artifact() constructor by @Koncopd in #3498
  • πŸ› Fix PyYAML serialization of NotebookNode by @Zethson in #3488
  • πŸ“ Convert guides to markdown format by @falexwolf in #3501
  • πŸ› Fix standardize ignoring passed source by @Zethson in #3500
  • πŸ‘· Simplify test/docs CI setup by @falexwolf in #3502
  • 🚸 Overhaul the pytorch lightning integration by @Zethson in #3425
  • 🚸 Better error behavior in lamin save by @sunnyosun in #3503
  • πŸ“ README v5.3 by @falexwolf in #3504
  • ♻️ Fully leverage Context to manage the run context of function executions by @falexwolf in #3506
  • 🚸 Serialize Path, UPath, and handle None params by @falexwolf in #3507
  • 🚸 Recognize packaged python source code across track(), @flow(), and @step() by @falexwolf in #3508
  • ⚑️ Much faster permanent run & transform deletion by @falexwolf in #3509
  • πŸ“ README v5.4: properly document workflows by @falexwolf in #3510
  • πŸ“ Legible API reference for lamindb.models by @falexwolf in #3511
  • 🚸 Save CLI tool in transform description by @falexwolf in #3512

Full Changelog: 2.0.1...2.1.0

Release 2.0.1

11 Jan 16:57

Choose a tag to compare

See https://docs.lamin.ai/changelog/2026#db-2-0-1

What's Changed

  • 🚸 Backward compatibility for querying features by dtype by @falexwolf in #3454

Full Changelog: 2.0.0...2.0.1

Release 2.0.0

11 Jan 05:51

Choose a tag to compare

See https://docs.lamin.ai/changelog/2026#db-2-0-0

What's Changed

  • πŸ“ Fix docs by @falexwolf in #3385
  • ✨ Add feature.dtype_as_object by @sunnyosun in #3386
  • πŸ“ README v5.2 by @falexwolf in #3387
  • βœ… Test connecting without a default instance by @Koncopd in #3388
  • βœ… Test db token expiartion by @Koncopd in #3391
  • 🎨 Also accept array when evaluating list values by @sunnyosun in #3392
  • πŸ”§ Add .vitessce.json to loaders by @namsaraeva in #3393
  • πŸ”§ Rename zarr extra to zarr_v2 by @Koncopd in #3390
  • πŸ› Account for size 0 environments by @falexwolf in #3394
  • ♻️ Better re-use Django's ObjectDoesNotExist and MultipleObjectsReturned by @falexwolf in #3396
  • πŸ’„ Sort features in describe() by @falexwolf in #3397
  • πŸ“ Improve the Artifact.replace() docs by @falexwolf in #3398
  • πŸ“ Polish FAQ doc on trashing and archiving by @falexwolf in #3400
  • βœ… Test DbWriteLog rework by @Koncopd in #3399
  • 🚚 Deprecate @ln.tracked() in favor of @ln.step() by @falexwolf in #3401
  • ✨ Enable managing workflows via @ln.flow() and @ln.step() by @falexwolf in #3402
  • ✨ Track shell scripts by @falexwolf in #3403
  • βœ… Test use hstore in DbWrite triggers to compute diffs on update by @Koncopd in #3404
  • ⬆️ Upgrade lamindb-setup by @Koncopd in #3407
  • ⬆️ Bump anndata upper bound by @Koncopd in #3409
  • 🚸 Raise a clear error if calling CanCurate and similar registry class methods on objects by @falexwolf in #3411
  • πŸ“ Improve the Space document by @falexwolf in #3412
  • ⬆️ Bump fsspec packages upper bound by @Koncopd in #3413
  • πŸ“ Render return type annotations of Artifact.open() in docs by @falexwolf in #3414
  • 🚚 Rename rest-hub to backend by @fredericenard in #3410
  • πŸ”₯ Remove tracking from collection.artifacts.all() by @Koncopd in #3405
  • πŸ—οΈ Introduce Feature._dtype_str to hold a serialization that links object types (Record + ULabel) based on their uid instead of their name and type hierarchy by @falexwolf in #3416
  • πŸ—οΈ Use the new feature._dtype_str instead of feature.dtype by @falexwolf in #3418
  • πŸ”₯ Remove the API components that were deprecated upon transitioning from LaminDB v0 to v1 by @falexwolf in #3419
  • 🚚 Better names for the ManyToMany fields for the annotating runs and artifacts of an Artifact by @falexwolf in #3420
  • 🚚 Swap accessor names for SchemaComponent links, consistent ManyToMany field names for RecordRecord links by @falexwolf in #3421
  • πŸ—ƒοΈ Migrate the Feature and Schema database tables to LaminDB v2 by @falexwolf in #3422
  • 🚚 Rename Artifact.feature_sets to Artifact.schemas by @falexwolf in #3423
  • πŸ—ƒοΈ Rename SQLRecord._branch_code to SQLRecord.branch_id and remove feature_ref_is_name and label_ref_is_name fields from link models by @falexwolf in #3424
  • πŸ’š Fix tests setup by @Koncopd in #3426
  • πŸ› Fix broken imports from hubmodule by @fredericenard in #3428
  • ♻️ Refactor require_organism by @sunnyosun in #3429
  • ♻️ Refactor data migration from dtype to _dtype_str by @falexwolf in #3431
  • πŸ—ƒοΈ Rename Artifact._subsequent_runs to Artifact.recreating_runs and Run._recreated_artifacts to Run.recreated_artifacts by @falexwolf in #3432
  • πŸ‘· Ensure wetlab version 2.0a1 is installed by @falexwolf in #3433
  • βœ… Restore check_lamin_dev, add defensive artifact cleanup by @Koncopd in #3434
  • ✨ Allow passing _key_is_virtual on Artifact creation by @Koncopd in #3438
  • πŸ—ƒοΈ Rename IsVersioned.version to IsVersioned.version_tag, Transform.type to Transform.kind, FeatureValue to JsonValue, BaseBlock.type to BaseBlock.kind, delete Transform._template and Run._logfile by @falexwolf in #3435
  • πŸ—ƒοΈ Bionty v2 migrations by @sunnyosun in #3430
  • βœ… Test user updates by @Koncopd in #3437
  • πŸ‘· Reflect permission utils refactoring in noxfile by @falexwolf in #3441
  • 🚸 Add description argument to Transform.from_git() by @falexwolf in #3440
  • πŸ—ƒοΈ Simplify Transform by @falexwolf in #3442
  • πŸ—ƒοΈ Migrate most auxiliary fields to SQL columns by @falexwolf in #3443
  • ♻️ Edits for noxfile by @Koncopd in #3444
  • πŸ—ƒοΈ Refactor _storage_completed mechanism and remove unique constraints on type names by @falexwolf in #3445
  • 🚸 More release preparations: backward compat for artifact queries by feature_sets, defensive migration by @falexwolf in #3448
  • 🎨 Re-encode biorecord uid to 14 chars by @sunnyosun in #3450
  • ♻️ Refactor dtype data migration to raw SQL to avoid inexistent branch_id by @falexwolf in #3449
  • Fix create from source by @sunnyosun in #3451
  • πŸ—ƒοΈ Rename RootBlock to Block with a column key akin to Artifact and Transform by @falexwolf in #3452
  • ⚑️ Squash migrations and re-build SQLite init database by @falexwolf in #3453

Full Changelog: 1.17.0...2.0.0

Release 2.0a2

09 Jan 22:22

Choose a tag to compare

Release 2.0a2 Pre-release
Pre-release

See https://docs.lamin.ai/changelog/2026#db-2-0-0

What's Changed

  • πŸ“ Fix docs by @falexwolf in #3385
  • ✨ Add feature.dtype_as_object by @sunnyosun in #3386
  • πŸ“ README v5.2 by @falexwolf in #3387
  • βœ… Test connecting without a default instance by @Koncopd in #3388
  • βœ… Test db token expiartion by @Koncopd in #3391
  • 🎨 Also accept array when evaluating list values by @sunnyosun in #3392
  • πŸ”§ Add .vitessce.json to loaders by @namsaraeva in #3393
  • πŸ”§ Rename zarr extra to zarr_v2 by @Koncopd in #3390
  • πŸ› Account for size 0 environments by @falexwolf in #3394
  • ♻️ Better re-use Django's ObjectDoesNotExist and MultipleObjectsReturned by @falexwolf in #3396
  • πŸ’„ Sort features in describe() by @falexwolf in #3397
  • πŸ“ Improve the Artifact.replace() docs by @falexwolf in #3398
  • πŸ“ Polish FAQ doc on trashing and archiving by @falexwolf in #3400
  • βœ… Test DbWriteLog rework by @Koncopd in #3399
  • 🚚 Deprecate @ln.tracked() in favor of @ln.step() by @falexwolf in #3401
  • ✨ Enable managing workflows via @ln.flow() and @ln.step() by @falexwolf in #3402
  • ✨ Track shell scripts by @falexwolf in #3403
  • βœ… Test use hstore in DbWrite triggers to compute diffs on update by @Koncopd in #3404
  • ⬆️ Upgrade lamindb-setup by @Koncopd in #3407
  • ⬆️ Bump anndata upper bound by @Koncopd in #3409
  • 🚸 Raise a clear error if calling CanCurate and similar registry class methods on objects by @falexwolf in #3411
  • πŸ“ Improve the Space document by @falexwolf in #3412
  • ⬆️ Bump fsspec packages upper bound by @Koncopd in #3413
  • πŸ“ Render return type annotations of Artifact.open() in docs by @falexwolf in #3414
  • 🚚 Rename rest-hub to backend by @fredericenard in #3410
  • πŸ”₯ Remove tracking from collection.artifacts.all() by @Koncopd in #3405
  • πŸ—οΈ Introduce Feature._dtype_str to hold a serialization that links object types (Record + ULabel) based on their uid instead of their name and type hierarchy by @falexwolf in #3416
  • πŸ—οΈ Use the new feature._dtype_str instead of feature.dtype by @falexwolf in #3418
  • πŸ”₯ Remove the API components that were deprecated upon transitioning from LaminDB v0 to v1 by @falexwolf in #3419
  • 🚚 Better names for the ManyToMany fields for the annotating runs and artifacts of an Artifact by @falexwolf in #3420
  • 🚚 Swap accessor names for SchemaComponent links, consistent ManyToMany field names for RecordRecord links by @falexwolf in #3421
  • πŸ—ƒοΈ Migrate the Feature and Schema database tables to LaminDB v2 by @falexwolf in #3422
  • 🚚 Rename Artifact.feature_sets to Artifact.schemas by @falexwolf in #3423
  • πŸ—ƒοΈ Rename SQLRecord._branch_code to SQLRecord.branch_id and remove feature_ref_is_name and label_ref_is_name fields from link models by @falexwolf in #3424
  • πŸ’š Fix tests setup by @Koncopd in #3426
  • πŸ› Fix broken imports from hubmodule by @fredericenard in #3428
  • ♻️ Refactor require_organism by @sunnyosun in #3429
  • ♻️ Refactor data migration from dtype to _dtype_str by @falexwolf in #3431
  • πŸ—ƒοΈ Rename Artifact._subsequent_runs to Artifact.recreating_runs and Run._recreated_artifacts to Run.recreated_artifacts by @falexwolf in #3432
  • πŸ‘· Ensure wetlab version 2.0a1 is installed by @falexwolf in #3433
  • βœ… Restore check_lamin_dev, add defensive artifact cleanup by @Koncopd in #3434
  • ✨ Allow passing _key_is_virtual on Artifact creation by @Koncopd in #3438
  • πŸ—ƒοΈ Rename IsVersioned.version to IsVersioned.version_tag, Transform.type to Transform.kind, FeatureValue to JsonValue, BaseBlock.type to BaseBlock.kind, delete Transform._template and Run._logfile by @falexwolf in #3435
  • πŸ—ƒοΈ Bionty v2 migrations by @sunnyosun in #3430
  • βœ… Test user updates by @Koncopd in #3437
  • πŸ‘· Reflect permission utils refactoring in noxfile by @falexwolf in #3441
  • 🚸 Add description argument to Transform.from_git() by @falexwolf in #3440
  • πŸ—ƒοΈ Simplify Transform by @falexwolf in #3442
  • πŸ—ƒοΈ Migrate most auxiliary fields to SQL columns by @falexwolf in #3443
  • ♻️ Edits for noxfile by @Koncopd in #3444
  • πŸ—ƒοΈ Refactor _storage_completed mechanism and remove unique constraints on type names by @falexwolf in #3445

Full Changelog: 1.17.0...2.0a2

Release 1.17.0

14 Dec 22:27

Choose a tag to compare

See https://docs.lamin.ai/changelog#db-1-17-0

What's Changed

  • 🚸 Suggest using .from_dataframe() when passing a DataFrame-like path to Artifact() by @falexwolf in #3290
  • πŸ—ƒοΈ Add ArtifactArtifact and ArtifactRun to enable dtype=Artifact and dtype=Run in artifact relationships by @falexwolf in #3292
  • πŸ—ƒοΈ Add multiple fields to Transform by @falexwolf in #3294
  • ✨ Support .tar.gz by @Koncopd in #3289
  • ♻️ Be more strict about constraining types in HasType by @falexwolf in #3295
  • πŸ’š Update transfer tests by @sunnyosun in #3299
  • 🚸 When deleting a record type, delete its descendants, too by @falexwolf in #3297
  • ♻️ Honor dev-dir in lamin save, refactor module inference in ln.track() by @falexwolf in #3300
  • ♻️ Add query_ulabels(), query_features(), query_schemas(), etc. to all HasType registries by @falexwolf in #3302
  • ✨Allow skipping to mark the storage root when registering a storage by @Koncopd in #3303
  • πŸ› Fix describe features for ArtifactArtifact by @sunnyosun in #3301
  • ✨ Read-only queries of public instances through shadow SQLite clones by @Zethson in #3282
  • πŸ› Fix feature describe for wetlab.Compound by @sunnyosun in #3306
  • 🚸 Enable skip_hash_lookup in transform by @falexwolf in #3307
  • πŸ—ƒοΈ Add RecordCollection and CollectionRecord by @falexwolf in #3305
  • 🚸 Make adding optional features convenient through schema.add_optional_features() by @falexwolf in #3308
  • 🚸 Propagate re-organization of record types to dtypes by @falexwolf in #3309
  • ⬆️ Upgrade lamindb-setup to prepare release by @falexwolf in #3311
  • πŸ‘· Also run core unit tests against an SQLite database by @falexwolf in #3310
  • πŸ› Fix a bug where a changed set of valid features led to violating the per-slot unique constraint in ArtifactSchema rather than updating the existing inferred schema link by @falexwolf in #3312
  • πŸ’„ Harmonize lineage graph display by @falexwolf in #3313
  • ⬆️ Upgrade supabase by @Koncopd in #3315
  • πŸ“ Add Sharing section to README by @falexwolf in #3316
  • πŸ› Artifact() incorrectly returned the latest artifact in a match on key OR hash if upon further filtering on just hash, it also found a match by @falexwolf in #3317
  • πŸ—ƒοΈ Add an extra_data JSON field to Record by @falexwolf in #3318
  • πŸ› Fix view_parents() and query_relatives() for non-default instances by @Zethson in #3319
  • ✨ Add ln.DB to conveniently query all entities in any instance by @Zethson in #3314
  • ♻️ Corrections and clarifications for _get_parents by @Koncopd in #3320
  • ♻️ Add same integrity measures to ULabel as on Record, move ULabel under Record in the docs by @falexwolf in #3322
  • πŸ› In record.type_to_dataframe(), do not limit to just 100 records by @falexwolf in #3323
  • πŸ› Honor dev-dir in lamin load by @falexwolf in #3324
  • ✨ Add lamin io to manage snapshots, exports & imports by @Zethson in #3321
  • πŸ—ƒοΈ Rename record.params to record.extra_data by @falexwolf in #3327
  • βœ… Test audit by @Koncopd in #3326
  • πŸ› Fix sheet export for features with dtype list of categoricals if there wasn't also the corresponding non-list one by @falexwolf in #3329
  • 🚸 Polish QueryDB by @Zethson in #3325
  • βœ… More tests for dbwritelog by @Koncopd in #3328
  • πŸ› Fix sheet export of features with list of categorical dtype when additional field qualifiers are used by @falexwolf in #3331
  • ⬆️ Upgrade lamindb-setup by @fredericenard in #3332
  • 🚸 Rename record.type_to_dataframe() to record.to_dataframe() by @falexwolf in #3333
  • 🚸 Honor list dtype over the default set in sheet export by @falexwolf in #3334
  • ⬆️ Upgrade lamindb-setup by @Koncopd in #3337
  • πŸ“Œ Upper bound for pandas 3 by @Zethson in #3335
  • πŸ› Fix a breadth of edge cases for sheet export by @falexwolf in #3336
  • ⚑ Faster init from compressed SQLite file by @falexwolf in #3340
  • 🩹 Temporary fix for polars+huggingface in arrays by @Koncopd in #3341
  • πŸ› Fix sheet export when multiple features with the same name in an instance by @falexwolf in #3343
  • πŸ› Fix sheet export with mixed single- and multi-item lists by @falexwolf in #3344
  • πŸ› Respect soft delete in sheet export by @falexwolf in #3345
  • 🚸 Maintain a history of feature renaming events in the feature record, simplify handling label rename events by @falexwolf in #3347
  • πŸ“ Fix example syntax by @Zethson in #3330
  • 🚸 Better error message if notebook filename is Untitled.ipynb by @falexwolf in #3348
  • πŸ“ Add to_dataframe() docstring to Record and fix several docs warnings by @falexwolf in #3349
  • 🚸 Allow validation of genes to pass without indicating organism by @sunnyosun in #3350
  • ♻️ Enforce absolute type hierarchy within relational dtypes during validation by @falexwolf in #3353
  • ♻️ No unnecessary import of lamindb in lamin-cli by @falexwolf in #3355
  • 🎨 If matching the same term multiple times at different levels of a type hierarchy during validation, annotate with top-level match by @falexwolf in #3358
  • 🎨 Leverage schema feature association when annotating artifacts through curators by @falexwolf in #3360
  • ✨ QueryDB accessor & documentation improvements by @Zethson in #3354
  • ⬆️ Upgrade lamindb-setup by @Koncopd in #3361
  • πŸ—οΈ Enable queries to other instances in case no instance is configured by @Koncopd in #3359
  • πŸ“ More extensive documentation for Artifact.otype by @falexwolf in #3362
  • 🚸 Improve error behavior if a type isn't found during validation: raise an IntegrityError instead of InvalidArgument by @falexwolf in #3364
  • ⬆️ Upgrade lamindb-setup by @Koncopd in #3365
  • πŸ› Gracefully handle corrupted date and datetime values in sheets by @falexwolf in #3366
  • 🎨 Allow __lamindb_... type columns in sheet export also if schema.maximal_set = True by @falexwolf in #3367
  • πŸ› Fix type casting to pandas in sheet exports with dtype="num" by @falexwolf in #3368
  • πŸ› Fix logger.mute() before importing lamindb and refactor RootLogger by @falexwolf in #3369
  • πŸ› Resolve feature name clashes during usage of artifact.features.add_values() by @falexwolf in #3370
  • ♻️ Refactor organism requirement by @sunnyosun in #3356
  • 🎨 Disallow mutating feature.dtype on the database level by @falexwolf in #3371
  • 🚸 Allow calling .describe() on all BaseSQLRecord objects and classes by @falexwolf in #3373
  • 🚸 Add describe() to QuerySet by @falexwolf in #3374
  • ⬆️ Upgrade lamindb-setup by @Koncopd in #3376
  • πŸ“ Refactor README and polish docs by @falexwolf in #3372
  • 🚚 Rename QueryDB to DB by @falexwolf in #3377
  • ✨ Implement FeatureManager.__getitem__ for getting values records by @sunnyosun in #3375
  • 🚸 Warn if a user passes a string to the dtype argument of Feature and add validation for existence of record types by @falexwolf in #3378
  • βœ… Adapt test_permissions by @Koncopd in https://github.com/lami...
Read more

Release 1.16.2

14 Nov 00:20

Choose a tag to compare

See https://docs.lamin.ai/changelog/2025#db-1-16-2

What's Changed

  • πŸ› Fix re-validating an existing artifact with an external schema and external features by @falexwolf in #3288

Full Changelog: 1.16.1...1.16.2

Release 1.16.1

13 Nov 13:46

Choose a tag to compare

See https://docs.lamin.ai/changelog/2025#db-1-16-1

What's Changed

  • πŸ› Do not log CLI args in notebooks by @falexwolf in #3283
  • 🚸 Log if switching to read-only storage location of another instance also when using ln.settings.storage by @falexwolf in #3284
  • πŸ“ Clarify logging and language around writing/managing instance by @falexwolf in #3286
  • πŸ› Fix Artifact from http URL if leveraging virtual keys by @Koncopd in #3287

Full Changelog: 1.16.0...1.16.1

Release 1.16.0

12 Nov 10:21

Choose a tag to compare

See https://docs.lamin.ai/changelog/2025#db-1-16-0

What's Changed

  • ⬆️ Support anndata up to 0.12.5 by @Koncopd in #3264
  • πŸ› Rework _query_relatives by @Koncopd in #3265
  • πŸ› Enable passing a list of records to record.features.add_values() by @falexwolf in #3266
  • ♻️ Properly deprecate itype='Composite' by @falexwolf in #3268
  • ♻️ Re-organize .features.add_values() and .features.remove_values() tests and make consistent across Artifact & Record by @falexwolf in #3269
  • ♻️ Refactor and simplify FeatureManager.remove_values() by @falexwolf in #3271
  • ⬆️ No longer upper-bound pyarrow by 22.0 by @Zethson in #3272
  • ♻️ Refactor artifact test suite by @falexwolf in #3274
  • ♻️ Passing kwargs to from_source no longer recognize synonyms by @sunnyosun in #3273
  • ⬆️ Update bionty by @sunnyosun in #3275
  • ✨ Introduce artifact.features.set_values() by @falexwolf in #3276
  • 🚚 Deprecate the data argument of Artifact in favor of path and polish class docstrings by @falexwolf in #3277
  • πŸ“ Polish transform and run examples in the readme by @falexwolf in #3279
  • ✨ Make it easy to re-run scripts by tracking cli_args by @falexwolf in #3278
  • 🚚 Deprecate Registry.using() in favor of Registry.connect() by @falexwolf in #3280

Full Changelog: 1.15.2...1.16.0