Skip to content

Releases: spacetelescope/jdaviz

v5.0

15 Apr 19:56

Choose a tag to compare

5.0 (2026-04-15)

New Features

  • Datasets can now be renamed via API and UI through the viewer data-menu. [#3960, #3968, #4010]

  • Allow creating new viewers (in deconfigged) when adding results from plugins. [#3966]

  • Astroquery loader supports cone-search for JWST or HST data products, where applicable. [#3907]

  • "Spectrum List" and "Spectrum List Concatenated" loaders have now been absorbed into the "1D Spectrum" loader
    via the extension and concatenate options. [#3953]

  • Catalog public API exposed [#3761, #3777, #3778, #3799, #3814, #3835, #3854, #3856, #3863, #3867, #3930, #3906, #3912, #3899, #3907, #3990, #4039]

  • Support in plot options to set which columns are visible for table viewers. [#4033]

  • Added skewer mode to footprint selection that only selects when clicking inside a footprint.
    Footprint selection tools now support control+click or command+click to toggle
    selections (add/remove individual footprints without replacing the current selection). [#3962, #4034]

  • Added ability to load catalogs from FITS file extensions through the Catalog loader. [#3998]

  • Add support for viewers with mixed pixel and wavelength/frequency spectral axis units. [#4001]

  • Add handles to subset to allow interactive resizing. [#3919]

  • Indicate in loaders whether the loaded entry/entries will overwrite existing data in the app. [#3997]

  • Added enable_footprint_selection_tools() and disable_footprint_selection_tools() APIs
    to programmatically control footprint selection toolbar. [#4048]

  • Improve default marker styling options (size and color cycler) for scatter layers. [#4044]

  • Top level access to datasets API dictionary, deprecating top-level access to data_labels list. [#4024]

  • Renaming data will now propagate the new label to derived data in the same way as renaming subsets. For example,
    renaming 'Cube' to 'CubeFlux' will rename 'Cube (Subset 1, sum)' to 'CubeFlux (Subset 1, sum)'. [#4025]

  • Enable multiselect mode for selecting multiple table extensions in the Catalog loader. [#4051]

  • Table viewer tools to highlight selected, zoom-to-selected, and create subset from selected. [#3994]

  • Allow ingesting tables in plugins back into the app. [#4021]

  • Allow creating new image viewers from moment map plugin. Remove option to select 'align by' in image
    importer unless orientation plugin exists, or new viewer creation selection is Image. [#4054]

  • Provide better error reporting when attempting to load data via load
    and loaders infrastructure. [#4058]

  • Allow launching generalized Jdaviz from the command line and deprecate configs from that interface. [#4087, #4115]

  • Added ability to load spectra with 'IVAR' and 'VAR' uncertainty extensions. [#4091]

  • Line list loader to allow loading custom line lists from a table or file. [#4082]

  • Avoid attempting to convert units in image viewers that are likely moment map data. This
    fix allows the user to load moment map data into an existing image viewer, and use
    unit converison functionality when there is moment map data in a viewer. [#4085]

  • Add ability to toggle between flux and surface brightness in deconfigged.
    Avoid attempting to convert units in image viewers that are likely moment map
    data. This fix allows the user to load moment map data into an existing image
    viewer, and use unit converison functionality when there is moment map data in
    an Image or 3D Spectrum viewer. [#4085]

  • Fixed batch aperture photometry mode in deconfigged. [#4106]

  • Generalize Data Quality plugin. [#4110, #4111]

  • Add support for loading Spectra from BinaryHDU and TableHDU extensions. [#4097]

  • Fix discrepancies between deconfigged and imviz when loading subsets/regions
    when using the WCS/orientation layer [#4130]

  • Data menus are now scrollable; the data menu legend is now truncated when it reaches a certain
    height (relative to the viewer height); a button has been added to the data menu legend to
    indicate to users that more layers can be accessed [#4137]

  • Add additional logic to support table file formats beyond text in the astropytable parser. [#4133]

  • Style tweaks to scatter axis ticks and labels. [#4139]

  • Add support for unit conversions in aperture photometry plugin for images. [#4136]

Cubeviz

  • Added ability to load DQ extension in the cubeviz loader, which activates the
    DQ plugin in cubeviz. [#4077]

Specviz

  • Fixed an inconsistency with 1/2D Spectra when loading duplicate user-supplied labels. With those data types,
    user-supplied labels would auto-increment whereas with others, they would not.
    Now all user-supplied labels do not auto-increment. [#4055]

API Changes

  • Deprecate show_in_viewer argument in load in favor of using the viewer argument to specify
    which viewer(s) to show the data in, or whether to create a new viewer. [#4116]

Cubeviz

  • Deprecates Cubeviz in favor of the generalized top-level Jdaviz application. [#4090]

Imviz

  • Deprecates Imviz in favor of the generalized top-level Jdaviz application. [#4090]

Specviz

  • Deprecates Specviz in favor of the generalized top-level Jdaviz application. [#4090]

Specviz2d

  • Deprecates Specviz2d in favor of the generalized top-level Jdaviz application. [#4090]

Bug Fixes

  • Fix issue with treat_table_as_query switch where it disappeared entirely when switched 'off' [#4102]

  • Fixed bug when loading remote ASDF files by S3 URI, and retrieve remote
    FITS PrimaryHDU by default. [#3980]

Specviz2d

  • Fixed bug where mouseover fails to display in 2D Spectra viewer when no wavelength mapping
    is provided. [#4093]

Other Changes and Additions

  • Fixed an issue that occurred when destroying a 2D Spectrum viewer due to a units check that
    attempted to read from a file that was no longer in memory due to cleanup procedures. [#4105]

  • Deprecated the Catalog Search plugin in favor of the astroquery loader + table viewers. [#4023]

  • Update example notebooks and add examples for deconfigged. [#4052]

v4.5.2

15 Apr 18:49

Choose a tag to compare

Bug Fixes

  • Fixed bug where creating new subsets in a fresh app instance and adjusting them creates a copy
    instead of adjusting the original subset. [#4083]

  • Fixed using viewer.show() with height argument not using the full height inline in the notebook. [#4134]

  • Fixed bug where file drop resolver failed to process messages correctly when ipykernel>=7. [#4080]

Imviz

  • Fixed bug where calling jd.show() before batch_load context caused data not to load correctly
    into the viewer(s) due to absence of linking necessary for glue's rendering backend. [#4079]

  • Fixed a bug when trying to change link type multiple times with subsets defined. [#4096]

Specviz2d

  • Fixed bug where loading two 2D spectra failed to display in the spectrum-2d viewer. [#3983]

v4.5.1

06 Mar 20:14
35d0478

Choose a tag to compare

Bug Fixes

  • Fixed bug when deleting subsets in deconfigged. [#3951]

  • Fixed bugs in aperture photometry plugin for images in deconfigged, where the _cube_wave attribute,
    which is not applicable to images, was being accessed. [#3950]

  • Fixes traceback when loading two 2D spectra into the deconfigged app. [#3957]

  • Fixed bug when deleting a viewer with WCS-linked data in deconfigged, and readding the same data
    into a new viewer. [#3976]

  • Fixed a traceback when zooming 2D spectra in deconfigged. [#3981]

  • Fixed filedrop bug where parsers were unable to detect file formats. [#3986]

  • Fixed bug when initializing relevant 2D Spectrum plugins when there are viewers
    with mixed pixel / wavelength spectral units. [#3982]

  • Fixed API hint styling for viewer labels. [#4003]

  • Fixed bug when opening plot options or export from shortcut button when jdaviz
    and lcviz are simultaneously imported. [#4027]

  • Fixed astroquery and virtual observatory loaders not responding properly to link type changes. [#4038]

  • Avoid incorrectly showing "no viewer selected" warning when adding data from some plugins. [#4037]

  • Fix layer filtering logic for plot options to properly show/hide layers based on coordinate and link type. [#4046]

  • Fixed WCS layer being pushed to incorrect viewer types in deconfigged when changing between pixel and WCS linking. [#4049]

  • Avoid crashing Jdaviz if the PyVO vocabularies can't be downloaded. [#4059]

Cubeviz

  • Fixed a traceback when mousing over a 2D viewer with only 2D (non-cube) data loaded into it. [#3959]

Imviz

  • Optimization to orientation plugin to reduce overhead when multiple custom orientations are created. [#3896]

Specviz2d

  • Fixed an issue with GWCS 1.0.3 by updating the try/except to an if check against pixel_n_dim. [#4032]

v4.5.0

15 Dec 19:45

Choose a tag to compare

New Features

  • Loaders now all support "observation" and "file" tables, allowing choosing which file to download
    and import from an astroquery or MAST search. Interactive footprint selection enables displaying
    observation footprints from s_region data as overlays on the image viewer and clicking on
    footprints to select/deselect observations. [#3769, #3894, #3935]

  • Change parallelization framework for better performance and flexibility. [#3806]

  • Plugin-specific viewer tools (footprint, catalogs, line lists, line analysis) now have a
    toggle button in the plugin UI to enable/disable a custom toolbar specific to that context. [#3812]

  • Data selected for load in the UI is now checked against existing data for duplicates
    and the user warned. [#3813]

  • Add check for valid model fitting equation operators. [#3818]

  • Viewers now support being popped out into separate window or sending to any sidecar location via .show()
    API. [#3821]

  • Added descriptive hints for toggleable model fitter parameters in the Model Fitting plugin. [#3831]

  • Add image viewer method for returning a PolygonSkyRegion that outlines the viewer limits. [#3851]

  • AIDA methods setting and retrieving rotation of imviz viewer [#3834]

  • Added ability to delete subsets from the Subset Tools plugin UI and API. [#3853, #3870]

  • Support layer re-ordering by drag-and-drop in viewer data menus. [#3532]

  • Generalize spectrum loading logic to prepare to support Roman ASDF files. [#3864]

  • Add 'Resize in Viewer' to the 'Edit Subset' menu [#3905]

  • The Model Fitting plugin now supports fitting with astropy.modeling.models.Spline1D using
    the astropy.modeling.fitting.SplineSmoothingFitter. [#3882]

  • Update the standalone application launcher to use the solara file browser. [#3941]

  • Update data menu to group children with parents using visual indentation and ordering children below parents. [#3926]

Cubeviz

  • load_data is deprecated in favor of load method and loaders infrastructure. [#3748, #3861, #3911]

  • Loading data is now done through the loaders menu in the right sidebar. The "import data" button is
    deprecated and will open the new sidebar. [#3748, #3872]

  • Aperture photometry and collapse data selection no longer includes uncertainty cubes. [#3910]

  • The default label for collapsed cubes now always includes the input data-label. [#3910]

  • The Slice plugin is renamed to Spectral Slice. [#3925]

Imviz

  • Loading footprints from files/API is now done through the loaders infrastructure. [#3790]

  • Virtual Observatory (VO) plugin functionality is now available through the loaders infrastructure. [#3769]

  • Added interactive footprint selection feature for MAST observations in Imviz.
    Users can now display observation footprints from s_region data as overlays
    on the image viewer and click on footprints to select/deselect observations. [#3894]

  • align_by can be set directly from the Image loader. [#3904]

Specviz2d

  • Allow loading intermediate _bsub pipeline step files for JWST WFSS. [#3786]

  • Generalized cross-dispersion profile plugin to be compatible with the deconfigged jdaviz instance. [#3928]

Rampviz

  • load_data is deprecated in favor of load method and loaders infrastructure.
    This changes the default auto-extraction function to always be "median" as well as
    changes to the default label of the auto-extracted ramp integration. [#3878, #3910]

  • The Slice plugin is renamed to Ramp Slice. [#3925]

API Changes

  • Adds ldr.load() method to the loaders API and suggests using this in API hints over ldr.importer()
    (which will continue to exist). [#3832]

  • Renames model fitting's fitter_component to fitter, with deprecation. [#3944]

Bug Fixes

  • Fixes in model fitting plugin to work better with nonfinite data. [#3792]

  • Fixes in model fitting plugin to correctly update parameter units and values upon unit conversion. [#3858]

Imviz

  • In the Catalog Search plugin, Zoom to Selected button is now moved to below the selection table.
    The button is now hidden when no selection is made. [#3888]

Other Changes and Additions

  • Add rotation keyword argument to set_viewport and get_viewport methods to expand the Astro Image Display API (AIDA) [#3759, #3914]

  • Scatter and histogram viewer support in the deconfigged app instance. [#3778, #3833]

  • Fix missing user API and API hint entries in plugins. [#3900, #3918]

v4.4.2

14 Nov 15:40

Choose a tag to compare

Bug Fixes

  • Fixes traceback raised by the stretch histogram in plot options when entering multiselect mode. [#3825]

  • Add support for all valid astropy table write formats. [#3822]

  • Fix a bug with initializing component models in Model Fitting when Cube Fit was toggle on. [#3857]

  • Fixes an issue where loader widgets were showing outside the app when the entire app was wrapped in a solara component. [#3877]

  • Fixes a bug in parser preference where sometimes an input would go through the specutils parser
    instead of the fits parser. [#3869]

  • Disable cloning viewers in Specviz, Specviz2d, Cubeviz, and Mosviz. [#3876]

Imviz

  • Adds ability to use Ra/Dec if there is no sky_centroid column in a catalog loaded from file
    for the Catalog Search plugin, so exported catalog tables can be loaded into the app. [#3841]

Specviz2d

  • Fix subset linking between pixel/wavelength in Specviz2d viewers. [#3817]

v4.4.1

26 Sep 19:37
633191f

Choose a tag to compare

4.4.1 (2025-09-26)

Bug Fixes

  • Fixes cases where import data raises exception in attempting to set metadata. [#3797]

Cubeviz

  • Speed up loading of large cubes into cubeviz. [#3791]

Specviz2d

  • Automatic spectral extraction now works when multiple 2D spectra are loaded. [#3793]

  • Fixes an incorrect API hint in 2D Spectral Extraction. [#3798]

v4.4.0

18 Sep 19:48

Choose a tag to compare

4.4 (2025-09-18)

New Features

  • The Model Fitting plugin now allows the user to select a fitter from a dropdown menu, with the default being the
    astropy.modeling.fitting.TRFLSQFitter. [#3720]

  • Dropdown menus generated by plugin_select.vue now have the ability to be searched when
    enabled. [#3729]

  • Enable unix style wildcard matching for searches in UI dropdown menus and
    API objects that support multiselect. [#3744, #3752]

  • Loaders now allow selecting which viewer(s) to show the data or whether to create a new viewer. [#3739, #3766, #3774]

  • Ability to change the logger levels and clear the logger history from the UI. [#3745]

  • Initialized model components in Model Fitting now update when units are changed by the
    Unit Conversion plugin. [#3742]

  • Ability to show/hide resolver and loader selection using remote server settings. [#3785]

Specviz

  • Added support for WFSS Level 3 data. [#3729]

  • Spectrum lists default to selecting the first available source. [#3771]

Bug Fixes

Cubeviz

  • Speed up loading of large cubes into cubeviz. [#3787]

Other Changes and Additions

  • When importing a 2D spectrum file into a SpectrumList, surface brightness units are automatically converted to flux units. [#3729]

  • Linking is now generalized to act based on physical type. [#3698]

  • Improve memory usage when loading large cubes in cubeviz. [#3788]

v4.3.2

15 Sep 18:32

Choose a tag to compare

4.3.2 (2025-09-15)

Bug Fixes

  • Fixes support for using jdaviz downstream in lcviz. [#3772]

  • Updated JWST data quality flag for bit 8 to match updated value in stdatamodels. [#3765]

  • Fixed a bug in Line Analysis where spectra were improperly being shifted away from
    0 after continuum subtraction, particularly affecting absorption features. [#3775]

Imviz

  • Allow image importer to accept component labels starting with 'SCI' rather
    than only matching 'SCI' exactly. [#3781]

v4.3.1

03 Sep 20:14
b070bb1

Choose a tag to compare

4.3.1 (2025-09-03)

Bug Fixes

  • Disable some plugins when there is no data loaded into any relevant viewer, and fix tracebacks
    when unloading all data. [#3730]

  • Distance measurement marks now update properly upon unit conversion. [#3716]

  • Use validator on subset layer visibility and subset deletion to ensure toggling visibility and
    deleting subsets from data menu and plot options updates accordingly. [#3708]

  • Fixed a bug in freezable state _set_zoom_radius_center where x/y_min/max values were calculated incorrectly when the viewer was rotated [#3731]

  • Fixed issue in Rampviz where new loader infrastructure was unintentionally exposed. [#3740]

  • Restrict polynomial order value of Polynomial1D model component to be >= 0. [#3741]

  • When all data is unloaded from 1D Spectrum viewer, and new data is loaded, the unit setting in the unit conversion plugin from the initial
    dataset are maintained. [#3746]

Cubeviz

  • Fixed issue with initial model components not using spectral y axis unit. [#3715]

  • Fixed reestimating model parameters when cube fitting in the case where the cube's
    first axis is the spectral axis. [#3717]

  • Fixed issue with initializing model components when a spectral subset is selected and
    Cube Fit is toggled on. [#3727]

Specviz2d

  • Fix various bugs in the Line Analysis plugin, including some issues with spectral axis unit conversions and deletion of subsets. [#3746]

v4.3.0

28 Jul 16:07

Choose a tag to compare

4.3 (2025-05-28)

New Features

  • The Markers plugin now includes a Distance Tool to interactively measure pixel, on-sky, and axis-separated
    (dx, dy) distances in any viewer. The tool features a real-time preview line that follows the cursor. [#3609, #3694]

  • The Plot Options plugin now highlights the tab for the active (top-most) data layer
    in the selected viewer. [#3514]

  • Added an STC-S string region parser to the Footprints plugin. [#3479]

  • General (work-in-progress) centralized app-instance available at top package-level. [#3475, #3526, #3522, #3531, #3555, #3577, #3675, #3682, #3684]

  • Added a results history table to the Line Analysis plugin. Results are no longer updated in realtime with changes to inputs,
    but rather when clicking the button or calling get_results, at which point an entry is added to the results history table
    by default. [#3557]

  • User API access to simplify_subset() method in the Subset Tools plugin. [#3601]

  • Hitting the "Enter" key while changing a value in the Subset Tools plugin will make a call to accept the changes (equivalent to clicking the "Update" button). [#3600]

  • Hitting the "Enter" key while renaming a subset or footprint will accept the changes, hitting "Escape" will cancel. [#3600]

  • Added subset_label keyword argument to import_region method of Subset Tools plugin
    to name the resulting subset(s). [#3616]

  • Ability to import subsets from the Subset Tools plugin UI. [#3639]

  • Aperture Photometry public API exposed, added API hints to plugin. [#3617]

  • Allow custom resolutions when exporting viewers to png or mp4. [#3478]

Cubeviz

  • Ability to ingest and export SkyRegion objects. [#3502]

  • Add sonified layer for each cube created by the Sonify Data plugin. [#3430, #3660]

  • Sonified data can now be added to any image viewer after initial sonification. [#3690]

  • Renamed Spectral Extraction plugin to 3D Spectral Extraction. [#3691]

Imviz

  • load_data is deprecated in favor of load method and loaders infrastructure. Default data-labels
    from load_data may change in some cases, with the actual extension name used in place of [DATA]
    and the version number included along with the extension. [#3662, #3709, #3713]

  • Loading data is now done through the loaders menu in the right sidebar. The "import data" button is
    deprecated and will open the new sidebar. [#3662, #3709]

  • Added ability to load remote data from a S3 URI to Imviz. [#3500]

  • Footprints plugin now supports selecting the closest overlay
    to a clicked point in the image viewer. [#3525, #3539, #3546, #3554]

  • Improve performance by using FITS WCS for reference data layers when linked by WCS, rather than GWCS [#3483, #3535]

  • The Export plugin now supports saving spatial subsets as STC-S strings, including CircleSkyRegion and EllipseSkyRegion,
    which are exported as CIRCLE and ELLIPSE STC-S shapes, respectively. [#3591, #3595]

  • Improve performance by using FITS WCS for reference data layers when linked by WCS, rather than GWCS. [#3483, #3535, #3540, #3687]

Specviz

  • load_data is deprecated in favor of load method and loaders infrastructure. [#3473]

  • Loading data is now done through the loaders menu in the right sidebar. The "import data" button is
    deprecated and will open the new sidebar. [#3473]

Specviz2d

  • load_data is deprecated in favor of load method and loaders infrastructure. [#3473]

  • Loading data is now done through the loaders menu in the right sidebar. The "import data" button is
    deprecated and will open the new sidebar. [#3473]

  • New plugin to vizualize the cross-dispersion profile [#3552]

  • Renamed Spectral Extraction plugin to 2D Spectral Extraction. [#3691]

API Changes

  • Allow get_regions and get_subsets to take a data label and have a subset apply to the wcs of that data.
    By setting a value for wrt_data, the user is requesting a region type that is the opposite of the current link
    type, (i.e. SkyRegion when linked by pixel or PixelRegion when linked by wcs.) Also deprecate the
    return_sky_region kwarg and leave a deprecation warning to use wrt_data instead. [#3527]

Cubeviz

  • Radial profile and curve of growth in Aperture Photometry plugin are now consistent
    with photutils.profiles. [#3510]

  • BEHAVIOR CHANGE: Change import_region method to default to creating a new subset when run.
    Also allow editing a subset using the edit_subset argument. [#3523]

Imviz

  • Radial profile and curve of growth in Aperture Photometry plugin are now consistent
    with photutils.profiles. [#3510]

  • Catalog Search: When catalog is imported from file, its original column names are
    preserved on export. [#3519]

  • User API for Catalog Search plugin (including catalog, max_sources,search,
    table, and table_selected) is now public. [#3529]

Bug Fixes

  • Improve performance when adding/removing subsets by avoiding circular callbacks. [#3628]

  • Disable export and raise vue error message upon selection of unsupported subset format. [#3635]

  • Fixed issue in compute_scale to handle the case when the wcs forward
    transform does not use units, which was previously causing issues when
    aligning by WCS. [#3658]

  • Fixed API hints for viewers in the data-menu. [#3695]

Cubeviz

  • Significantly improved the performance of Cubeviz when creating several subsets in the
    image viewer. [#3626]

  • Broadcast snackbar message to user when sonification of a data cube completes. [#3647]

  • Fixes exporting an image viewer as a movie by starting the movie at the specified slice
    and returning to the correct slice after exporting. [#3710]

Imviz

  • Catalog Search: Fixed a bug where the plugin modifies the input table if
    import_catalog is used on a table instance (not from file). [#3519]

  • Fix dropdowns for overlay not showing in UI. [#3640]

  • Prevent image wrapping in Imviz with Roman L2 images with GWCS. [#2887]

  • Fix get_zoom_limits when WCS linked and out of image bounds. [#3654]

Specviz2d

  • Fixed an issue with default angle unit being set in unit conversion plugin, which fixed
    a bug when background data from the spectral extraction plugin is added to the viewer. [#3661]

  • Fixed a bug loading array traces into Specviz2d. [#3697]

Other Changes and Additions

  • Bumped minimum version of photutils to v2.2 and Python to 3.11. [#3510]

  • Bumped minimum version of specutils to 2.0. [#2922]

  • Added strauss, qtpy, PySide6 and roman_datamodels to the list of optional
    dependencies installed with the [all] extra dependencies flag
    (i.e., pip install jdaviz[all]). [#3556]

  • Auto-update sonification label upon adding sonification to viewer. [#3430, #3656]