All notable changes to the Zulip desktop app are documented in this file.
Fixes:
- Removed the popup dialog for certificate errors when loading subresources such as images.
- Allowed hiding the window from full screen mode on macOS.
Enhancements:
- Enabled zooming with Ctrl+mouse wheel on Linux and Windows.
Dependencies:
- Upgraded all dependencies, including Electron 29.1.5.
Dependencies:
- Upgraded all dependencies, including Electron 28.2.0.
Enhancements:
- Improved security hardening by setting a Content-Security-Policy for the app UI.
Dependencies:
- Upgraded all dependencies, including Electron 28.1.1.
Fixes:
- Fixed an error in the third-party
gatemaker
library that broke the display of notifications for completed downloads.
Dependencies:
- Upgraded all dependencies, including Electron 25.8.4.
Dependencies:
- Downgraded Electron to 25.8.1 to avoid a renderer process crash on Linux.
Dependencies:
- Upgraded all dependencies, including Electron 26.2.1.
Removed features:
- Removed support for Windows 8.1 and earlier, which reached end-of-life earlier this year and are no longer supported by Electron.
- Removed support for Zulip Server 3.x and earlier, which have been obsolete for more than 18 months, in accordance with our release lifecycle. A notice will now be displayed when connecting to a server with an unsupported version.
Fixes:
- Fixed display of the dropdown for the spellchecker languages setting.
- Fixed various bugs related to displaying and updating organization icons.
- Fixed settings to disable visual display of notifications.
Dependencies:
- Upgraded all dependencies, including Electron 24.2.0.
Fixes:
- Fixed a hang on startup when an organization cannot be connected at startup.
Enhancements:
- Enabled Chromium sandboxing in remote renderer processes for improved security hardening.
Dependencies:
- Upgraded all dependencies, including Electron 22.2.0.
Fixes:
- The
com.apple.quarantine
extended attribute is now correctly set for downloaded files on macOS. - The external link handler ignores invalid URLs.
Dependencies:
- Upgraded all dependencies, including Electron 22.0.0.
Fixes:
- Fixed a bug in the automatic updater that would sometimes close the application instead of updating it. (As with most updater fixes, this fix will take effect when updating from 5.9.3. If you're having trouble updating to 5.9.3, a workaround is to click Install Later rather than Install and Relaunch, then Quit from the menu bar and re-open the application manually.)
Dependencies:
- Upgraded all dependencies, including Electron 18.2.0.
Dependencies:
- Upgraded all dependencies, including Electron 18.1.0. This fixes an upstream Electron bug that crashed the application when accessibility tools such as screen readers and grammar assistants are in use.
Dependencies:
- Upgraded all dependencies, including Electron 18.0.3.
Fixes:
- Fixed unread count display when viewing a topic with a parenthesized number.
- Fixed parsing of system proxy settings.
Enhancements:
- Removed fade-in animation on page load.
Dependencies:
- Upgraded all dependencies, including Electron 18.0.1.
Fixes:
- Downgraded electron-updater to fix automatic updates on macOS. (Note that 5.7.0 and 5.8.0 users may still trigger electron-updater bugs trying to automatically update to 5.8.1; once updated, future updates from 5.8.1 should work correctly.)
Fixes:
- Fixed the spell checker on macOS.
- Fixed
TypeError
after closing the About page.
Enhancements:
- Removed
Ctrl
+L
/⌘L
keyboard shortcut to prevent accidental logouts.
Dependencies:
- Upgraded all dependencies, including Electron 13.1.7.
Fixes:
- Fixed perpetual CPU usage on Windows after re-launching the app when it’s already open.
- Fixed shortcut display to avoid generating “Ctrl+10”.
Dependencies:
- Upgraded all dependencies, including Electron 12.0.6.
Fixes:
- Fixed zoom in keyboard shortcut not to zoom twice.
Enhancements:
- Restored hardware acceleration to the Electron default.
Dependencies:
- Upgraded all dependencies, including Electron 11.2.3.
Removed features:
- Removed legacy handling of custom certificates. Custom certificates can be configured in the same system certificate store that Chrome uses (instructions).
- Removed the unmaintained notification inline replies feature on macOS. We believe the
node-mac-notifier
library used by this feature had been responsible for the grey screen crash issue.
Fixes:
- Fixed a regression with the factory reset function.
- Fixed the grey screen crash issue on macOS (#1016).
- Whitespace is now stripped from the organization URL when adding a new organization.
Dependencies:
- Upgraded all dependencies, including Electron 11.0.3.
Security fixes:
- CVE-2020-24582: Escape all strings interpolated into HTML to close cross-site scripting vulnerabilities that a malicious server could exploit.
Dependencies:
- Upgrade dependencies, including Electron 9.3.0.
Dependencies:
- Upgrade all dependencies, including Electron 9.2.0.
Fixes:
- Resized the large application icon on macOS dock to be coherent with other icons.
Dependencies:
- Upgrade all dependencies, including Electron 9.1.1.
New features:
- Added support for certificates from system store.
- Added support for Slovak as application language.
Fixes:
- Fix bug in Copy Link and add Copy Email option in context menu.
- Enable Copy option in context menu only when copying is possible.
- Remove leading and trailing separators in context menu on non-mac systems.
- ignoreCerts: Accommodate WebSocket URLs in certificate-error handler.
Dependencies:
- Upgrade all dependencies, including Electron 8.4.0.
Deprecations:
- This release supports certificates from Zulip store as well as system store. Zulip certificate store will be deprecated in the next release. Users are hereby requested to move to system store. For more information, please see the documentation.
Security fixes:
- Remove the insecure ignoreCerts option.
Fixes:
- Windows: Turn off start at login by default.
- Fix zoom issues where some webviews would not get zoomed-out once zoomed-in.
- Fix overflowing contents on 'Add Organization' view.
New features:
- Add a cancel button in the report-issue modal.
- macOS: Use Electron API to get dark tray icon instead of the green icon for the light theme.
- Remove 'Reset App Data' option. Factory Reset option has been moved to Settings → General.
- Support pkg installer on macOS.
- Use Electron 8 built-in spellchecker. Linux and Windows users can now choose up to three spellchecker languages from Settings → General. On macOS, default spellchecker is used.
- Setup Transifex for better synchronization of translations. The application now supports 41 languages instead of 21.
Dependencies:
- Upgrade all dependencies, including Electron 8.3.3.
Security fixes:
- CVE-2020-12637: Do not ignore certificate errors in webviews unless the (unsupported, deprecated)
ignoreCerts
option is enabled.
Fixes:
- Avoid opening the file chooser dialog twice when downloading a file.
New features:
- Provide clipboard decryption helper for use in new social login flow.
Dependencies:
- Upgrade all dependencies, including Electron 8.2.5.
Fixes:
- macOS: If the app is in foreground, the app will no longer hide upon clicking on dock again.
- Synchronise debian scripts with electron-builder 22.4.1, thus fixing SUID sandbox binary issues.
- Dock icon on macOS used to be larger than the other applications, which is now updated to the appropriate size.
- Upon catching error in updating the server icon, the app will log the error and make a sentry report instead of triggering user-facing network error
New features:
- User can now set application language without changing the language on their operating system.
Dependencies:
- Upgrade all dependencies, including Electron 8.2.3.
Security fixes:
- CVE-2020-10856: Enable Electron context isolation. (Reported by Matt Austin.)
- CVE-2020-10857: Fix unsafe use of
shell.openExternal
/shell.openItem
. (Reported by Matt Austin.)- Downloaded files will no longer be opened directly; the previous option to show downloaded files in the file manager is now always on.
- CVE-2020-10858: Add permission request handler to guard against audio/video recording by a malicious server. (Reported by Matt Austin.)
New features:
- Add an option to prompt for the location to save each downloaded file.
Fixes:
- Fix automatic launching at startup.
- Fix Undo and Redo functionality on macOS.
Dependencies:
- Upgrade all dependencies, including Electron 8.0.3.
- Remove
assert
,cp-file
,dotenv
,electron-debug
, andwurl
.
Deprecations:
- Since Electron upstream has discontinued support for 32-bit Linux, we will only provide 32-bit Linux builds on a best effort basis, and they will likely be removed in a future release.
Security fixes:
- CVE-2020-9443: Do not disable web security in the Electron webview. (Reported by Matt Austin.)
New features:
- Add support for MSI installers.
- Show badge count on Linux.
- Sync system presence info to web app.
- Add option to open notification settings from the context menu of organization icons in the sidebar.
- Tackle network issues with each Zulip organization independently.
- Add option to quit on closing the window.
- Make certificate location dynamic.
- Add option to specify network settings when adding a new organization.
Enhancements:
- Load last active tab before others, speeding up user experience and eliminating flashing of server icons.
- Improve UX for notification settings.
- Set User-Agent from the main process for communication with the Zulip API.
- Add SSL troubleshooting guide in error message when adding an organization fails.
Fixes:
- Fix translations for
ru
locales. - Fix trailing brackets in settings page.
- Fix broken icon issue faced by the snap package on Linux.
- Reactivate
network.js
script. - Enable notarization for macOS Catalina.
Documentation:
- Document enterprise configuration features.
- Update the Electron tutorial guide.
- Explicitly address where to report bugs in
README.md
. - Fix typo in the link to server/web app repository in
README.md
. - Add documentation for translation.
New features:
- Add enterprise support using a custom config file for all Zulip users on a given machine. Documentation can be found here.
- Support specification of preset organizations and automatic update preferences.
- Show setting tooltip when trying to change an admin-locked setting.
- Change translation API to handle Google Translate's rate limits.
- Change menu and language of all settings pages based on system locale.
- Disable the Window sub-menu.
Fixes:
- Use newer Darwin notification API in
electron_bridge
. - Revert to fallback character icon for an organization only when the icon is not available either on the Zulip server or stored offline on the disk.
- Fix issues with the Zoom In shortcut.
- Sync the sidebar loading indicator with the loading GIF in the main view.
- Fix shortcut symbol for Zoom In.
Development:
- Add meta key for ⌘ on macOS.
New features:
- Add option to find accounts by email.
- Add option to hide Menu bar to View menu.
- Show a loading indicator in the sidebar.
- Update Help Center to open help page of the currently active server.
- Improve auto-detection of spellchecker language.
- Disable menu items on non-server pages.
- Support dark mode on macOS.
Fixes:
- Updated, more robust server validation logic.
- Fix JSON DB errors observed when switching tabs.
- Remove unused
isLoading
function fromTab
. - Remove unused
defaultId
parameter. - Fix syntax error in
proxy-util.js
. - Fix issue with creation of large
.node
files in theTemp
folder on Windows machines. - Fix issue where drafts were not saved properly.
Development:
- Migrate codebase to TypeScript.
- Set the indent_size in
.editorconfig
to 4. - Use
.env
file for reading Sentry DSN.
Documentation:
- Improve development guide.
Module updates:
- Upgrade xo to v0.24.0.
- Upgrade node-json-db to v0.9.2.
- Upgrade electron to v3.1.10.
- Add missing transitive dependencies.
New features:
- Add context menu in left sidebar.
- Enable per-user installation on Windows.
- Switch to next server on Ctrl+Tab.
- Add option to copy zulip URL.
- Allow zoom options from numpad.
- Use server language for spellchecker for all platforms.
- Allow installing app without admin privileges.
- Allow insecure requests on user request.
- Unify case across menus and settings.
Enhancements:
- Remove Found bug button.
- Set custom css to false by default.
- Disable beta updates if auto updates disabled
- Update menu items on setting page.
- Include certificates in all requests for icon.
- Document show sidebar shortcut properly.
- Improve organization page.
- Improve wording of adding a new org button.
- Increase width of add a new org button.
- Add eol for linebreaks on windows.
- Teach git to ignore unnecessary binary files.
- Send user-agent with request.
- Minimize to tray on startup.
- Update test config files.
- Ensure backward compatibility when using narrow.by_topic.
- Use path.sep for path separator to support Windows.
- Change the window title to contain active Realm's name.
- Use path.basename to get certificate file name.
- Disable pdf-viewer window.
- Default to starting app on login.
- Modify reset app data button.
- Add requestOptions to replace request instances.
- Workaround buggy focus switching in Electron 3.0.10.
- Reorder file menu and add option to Add Organization.
- Improve development guide.
- Implement CSS linting with stylelint.
- Add "role" key to webview property.
- Implement HTML Linting with htmlhint and fix indent.
- Limit the number of lines in log files.
- Fix focus after clicking back button.
- Remove minimize and close from File menu.
- Add config for installer name.
Fixes:
- Fix
request
ecdhCurve mismatch errors - Fix typo in network error message.
- Fix context menu not working on adding new org.
- Fix reply from notification.
- Fix shortcut section horizontal alignment.
- Fix broken link in docs.
- Fix grammatical errors.
- Fix typo error in issue template.
- Fix text for Toggle DND in sidebar on hover.
- Fix focus after soft reload.
- Fix tip's place for Windows & Linux.
Module updates:
- Update node-json-db to v0.9.1.
- Update sentry to v0.12.1.
- Update electron-window-state to v5.0.3.
- Update electron to v3.0.10.
- Update electron-builder to v20.40.2.
- Update electron-sentry to v0.14.0.
- Update dependencies to fix minor dev security alerts.
- Update snap config.
New features:
- UI enhancements.
- Updated some menu items.
Fixes:
- Fix about page not opening up.
New features:
- Auto hide menubar on Windows/Linux. Add a setting option for the same.
- Improve design of setting page.
- Toggle app on clicking the tray icon (Linux).
- Update sidebar realm name when it's changed in web app.
- left-sidebar: Add initial character of realm name instead of default icon.
Fixes:
- linux: Fix ALT+SHIFT opening menu items on Linux.
- sentry: Add ignore errors to sentry configuration.
- Linux: Add label for help menu item.
- file-attachments: Allow multiple downloads of same file name.
Module Updates
- electron: Update electron to v2.0.9.
New features:
- Add a feature to show and view pdf file in the app.
Fixes:
- Use package reload instead of custom reload. This is an experimental fix for setting files getting corrupted issue.
- Unescape server name in window menu item.
New features:
- Add proxy details while validating a server. This fixes the server validating issue for users who are using the proxy settings.
Fixes:
- Fix YouTube video not playing in lightbox.
- Fix realm name not escaped properly.
New features:
- Add a setting option to show downloaded file in file manager.
- Added Electron bridge to communicate with web app in real time.
Fixes:
- Fix failing attached file downloads.
- Fix page_params error.
- gulpfile: Update syntax and methods for gulp v4.x.
Fixes:
- Fix downloading functionality of file attachments.
- Fix null of downloadPath when settings.json fails.
Enhancements:
- Add dock bounce effect on macOS
- Add a setting option to use the system proxy settings
- Add support for self/custom signed certificate
- Add Sentry support to get the bug reports
- Show a notification when a user clicks on file attachments and open the same in default native app
Fixes:
- Fix auto-updates on Windows
- Fix image attachments not opening up in the app
- Security fix - Do proper HTML escaping for server data to avoid XSS attacks
- Other minor fixes
Updated dependencies:
electron-builder: v20.20.4
electron-updater: v2.23.3
This is a quick release since we recently updated the certificate for code signing the app and we want to make sure the previous versions of the app get auto-updates without any conflicts.
Enhancements:
-
Add a new setting to disable auto-updates
-
Add a menu item to check for updates manually
-
Other minor improvements
Fixes:
-
Fix app not rendering colors properly
-
Security fix - Do proper HTML escaping for server data to avoid XSS attacks
-
Fix loading indicator when server is loaded
-
Other minor fixes
Updated dependencies:
electron - v2.0.1
electron-builder - v20.13.4
electron-updater - v2.21.10
Enhancements:
-
Added do not disturb feature
-
New DMG installer image
-
Minor improvements
Fixes:
-
Fix download functionality of file attachment links
-
Fix tray icon not showing unread counts
Updated dependencies:
electron - v2.0.0
electron-builder - v2.21.10
electron-updater - v2.21.8
Enhancements:
-
Snap support for Linux
-
Add an option to download the file attachments instead of opening it in the browser
-
Open image link in web app lightbox
-
Add scrollbar for list of organizations on overflow
-
Better report issue UX
-
Add F5 shortcut for reloading the app
-
Responsive UI for connected orgs in smaller window sizes
-
Minor improvements
Fixes:
-
Remove unused shortcuts
-
Update toggle sidebar shortcut to CMD/CTRL+SHIFT+S
-
Warning dialog box for Reset App Settings
-
Fix reinstall script for working across all platforms
-
Other minor fixes
Updated dependencies:
- Update electron-builder to
v20.8.1
Enhancements:
-
Major UI changes in the add new server and setting page
-
Some users wanted to change the look of the Zulip. Now you have the power. Feel free to add your own CSS using the all-new setting option Add Custom CSS
-
Added i18n locale helper script. Internationalization is coming in the next release
-
Added What's new in
help
submenu so that you can see all the latest changes in the app -
Other small improvements
Fixes:
-
Add Zulip binary link to the bin. It was a regression we missed somehow. You can now start the app using
zulip
from a terminal [Linux] -
Fix app settings overriding issue. This bug was unnoticed from
v1.4.0
. The bug was overriding the app settings which was pretty bad. Don't worry this works as expected now -
Prevent drag and drop events to avoid few security risks
-
Do not allow running insecure contents in the app
-
The ugly white flickering in the webview is now fixed
-
Fix position of left-sidebar on toggle
-
Fix actions tooltip not visible on hover
-
Other small fixes
Updated dependencies:
-
electron -
v1.8.4
-
Spectron -
v3.8.0
Enhancements:
-
Add bots mention support to reply option
-
Show a notification when a new update available [Linux]
-
Add back button in left-sidebar
-
Add a Loading indication for new server button
-
Improve help menu
-
Add menu-item to reveal app logs in file manager
-
Setting page and left-sidebar UI improvements
-
Other minor improvements
Fixes:
-
Fix broken last active tab
-
Fix Zoom In shortcut
-
Check whether the internet is working before reloading
-
New organization link overlapping existing servers
-
Disable electron-connect when it's run from npm start
-
Do not auto-reload app when the system comes back from sleep
-
Only toggle the setting state if the element is present
-
Other minor fixes
Updated dependencies:
- electron -
v1.8.2
Enhancements:
-
Reply from notifications [macOS]
-
Add a setting option to start the app in the background
-
32-bit Debian installer
-
32-bit AppImage installer
-
Automatically add apt-repo and GPG public keys on installing Debian file [Linux]
-
Remove app data, config files etc on uninstalling Debian installer [Linux]
-
Add logger utility for debugging that makes easier to sharing the apps
Fixes:
-
Handle corrupted config files
-
Reload full app on system hibernation
-
Load default icon if organization icon is not available
-
Focus app when a notification is triggered
-
Reflect changes in the preference page (#362)
-
Set the default value of flash taskbar setting [Windows]
-
Rename Zoom In keyboard shortcut
-
Fix checkDomain, so it checks all error codes
-
Disable hardware acceleration to decrease the load on GPU
-
Minor bug fixes
Updated dependencies:
-
electron -
v1.7.10
-
electron-builder -
v19.53.6
-
electron-updater -
v2.18.2
Enhancements:
-
Updated to Electron
v1.6.15
, electron-builderv19.46.4
-
Improved setting page for new users
-
On the developer side, we have added few tests to make sure app doesn't fail
-
Minor improvements
Enhancements:
-
Added setting option to enable/disable spellcheck
-
Added setting option to control Windows taskbar flashing [Windows]
-
Auto-updates for Linux [AppImage]
-
Better tray icons for retina display
-
Reset app settings from Menu item
-
Show detailed error message on invalid Zulip server
Fixes:
-
Fixed a bug which was caused by app's shortcuts. From now on our shortcuts won't hijack other apps shortcuts
-
Removed electron-localshortcut completely. Now we only depend on menu accelerators for keyboard shortcuts
-
Handle certificate issue properly
-
Other minor fixes
Enhancements:
-
Added an option to clear app data
-
Added an option to show/hide desktop notifications
-
Redesigned setting page
-
Red dot over dock icon for PM [macOS]
-
Show server-info on hovering the server icon
Fixes:
-
Fetch correct organization icon from server_settings API
-
Minor improvements
Enhancements:
-
Added proxy support
-
Added setting option for badges
-
Start app at login setting option
-
Added app category for Linux
-
Minor improvements in settings page
-
apt-repo on bintray for linux - here
Fixes
-
Fixed auto-updates
-
Better warning message on certificate error
-
Don't allow duplicate servers
Enhancements:
-
Added back/forward option under
History
submenu -
Added taskbar overlay icon [Windows]
-
Added
Window
submenu by which users can switch to other servers -
Added flashing taskbar icon on incoming message [Windows]
-
Option to hide the left sidebar
-
Staged rollouts
-
Minor style improvements
Fixes
-
Handle focus event properly
-
Open external links in default browser
-
Allow user to change installation directory
-
Fixed server-icon path error [Windows]
-
Fixed server validation error
-
Fetch server details from Zulip api
-
Added tooltip in left sidebar
-
Added publisher name in windows installer
Updated dependencies:
-
electron -
v1.6.11
-
spellchecker -
v1.2.0
-
electron-builder -
v19.9.1
Enhancements:
-
Added new setting page
-
Setting for beta-updates. You can opt in for beta updates via selecting it from setting page
-
Added Keyboard shortcuts to switch between multiple servers
-
Desktop notifications support on Windows
Fixes
-
Unregister keyboard shortcuts on windows close
-
Show warning dialog while deleting server
-
Allow server which is signed by root cert
-
Other minor bug fixes
Enhancements:
- New network error page. App will auto-reload once the network comes back
- Quit shortcut - CTRL+Q [Windows]
- Improved preferences
Fixes:
- Fixed power-monitor module error
- Fixed code signing error [macOS]
Enhancements:
-
Sign in to multiple teams
-
Windows 7 desktop notification support
-
Show badge count for each Zulip server
-
Toggle window on clicking tray icon [Windows]
-
Windows installer is properly code signed using DigiCert certificate. You may get a warning regarding the certificate, please make it false positive
Fixes:
- Close/hide app properly
- Keep app running in background on clicking X
Enhancements:
- Added self-signed server support
- Unread message counts in tray icon
Enhancements:
- Properly signed app for macOS
- Toggle tray icon
- Better error handling when no internet connection
Fixes:
- Fixed permission issue on windows
- Fixed wrong keyboard shortcuts
Enhancements: Smaller Windows installer size
Minor improvements
Enhancement:
-
Using NSIS instead of Squirrel.Windows on Windows
-
Autoupdates: now using electron-updater
-
Removed nuts dependency
Fixes:
- Windows installer error
- Compile and build error in native node modules + spellchecker [Windows]
- Missing icon on installing [Windows]
Fixes:
-
Fixed :
- Auto-updates
- Spellchecker
- Zooming functionality
-
Removed unused node modules
-
Using stable version for node modules
-
Added icon for AppImage
Enhancements:
- 🎉 Added automatic update support on Windows
Fixes:
-
Fixed javascript error when electron has been left running and try to right-click
-
Fixed error - Unregister Spellchecker while window is closed
-
Fixed - Keyboard shortcuts not getting unregistered
-
Minor UI Changes
Enhancements:
-
⚡️ Added automatic app updates for macOS
-
Added windows installer for 32 bit machine
-
Better tray icons
Fixes:
- Blurry Unity icon fixed
Enhancement:
-
Added Spellchecker support with correct spell suggestions
-
Added Code-Signing on MAC
-
Added Win/linux/Mac installers
-
Added Continuous Integration on travis and appveyor
-
Open internal links in app only and external in default browser
-
Better icons
-
Electron version updated to
v1.4.7
-
Using two package.json structure
-
Node integration disabled in main window due to jQuery error
-
Now using electron-builder for packaging instead of electron-packager
-
Removed electron-context-menu and simple-spellchecker dependency
Fixes:
-
Better error handling when user enters wrong zulip server
-
Fixed close Zulip window JavaScript error
-
Fixed opening image in default browser
-
Fixed native notifications issue on linux
Enhancement:
- Added DMG installer for macOS