Contents

MōBrowser 2.10.0

We’re happy to announce MōBrowser 2.10.0.

What’s new 

Split View 

In the previous release, we introduced the ability to embed multiple browser views into a single window. In this release, we introduce the SplitView class that allows you to arrange two child views separated by a draggable splitter.

The following example shows how to create a window with two browser views separated by a horizontal draggable splitter:

import { BaseWindow, BrowserView, SplitView } from '@mobrowser/api';

const browserViewOne = new BrowserView({
  url: 'https://maps.apple.com/'
})

const browserViewTwo = new BrowserView({
  url: 'https://chatgpt.com/'
})

const splitView = new SplitView({
  orientation: 'vertical',
  firstView: browserViewOne,
  secondView: browserViewTwo,
  splitterPosition: 450,
  splitterWidth: 4
})

const win = new BaseWindow({
  size: { width: 900, height: 600 },
  windowTitleVisible: false,
  windowTitlebarVisible: true
})
win.contentView.addChildView(splitView)
win.show()

Here’s a short video showing the split view in action:

Building & Packaging 

The build process is now split into two commands: build and pack.

The npm run build command builds the application, signs and notarizes the binaries. The npm run pack command takes the signed binary and produces the native installer for the current platform along with auto-update packages.

This split allows injecting an external signing step (such as Azure Artifact Signing) after the build command in your CI/CD workflow:

buildsign (app binaries)packsign (native installer)

The release.yml GitHub Actions workflow file has been updated to reflect this split and now includes support for the Azure Artifact Signing Action for Windows code signing.

During local development, you can run both commands one by one to build the application and create the native installer for the current platform:

npm run build && npm run pack

Fixes and improvements 

  • The sensitive information such as email addresses, passwords, Apple IDs is now removed from the build logs during signing and notarization when the --verbose flag is used.
  • Improved the native module build performance. The incremental development build now skips the native module CMake compilation when src/native/, CMakeLists.txt, and the SDK CMake helpers are unchanged, saving several seconds on every rebuild that doesn’t touch native code.
  • Fix the bug when an incorrect app icon is applied to the application on Linux during branding.