Release 30.0.0 (2026-05-18)#

Source

Identifier

Git tag

30.0.7

EUPS distrib

v30_0_7

rubin-env version

12.2.0

This release is based on the w_2025_49 weekly build with XX tickets backported.

The notes below highlight significant technical changes to the Science Pipelines codebase in this release. For a complete list of changes made, see Tickets Addressed in Release 30.0.7.

No Characterization Metric Report is provided for this release.

If you have questions or comments about this release, visit our Community forum for advice.

See also:

Major new features#

Major functionality and interface changes#

Weak lensing shear measurement and deblending support#

This release significantly expands support for weak lensing analysis with the addition of several DESC (Dark Energy Science Collaboration) packages:

  • descwl provides fast simulations and analysis tools specifically designed to study the effects of overlapping sources on shear estimation, photometric redshift algorithms, and deblending algorithms. This enables detailed validation of weak lensing measurements in realistic survey conditions.

  • descwl_shear_sims offers comprehensive simulations for testing weak lensing shear measurement algorithms, including realistic galaxy and PSF models that can be used to validate shear recovery and characterize systematic errors.

  • metadetect implements meta-detection, a novel approach that combines source detection with metacalibration to produce shear estimates that are robust to selection effects. This algorithm has been demonstrated to work effectively with LSST data structures through detailed simulations.

  • meas_photoz_base integrates photometric redshift estimation into the Science Pipelines using the RAIL (Redshift Assessment Infrastructure Layers) framework, providing essential redshift information for weak lensing tomography.

Together, these packages provide a comprehensive framework for weak lensing science within the LSST Science Pipelines, enabling end-to-end testing and validation of shear measurement pipelines in preparation for LSST operations.

See Sheldon et al., (2020) and Sheldon et al., (2023) for detailed descriptions of the metadetection algorithm and its performance with LSST-like data.

Significant interface changes#

New packages added#

  • rubin_oxide: Utility code for the Rubin Science Pipelines written in Rust and bound to Python with PyO3. The public API is intended to be Python only; the fact that most of the package is written in Rust is an implementation detail for performance reasons.

  • dax_ppdb: Provides Python tools for replication of APDB data and ingestion into the Prompt Products Database (PPDB). Implementations are provided for PostgreSQL and BigQuery databases.

  • dax_ppdb_gcp: Provides Google Cloud Platform (GCP) utilities for Rubin Prompt Product Database (PPDB).

  • descwl: Weak lensing simulations and analysis for the DESC.

  • descwl_coadd: Supporting package for weak lensing deblending studies.

  • descwl_shear_sims: Simulations for testing weak lensing shear measurement.

  • lsst_extras: EUPS meta-package containing non-pipelines packages.

  • meas_photoz_base: Photometric redshift estimation using the RAIL framework.

  • metadetect: Meta-detection library combining detection and metacalibration for weak lensing.

Packages removed#

  • daf_relation: This package provided classes representing relational algebra expression trees and algorithms to convert them to SQLAlchemy objects and Python generators. It was formerly used to implement the query system in daf_butler but is no longer used or maintained as of November 2025.

Removed features and code#

This release removes deprecated features and code that were scheduled for removal per RFC-945.

Python APIs removed (deprecated in v29)#

The following deprecated Python classes, methods, and functions have been removed:

afw

  • lsst.afw.multiband.Multiband.filters(): Replaced by bands().

analysis_tools

  • lsst.analysis.tools.tasks.DiffimDetectorVisitMetricsAnalysisTask: Replaced by TaskMetadataAnalysisTask.

  • lsst.analysis.tools.atools.DiffimMetadataMetricTool: Replaced by TaskMetadataMetricTool.

drp_tasks

  • lsst.drp.tasks.assemble_coadd.AssembleCoaddTask.removeMaskPlanes: Converted to utility function in lsst.pipe.tasks.coaddBase.

  • lsst.drp.tasks.assemble_coadd.AssembleCoaddTask.setRejectedMaskMapping: Converted to utility function in lsst.pipe.tasks.coaddBase.

ip_diffim

  • lsst.ip.diffim.GetTemplateConfig.getOverlappingExposures: Replaced by getExposures.

  • lsst.ip.diffim.GetDcrTemplateTask.getOverlappingExposures: Replaced by getExposures.

meas_base

  • lsst.meas.base.SingleFrameMomentsClassifierConfig: Replaced by SingleFrameClassificationSizeExtendednessConfig.

  • lsst.meas.base.SingleFrameMomentsClassifierPlugin: Replaced by SingleFrameClassificationSizeExtendednessPlugin.

pipe_tasks

  • lsst.pipe.tasks.warpAndPsfMatch.WarpAndPsfMatchConfig: No longer in use.

  • lsst.pipe.tasks.warpAndPsfMatch.WarpAndPsfMatchTask: Replaced by MakeDirectWarp and MakePsfMatchedWarp.

  • lsst.pipe.tasks.makeWarp.MakeWarpConfig: No longer in use.

  • lsst.pipe.tasks.makeWarp.MakeWarpTask: Replaced by MakeDirectWarpTask and MakePsfMatchedWarpTask.

  • lsst.pipe.tasks.make_psf_matched_warp.growValidPolygons: Use growValidPolygons from lsst.pipe.tasks.coaddBase.

  • lsst.pipe.tasks.deblendCoaddSourcesPipeline.DeblendCoaddSourcesSingleTask: Old single-band deblender removed.

  • lsst.pipe.tasks.deblendCoaddSourcesPipeline.DeblendCoaddSourcesSingleConfig: Old single-band deblender removed.

Configuration options removed (deprecated in v29)#

The following configuration fields have been removed:

afw

  • lsst.afw.image.PhotoCalib.calibrateImage.includeScaleUncertainty: Option does nothing.

  • lsst.afw.image.PhotoCalib.uncalibrateImage.includeScaleUncertainty: Option does nothing.

ip_isr

  • lsst.ip.isr.PhotonTransferCurveDataset.covariancesModelNoB: Attribute removed.

  • lsst.ip.isr.PhotonTransferCurveDataset.aMatrixNoB: Attribute removed.

  • lsst.ip.isr.PhotonTransferCurveDataset.noiseMatrixNoB: Attribute removed.

Deprecations#

These tasks, methods, or configuration options are now deprecated and will be removed in the next major release. See RFC-945 for a clarification on the accelerated deprecation policy.

New Python deprecations#

ap_association

  • lsst.ap.association.transformDiaSourceCatalog.TransformDiaSourceCatalogConfig.schemaTableName: Config no longer used.

cp_pipe

  • lsst.cp.pipe.ptc.cpPtcSolve.PhotonTransferCurveSolveConfig.polynomialFitDegree: Field no longer used.

  • lsst.cp.pipe.ptc.cpPtcSolve.PhotonTransferCurveSolveConfig.doLegacyTurnoffSelection: Option deprecated.

  • lsst.cp.pipe.ptc.cpPtcSolve.PhotonTransferCurveSolveConfig.minVarPivotSearch: Only used with deprecated doLegacyTurnoffSelection.

  • lsst.cp.pipe.ptc.cpPtcSolve.PhotonTransferCurveSolveConfig.consecutivePointsVarDecreases: Only used with deprecated doLegacyTurnoffSelection.

  • lsst.cp.pipe.ptc.cpPtcSolve.PhotonTransferCurveSolveConfig.doAmpOffsetGainRatioFixup: Option deprecated.

  • lsst.cp.pipe.ptc.cpPtcSolve.PhotonTransferCurveSolveConfig.ampOffsetGainRatioMinAdu: Only used with deprecated doAmpOffsetGainRatioFixup.

  • lsst.cp.pipe.ptc.cpPtcSolve.PhotonTransferCurveSolveConfig.ampOffsetGainRatioMaxAdu: Only used with deprecated doAmpOffsetGainRatioFixup.

ctrl_mpexec

  • lsst.ctrl.mpexec.mpGraphExecutor.MPGraphExecutor: Moved to lsst.pipe.base.mp_graph_executor.

  • lsst.ctrl.mpexec.separablePipelineExecutor.SeparablePipelineExecutor: Moved to lsst.pipe.base.separable_pipeline_executor.

  • lsst.ctrl.mpexec.reports.ExceptionInfo: Moved to lsst.pipe.base.quantum_reports.

  • lsst.ctrl.mpexec.reports.QuantumReport: Moved to lsst.pipe.base.quantum_reports.

  • lsst.ctrl.mpexec.reports.Report: Moved to lsst.pipe.base.quantum_reports.

  • lsst.ctrl.mpexec.simple_pipeline_executor.SimplePipelineExecutor: Moved to lsst.pipe.base.simple_pipeline_executor.

  • lsst.ctrl.mpexec.quantumGraphExecutor.QuantumExecutor: Moved to lsst.pipe.base.quantum_graph_executor.

  • lsst.ctrl.mpexec.quantumGraphExecutor.QuantumGraphExecutor: Moved to lsst.pipe.base.quantum_graph_executor.

  • lsst.ctrl.mpexec.singleQuantumExecutor.SingleQuantumExecutor: Moved to lsst.pipe.base.single_quantum_executor.

  • lsst.ctrl.mpexec.executionGraphFixup.ExecutionGraphFixup: Moved to lsst.pipe.base.execution_graph_fixup.

  • lsst.ctrl.mpexec.taskFactory.TaskFactory: Implementation moved to base class in lsst.pipe.base.

pipe_tasks

  • lsst.pipe.tasks.prettyPictureMaker._functors._lum_scale.LuminanceScaleConfig.Q: Field no longer used.

  • lsst.pipe.tasks.prettyPictureMaker._functors._local_contrast.LocalContrastConfig.doLocalContrast: Field deprecated.

  • lsst.pipe.tasks.prettyPictureMaker._task.PrettyPictureTaskConfig.doPSFDeconvolve: Use doPsfDeconvolve instead.

  • lsst.pipe.tasks.prettyPictureMaker._task.PrettyPictureTaskConfig.exposureBrackets: Set exposureBracketerConfig.exposureBrackets instead.

  • lsst.pipe.tasks.prettyPictureMaker._task.PrettyPictureTaskConfig.gamutMethod: Set gamutMapperConfig instead.

New configuration deprecations#

These configurations are deprecated:

ap_association

cp_pipe

drp_tasks

ip_diffim

meas_extensions_scarlet

obs_base

  • lsst.obs.base.defineVisits._GroupExposuresByGroupMetadataConfig.visitSystemId: No longer used. Replaced by enum.

  • lsst.obs.base.defineVisits._GroupExposuresByGroupMetadataConfig.visitSystemName: No longer used. Replaced by enum.

  • lsst.obs.base.defineVisits._GroupExposuresByCounterAndExposuresConfig.visitSystemId: No longer used. Replaced by enum.

  • lsst.obs.base.defineVisits._GroupExposuresByCounterAndExposuresConfig.visitSystemName: No longer used. Replaced by enum.

pipe_tasks

  • lsst.pipe.tasks.prettyPictureMaker._functors._lum_scale.LuminanceScaleConfig.Q: Field no longer used.

  • lsst.pipe.tasks.prettyPictureMaker._functors._local_contrast.LocalContrastConfig.doLocalContrast: This will stop working in v31 and be removed in v32, please set doLocalContrast on PrettyPictureConfig.

  • lsst.pipe.tasks.prettyPictureMaker._task.PrettyPictureTaskConfig.doPSFDeconvolve: Use doPsfDeconvolve instead.

  • lsst.pipe.tasks.prettyPictureMaker._task.PrettyPictureTaskConfig.exposureBrackets: This field will stop working in v31 and be removed in v32, please set exposureBracketerConfig.exposureBrackets.

  • lsst.pipe.tasks.prettyPictureMaker._task.PrettyPictureTaskConfig.gamutMethod: This field will stop working in v31 and be removed in v32, please set gamutMapperConfig.

  • lsst.pipe.tasks.diff_matched_tract_catalog.DiffMatchedTractCatalogConfig.column_ref_extended: This field is no longer being used.

  • lsst.pipe.tasks.diff_matched_tract_catalog.DiffMatchedTractCatalogConfig.column_ref_extended_inverted: This field is no longer being used.

  • lsst.pipe.tasks.diff_matched_tract_catalog.DiffMatchedTractCatalogConfig.column_target_extended: This field is no longer being used.

  • lsst.pipe.tasks.diff_matched_tract_catalog.DiffMatchedTractCatalogConfig.compute_stats: This field is no longer being used.

  • lsst.pipe.tasks.diff_matched_tract_catalog.DiffMatchedTractCatalogConfig.extendedness_cut: This field is no longer being used.

  • lsst.pipe.tasks.diff_matched_tract_catalog.DiffMatchedTractCatalogConfig.mag_num_bins: This field is no longer being used.

  • lsst.pipe.tasks.diff_matched_tract_catalog.DiffMatchedTractCatalogConfig.mag_brightest_ref: This field is no longer being used.

  • lsst.pipe.tasks.diff_matched_tract_catalog.DiffMatchedTractCatalogConfig.mag_ceiling_target: This field is no longer being used.

  • lsst.pipe.tasks.diff_matched_tract_catalog.DiffMatchedTractCatalogConfig.mag_faintest_ref: This field is no longer being used.

  • lsst.pipe.tasks.diff_matched_tract_catalog.DiffMatchedTractCatalogConfig.mag_zeropoint_ref: This field is no longer being used.

  • lsst.pipe.tasks.diff_matched_tract_catalog.DiffMatchedTractCatalogConfig.mag_zeropoint_target: This field is no longer being used.

  • lsst.pipe.tasks.diff_matched_tract_catalog.DiffMatchedTractCatalogConfig.percentiles: This field is no longer being used.