[GH-ISSUE #170] Tasks to complete in order to make a release #138

Closed
opened 2026-02-25 21:34:15 +03:00 by kerem · 15 comments
Owner

Originally created by @jasonmunro on GitHub (Mar 2, 2017).
Original GitHub issue: https://github.com/cypht-org/cypht/issues/170

Originally assigned to: @jasonmunro on GitHub.

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?

Originally created by @jasonmunro on GitHub (Mar 2, 2017). Original GitHub issue: https://github.com/cypht-org/cypht/issues/170 Originally assigned to: @jasonmunro on GitHub. 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?
kerem closed this issue 2026-02-25 21:34:15 +03:00
Author
Owner

@jasonmunro commented on GitHub (Mar 2, 2017):

Also, I'm considering using branches for releases instead of the master branch. So for this release I would do the following:

  1. branch the code for the release candidate
  2. remove any unfinished code or work in progress (like the PGP module).
  3. tag and create a release

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?

<!-- gh-comment-id:283757315 --> @jasonmunro commented on GitHub (Mar 2, 2017): Also, I'm considering using branches for releases instead of the master branch. So for this release I would do the following: 1. branch the code for the release candidate 2. remove any unfinished code or work in progress (like the PGP module). 3. tag and create a release 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?
Author
Owner

@dumblob commented on GitHub (Mar 2, 2017):

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 😉.

<!-- gh-comment-id:283758405 --> @dumblob commented on GitHub (Mar 2, 2017): > 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:.
Author
Owner

@jasonmunro commented on GitHub (Mar 2, 2017):

https://github.com/jasonmunro/cypht/releases :) 1.0.0-rc1 has been released!

<!-- gh-comment-id:283771044 --> @jasonmunro commented on GitHub (Mar 2, 2017): https://github.com/jasonmunro/cypht/releases :) 1.0.0-rc1 has been released!
Author
Owner

@jasonmunro commented on GitHub (Mar 16, 2017):

Needs to be fixed:
https://github.com/jasonmunro/cypht/issues/173

Needs to be merged from master:

  • a2d7df1c - fix a bug saving replies to the sent folder (2 days ago)
  • 9403ae66 - Remove all click listeners before adding (4 days ago)

After this I will release RC2

<!-- gh-comment-id:287196428 --> @jasonmunro commented on GitHub (Mar 16, 2017): Needs to be fixed: https://github.com/jasonmunro/cypht/issues/173 Needs to be merged from master: * a2d7df1c - fix a bug saving replies to the sent folder (2 days ago) * 9403ae66 - Remove all click listeners before adding (4 days ago) After this I will release RC2
Author
Owner

@jasonmunro commented on GitHub (Mar 17, 2017):

issue #173 is fixed, and the other two fixes are applied to the release branch

<!-- gh-comment-id:287422537 --> @jasonmunro commented on GitHub (Mar 17, 2017): issue #173 is fixed, and the other two fixes are applied to the release branch
Author
Owner

@jasonmunro commented on GitHub (Mar 17, 2017):

release candidate 2 is out: https://github.com/jasonmunro/cypht/releases/tag/v1.0.0-rc2

<!-- gh-comment-id:287451221 --> @jasonmunro commented on GitHub (Mar 17, 2017): release candidate 2 is out: https://github.com/jasonmunro/cypht/releases/tag/v1.0.0-rc2
Author
Owner

@jasonmunro commented on GitHub (Apr 3, 2017):

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! :)

<!-- gh-comment-id:291278742 --> @jasonmunro commented on GitHub (Apr 3, 2017): 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! :)
Author
Owner

@dumblob commented on GitHub (Apr 4, 2017):

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.

<!-- gh-comment-id:291407769 --> @dumblob commented on GitHub (Apr 4, 2017): Great news @jasonmunro, thank you! By the way did you ever try to install and run Cypht on [OpenWrt](https://openwrt.org/ ) or [LEDE](https://lede-project.org/ )? 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.
Author
Owner

@jasonmunro commented on GitHub (Apr 4, 2017):

@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

<!-- gh-comment-id:291526807 --> @jasonmunro commented on GitHub (Apr 4, 2017): @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
Author
Owner

@jasonmunro commented on GitHub (Apr 6, 2017):

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:

  • PHP warning when adding an SMTP server about a bad array index (user).
  • Sometimes server sections collapse after adding a server, bad UI experience
  • Adding an IMAP server produces the message "could not auth" when it should be "added server"
  • Deleting a server did not update the UI until I refreshed the page (might be a debug mode thing)
  • Adding a POP3 server throws a PHP notice about a property on a non object
  • I typoed the port for POP3 server to something that was open, but not POP3 and got the following error: Notice: fputs(): send of 17 bytes failed with errno=32 Broken pipe in /home/jason/release/cypht/modules/pop3/hm-pop3.php on line 149
  • Successfully adding and saving a POP3 server logs you out!
  • Need to make sure we don't allow the same server of any type with the same username to be added more than once.

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.

<!-- gh-comment-id:292260698 --> @jasonmunro commented on GitHub (Apr 6, 2017): 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: - PHP warning when adding an SMTP server about a bad array index (user). - Sometimes server sections collapse after adding a server, bad UI experience - Adding an IMAP server produces the message "could not auth" when it should be "added server" - Deleting a server did not update the UI until I refreshed the page (might be a debug mode thing) - Adding a POP3 server throws a PHP notice about a property on a non object - I typoed the port for POP3 server to something that was open, but not POP3 and got the following error: Notice: fputs(): send of 17 bytes failed with errno=32 Broken pipe in /home/jason/release/cypht/modules/pop3/hm-pop3.php on line 149 - Successfully adding and saving a POP3 server logs you out! - Need to make sure we don't allow the same server of any type with the same username to be added more than once. 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.
Author
Owner

@jasonmunro commented on GitHub (Apr 9, 2017):

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.

<!-- gh-comment-id:292763540 --> @jasonmunro commented on GitHub (Apr 9, 2017): 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.
Author
Owner

@jasonmunro commented on GitHub (Apr 10, 2017):

The following changes have been applied to master and the release branch:

  • d6f286d8 - fix connection test pop3 function I accidentally deleted
  • ff86ea2a - fixes for smtp server page issues
  • c17a4e47 - pop3 module set fixes around adding/deleting/forgetting servers
  • 53a9b30a - fix "forget credentials" IMAP form results
  • 2ced896d - fix folder prefetch error message when adding an IMAP server
  • ad3fa34e - fix a bug restoring local session settings
  • 3e8b00ac - fix some layout issues with IMAP message parts and headers
<!-- gh-comment-id:293041034 --> @jasonmunro commented on GitHub (Apr 10, 2017): The following changes have been applied to master and the release branch: * d6f286d8 - fix connection test pop3 function I accidentally deleted * ff86ea2a - fixes for smtp server page issues * c17a4e47 - pop3 module set fixes around adding/deleting/forgetting servers * 53a9b30a - fix "forget credentials" IMAP form results * 2ced896d - fix folder prefetch error message when adding an IMAP server * ad3fa34e - fix a bug restoring local session settings * 3e8b00ac - fix some layout issues with IMAP message parts and headers
Author
Owner

@jasonmunro commented on GitHub (Apr 18, 2017):

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 :)

https://github.com/jasonmunro/cypht/releases/tag/v1.0.0-rc7

<!-- gh-comment-id:294868170 --> @jasonmunro commented on GitHub (Apr 18, 2017): 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 :) https://github.com/jasonmunro/cypht/releases/tag/v1.0.0-rc7
Author
Owner

@jasonmunro commented on GitHub (Jun 2, 2017):

frogot to close this when the 1.0.0 release was done!

<!-- gh-comment-id:305931266 --> @jasonmunro commented on GitHub (Jun 2, 2017): frogot to close this when the 1.0.0 release was done!
Author
Owner

@dumblob commented on GitHub (Jun 6, 2017):

Congratulations to 1.0.0!

<!-- gh-comment-id:306588163 --> @dumblob commented on GitHub (Jun 6, 2017): Congratulations to 1.0.0!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/cypht#138
No description provided.