Last updated October 22, 2018

Composer packages use semantic versioning to allow you to differentiate among different releases of a project. Knowing how this works, and how to specify a version constraint when requiring a Composer package are an important part of using Composer.

In this tutorial we'll:

  • Get an overview of semantic versioning
  • Look at how Composer version constraints work and related best practices
  • Learn how to define Composer package requirements such that you can quickly update all of your application's dependencies without breaking existing functionality

By the end of this tutorial, you should understand how semantic versioning relates to Composer, and how to specify version constraints for packages in your Composer project.