Reflections and Projections

OpenLP 3.1.5 "Legendary Lazarus" Released

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)

Known Issues

See the OpenLP 3.1 release blog post for the list of known issues.

Note

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.

OpenLP 3.1.3 "Noble Nahum" Released

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)

Known Issues

See the OpenLP 3.1 release blog post for the list of known issues.

OpenLP 3.1.2 "Exemplary Eleazar" Released

It's been a few months, but we've been working on fixing some of the most frequently encountered bugs in version 3.1.0 and 3.1.1.

Blessed is the man who doesn't walk in the counsel of the wicked,

Nor stand in the way of sinners,

Nor sit in the seat of scoffers;

But his delight is in the law of Yahweh;

On his law he meditates day and night.

Psalm 1:1-2

New Features

  • Add "Apply UPPERCASE globally" function to songs plugin

  • Add EasyWorship Service file (.ewsx) song importer

  • Add web API endpoint for the Web Remote to get the configured language

  • Add web API endpoint for the Web Remote to get the configured shortcut keys

Enhancements

  • Import additional planning center data

  • Better handling and notification of file permission errors

  • Provide more integration for community plugins

  • Make the slide height affect the size of the thumbnails generated

Bug Fixes

  • Fix OpenLP being unable to detect VLC on macOS

  • Stop Service File items from containing more than one audio file

  • Fix build part of version number

  • Hide live when screen setup has changed to prevent a possible crash

  • Attempt to fix #1878 by checking if the service item exists first

  • Fix for not found i18n directory when using Web Remote

  • Fix missing verse translations

  • Add checks to prevent multiple Linked Audio items on songs

  • Further fix #1871 by adding the Application name as early as possible

  • Fix unintentional change of the organization name by the domain name.

  • Fix missing translations

Known Issues

See the OpenLP 3.1 release blog post for the list of known issues.

Download

Download the latest version of OpenLP from the downloads section on the site.

OpenLP 3.1.1 "Beaming Bartimaeus" Released

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

  • Update and fix a number of translations

Known Issues

See the OpenLP 3.1 release blog post for the list of known issues.

Download

Download the latest version of OpenLP from the downloads section on the site.

OpenLP 3.1.0 "Superb Seth" Released

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:

  1. From Applications / Utilities run Terminal

  2. In Terminal, type in the following command:

    xattr -dr com.apple.quarantine /Applications/OpenLP.app
  3. In some cases, you may need to prepend sudo to the above command

  4. This should allow you to start OpenLP normally

"VLC not installed" error on macOS

OpenLP uses VLC for video and media playback. At this stage VLC is not bundled with OpenLP, so you will need to download and install it yourself.

You can download VLC from the VLC website.

Main View does update in Ubuntu 22.04, Linux Mint

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.

  • Remove WebOb -- we don't need it

OpenLP 3.1.0 Release Candidate 4 "Nifty Naphtali"

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.

1 Corinthians 9:18

Download

Fixes Since Release Candidate 2

  • Fix irregular service theme saving (closes #1723)

  • Fix AuthorType not getting translated

  • Fix bug in _has_header

  • Fix issues with upgrading 2.9.x databases

  • High DPI fixes

  • Fix error when no Bible is available while importing from PlanningCenterOnline

  • Check before initialising a None Bible

  • Fix #1700 by typecasting the calls to Paths

  • Make PathEdit handle None values

  • Fix external DB settings

  • Fix alerts

  • Fixes #1325 - Handling of Missing VLC.

  • Better handling of attempts to load invalid SWORD folder or zip-file

  • Ensure a path set in PathEdit is a Path instance

  • Fix OpenLyrics import to trim leading whitespace in verses

  • Fix SongSelect browsing by implementing missing JavaScript APIs

  • Do not start the same presentation again when it's already live

  • Prevent key error when unblank screen at start of presentation

  • Fix the startup order to prevent issues in Windows and Portable builds

OpenLP 3.1.0 Release Candidate 2 "Jubilant Josiah"

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.

Philippians 4:4-7

Download

New Features

  • Implement a filelock for shared data folder.

  • Add Datasoul song importer

  • Add Footer Content as Extra First Slide

Enhancements

  • Add authors in powerpraise importer

  • Add the list of associated songs to the delete dialog in the song maintenance form

  • Update some system messaging to clarify severity of messages

  • Change SongSelect import procedure to import when clicking download on webpage

  • New theme adjustments: Add letter spacing to main area; add line and letter spacing to footer

  • Allow the remote interface update notification to be turned off.

  • UI: Move "Live" / "Preview" and current item onto one line

  • Migrate from FontAwesome4 to Material Design Icons v5.9.55

  • Highlighted slidecontroller buttons

  • Rework the songs settings, so that they're not as squashed.

  • Updated translation strings.

Bugs Fixed

  • 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 2m

  • 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

  • Fix bug # 1601 by allowing loading the same presentation file multiple times from 2.4.x service file

  • Don't crash when a permission error is raised during generation of the sha256 hash

  • 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

  • Add detection for presentation files that were uploaded from the cloud.

  • Ignore the thumbnails if the path doesn't exist (fixes #914)

  • Fix for #1495 task: wrapped C/C++ object of type QTreeWidgetItem has been deleted

  • Fixing Images not being able to be inserted on Service

  • Minor fix for EasyWorship import

  • Improve Powerpoint detection by trying to start the application instead of looking it up in the registry.

  • Skip missing thumbnails when loading a service

  • Upgrade internal VLC processing to support looping and stooping of media correctly.

Under the Hood

  • Upgraded to Python 3.11, Windows 10+

  • Upgrade images plugin to use the same shared code as media and presentations

  • Display API abstraction

  • Fix various building issues on macOS

  • Refactor database models to use declarative modeling

  • Refactor database queries to support SQLAlchemy 2.0+

  • Remove dependency on PIL/Pillow since the latest version does not support PyQt5

  • Make the media toolbar reusable

  • Bypass image db updates if the db has already been upgraded

  • Refactor last instances of TestCase-based tests

  • Update resource generation for ARM64 platforms (e.g. Apple M2)

  • Upgrade to Pyro5

  • Fix an issue where an item's parent is None

  • Fix the 415 errors due to a change in Werkzeug

  • Update CI to use the GitLab container registry

  • Display Custom Scheme

  • Implement new message websocket endpoint

  • Adding foundational support to Footer per slide

Thank You for Your Donations!

Thank you so much!

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!

OpenLP 3.0.2 "Smart Simeon" Released

We're happy to announce another bug fix release in the 3.0.x series.

Known Issues

These are the issues that we know about, and are busy working on.

Bug Fixes

  • Only show hash if song book number exists

  • FIX: Missing looping for theme background videos

  • Fix Songs' Topics media manager icon to be the same from the Song Maintenance dialog

  • Add ability to return transposed item with service_item format to avoid duplicate calls on remote

  • Fix OpenLyrics whitespaces being 'eaten' (again)

  • Fixg service manager's list exception when pressing 'Left' keyboard key without any item selected

  • Force the use of SqlAlchemy 1.4 for now

  • Removing login requirement from transpose endpoint

  • Handle verse ranges in BibleServer

  • Fix up loading 2.9.x services

  • Attempt to fix #1287 by checking for both str and bytes, and decoding bytes to unicode

  • Add debugging for VLC and fix strange state.

  • Display the closing progress dialog during plugin shutdown

  • Fix an issue with the Worship Center Pro importer

  • Fix white preview display when previewing presentations

  • Fix an issue where the websockets server would try to shut down even when -w is supplied

  • Use a simpler approach when creating a tmp file when saving service files

Download

Head on over to the downloads section of the website to download version 3.0.2 now!

OpenLP 3.0.1 "Fast Phinehas" Released

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.

Known Issues

Download

Head on over to the downloads section of the website to download version 3.0.1 now!