Skip to main content

v4.0.3 Release

· 10 min read

Hello all! We are happy to announce this new major version update to JBrowse 2

There are a lot of improvements large and small

New "Collapsed introns" view

Users can right-click a gene and launch a 'Collapsed introns' view that focuses on just the exonic regions. The RNA-seq alignments work with this view also, with sashimi arcs connecting across the different regions

Screenshot From 2025-12-10 22-36-47

Screenshot From 2025-12-02 09-20-40

New "Canvas features" track type

We have replaced the SVG feature renderer with a new HTML5 canvas feature renderer. This has improved user experience and also comes with new functionality including:

  • Per-transcript mouseover and feature clicks
  • Ability to show only the "Longest transcript" for gene glyphs with many subtranscripts
  • Improved performance
  • Directional chevrons

image

Screenshot showing the "Longest transcript" option

Alignments track performance improvements

Our BAM and CRAM parsers were updated with a variety of performance optimizations. We analyzed the entire stack and added

  • low level binary for parsing CIGAR strings
  • using WASM for parsing
  • using mosdepth style coverage calculations
  • improved speed for deep RNA-seq data

And much more

Alignments track mouseovers and new features

We also added many usability improvements to the alignments tracks like adding the ability to mouseover and click individual insertions, mismatches, deletions, etc.

image

Users can also optionally turn off drawing mismatches entirely...sometimes it's not what you care to see!

"Linked read display" improvements

In v3.7.0 we announced the "Linked read display" mode (https://jbrowse.org/jb2/blog/2025/11/07/v3.7.0-release/#create-linked-read-display-for-alignments-tracks) which connects paired end or split long reads. This new release allows drawing mismatches on the reads, and generally behaves a lot like the normal alignments track!

Screenshot From 2025-12-29 17-23-07

Screenshot showing an inversion with split long reads (the red->blue->red chain indicates a single split long read flipping orientation in the middle) and paired-end short reads (blue and green reads indicate aberrant pairing)

Display color legends on screen

We added the ability to show legends on a variety of display types, which will help users understand the meaning of colors on the screen!

"Save track data"

Users can now export data in the visible region in a variety of formats, tailored to the track type and file type of interest. This was a commonly requested feature, so we are excited to finally solve it

Simplified configuration

Users no longer have to explicitly supply 'sequenceAdapter' to BAM and CRAM files. It will infer the sequence adapter from the assembly. Anyone who directly works with JBrowse configuration files will benefit from this simplification!

image

Screenshot showing a simplified config for a CRAM track

Much faster load time for large tracklists

Previously, when a JBrowse instance had more than a couple thousand tracks, the startup time would slow down dramatically. We made internal changes to our track loading that now makes these load times virtually instant now! This was enabled by making track configuration models instantiated only when the track is opened, which plugin authors should be aware of

load_time_comparison

Graph showing the load time of different tracklist sizes in v3.7.0 and v4.0.0, showing runaway showness with v3.7.0 after just a couple thousand tracks that is now under control in v4.0.0

Easily filter variant samples by genotype

This allows users to easily filter the variants in the feature detail widget by genotype. It can also be toggled to filter by 'dosage' which is helpful for polyploid organisms

image

New "Workspaces" feature for tiled window management!

We added the Dockview (https://dockview.dev) window manager to the app interface, so you can now create left-right splits, top-bottom splits, new tabs, and more in jbrowse web and desktop. This enables a large variety of extra layouts compared with the previous vertical-stack-only limitation of previous JBrowse 2 versions!

Screenshot From 2025-12-10 21-33-08

Screenshot showing left-right split

Improved user-experience when side-scrolling

Wiggle and Hi-C tracks will now stay on the screen while new renderings (e.g. change to y-axis scale) are re-computing. It is a subtle change that we hope improves user-experience!

Breaking changes

There are a large number of internal changes, and it would be hard to fully enumerate all the changes, but some of the changes include

  • Splitting renderProps (for webworker renderer) and renderingProps (main thread)
  • Changing mobx-state-tree to @jbrowse/mobx-state-tree https://github.com/GMOD/mobx-state-tree
  • Changing jexl to @jbrowse/jexl https://github.com/GMOD/jexl
  • Removal of @jbrowse/plugin-svg, automatically remapping to CanvasFeatureRenderer
  • Make all packages "pure-ESM", may affect node.js usage

A variety of other internal changes took place. If you see any problems after migration, please let us know and we will be happy to work with you to help

User survey

We have started a new survey here https://forms.gle/dy41TWmKe8KPRews7 to help gather user experiences with JBrowse. We know that it is not always easy to get the courage to create github issues but any feedback large or small is welcome!

Downloads

To install JBrowse 2 for the web, you can download the link above, or you can use the JBrowse CLI to automatically download the latest version. See the JBrowse web quick start for more details.

Changelog

bug

  • Fix smaller genomic region being shown when using &tracklist=true URL params (#5388) @cmdcolin
  • Fix color by CDS / calculation of phase on BED12/bigbed files (#5384) @cmdcolin
  • Fix hot module reload losing app state (#5374) @cmdcolin
  • Fix issue where multiple sub-menus could open up at once (#5308) @cmdcolin
  • Avoid changing displayed regions set when using "Center at feature" in synteny view (#5281) @cmdcolin
  • Avoid 'polynomial regex' in assembly name parsing (#5258) @cmdcolin
  • Fix export of SVG hanging if track had error (#5234) @cmdcolin
  • Reduce coarseStripHTML regex complexity to address codeql warning (#5233) @cmdcolin
  • Fix click-and-drag starting from a inter-region padding block (#5226) @cmdcolin
  • Add cancellation stop tokens for linear read arc/cloud displays (#5221) @cmdcolin

dependencies

  • Update to jest 30 (#5223) @cmdcolin

documentation

  • Add PAG 2026 user tutorial (#5340) @garrettjstevens

enhancement

  • Show full dotplot when zoomed all the way out (#5387) @cmdcolin
  • Switch to pnpm as package manager and add ESM "exports" to packages (#5382) @cmdcolin
  • Re-organize 'track action' menu items into a submenu (#5378) @cmdcolin
  • Remove BroadcastChannel from SessionLoader (#5375) @cmdcolin
  • Allow plugins to make custom radio items for synteny import forms (#5373) @cmdcolin
  • Allow easily filtering samples in the variant feature details by genotype/dosage (#5366) @cmdcolin
  • Allow clicking transcript subfeatures of a gene glyph (#5363) @cmdcolin
  • Add --excludeTracks to jbrowse text-index (#5354) @cmdcolin
  • Use custom 'jexl' fork with multi-statement evaluation and template strings (#5353) @cmdcolin
  • Search indexedDB for old sessions when using a local- type URL (#5346) @cmdcolin
  • Filter out defaults from session snapshots (#5339) @cmdcolin
  • Add general concept for showing legends on tracks (#5337) @cmdcolin
  • Improve mouseover and clicking on mismatches/modifications on SNPCoverage (#5336) @cmdcolin
  • Create layout optimizations for deep RNA-seq data (#5330) @cmdcolin
  • Filter sashimi arcs by score (#5329) @cmdcolin
  • Multiple optimizations for alignments tracks (#5326) @cmdcolin
  • Add WASM code for unzipping in CRAM, BAM, BigWig, Tabix, etc. (#5320) @cmdcolin
  • Optimizations for multi-wiggle tracks (#5318) @cmdcolin
  • Add optional directional 'chevrons' to the gene glyphs (#5317) @cmdcolin
  • Collapse introns transcript selector (#5316) @cmdcolin
  • Avoid "import form flash" during loading (#5314) @cmdcolin
  • Avoid drawing tick labels that overlap block boundaries (#5312) @cmdcolin
  • Create pluggable glyph system for canvas feature renderer (#5311) @cmdcolin
  • Create optimizations for alignments track (#5310) @cmdcolin
  • Improve bigwig Y-scalebar label legibility (#5307) @cmdcolin
  • Make BAM and CRAM adapters use assembly sequence adapter (#5305) @cmdcolin
  • Add gridlines option for SVG export (#5303) @cmdcolin
  • Aggregate insertion stats in on SNP coverage track (#5301) @cmdcolin
  • Add "tiled window manager" to JBrowse apps (#5300) @cmdcolin
  • Aggregate insertion stats for tooltip (#5294) @cmdcolin
  • Simplify VCF feature descriptions (#5292) @cmdcolin
  • If &loc= is not specified in URL bar, then show all regions of the genome (#5289) @cmdcolin
  • Improve track drag-n-drop re-ordering on linear genome view (#5288) @cmdcolin
  • Allow rendering inter-chromosomal contacts with Hi-C renderer (#5284) @cmdcolin
  • Add better source maps in error stack trace on desktop app (#5280) @cmdcolin
  • Increase lazy loading of some react components (#5278) @cmdcolin
  • Add ability to click and mouseover RNA-seq junction arcs (#5277) @cmdcolin
  • Add ability to mouseover and click on 'insertions' on SNPCoverage track (#5276) @cmdcolin
  • Refactor the renderer and RPC stack (#5270) @cmdcolin
  • Allow putting helpText on WidgetType (#5268) @cmdcolin
  • Allow rapid clicking of zoom in and out buttons (#5266) @cmdcolin
  • Use SanitizedHTML on category names (#5264) @cmdcolin
  • Improve performance of track list using custom virtualization routines (#5263) @cmdcolin
  • Add ability to show longest transcript only and easily filter out gene glyphs (#5259) @cmdcolin
  • Fix scrolling on multivariant display types (#5256) @cmdcolin
  • Create new 'renderingProps' concept for the 'rendering' react component as a complement to 'renderProps' for renderer (#5255) @cmdcolin
  • Floating labels optimizations (#5251) @cmdcolin
  • Optimize the search box using uncontrolled component style (#5250) @cmdcolin
  • Optimizations for fast updating linear genome view scroll elements (#5249) @cmdcolin
  • Refactor VcfFeature for speed and clarity (#5247) @cmdcolin
  • Use numeric encodings for SEQ and CIGAR fields for BAM (#5246) @cmdcolin
  • Allow drawing transcript subfeature labels on canvas features (#5245) @cmdcolin
  • Limit showing mismatch mouseovers on alignments tracks (#5241) @cmdcolin
  • Allow clicking on mismatches and insertions on alignments track to get more info (#5238) @cmdcolin
  • Add ability to draw hierarchical tree from clustering on multi-sample variant view (#5236) @cmdcolin
  • Globally stop swipe action from producing back/forward actions on jbrowse-web (#5229) @cmdcolin
  • Preserve old visualization during block re-rendering (#5227) @cmdcolin
  • Scroll only the matrix part of the multi-sample variant viewer (#5222) @cmdcolin
  • Scroll only pileup part of the alignments track (#5220) @cmdcolin
  • Add mismatches to linked reads display, and make linked read and read arc webworker rendered (#5218) @cmdcolin
  • Add 'super-compact' display mode for alignments tracks (#5217) @cmdcolin
  • Optimizations for granular rect layout (#5214) @cmdcolin
  • Add canvas based renderer for regular gene feature tracks (#5213) @cmdcolin
  • Add some micro-optimizations for gridlines and scalebar labels (#5210) @cmdcolin
  • Add some help text to display types (#5207) @cmdcolin
  • Remove react-dom/server usage in webworker (#5205) @cmdcolin
  • Vendor @jbrowse/mobx-state-tree (#4938) @cmdcolin
  • Optimizations to support large tracklists (#4499) @cmdcolin
  • Save track data method on base track model (#3439) @cmdcolin

housekeeping

  • Create simplified browser test suite using puppeteer (#5267) @cmdcolin

internal

  • Use mobx-state-tree patches instead of full snapshots for undo manager (#5309) @cmdcolin
  • Change JBrowse CLI to use 'fetch against the filesystem' with file:/// (#5304) @cmdcolin
  • Vendor tss-react/mui dependency (#5271) @cmdcolin
  • Fix depcheck warnings (#5257) @cmdcolin
  • Remove use-query-params library (#5248) @cmdcolin
  • Use 'gh CLI' for release (#5235) @cmdcolin
  • Add explicit github workflow permissions (#5232) @cmdcolin
  • Remove unused makeStyles classes (#5208) @cmdcolin

v3.7.0 Release

· 6 min read

Hi everyone, This is a big release on many fronts! Here are some highlights

JBrowse 2 genome hubs https://genomes.jbrowse.org

We created a new website at https://genomes.jbrowse.org that features new JBrowse 2 instances for over 50,000 species. This massive effort is primarily driven by bulk loading data curated by the UCSC genome browser team, both their main browsers and GenArk hubs, which have data for thousands of NCBI RefSeq (curated) and GenBank genomes

All of these JBrowse 2 instances are available on both the web and on the desktop app

Users can even browse "synteny views" between the different hubs by opening a liftOver track, see https://genomes.jbrowse.org/demos/ for example

Screenshot of hg38 vs hs1, as seen in the demos page

Synteny and dotplot viewer improvements

We added some new features to the dotplot and synteny view, including:

  • Opacity/transparency slider
  • Min length slider
  • Easy picker for new color schemes
  • Auto-diagonalization to reorder chromosomes
  • "Location markers" for helping see where you are in large alignments

A screenshot of the grape vs peach with "Color by Query" enabled in the dotplot and synteny view

Screenshot of the location markers, which help orient where you are in large alignments

Draw amino acids on Gene glyphs

The setting "Color by CDS" added the ability to draw amino acid letters (and was thus renamed "Color by CDS and draw amino acids").

This can help with detailed investigations of protein structures, which is an area we are actively developing (see https://github.com/GMOD/proteinbrowser for more information)

Create 'Linked read display' for Alignments tracks

Users can now see paired-end reads and supplementary alignments as linked entities using the "Linked reads display". This can be particularly useful for structural variant inspection.

We included a variety of specialized options to help users dig into their data, including:

  • Show/hide proper pairs
  • Show/hide 'singletons' (reads without pairs or supplementary alignments)
  • Coloring schemes that highlight misoriented pairs and abnormally large insert sizes
  • And more

Screenshot showing the "Linked reads display" with PacBio, Nanopore, and Illumina paired-end reads. The long reads with split alignments are colored salmon and light blue so that you can see the flip in orientation from positive to negative, and back to positive again. The short paired-end reads are colored navy and green to show the misoriented pairs

Screenshot showing a variety of SV types with our mock test data

Improved modified reads plotting

Some of the code for handling modifications was given a fresh refactor, which fixed bugs with 'duplex' data where modifications are stored on both a positive and negative pass on the same read

Here is an example of a screenshot showing chromatin accessibility via introduced 6mA methylation from a Nanopore dataset (source: https://epi2me.nanoporetech.com/chromatin-acc-hg002/)

Conclusion

Let us know if you have any feedback on these new features! Enjoy

Downloads

To install JBrowse 2 for the web, you can download the link above, or you can use the JBrowse CLI to automatically download the latest version. See the JBrowse web quick start for more details.

3.7.0 (2025-11-07)

🚀 Enhancement

  • core
    • #5201 Add 'bulk operations' to the multi-wiggle color editor (@cmdcolin)
    • #5197 Ability to make help text on menu items (@cmdcolin)
    • #5183 Add ability to link supplementary alignments and pairs (@cmdcolin)
    • #5136 Add ability to mouseover alignments tracks (@cmdcolin)
    • #4967 Add ability to connect to genark and UCSC browsers to jbrowse desktop (@cmdcolin)
  • Other
    • #5195 Add ability to adjust alpha, min alignment length, color scheme and option to diagonalize synteny plots (@cmdcolin)
    • #5196 Optimize gridlines component (@cmdcolin)
    • #5188 Add searchable header bar to breakpoint split view (@cmdcolin)
    • #5186 Fix the display of 'duplex' sequence modifications on BAM files and default to only showing mods >=10% (@cmdcolin)
    • #5182 Add deletions and mismatches to the pileup mouseover (@cmdcolin)
    • #5178 Add CDS protein numbering to glyphs (@cmdcolin)
    • #5169 Use more accurate alpha blending for synteny view (@cmdcolin)
    • #5162 Add some support for SVLEN to infer the END of a variant from VCF 4.5 (@cmdcolin)
    • #5122 Link to "Genomes" in jbrowse website header bar (@cmdcolin)

🐛 Bug Fix

  • core
  • Other
    • #5175 Fix for tracks from wrong assembly showing up in track list when using connections (@cmdcolin)
    • #5170 Update gff-nostream dependency to fix features not found errors (@cmdcolin)
    • #5169 Use more accurate alpha blending for synteny view (@cmdcolin)
    • #5164 Fix SV inspector data grid filtering synchronization with circular view (@cmdcolin)
    • #5161 Add missing "tmp" dependency to @jbrowse/cli package.json (@garrettjstevens)

🏠 Internal

Committers: 2

v3.6.5 Release

· 2 min read

This release contains a couple small bugfixes related to refresh-less installing plugins

Downloads

To install JBrowse 2 for the web, you can download the link above, or you can use the JBrowse CLI to automatically download the latest version. See the JBrowse web quick start for more details.

yarn run v1.22.22 $ lerna-changelog --silent --silent --next-version 3.6.5

3.6.5 (2025-09-11)

🚀 Enhancement

  • #5142 Load jbrowse config passed as CLI arg to jbrowse desktop, and support .jbrowse file extension (@amorison)
  • #5144 Convert GC content calculation to rolling average for speed improvement (@cmdcolin)

🐛 Bug Fix

🏠 Internal

Committers: 3

v3.6.4 Release

· 2 min read

Hi all, This release adds a couple bugfixes

Please see the release notes below

Downloads

To install JBrowse 2 for the web, you can download the link above, or you can use the JBrowse CLI to automatically download the latest version. See the JBrowse web quick start for more details.

yarn run v1.22.22 $ lerna-changelog --silent --silent --next-version 3.6.4

3.6.4 (2025-07-21)

🚀 Enhancement

  • core, web-core
    • #5101 Add concept of loading a JBrowse 2 config.json as a connection, and add extension point to allow plugins to lazy load configs (@cmdcolin)
  • Other
  • product-core

🐛 Bug Fix

  • core
    • #5120 Generalize parse line by line function to fix bed, gff3, and other types of files with no trailing newline (@cmdcolin)
    • #5111 Fix issue where multiple cascading submenus could be opened at once (@cmdcolin)
  • Other
    • #5118 Avoid clearing click-and-drag rubberband boundaries onMouseOut to fix "Zoom to region", bookmark region, etc. (@cmdcolin)
    • #5115 Fix 'Add track widget' bug when changing input filename (@cmdcolin)

Committers: 2

v3.6.3 Release

· One min read

Hi all, This quick release fixes issues with opening local files on JBrowse Desktop

Downloads

To install JBrowse 2 for the web, you can download the link above, or you can use the JBrowse CLI to automatically download the latest version. See the JBrowse web quick start for more details.

yarn run v1.22.22 $ lerna-changelog --silent --silent --next-version 3.6.3

Done in 0.81s.

v3.6.2 Release

· 3 min read

Hello all,

This release includes a relatively large refactoring of the CLI to use built-in node.js arg parsing, but other than that, these are just small bugfixes and usability improvements. Please see release notes for more info

Downloads

To install JBrowse 2 for the web, you can download the link above, or you can use the JBrowse CLI to automatically download the latest version. See the JBrowse web quick start for more details.

yarn run v1.22.22 $ lerna-changelog --silent --silent --next-version 3.6.2

3.6.2 (2025-07-10)

🚀 Enhancement

  • Other
  • core
    • #5095 Fix alpha rendering of SVG renderer box stroke/fill (@cmdcolin)
    • #5086 Add status message reporting for synteny view loading (@cmdcolin)

🐛 Bug Fix

  • Other
    • #5100 Fix adding .pif file from dotplot and linear synteny import form (@cmdcolin)
    • #5098 Also migrate the linear-comparative-view rubberband tooltip to default MUI tooltip to avoid potential UI hangs (@cmdcolin)
    • #5097 Fix make pif on large files throwing ENOBUFS error in certain cases (@cmdcolin)
    • #5089 Additional type check to catch non-string MM tags from older Cell Ranger version BAM files (@haessar)
    • #5085 Fix rubberband getting stuck under certain conditions (@cmdcolin)
    • #5080 Fix crash on multi-wiggle importer on jbrowse-web (@cmdcolin)
  • core
    • #5095 Fix alpha rendering of SVG renderer box stroke/fill (@cmdcolin)

📝 Documentation

  • #5099 Update readme with short description of what JBrowse 2 is, new links, and publications (@cmdcolin)

🏠 Internal

  • __mocks__, app-core, core
    • #5077 Bump generic-filehandle with mock for test environment (@cmdcolin)

Committers: 2

v3.5.1 Release

· 4 min read

Hi all, This has a number of small bugfixes and features. Here are a couple highlights

Better dropdown menus

In previous releases, the dropdown submenus would close the instant your mouse left their boundaries, but now, they stay open until you select a menu item or click away. This can be very useful when accessing nested submenus

Ability to customize root configuration

We added the ability for plugins to add new entries to the root configuration. This now makes it possible to add easy-to-access configuration for your plugin. Example:

export default class MsaViewPlugin extends Plugin {
name = 'MyPlugin'

install(pluginManager: PluginManager) {}

configure(pluginManager: PluginManager) {}

rootConfigurationSchema(pluginManager: PluginManager) {
return {
mything: ConfigurationSchema('MyConfig', {
greetings: {
type: 'string',
defaultValue: 'hello world',
},
}),
}
}
}

A user could then customize their greeting in a new way like

{
"assemblies": [...],
"tracks": [...],
"plugins": [...],
"mything": {
"greetings": "hello jbrowsers"
}
}

This can then be used in your code by readConfObject(session.jbrowse, ['mything','greetings'])

Here is an example used by the MSA view plugin https://github.com/GMOD/jbrowse-plugin-msaview/blob/7027f01abe2b4253fd2a250021d2b13a1b4f2fce/src/index.ts#L37-L59

We anticipate that this will enable new and easier plugin customizations

More small updates

See the release notes below for more info

Downloads

To install JBrowse 2 for the web, you can download the link above, or you can use the JBrowse CLI to automatically download the latest version. See the JBrowse web quick start for more details.

yarn run v1.22.22 $ lerna-changelog --silent --silent --next-version 3.5.1

3.5.1 (2025-06-05)

🚀 Enhancement

  • Other
    • #5064 Optimize fetching many small sequences from IndexedFasta (e.g. MSA datasets) (@cmdcolin)
    • #5059 Canonicalize refNames in search results (@cmdcolin)
    • #5056 Use assembly displayName on synteny header and ruler (@garrettjstevens)
    • #5050 Use standard sessionId for linear synteny view to reduce data re-fetching (@cmdcolin)
  • app-core, core, embedded-core
    • #5063 Improve usability of dropdown menus by making submenus not disappear immediately onMouseLeave (@cmdcolin)
  • core
  • app-core, core
    • #5044 Allow plugins to register entries onto the root configuration (@cmdcolin)

🐛 Bug Fix

📝 Documentation

🏠 Internal

  • Other
  • core
    • #5061 Modularize some integration tests for launching views (@cmdcolin)

Committers: 2

v3.5.0 Release

· 3 min read

Allow user to draw only matches in synteny view

The synteny view can display long alignments, including insertions and deletions. However, particularly in chain files, the specific "insertion/deletion" markers are less meaningful as a large insertion+deletion pair is often used to connect more high-scoring alignments across large distances

image image

Screenshot before/after toggling the setting to show only matches

Removal of the "Start screen" from jbrowse-web

This release removes the "start screen" from jbrowse-web. Instead of showing the start screen, users are just dropped straight into the main jbrowse 2 interface. This will hopefully "drop users into the action" faster.

Bug fixes

Some notable bug fixes include

  • Fix for loading bigwig files created by bigtools (a newer Rust-based bigwig toolkit)
  • Fix for certain breakpoint split view workflows fetching too much data and freezing

Feel free to let us know if you have any feedback

Downloads

To install JBrowse 2 for the web, you can download the link above, or you can use the JBrowse CLI to automatically download the latest version. See the JBrowse web quick start for more details.

yarn run v1.22.18 $ lerna-changelog --silent --silent --next-version 3.5.0

3.5.0 (2025-05-27)

🚀 Enhancement

  • #5042 Avoid inferring CDS subfeatures from non-coding gene pred features (@cmdcolin)
  • #5035 Use trash icon for uninstall in plugin store, and add version number string (@cmdcolin)
  • #4735 Remove jbrowse-web start screen (@cmdcolin)
  • #5025 Allow hiding insertion and deletion in synteny view to help chain file visualization (@cmdcolin)

🐛 Bug Fix

  • Other
    • #5037 Check that breakpoint split view is ready before fetching to avoid crash/large data fetching (@cmdcolin)
    • #5033 Bump @gmod/bbi to fix loading bigwig files from bigtools (@cmdcolin)
    • #5024 Fix lines crossing over view headers in breakpoint split view by only setting sticky view headers on top-level views (@cmdcolin)
  • core

🏠 Internal

  • core
  • Other
    • #5036 Remove the async keyword from BaseLinearDisplayModel (@cmdcolin)

Committers: 2

v3.4.0 Release

· 4 min read

Hello all, this release adds a small set of features and bugfixes

Improved gene name searching

We added a fuzzy finder library (uFuzzy) that helps prioritize the results returned by our text search (e.g. trix), so gene name searching should provide much more relevant results

Updated documentation with new screenshots

We updated gallery (https://jbrowse.org/jb2/gallery/) with new screenshots and live links, and are rolling out updated screenshots throughout the docs pages to be more up to date and high quality

Misc

We also fixed a bug in methylation/modifications rendering that caused crashes in v3.2.0-v3.3.0 and updated Electron to v36 (which now uses GTK4 on linux)

Downloads

To install JBrowse 2 for the web, you can download the link above, or you can use the JBrowse CLI to automatically download the latest version. See the JBrowse web quick start for more details.

yarn run v1.22.18 $ lerna-changelog --silent --silent --next-version 3.4.0

3.4.0 (2025-05-13)

🚀 Enhancement

  • core
    • #5018 Avoid serializing large features to sessions to fix quota exceeded errors in localstorage (@cmdcolin)
    • #5010 Add mouseover metadata for fields in the base feature widget (@cmdcolin)
    • #4998 Add padding to the genomic window of search result hits (@cmdcolin)
    • #4995 Add uFuzzy to improve gene name search (@cmdcolin)
    • #4983 Update some data parser packages for ESM compat (@cmdcolin)
    • #4980 Synthesize displayId if none provided in display config (@cmdcolin)
    • #4972 Support cytoband bed files starting with "#" (@cmdcolin)
  • Other
    • #5008 Allow parsing non-indexed BED files larger than 512MB (@cmdcolin)
    • #4997 Better message for "quota exceeded" message from localstorage (@cmdcolin)
    • #4974 Minor optimizations in multi-sample variant rendering (@cmdcolin)
    • #4973 Add basic cytoband for Drosophila (@cmdcolin)
    • #4970 Dynamically toggle wheel-scroll normalization to improve touchpad pinch-to-zoom usage (@cmdcolin)

🐛 Bug Fix

  • core
    • #5013 Fix UCSC chain parsing which have header lines (@cmdcolin)
    • #4993 Fix re-export of @mui/material/styles, and re-export theme (@cmdcolin)
    • #4968 Fix theme augmentation for primary/secondary colors in v3.3.0 (@cmdcolin)
  • Other
    • #5004 Fix modifications rendering broken in v3.2.0 (@cmdcolin)
    • #4992 Fix mouseover for some variable width bigwig features (@cmdcolin)
    • #4984 Avoid rendering 'yellow' for low scores in wiggle density renderings with 'log-scale' enabled (@cmdcolin)
    • #4969 Avoid aggregating bigbed features with geneName === 'none' (@cmdcolin)

📝 Documentation

🏠 Internal

Committers: 2

v3.3.0 Release

· 4 min read

Hello all,

This release adds a significant update to the multi-variant renderer that allows it to be used for visualizing structural variants Previously, all variants >10bp were filtered out, with the idea that overlapping variants are too difficult to interpret

This PR now allows drawing large structural variants in the multi-sample variant display type. It will actually draw long, even overlapping, structural variants!

image

Figure: Screenshot showing many SV calls over a 5Mbp+ region from the 3,202 human samples from the 1000 genomes project, with a large "inversion" variant showing the shaded triangles. The right side panel shows the feature details for this inversion variant showing the new genotype frequency panel, indicating about 47% of samples have a 'heterozygous' inversion call here

image

Loading a random track, and turning on the arc display, there are indications of a large variant for a random sample here (green and navy arcs indicate discordant read pairing associated with inversion)

We hope that you enjoy these new features! The visualizations may be visually complex but we hope it can be a magnifying glass to reveal important patterns of your datasets! Feel free to let us know if you have any feedback

Downloads

To install JBrowse 2 for the web, you can download the link above, or you can use the JBrowse CLI to automatically download the latest version. See the JBrowse web quick start for more details.

yarn run v1.22.22 $ lerna-changelog --silent --silent --next-version 3.3.0

3.3.0 (2025-04-18)

🚀 Enhancement

🐛 Bug Fix

  • Other
    • #4929 Fix broken bigbed features when there is gene level aggregation (@cmdcolin)
  • core

📝 Documentation

  • core
    • #4949 Controlling navigation of embedded component - storybook examples (@cmdcolin)
    • #4924 Add config docs for pre-processors with simplified config snapshots (@cmdcolin)
  • Other

🏠 Internal

  • core

Committers: 1