You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -544,6 +544,33 @@ excellent support for debugging console applications.
544
544
545
545
[PyCharm](https://www.jetbrains.com/pycharm/) is also quite good and has very nice [code inspection](https://www.jetbrains.com/help/pycharm/code-inspection.html) capabilities.
546
546
547
+
## Branching Strategy and Semantic Versioning
548
+
549
+
Starting with version 1.0.0, `cmd2` has adopted [Semantic Versioning](https://semver.org).
550
+
551
+
### Semantic Versioning Summary
552
+
Given a version number `MAJOR`.`MINOR`.`PATCH`, increment the:
553
+
554
+
-`MAJOR` version when you make incompatible API changes,
555
+
-`MINOR` version when you add functionality in a backwards compatible manner, and
556
+
-`PATCH` version when you make backwards compatible bug fixes.
557
+
558
+
### Branching Strategy
559
+
560
+
We use the **master** branch for the upcoming `PATCH` release - i.e. if the current version
561
+
of `cmd2` is 1.0.2, then the **master** branch contains code which is planned for release
562
+
in 1.0.3.
563
+
564
+
If work needs to be done for a `MAJOR` or `MINOR` release when we anticipate there will be
565
+
a `PATCH` release in-between, then a branch should be created named for the appropriate version
566
+
number for the work, e.g. if the current release of `cmd2` is 1.0.2 and a backwards-incompatible
567
+
change needs to be committed for an upcoming `MAJOR` release, then this work should be committed
568
+
to a **2.0.0** branch until such a time as we are ready to release version 2.0.0.
569
+
570
+
Following this strategy, releases are always done from the **master** branch and `MAJOR` or `MINOR`
571
+
branches are merged to **master** immediately prior to doing a release. Once merged to **master**, the
572
+
other branches can be deleted. All releases are tagged so that they can be reproduced if necessary.
573
+
547
574
## Publishing a new release
548
575
549
576
Since 0.9.2, the process of publishing a new release of `cmd2` to [PyPi](https://pypi.org/) has been
0 commit comments