
Breaking changes for Push Notifications
TL;DR: If you don’t use zmNinja push notifications, ignore this post. If you do, zmNinja 1.2.510 and beyond will use Google FCM for push notifications. You will need to update your event server to 0.95 (or beyond). If you don’t, push will stop working. You should update zmeventserver now. It should work with old versions of zmNinja too.
Over the past few months, I’ve been chipping away trying to update some of the archaic parts of zmNinja to newer tools. The key reasons around this are to do with stability. You can follow my github commits for details — but the key updates were around updating ionic libraries, the build process, updates to cordova plugins (thanks to which android users now also have fingerprint auth) and others.
One of the big ticket items was Push Notification. I know a lot of users use zmNinja’s push notification system. When I first released zmNinja, Apple had a terrible Push Notification system. It involved setting up complex certificates which expired after a few years and also required me to set up my own Push Server on the Internet that required you to route your push messages through my server. Further, specifically for Apple users, the push protocol was an old mechanism which made it very hard to know which tokens were old and needed removal etc — which means your /etc/private/tokens.txt file would grow over time with a load of bad tokens.
Things have changed since then. Apple updated its push specs to a JWT Token based push system and Google released Firebase and FCM which makes it much simpler for mobile app developers like me to focus on the app and not have to worry about setting up servers et al.

I’ve been wanting to switch to FCM for a long time, but given I’m not really a coder (zmNinja was my first app), I let it slide for as long as possible. However, I’ve finally updated the infrastructure. As the TL;DR part of this post states,
Starting version 1.2.510 of zmNinja (I’ll be releasing it soon), you will need to migrate your zmeventnotification.pl script to v0.95 or push will stop working. This migration will allow you to directly use Google FCM services to deliver pushes to your phone without my server. In fact, starting 1.2.510 I will retire my server completely (big thanks to Kevin Weiland @ www.wk-it.net for hosting a VM where I could run my push server).
More details are here