laravel framework stability and improvement with semantic versioning
in laravel 6 , taylor decided to follow semantic versioning in laravel releases , so a lot of developer think thats not stability in laravel because laravel release 25 sub version in laravel 6 , releasse 27 sub version in laravel 7 and in 8 sept release new version laravel 8 .
before we explain laravel stability lets descuss in whats semantic versioning , semantic versioning is standard versioning system to version our new release with specifiv rules to decide if this version is new release or sub version or batch version .
lets know whats is this 3 rules :-
- major is big change in the software like change in the folder structre like move model from app folder to new directory called models , replacment in cour packages like ui reset in laravel in laravel 6 it became seperate backage , in laravel 8 it replace bootstrap with tailwind , so all of this chnages are break in backward compatabilty this is make the developer to release new version like laravel 8 .
- minor is chnage in the software but add functionality in a backwards compatible like adding new feature to laravel gate or policy , or chnage the implementation of a method without changing the behavour of the method . like in laravel 7.14 add new method to php unit to test laravel job . this make the developer to release new sub version like laravel from 7.0.0 to laravel 7.27.0.
-batch is chnage to fix bug , in development world , at any software bugs are exist , so if we realse new sub version and we explore bug in it , we fix this bug and release new batch release , in laravel 7.25.0 , this sub version had secuirty issues in cookie , so taylor release 7.25.1 to fix this issues , in this release the , it is important to software user to upgrade to solve this problem .
example :- laravel 8.0.0 , the first digit ( 8 ) is the major , second digit ( 0 ) is minor , the third digit ( 0 ) is the bugs .
laravel used semantic versioning from version 6 so we see many minor release from version 6 to 8 but this not mean laravel not stable framwork . this give laravel commuinty the striength to ask about feature and report about something to laravel team and laravel team work in this features and release this features to the commuinty , thats mean quick development and adding features.
not only laravel that uses semantic versioning , angular , react , dotnet core and alot of framwork use semantic versioning.
the Summary of semantic versioning is increasing develpment cycle with standard versioning system .