Changelog 2026ΒΆ
Note
Get notified by watching releases for git repositories: lamindb, laminhub-public, laminr, nf-lamin, and bionty.
2026-01-20 hub 1.11.0ΒΆ
β¨ Beta: A Logs page with
DbWriteevents PR @chaichontat⨠Support children type in record registration PR @chaichontat
πΈ Handle suggestions when adding users PR @chaichontat
π Fix run metadata selection state PR @chaichontat
π Show records on the overview page PR @falexwolf
2026-01-14 hub 1.10.0ΒΆ
β¨ Add
/artifacts/by-pathendpoint PR @fredericenardπ Write run annotations on the Launch page into the
RunRecordregistry PR @falexwolfπ Improve landing page - metadata and lakehouse sections PR @falexwolf
2026-01-13 hub 1.9.1ΒΆ
π More strictly enforce schema during UI-based record creation PR @chaichontat
π Broaden database server access permissions to include shared database servers PR @fredericenard
π Improve landing page - introduce tags and improve language PR @falexwolf
2026-01-13 R 1.2.2ΒΆ
β¬οΈ Update minimal
lamindbversion to 2.0.0 PR @falexwolf PR @lazappi
2026-01-12 nf 0.3.0ΒΆ
2026-01-12 hub 1.9.0ΒΆ
β¨ Transform search bar also understands run names and UIDs PR @chaichontat
πΈ Default to not listing inferred schemas without names PR @chaichontat
π Fix the broken βNew schemaβ button on the records page due to
lamindbv2 PR @chaichontatπ Fix the broken pipeline
Launchbutton due tolamindbv2 PR @sunnyosun
2026-01-11 db 2.0.1ΒΆ
πΈ Backward compatibility for querying features by
dtypePR @falexwolf
2026-01-11 db 2.0.0ΒΆ
This release makes the database schema fully consistent and thereby improves UX, integrity, and enables long-term stability.
β οΈ Your code should continue to run as is, but you will receive warnings about renamed API components.
Main changes:
What |
Before |
After |
Backward compatible |
|---|---|---|---|
Function tracking |
|
|
β |
|
|
|
β |
|
|
|
β |
|
|
|
β |
|
|
|
β |
|
|
|
β |
|
|
|
β |
|
|
|
β |
|
|
|
β |
Private fields that are now public:
What |
Before |
After |
Backward compatible |
|---|---|---|---|
|
|
|
β |
|
|
|
β |
|
|
|
β |
|
|
|
β |
Changes to auxiliary (JSON) fields:
What |
Before |
After |
Backward compatible |
|---|---|---|---|
|
|
|
β |
|
|
|
β |
|
|
|
β |
|
|
|
β |
|
|
|
β |
On link models with labels:
What |
Before |
After |
Backward compatible |
|---|---|---|---|
|
|
removed |
β |
|
|
removed |
β |
For completeness, changes in recently introduced unused API components:
What |
Before |
After |
Backward compatible |
|---|---|---|---|
|
|
|
β |
|
|
|
β |
|
|
|
β |
|
|
removed |
β |
|
|
removed |
β |
|
|
removed |
β |
|
|
removed |
β |
|
|
removed |
β |
Changes in the bionty and wetlab modules:
What |
Before |
After |
Backward compatible |
|---|---|---|---|
|
|
|
|
* uids are re-encoded to 14 chars with the first X chars conserved.
Changes in the wetlab module:
What |
Before |
After |
Backward compatible |
|---|---|---|---|
|
|
removed |
β |
|
|
removed |
β |
|
|
removed |
β |
|
|
removed |
β |
|
|
removed |
β |
|
|
|
β |
|
|
removed |
β |
|
|
β |
If you have data in removed registries youβll see a warning that your data gets exported to parquet files. You can import these parquet files into the Record registry under an Experiment type without losing of functionality.
β οΈ After migrating databases to v2 via lamin migrate deploy lamindb package installations with v1 will raise errors. This is the last planned database migration that breaks older clients.
All instances connected to LaminHub have been migrated and there is no need to act.
If you are an admin of a self-managed instance, please migrate your database with lamin migrate deploy.
For details see the Compatibility Matrix and the source code.
β οΈ For laminr and nf-lamin users
For laminr users with an auto-managed reticulate environment, please run this:
reticulate::py_require("lamindb>=2.0.1") # DO THIS FIRST
ln <- laminr::import_module("lamindb")
For nf-lamin users, please upgrade to 0.3.0.
Features:
β¨ Track shell scripts PR @falexwolf
β¨ Enable managing workflows by decorating functions with
@ln.flow()and@ln.step()and deprecate@ln.tracked()PR @falexwolf
Architecture:
ποΈ For more robustness and to convey the fieldβs special nature in the API and the database schema, replace
Feature.dtypewithFeature._dtype_strto now hold a serialization that links object types (Record+ULabel) based on theiruidinstead of theirnameand type hierarchy PR @falexwolf
UX:
πΈ Add
feature.dtype_as_objectPR @sunnyosunπΈ Add
descriptionargument toTransform.from_git()PR @falexwolfπΈ Allow passing
_key_is_virtualonArtifactcreation PR @KoncopdπΈ Raise
SystemExituponInstanceNotFoundonly from CLI PR @falexwolfπΈ Raise error for init or import issues in
lamin io snapshotPR @ZethsonπΈ Do not track inputs when calling
collection.artifacts.all()PR @KoncopdπΈ Raise a clear error if calling
CanCurateand similar registry class methods on objects PR @falexwolfπΈ Sort features in
describe()PR @falexwolf
Database-level changes:
ποΈ Rename
RootBlocktoBlockwith a columnkeyakin toArtifactandTransformPR @falexwolfποΈ Refactor
_storage_completedmechanism and remove unique constraints on type names PR @falexwolfποΈ Migrate most auxiliary fields to SQL columns PR @falexwolf
ποΈ Simplify
TransformPR @falexwolfποΈ Rename
IsVersioned.versiontoIsVersioned.version_tag,Transform.typetoTransform.kind,FeatureValuetoJsonValue,BaseBlock.typetoBaseBlock.kind, deleteTransform._templateandRun._logfilePR @falexwolfποΈ Rename
Artifact._subsequent_runstoArtifact.recreating_runsandRun._recreated_artifactstoRun.recreated_artifactsPR @falexwolfποΈ Rename
SQLRecord._branch_codetoSQLRecord.branch_idand removefeature_ref_is_nameandlabel_ref_is_namefields from link models PR @falexwolfποΈ Rename
Artifact.feature_setstoArtifact.schemasPR @falexwolfποΈ Migrate the
FeatureandSchemadatabase tables to LaminDB v2 PR @falexwolfποΈ Swap accessor names for
SchemaComponentlinks, consistentManyToManyfield names forRecordRecordlinks PR @falexwolfποΈ Better names for the
ManyToManyfields for the annotating runs and artifacts of anArtifactPR @falexwolf
Bug fixes:
π Account for size 0 environments PR @falexwolf
Bionty:
π¨ Re-encode BioRecord uid to 14 chars PR @sunnyosun
ποΈ Migrations for bionty v2 PR @sunnyosun
β»οΈ Refactor require_organism PR @sunnyosun
ποΈ Migrations for LaminDB v2 PR @falexwolf
π₯ Remove deprecated
display_available_sourcesPR @falexwolf
Wetlab:
ποΈ Migrations for wetlab v2 PR @sunnyosun
ποΈ Migrations for LaminDB v2 PR @falexwolf
ποΈ Create a composite index for
artifact,perturbationtargetfields inArtifactPerturbationTargetPR @KoncopdποΈ Create a composite index for
artifact,geneticperturbationfields inArtifactGeneticPerturbationPR @Koncopd
Docs:
π Improve the
Spacedocument PR @falexwolfπ Improve the
Artifact.replace()docs PR @falexwolfπ Improve FAQ doc on trashing and archiving PR @falexwolf
π Render return type annotations of
Artifact.open()in docs PR @falexwolf
Config:
π§ Introduce
InstanceSettings.is_managed_by_hubPR @falexwolfπ§ Add
.vitessce.jsonto loaders PR @namsaraeva
Removals:
π₯ Remove the API components that were deprecated upon transitioning from LaminDB v0 to v1 PR @falexwolf
Refactoring:
β»οΈ Refactor
require_organismPR @sunnyosunβ»οΈ Better re-use Djangoβs
ObjectDoesNotExistandMultipleObjectsReturnedPR @falexwolfβ»οΈ Return file size in
hash_file()PR @falexwolfβ»οΈ Squash migrations and re-build SQLite init database PR @falexwolf
β»οΈ More verbose migration integrity check PR @falexwolf
β»οΈ Call
lamin migrate deployeven if initializing from pre-built sqlite file PR @falexwolf
Dependencies:
2026-01-11 hub 1.8.0ΒΆ
π Fix special character handling in filters PR @chaichontat
π Fix filtering state leakage across different pages PR @chaichontat
π Fix feature hover card not functioning correctly PR @chaichontat
2026-01-03 hub 1.7.0ΒΆ
πΈ Infinite scroll for transform list PR @chaichontat
π Update data validation video PR @namsaraeva
π Improve language on landing page PR @falexwolf