Nasticity 0.13 Mac OS
Is your Mac up to date with the latest version of the Mac operating system? Is it using the version required by a product that you want to use with your Mac? Which versions are earlier (older) or later (newer, more recent)? To find out, learn which version is installed now.
All versions of Mac OS X that were made to run on PowerPC systems (with the exception of Leopard) had a Mac OS 9 emulation layer called 'Classic'. It allowed Mac OS X to run Mac OS 9 applications that weren't updated to run natively on OS X (known as carbonization based on the Carbon API). Global Nav Open Menu Global Nav Close Menu; Apple; Shopping Bag +.
If your macOS isn't up to date, you may be able to update to a later version.
Which macOS version is installed?
From the Apple menu in the corner of your screen, choose About This Mac. You should see the macOS name, such as macOS Big Sur, followed by its version number. If you need to know the build number as well, click the version number to see it.
Which macOS version is the latest?
These are all Mac operating systems, starting with the most recent. When a major new macOS is released, it gets a new name, such as macOS Big Sur. As updates that change the macOS version number become available, this article is updated to show the latest version of that macOS.
If your Mac is using an earlier version of any Mac operating system, you should install the latest Apple software updates, which can include important security updates and updates for the apps that are installed by macOS, such as Safari, Books, Messages, Mail, Music, Calendar, and Photos.
macOS | Latest version |
---|---|
macOS Big Sur | 11.3 |
macOS Catalina | 10.15.7 |
macOS Mojave | 10.14.6 |
macOS High Sierra | 10.13.6 |
macOS Sierra | 10.12.6 |
OS X El Capitan | 10.11.6 |
OS X Yosemite | 10.10.5 |
OS X Mavericks | 10.9.5 |
OS X Mountain Lion | 10.8.5 |
OS X Lion | 10.7.5 |
Mac OS X Snow Leopard | 10.6.8 |
Mac OS X Leopard | 10.5.8 |
Mac OS X Tiger | 10.4.11 |
Mac OS X Panther | 10.3.9 |
Mac OS X Jaguar | 10.2.8 |
Mac OS X Puma | 10.1.5 |
Mac OS X Cheetah | 10.0.4 |
- Migrate from 0.12 to 0.13
- API Changes
Architecture Changes
- NW.js application is running as a Chrome App internally. All chrome.* platform APIs and features can be used in NW application now. The default protocol is changed from
file://
tochrome-extension://
, where the host part of the URL is the generated id. Theapp://
protocol in 0.12 is replaced bychrome-extension://
protocol. - All NW specific APIs, including
require()
is moved into anw
object from thenw.gui
library. However, we provided a builtin wrapper library to provide compatibility for 0.12 apps. You can usenw.gui
library for some time before we deprecate it in 0.14 or later. - The Node.js context is put in the DOM context of the background page, which is shared between opening windows as in 0.12 and before. The difference is you have access to all DOM features and chrome.* platform APIs in the Node context in 0.13.
- To debug Node.js modules, you have to open DevTools for background page in Separate Context Mode by default. See Debugging with DevTools for details.
- The entry of the application is either JS or HTML as in 0.12, but as the application is internally a Chrome App, the first window is supposed to be launched by JS from the background page. If you specify a HTML file as the entry with “main” field in package.json, NW will use a default JS to open the first window and load it.
- If NW.js is running under Mixed Context Mode (boot NW.js with
--mixed-context
argument),nw.*
is kind of mirror ofwindow.*
. In this mode, you CANNOT share variables among frames or windows by assigning it to Node context. So do NOT turn on Mixed Context mode if your application is heavily depending on this variable sharing feature.
Node.js Changes
- Node.js is bumped to 6.x in latest build. Check your NPM modules to make sure they support Node.js 6.x especially for native modules. There is a list of native modules which should be migrated to latest NaN 2.
- Add NW version information to process.versions[
nw
]. process.versions[node-webkit
] will be deprecated later.
API Changes
Build Flavors
- Different build flavors support different set of APIs and capabilities. See Build Flavors to choose the right NW.js flavor or build your own.
Shorcut
Shortcut
API does NOT map Ctrl modifier to ⌘ on Mac OS X. However 0.13.0 supportsCommand
modifier in cross platform way. So it’s your responsible to detect the OS and choose the right modifier when registering hotkeys. See Shortcut.key for details.
Menu
- Menus on Mac is created with default menubar, including
app-name
,Edit
andWindow
, instead of minimal menubar in 0.12. - To fix the name of application menu, you will need to modify
nwjs.app/Contents/Resources/en.lproj/InfoPlist.strings
instead ofnwjs.app/Contents/Info.plist
. See Customize Menubar.
Manifest Format
single-instance
is deprecated and it’s alwaystrue
. You CANNOT have multiple instances for your app unless you’re using different user data directory (by--user-data-dir
). You may also want to use the open event: the first instance will be notified with this event when user tries to launch the second instance.toolbar
is deprecated and it’s alwaysfalse
. The traditional toolbar will NOT be supported including the reload buttons, location bar and DevTools buttons. As a workaround, you can open / close DevTools with F12 (Windows & Linux) or ⌘+⌥+i (Mac). And usewin.reload()
andwin.reloadDev()
to simulate the reload buttons.no-edit-menu
is deprecated.snapshot
is deprecated. Usewin.evalNWBin()
instead.- The format of
node-remote
is changed to array of match patterns used by Chrome extension. - Window options
always-on-top
,visible-on-all-workspaces
,new-instance
,inject-js-start
andinject-js-end
is renamed toalways_on_top
,visible_on_all_workspaces
,new_instance
,inject_js_start
andinject_js_end
respectively inpackage.json
or as argument ofWindow.open()
. --data-path
command line argument is replaced by--user-data-dir
.
Window
- There is an
id
to identify each window. This will be used to remember the size and position of the window and restore that geometry when a window with the sameid
is later opened. It could be specified in Window.open orid
of window subfields in manifest - Event
capturepagedone
ofWindow
API is deprecated.Use the callback with thewin.capturePage(callback [, config ])
instead. - Window.open is changed to passing the created window as the argument of the callback.
- Window.showDevtools is changed to passing the created window as the argument of the callback.
- win.setTransparent is deprecated. You can’t change the transparency after window is created.
unmaximize
andleave-fullscreen
events ofWindow
object is deprecated and replaced by restore. When window is restored from minimized, maximized or fullscreen,restore
event is triggered instead.- Window options
always-on-top
andvisible-on-all-workspaces
is renamed toalways_on_top
andvisible_on_all_workspaces
respectively inpackage.json
or as argument ofWindow.open()
. - Window is not inherited from
EventEmitter
anymore, but the methodson()
,once()
,removeListener()
andremoveAllListeners()
are still supported.
Screen
- The
id
obtained byadded
,orderchanged
,namechanged
,thumbnailchanged
should be registered and use the stream id returned byregisterStream(id)
before passing togetUserMedia
. See Synopsis for the usage.
Known issues
Nativity 0 13 Mac Os Catalina
- The following window options passed to
nw.Window.open()
is not effective on Linux:resizable
for now; try to set them in the callback. reloadDev()
andisDevToolsOpen()
ofnw.Window
are not supported for nowclosed
event ofnw.Window
:App.quit()
doesn’t trigger this event.devtools-closed
event ofnw.Window
is not supported for now.as_desktop
option is not supported for nowwebkit.{plugin java page-cache}
option inpackage.json
is not supported for now: plugins are enabled by default.nwUserAgent
attribute of<iframe>
is not supported for now.tooltip
ofMenuItem
is not supported for now.nw.App.setCrashDumpDir()
is not supported; crash dump is stored inapp-data-path/Crash Reports