It has been a few months since our last release, and while we were working on the next major version, we fixed
some fairly serious bugs which we felt are big enough to warrant going back on our "no more 3.1.x releases"
statement to release these fixes to you.
Bug Fixes
Resolve extremely long delays with the web remote when there are multiple clients connected by fixing a deadlock
issue in the Web API
Fix media auto start behavior (second point of bug #1302)
Handle new version of the dependency websockets (14.0)
Handle new version of the dependency werkzeug (3.1.3)
Some astute observers may have noticed an unannounced version 3.1.4. Just as we released 3.1.4, a dependency changed
which caused issues with OpenLP, so we had to re-release it under a new version number that includes support for that
dependency.
Another few months has passed and another OpenLP bugfix release. We expect this to be the last release in the 3.1.x
release series and the main development focus will now shift to the next major release.
Bug Fixes
Correct media auto start behaviour.
Updated translations
Deal with PyMuPDF installed as fitz_old
Fix that our songbeamer chord parsing was partly based on a malformed file leading to weird imports
Web API method "get_language" returns the two-letter ISO 639 language code instead of "en" in case the language in
OpenLP is auto detected.
Add setting that live preview shows blank screen
Add Web API endpoint to delete service items
Use correct transition delay when screen is hidden
Always show contents in live preview panel
Display presentation slides in live preview panel when main display is hidden.
Handle Python versions which include release levels by ignoring the release level, and restricting the check to
only the major, minor, and micro components of the full version number.
Prevent crash by adding check for existence of linked audio file.
Do not show screen change message twice
Fixed Issue 1584 (switching Windows user account crashes an active OpenLP instance)
Hot on the heals of the 3.1 release is 3.1.1 which fixes a couple of bugs that some people have encountered with the 3.1 release.
We also have an experimental Flatpak build for those on Linux who are feeling adventurous.
So then the Lord, after he had spoken to them, was received up into heaven and sat down at the right hand of God.
They went out and preached everywhere, the Lord working with them and confirming the word by the signs that
followed. Amen.
Mark 16:19-20
New Features
Experimental Flatpak build
Bugs Fixed
Fix path to QtWebEngineProcess binary in macOS builds
Use Python's version comparison, not Qt's to align with new versioning scheme
Always open downloaded songs as utf-8 when downloading from Song Select
Today we are proud to announce that OpenLP 3.1.0 "Superb Seth" has been released. On the surface, this might not
seem like such a big release, since there seem to be very few new features, but if you dig a little deeper, the
sheer number of bugs squashed tells another story. We have also made a number of changes under the hood to help
carry OpenLP into the future.
Since version 2.0, OpenLP has supported the concept of "plugins" or "addons", but due to some limitations, these
plugins have always had to be deeply integrated into OpenLP. With the release of 3.1, OpenLP now has support for
community plugins, so that users can write their own plugins without needing them to become part of OpenLP.
As more and more churches are using OpenLP in a distributed fashion, more and more people are running into issues
when using OpenLP from multiple locations at the same time. In order to ease their pain, we have implemented a
locking mechanism which prevents more than one user from using OpenLP at the exact same time. Hopefully this will
tide users over until OpenLP has a better mechanism for sharing data.
It is because of Yahweh's loving kindnesses that we are not consumed, because his mercies don't fail. They are
new every morning. Great is your faithfulness.
"Yahweh is my portion," says my soul. "Therefore I will hope in him."
Lamentations 3:22-24 WEB
Known Issues
Please read through the following issues carefully, so as to reduce the burden on the OpenLP developers.
Windows 7 and 8 are no longer supported
Microsoft does not support them anymore either.
In order to make use of newer technologies, features and optimizations in the libraries that OpenLP uses, we
have had to drop support for Windows 7 and 8. Microsoft stopped supporting Windows 7 in January 2020 and
Windows 8 in July 2023, and Python stopped supporting Windows 7 with the release of Python 3.9 in October 2020.
This also makes life easier for our tiny development team.
macOS incorrectly reports OpenLP is damaged
macOS reports OpenLP as damaged, due to the OpenLP app not being signed. If you encounter this problem, you can
try the following solution:
The main view in the web remote does not update automatically on Ubuntu 22.04 due to Ubuntu/Mint shipping an old
version of python3-websockets. This can be fixed by downloading and installing an updated version of the package
from the official Ubuntu archive.
Wayland on Linux
OpenLP at present does not behave well under Wayland so the recommendation is to run under X11. If you can't run
in X11 (or prefer to run it in XWayland), you should start it with QT_QPA_PLATFORM environment variable set
to xcb, although the Main View from the Web Remote will not work.
Video backgrounds
Video / streaming backgrounds and background audio in songs currently do not work together. You may experience
either the video not working but the audio works, or the audio doesn't work while the video does.
Download
To download OpenLP 3.1.0, go to the Downloads section of the homepage.
New Features
Support for Community Plugins
Implement a filelock for shared data folder.
Add Datasoul song importer
Add Footer Content as Extra First Slide
Enhancements
Better support for High DPI displays with fractional scaling
Allow Wayland to set the window icon
Made the Wordproject import more robust
Better handling of missing VLC
Better handling of attempts to load invalid SWORD folder or zip-file
Don't build manual, use online manual instead
Update some system messaging
Move "Live" / "Preview" and current item on one line
Add authors to Powerpraise importer
Add the list of associated songs to the delete dialog in the song maintenance form
New theme adjustments: Adding letter spacing to theme main area; adding line and letter spacing to footer
Implementing new message websocket endpoint for faster remote operation
Migrate from FontAwesome4 to Material Design Icons v5.9.55
Highlighted slidecontroller buttons
Correct About references and remove unused bits
Improve PowerPoint detection by trying to start the application instead of looking it up in the registry.
List view grid tests + horizontal scroll handler on small height
List view with grid view mode + using this list view within thememanager
Defining theme manager view mode default as 'List'
Allow the remote interface update notification to be turned off.
Bug Fixes
Invalidate the service item cache when the theme changes
Fix "wrapped C/C++ object of type QTreeWidgetItem has been deleted"
Fix irregular service theme saving
Fix AuthorType not getting translated
Fix a PermissionError that occurs on Windows 10/11
Fix First Time Wizard loop on Windows
Fix traceback on bible import when no bible available
Fix external DB settings
Fix alerts
Fix trimming leading whitespaces
Ensure a path set in PathEdit is a Path instance
Inject String.replaceAll javascript implementation if needed into webengine when browsing SongSelect.
Do not start the same presentation again when it's already live.
Prevent key error when unblank screen at start of presentation.
Fix the multiselect in the images plugin
Fix saving of songs
Fix spelling in songimport.py
Bypass image db updates if the db has already been upgraded
Fix a couple of macOS issues
Change SongSelect import procedure to import when clicking download on webpage
Don't crash when a permission error is raised
Fix presentations not being able to return from Display Screen
Fix the deadlock on macos
Fix issue #1618 by ignoring the messages if the event loop is not running
Fix issue #1382 by waiting for the service_manager to become available, or giving up after 2 minutes
Try to fix an issue with MediaInfo perhaps returning a str instead of an int
Fix issue #1582 by running the search in the original thread
Try to fix an issue that only seems to happen on macOS
Allow loading the same presentation file multiple times from 2.4.x service file.
Fix endless loop at the end of a PowerPoint presentation
Fix song search by author
Fix issue #1297 by reducing the number by 1024 times
Ignore the thumbnails if the path doesn't exist (fixes #914)
Fix an issue where an item's parent is None
Fix the 415 errors due to a change in Werkzeug
Fix translations loading on linux system-wide installation
Add detection for presentation files that were uploaded from the cloud.
Fix Datasoul translate strings
Skip missing thumbnails when loading a service
Minor fix for EasyWorship import
Fix stopping and looping of videos
Under the Hood
Replace appdirs with platformdirs
Update SQLAlchemy usage to be 2.x compatible
Migrate Images plugin to use shared folder code
Migrate to using SQLALchemy declarative in Songs, Bibles, Custom, Images, Alerts, Song Usage
Fix portable builds by re-arranging when the settings are created
Fix bug in _has_header of Bible CSV import
Fix issues with upgrading 2.9.x databases
Fix OpenLP startup by reordering statements
Check before initialising a None Bible
Make PathEdit handle None values
Spoof the SongSelect webengine user agent
Update AppVeyor for Mac to install Pyro5 instead of Pyro4
Silence error when shutting down threads
Re introduce the selective turning off logging - correctly this time.
Fix some issues with building on macOS
Make some forward compatibility changes
Refactor last instances of TestCase-based tests
Add test coverage for __main__.py and remove some unused files
Update appveyor.yml to use Python 3.11.
Fix an issue with the arguments of with_only_columns
Remove dependency on PIL since the latest version does not support PyQt5
Fixing freezing screenshot test
Fallback code for display screenshot code (used on '/main' Web Remote)
Update resource generation for ARM64 platforms (e.g. Apple M2)
Enumeration Conversion
Upgrade to Pyro5
Update CI to use the GitLab container registry
Display Custom Scheme
Fix bug in icon definition - Typo only
Take account of VLC on macOS being bundled with OpenLP
VLC - Cleanup - Stopping and looping correctly.
Fixing Images not being able to be inserted on Service
Reusable Media Toolbar
Adding foundational support to Footer per slide
Merge CustomXMLBuilder and CustomXMLParser
Fix tests on Windows failing due to MagicMock in Path
Fix selected=True not being set at new Transpose API Endpoint
Rework the songs settings, so that they're not as squashed.
We're happy to announce the fourth release candidate of OpenLP 3.1. This release fixes or improves some of the biggest bugs and issues we've seen in OpenLP. This is the last release candidate before the final release of OpenLP 3.1.
What then is my reward? That when I preach the Good News, I may present the Good News of Christ without charge, so as not to abuse my authority in the Good News.
The OpenLP developers are pleased to announce the second release candidate of OpenLP 3.1. This release candidate
contains a multitude of bug fixes, a number of enhancements, and even a new feature or two. There are also a number of
changes under the hood which puts OpenLP in a good position for the future.
Wait, what happened to the first release candidate?!
We had some issues with the packaging of RC1, and we caught a couple regressions (bugs that cause a feature not to work
like it previously did), and so we had to build a new release.
Rejoice in the Lord always! Again I will say, "Rejoice!" Let your gentleness be known to all men. The Lord is at
hand. In nothing be anxious, but in everything, by prayer and petition with thanksgiving, let your requests be
made known to God. And the peace of God, which surpasses all understanding, will guard your hearts and your
thoughts in Christ Jesus.
We want to say a HUGE thank you to our community for the recent donations we have received. The
recent donations we have received have enabled us to purchase the following items:
High DPI monitor
Many people have had issues on Windows with high DPI monitors and scaling. Thanks to the community,
we were able to purchase a 4K monitor so that we can test OpenLP with high resolutions and hopefully
narrow down these issues.
Apple Silicon Mac Mini
Due to a lack of resources, up until now we have not been able to build OpenLP on the new Apple
Silicon platform, resulting in various compatibility issues, especially with video. Thanks to some
extremely generous members of our community, we were able to purchase a Mac Mini M2, and we'll be
using that for building Apple Silicon versions of OpenLP, as well as testing and development of
OpenLP on that platform.
Extra RAM
We are also using virtual machines for running some tests and some development on Windows. These can
be quite resource intensive, and my desktop computer was not able to fully handle it. Thanks to our
community, the cost of an extra 16GB of RAM was covered, and we're able to run more virtual machines
for development and testing.
Ongoing Expenses
We do still have our regular ongoing expenses (domain names, downloads and forums hosting, etc), and
we are really grateful for the continued financial support of the community. Thank you!
As we said in our previous announcement, we are moving to rolling out fixes and updates faster.
So here, hot in the heels of our 3.0 release, is version 3.0.1 which contains a number of fixes for
issues you may have experienced.
Bugs Fixed
Fix theme loading of presentations
Fix a bug when migrating 2.4.6 presentations to 3.0
Fix song ordering for certain languages (On Linux this introduces a dependency on PyICU)
Fix an error when exporting song reporting
Fix the remote version test
Fix Print Service missing newlines on print
Video volume and repeat settings are now saved consistently between media.