Closed jasonmunro closed 7 years ago
Also, I'm considering using branches for releases instead of the master branch. So for this release I would do the following:
Fixes would go into the master branch and merged to the release branch until we finish with pre-releases, then we the branch has one final tag for 1.0.0 and the release is cut from there. No more changes ever go into the branch, and continued development happens on the master branch until the next release cycle. Thoughts anyone?
However, I think I will work on those in parallel for a future release, so they won't be included in the initial 1.0.0 version.
My words.
Also, I'm considering using branches for releases instead of the master branch.
There are several used models for releasing in git. But from my experience bigger or longer-term projects use exactly the approach you've described. So, go for it :wink:.
https://github.com/jasonmunro/cypht/releases :) 1.0.0-rc1 has been released!
Needs to be fixed: https://github.com/jasonmunro/cypht/issues/173
Needs to be merged from master:
After this I will release RC2
issue #173 is fixed, and the other two fixes are applied to the release branch
release candidate 2 is out: https://github.com/jasonmunro/cypht/releases/tag/v1.0.0-rc2
RC4 was released last night, and today I fixed the last issue marked as a bug in the tracker. I'm going to merge a few other small changes from today (using git cherry-pick from master to the release branch makes this super easy), and get RC5 out there before the end of the week.
Next week I'm going to do a bunch of testing on it, and unless something else pops up, I'm thinking our first official not-pre-release will happen next Friday. If anyone has concerns about that, now is the time to voice them! :)
Great news @jasonmunro, thank you!
By the way did you ever try to install and run Cypht on OpenWrt or LEDE? I didn't find time yet to test it, but this might show some potential bugs as these tiny distributions use slightly cut-down versions of SW and most probably also a PHP without some bloaty features (after a short look, it seems Cypht itself won't have any issue, but the libraries Cypht depends on might do - I didn't check them).
Note this is not necessary for the first release, it's just a suggestion how to test things in a little bit more constrained environment to catche some bugs faster.
@dumblob good idea. I did recently setup Tavis CI and Sauce Labs to auto-run our unit and selenium tests on commit: https://travis-ci.org/jasonmunro/cypht/builds/218226339
Just did some testing with a fresh account and the RC5 release I put together last night. Found multiple problems all on the server page that need to be addressed:
I'm going to go through each one, see if it's reproducible in the master branch, fix it, and cherry pick it to the release branch.
I think I have everything but the last bullet point resolved. I hope to get to that tomorrow, and will add a list of commits to this thread.
The following changes have been applied to master and the release branch:
RC7 has been released. I had hoped RC6 would be the last candidate, but I found a number of issues worth cleaning up. Doing some testing on this now, and will use it instead of the master branch for the week and maybe we can finally get 1.0.0 out the door after that :)
frogot to close this when the 1.0.0 release was done!
Congratulations to 1.0.0!
It's about time we started doing releases! Many thanks to @dumblob for the suggestion. We will use semantic version numbers as described here: http://semver.org/. My plan is to start releases with a 1.0.0-pre1 so we can hopefully get some feedback and have some wiggle room for fixes before we go stable with our first real release.
Looking through the open issues, I think we are pretty caught up on bugs, so this is a good time to get this done. My shortlist of things to do are: update profiles to uncouple them from IMAP/SMTP servers such that you can create as many as you want, and finish the PGP module set. However, I think I will work on those in parallel for a future release, so they won't be included in the initial 1.0.0 version.
Does anybody know of any other "must fix" things I'm not remembering?