Skip to content

Releases: Nordeus/pushkin

Critical APN bugs fix

31 Jan 13:36
Compare
Choose a tag to compare
  • Fixed memory leak in APN client that was causing memory to grow after every notification sent
  • Added Automatic APN client reconnect when connection was reset remotely by APN. This can happen due to inactivity, network problems or APN service being offline. Before this update, the problem required pushkin restart to be fixed.

Centralized DB and new APN API

30 Dec 10:23
Compare
Choose a tag to compare

New APN library which allowed to switch to new Apple API for Push notifications (HTTP/2).
Made changes so multiple Pushkin instances can use a single database, if needed. In previous versions, if you used multiple instances additional logic was necessary to determine the Pushkin instance which has information on the user that has to receive the push notification. This is not the case now, since the data can be shared. Following this, we advise installing a load balancer in production if you have multiple Pushkin instances, to fully use the benefits of this release.
The centralized database update introduced some useful side effects:

  • RequestProcessor is now a process pool instead of ThreadPool, this will lead to increased performance.
  • Eliminated PostgreSQL HStore dependency.

Since RequestProcessor is now a process pool and SQLAlchemy connection pool cannot be shared in forked processes we had to turn it off. It is advised
that in production you use an external connection pool, such as PgBouncer. If you choose not to use PgBouncer this doesn't mean your performance will suffer in comparison to previous version of Pushkin. A boost in performance is to be expected either way.