Developer Preview: Juno Beta 2 Is Out!
If you thought we’d dropped off the face of the planet, you probably missed it: we have moved away from Medium and started publishing on our faster, open source, and privacy-respecting blog at blog.elementary.io. We’ve kept this blog post unlisted here on Medium for posterity, but all recent and future posts as of November, 2019 are exclusively hosted there.
It’s that time again: another beta release! Before we get too far, I want to remind you why we do beta releases: they’re a special release intended for our 3rd party developers and highly technical users. Developers need a pre-release in order to test and take advantage of new platform features and to publish their apps so that we don’t release with an empty store. We also invite highly technical users to test Beta in non-production environments to find major regressions and show-stopping issues.
For App Developers
If you have an app published in AppCenter for Loki or would like to publish an app for Juno, this pre-release is for you! During this Beta2 period we hope to see app developers get the rest of their apps ready to go, and we’re always standing by in Gitter and the Community Slack to help wherever we can.
If you haven’t already, we highly recommend you read about Houston CI and enable this for your repo. Houston CI builds and tests your app against Juno and will let you know about issues even if you’re not yet running the Beta.
Be sure to read our Updating Your Apps for Juno piece for everything you need to know about getting your app ready to debut alongside Juno’s stable release.
Gala & Greeter
We fixed a few issues around Gala, the Greeter, HiDPI, and related refinements during the beta2 cycle:
A new Gala Daemon provides better native GTK context menus for apps. This means that context menus scale properly on HiDPI, plus non-native apps with titlebars now also get a menu. Picture-in-picture mode also scales better on HiDPI now.
The login and lockscreen greeter is now more crisp on HiDPI. This is because we now have a simple compositor, which also provides things like shadows beneath the shutdown window and indicators. We also now use the same panel on the greeter as in the logged-in session, meaning indicators work more consistently, and you can scrub between them.
AppCenter has gotten a lot of love in Juno!
We fixed an issue in AppCenter where new apps were not properly being displayed on the home page due to a package ID format deprecation. Now apps should be displayed whether they use the old or new format.
Banners on the homescreen have a new glow on hover based on the brand color. It’s subtle, but more obvious on bright colors.
Michael from System76 also reported and helped fix several issues: uninstalled apps can now be reinstalled without restarting AppCenter, AppCenter should not lock up when performing multiple operations, and some warnings were fixed. We also added a few compile-time flags to make reusing AppCenter (i.e. as Pop!_Shop in Pop!_OS) easier for third parties.
The payment dialog was improved with a new icon to bring it more inline with other permissions dialogs, plus card numbers are automatically formatted to make it easier to type, and both card numbers and CVC entries are masked out when unfocused to prevent shoulder-surfing.
We also fixed the badge not showing up in the dock when there are pending updates.
Finally, we dropped some old CSS formatting that was required in GTK 3.18 since Juno is on 3.22, and removed the “Share” menu on non-curated apps since our new appcenter.elementary.io site shows rich metadata for curated apps but doesn’t currently handle uncurated apps.
A slash is now appended to file paths when typed into the pathbar. Thumbnailing has also been improved, meaning renamed or new files should more consistently get correct thumbnails.
We also solved several performance and stability issues and continue to make the code base much more efficient and easy to read under the hood.
Icons, Stylesheet, & Wallpapers
The stylesheet now provides an “inline” style for tab bars. This means if an app opts into this style, its tabs can better match the content they’re switching between instead of always being chrome-colored.
We’ve also continued our quest for better contrast across the stylesheet. Notably, we darkened success icons in the light style for better contrast compliance, and improved checkbox and radio contrast between different states.
The stylesheet was improved for certain button styles in headerbars, including suggested action buttons and insensitive buttons in dark and branded headerbars.
We squashed a stylesheet bug that caused tiled dark apps to flash erratically, including Photos, Terminal, and Code with the dark style.
Additionally, there is a new “checkerboard” style so that you can use the same patterned background as we use in Photos and Screenshot with transparent images in your apps.
There are a bunch of new action icons including actions for moving objects forward and backward across layers (such as in presentation apps like Spice-Up or image editing apps like Inkscape) and more icons were aligned to the color palette. The result is an ever-more consistent look and feel across apps. We also added a new color version of the refresh icon in all sizes, since apps that need a symbolic version (like Epiphany) are already requesting the symbolic version. This makes the default/color icon more visible across both light and dark styles.
Folder icons are now a neutral manila color across the system, better fitting in with branded apps and opening up the possibility to use color in Files in more meaningful ways in the future. We also have new “open” variants of each of the special folders, so they look better when dragging a file into them or when the folder is open in another Files tab.
We dropped the wrinkly walrus wallpaper and added a nice deep green fern wallpaper. Our lovely purpleprint remains the default. For now…
Lots of code cleanup and improvements. We also fixed a crash that could occur when restoring the app and playing a song in certain circumstances. Not much has changed in the UI between beta1 and beta2, but work is ongoing to fix issues and increase stability and performance.
There has been a lot of code cleanup and refinement into the far reaches of Photos. Most of it is not user-visible, but you might notice that almost all of the dialogs have been cleaned up and made more consistent with the rest of the elementary apps thanks to being moved to Granite.MessageDialog.
The adjustment dialog has been revamped and is now actually a dialog, plus it sports some nice new colored sliders to help visualize what the change will do.
Lastly, there’s a new “Fit to Page” item alongside the zoom controls to make it easier to snap to a sane size when viewing a photo.
UI improvements across the board make it look cleaner and be able to tile down to smaller sizes. And we’re using that new inline tabbar style introduced in the stylesheet across all three color schemes.
All new Git integration! If a project folder is a Git repo, we display the current branch next to the folder name. We also display a status icon if there are new or modified files that have not been committed.
We now always draw trailing whitespace in the default “Draw Spaces for Selected Text” mode, making it easier to spot outliers or unintentional spaces.
New keyboard shortcuts were added for commenting code: now Ctrl+/ works in addition to Ctrl+M. You can also now toggle the sidebar in each window from the menu or with F9.
Manipulating displays in System Settings is more reliable and more accurate. Rotation now matches physical device orientation instead of the way the system will rotate; basically, it better matches the real world as you would expect which should make it easier to arrange multi-display configurations. We also fixed a crash with certain external displays that were not reporting the expected data.
All new “Housekeeping” settings have been added to Security & Privacy settings. You can now set elementary OS to automatically delete old, trashed files or temporary files on a schedule of your choosing.
We added a new “Event Sounds” toggle to the Sound settings, meaning you can turn off the “thud” sound when you hit the end of text entries, can’t Alt+Tab, etc.
We also fixed an incorrect label in Universal Access settings, added a search to the keyboard layouts in Keyboard settings, fixed some touchpad scrolling settings, and fixed an issue with suspend settings on laptops in Power settings.
Lastly, we removed the “Dim display when inactive” Power setting since this was both redundant with the “Turn display off when inactive” setting, and didn’t actually dim the display to a lower level in many configurations.
Panel & Indicators
The Panel now adapts properly to windows on multiple displays, only going opaque when the window is on the same display, and dragging on the panel to unmaximize or un-tile apps works properly on HiDPI.
The Date & Time indicator was slightly redesigned to make the current day and focused days more clear, and the display brightness slider in the Power indicator now stays in sync when using brightness keys.
Keyboard input methods are better integrated. We’re shipping IBus out of the box, and have linked to it in Language & Region System Settings to make it easier for users to set up alternate input methods.
Dozens of superfluous international fonts have been dropped and were superseded by the comprehensive Noto typeface.
We’re shipping many, many new and updated translations. Since we had a string freeze for Beta1, translations are coming along for the final Juno release. If you’re a translator, we need your help to finish it up! Head over to elementary.io/get-involved to learn more and get involved.
Being a second beta release, the rest of these fixes and changes aren’t that major, but are pretty scattered about. In this release:
The new Shortcut Overlay is less spammy and can be closed with a second Super keypress.
Default application mimetypes have been refreshed, including associating xz with file-roller and de-associating Java files with file-roller.
The live session no longer times out and locks, which could’ve caused failed installations in some scenarios. In addition, logging out via the keyboard shortcut now works again, and the onscreen keyboard no longer crashes the desktop.
We’ve dropped LVFS from the default install for now since the UI doesn’t currently use it. We have an open and bountied issue to implement it into AppCenter, though!
Lastly, Qt applications look less alien thanks to QGnomePlatform.
I want to reiterate that if you are not an app developer or a highly technical user that you should not download and run this pre-release image. It is not for production environments. And while we do our best to make the update process smooth, you will likely not have as good of an experience updating from Beta as installing the final release.
If you are press or a reviewer, please do not “review” this pre-release. When you publicize buggy, unstable, or unfinished pre-release images it can damage our brand and hurt adoption and sales of the final production-ready release. We have also not detailed the full list of changes, both under-the-hood and visual, so any reviews at this point would be missing significant context. If you would like to be first to review, head over to elementary.io/press and we will contact you with a full embargoed press kit — including high resolution imagery and a full rundown of both technical and user-facing changes — before the final release.
Inevitably, many many people will ignore all of the above and download this image anyways instead of downloading the final release. If you’re one of those people, please consider taking a trip to our funding page. We rely on the Pay-What-You-Want download system to pay people to work on elementary OS, to build AppCenter and Houston-CI, and to pay for the servers that host these downloads.
All that being said, we’re extremely excited and proud to reach this milestone! elementary OS 5 is right around the corner. Let’s get those last apps back into AppCenter, squash some bugs, localize all the things, and release an operating system!
Note: we highly recommend performing a fresh install if you’re coming from beta1; there have been configuration changes, so a rolling beta1 install is not the same experience as a fresh beta2 install.
Juno is still under active development and we’re expecting to land even more fixes and optimizations before its big debut. Stay tuned to this blog for more highlights and announcements as we move toward the next major version of elementary OS. If you missed them, be sure to check out our previous posts about Juno:
- Developer Tips: Updating Your Apps for Juno
- Developer Preview: Juno Beta 1 Is Here
- Building The Next Generation of Apps
- Look & Feel Changes for Juno
- Juno Progress for April
- Juno Progress for March
- Juno Progress for January & February
- Let’s Talk About elementary OS 5 Juno
Thank you to everyone who’s bought an app on AppCenter, our supporters on Bountysource and Patreon, and those who’ve purchased a copy of elementary OS or merch from our store. Every contribution helps make all of this possible, and we wouldn’t be here without you! If you’d like to help improve elementary OS, don’t hesitate to Get Involved!