Update History
- 2022-03-31 Sailfish SDK 3.9 released to Early Access users
- 2022-04-08 Sailfish SDK 3.9 released to all users
- 2023-02-02 Early Access Build Targets and Emulator updated to 4.5.0.16 (Struven Ketju)
Most notable changes included in this release:
- The latest Emulator and Build Targets match the Sailfish OS release 4.4.0 “Vanha Rauma”
- Fixed coding assistance for Sailfish.Silica types (code completion and static code checking)
- Possibility to use Docker-based SDK on a (headless) multi-user host
- sfdk’s built-in manual has been expanded
Contributions from the community
We would like to thank the people who have reported bugs via Sailfish OS Forum.
Release Content
The latest Emulator and Build Targets match the Sailfish OS release 4.4.0 “Vanha Rauma”
SDK IDE (Qt Creator)
- Possibility to enable running qmake’s system() during project parsing - see Known Issues
- The default Help viewer backend has been changed to LiteHtml on Linux and macOS. The QtWebEngine backend is known to fail on some newer Linux distributions at least.
- Bugs fixed:
- No feedback when attaching debugger to running application takes too long
- Various warnings are produced by the QML static code checker for Sailfish.Silica types with the build targets matching recent Sailfish OS release
- This issue is gone with the 4.4.0.X build targets. Older build targets will not be fixed.
- Partial workaround for older build targets is available – see Resolve error in Qt Creator - #8 by martyone
- Kits for custom targets installed with --no-snapshot are badly named
SDK CLI (sfdk)
- Expanded introductory sections in the built-in manual (sfdk --help-all)
- Use ‘sfdk build-requires diff/reset’ without RPM SPEC
- Bugs fixed:
- sfdk can delete packages just built if EVR is computed
- sfdk complains no journal files were found
- sfdk: The --no-snapshot option is not actually recognized by ‘tools install-custom’
- sfdk: failure to reset build target snapshots after bluez 4 to 5 update
- sfdk build-shell --maintain discards command’s exit code
- sfdk does not fix Version tag appearing in an included RPM .spec file
- sfdk: Invalid cross-device link error when resetting build target snapshot – see Unable to build CMake project from QtCreator
- Some binaries located under build directory cannot be executed under the build environment
- sfdk: the ‘package’ command does not honor the ‘task’ configuration option
- sfdk is verbose about unsigned cached packages
General
- Allow MPRIS API in Harbour
- Deprecate QtWebKit API in Harbour
- App template includes X-Sailjail section
- Bugs fixed:
- Sailfish WebView API does not work on emulator
- Scratchbox2 adds sb2 scripts and wrappers to path without checking if they are mapped into the target
- mb2 fails to install build dependencies under Platform SDK installed under custom prefix
- RPM validator treats comments in X-Sailjail as keys
Installation/Maintenance
- Use Docker-based SDK on a (headless) multi-user host. See Installation | Sailfish OS Documentation
- Bugs fixed:
- SDK installer is not compatible with Docker buildkit
Known Issues
- The Amber.Mpris QML module is not initially recognized by the IDE
- This can be fixed by installing the ‘amber-qml-plugin-mpris’ package under build targets using Options > Sailfish OS > Build Engine > Manage Build Targets… > Manage Packages
- Sailfish IDE may not find header files from packages added as dependencies via
PKGCONFIG
qmake variable.- This is often caused by “qmake system() behavior when parsing” option under Build Settings set to “Ignore”. See the next item to learn about the drawbacks before changing it to “Run”.
- Qmake’s system() function is ignored by the project parser under the default configuration.
- This is controlled by the “qmake system() behavior when parsing” option under Build Settings.
- It is ignored by default because it runs directly on host, not under the build environment as one would expect.
If you have any questions, feel free to either write it up here in Sailfish OS Forum or send an e-mail to developer-care at jolla.com.
Happy hacking!
Jolla SDK Team