Update History
- 2021-10-04 Sailfish SDK 3.6 released to Early Access users
- 2021-10-11 Sailfish SDK 3.6 released to all users
- 2021-11-03 Early Access Build Targets and Emulator updated to 4.3.0.12 (Suomenlinna)
Most notable changes included in this release:
- Qt Creator upgraded to version 4.15.2
- Automatic resizing of VirtualBox based build engine when adding build targets
- Clean builds by default
- Example camera app
- Build hooks
Contributions from the community
We would like to thank the people who have reported bugs via forum.sailfishos.org. The following bugs were reported on the forum and fixed in this release:
- “Add New File” prevents building
- Sfdk does not handle rpmbuild options properly
In addition, the build hooks feature was heavily influenced by discussions with the community.
Release Content
The latest Emulator and Build Targets match the Sailfish OS release 4.2.0 “Verla”
SDK IDE (Qt Creator)
- Qt Creator upgraded to version 4.15.2
- Qt Creator does clean builds by default
- Build targets are used through writable snapshots - project-specific build time dependencies do not pollute the actual build targets
- Example camera app
- Target specific QML import suggestions
- Bugs fixed:
- Code editors may not see all build time dependencies when build target snapshots are used
- Adding a new file under Qt Creator breaks build
- Out of focus Qt Creator keeps polling for VM state
- sdk-test-suite: Random failure to start VMs on sdkautotest
SDK CLI (sfdk)
- “zypper dup” deployment method
- deployment method help texts updated
- Bugs fixed:
- The sfdk and sfossdk fail to update devel repo index correctly
- debug output misaligned with remote command on foreground and PTY used
- sfdk init: argument to -t is ignored
- ‘sfdk tools install’ does not exit with non-zero on failure
- sfdk does not handle rpmbuild options properly
- ‘sfdk tools register --all’ registers also snapshots
- ‘sfdk tools register’ does not refresh zypper repositories
- sfdk: the ‘no-task’ configuration option is useless and should be dropped
- sfdk: error terminating device command with Ctrl-C
General
- Build hooks (see HOOKS in ‘sfdk --help-all’)
- Dropped the control centre stub
- Scratchbox2 ported to newer lua version
- Documentation for the WebView API added
- Documentation for the Sharing API added
- Bugs fixed:
- No feedback when shutting down Docker-based build engine takes too long
- Changes to Docker based build engine are never committed
- sdk-refresh.service fails under Docker-based build engine
- Port changes in docker build engine are not applied if build engine is not started
- rpmlint complains about TreatErrorsAsWarnings
- libsb2 does not define fstatat_nomap_nolog stat64_nomap_nolog
- Soft assertion failure after installing packages under a build target
- Deployment to emulator times out with Docker-based build engine
- Not all (possibly) required header files are synced to host
- CMake is not preinstalled in toolings
- Code model does not recognize += -= *= as assignment operators on qmake command line
Installation/Maintenance
- Automatic resizing of VirtualBox based build engine when adding build targets
- If the build engine doesn’t have enough space for additional targets, the virtual disk is first enlargened
- SDK now uses a single ssh key for all emulators and the build engine
- VirtualBox based build engine uses BTRFS for efficient build target snapshotting
- Docker based build engine inherits the filesystem from host - it is recommended to use a CoW capable filesystem like BTRFS
- Introducing Early Access Emulators
- Updated synchronously with Early Access Build Targets every time a Sailfish OS release is published to Early Access users
- Bugs fixed:
- Likely wrong file ownership under Docker-based build engine
- Error changing SDK workspace folder to an ancestor folder
- Emulator names on SDK installer side do not match the corresponding SDK objects
If you have any questions, feel free to either write it up here in https://forum.sailfishos.org/ or send an e-mail to developer-care at jolla.com.
Happy hacking!
Jolla SDK Team