We are moving our forum in GitHub Discussions. For questions about Phalcon v3/v4 you can visit here and for Phalcon v5 here.

For existing v3 installations via packagecloud.io - what will happen when Phalcon v4 is released?

For anybody who has already installed Phalcon v3 in the past, using the first method mentioned at: https://phalcon.io/en-us/download/linux ... i.e. Phalcon gets installed and upgraded using the standard Debian/Ubuntu apt package manager...

What will happen once Phalcon v4 is released as the main stable version, and we then run our next apt-get upgrade ? (or perhaps unattended-upgrades runs)

  • a) will our installations be upgraded to v4 automatically?
  • b) or, will our installations stick to v3.*?

A couple of things imply to me that (a) may be what is going to happen? (but I'm only guessing, as these are common methods used by other applications to avoid auto-upgrades across major versions)...

  • The package name installed on my systems currently is php7.0-phalcon ... i.e. there's no major version number in Phalcon's package name
  • There is also no version number in the repo URL in the file /etc/apt/sources.list.d/phalcon_stable.list ... deb https://packagecloud.io/phalcon/stable/ubuntu/ xenial main

If it is (a)... it may cause issues for people if there are any breaking changes between v3 and v4. Many of us likely won't even immediately realise that v4 has been released, so it could catch people by surprise. Especially on production servers.

And is there anything else in general us apt users should be wary about when v4 gets released?

edited Dec '19
  • a) Yes, this will happens after we'll release a stable version
  • b) No

From man 8 apt-mark

apt-mark can be used as a unified front-end to set various settings for a package, such as marking a package as being automatically/manually installed or changing dpkg selections such as hold, install, deinstall and purge which are respected e.g. by apt-get dselect-upgrade or aptitude.

Something like sudo apt-mark hold php7.0-phalcon should do the trick.

edited Dec '19

Thanks for the info. I'll be sure to do apt-mark on my servers now.

Going forward for "v4 to v5" onward... should this maybe be reconsidered?

Seeing that Phalcon uses semver, it's expected that there will possibly be breaking changes between major version numbers, so this current setup seems quite risky for anyone using Phalcon in production.

And apt/packagecloud is the 1st recommended install method at the top of https://phalcon.io/en-us/download/linux - so I would think that a lot of people are installing it this way.

This current approach is also atypical of how most software installed via apt works (both standard distro packages, and external apt repos), especially in Debian. I think it might catch a lot of users by surprise.

Or is there something I'm missing here, and there's a reason that there's no need to worry about all this?

Also I noticed at https://docs.phalcon.io/4.0/en/upgrade that it mentions:

Phalcon v4 supports only PHP 7.2 and above.

What will happen on servers that don't have this?

Automatic updating will occur only for those users whose systems satisfy the requirements.

I think @hi2u makes a very good point. My systems will support v4, but all the apps I've written won't necessarily work in v4.

Does apt have a way to include a confirmation notice when upgrading? Something like "Phalcon version 4 has breaking changes from version 3. Install version 4?"