Skip to main content

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