Explain SourceTree updates
Asked by AppTech Team:

Hi all,

When I go to <https://www.sourcetreeapp.com/> and use what is there I eventually get to windows installer download which claims it is of version 2.0.20.1 and there is not a single information to it .... there are not any release notes explaining what is new in there.

When I install it and run it it tells me that there are updates available !! where there is no information about such version on the web and also it provides release notes on what is new. Supprisingly enough the version I have just downloaded from the web, the very same version which notifies me about the update. is not mentioned in the release notes even if it is a final minor change on that major version. Instead of that it jumps directly to to a major/minor release of 2.1.0.2 which suprisingly is not available at the webpage and even continues describing releases up to 2.1.2.5 where there is also no word about it at the web page.

This kind of raises a lot of questions like:

1/ where is this version available from ?  
2/ why it is not mentioned at official webpage ? 3/ is it connection to somewhat hacked repository where backdored versions are available ?  
4/ In case I'm working in a compeny where there are policies about software installations and software used in the comapny needs to be repackaged - where I'm supposed to get original packages of these versions ?  
5/ I don't remember requesting installation of development versions of SourceTree - and if there was I cannot see any option to turn it of (besides "Don't promp me about new sourcetree installation." which is not exactly the same)

Such behaviour might be cool for teen developers but not so much in the responsible adult world.

Is here please anyone who may explain the updates of SourceTree to me please?


Answers:
author: minnsey
body: Hi SourceTree operates a process of progressive rollouts.  

i.e. 2.0.20.1 was the standard GA release.  

We made some changes/fixes and built 2.1.2.4. Once that build has passed our QA processes we are ready to release it, but because we have approximately 1 million users we expect edge cases to appear. We want to minimize shipping regressiosn to the whole user base.  

So we rollout the next version, e.g. 2.1.2.4 to 5% of users to start with.  

The % is managed by the installer tech, Squirrel.Windows, which applies a randomized percentage to each installation. If your install falls under the release percentage you will be offered the upgrade, otherwise you will not.  

Dependeing on the response we then aim to progressively increase the % over a week or so, 10%, 25%, 50%, 75% upto 100%. Once we hit 100% we update the download link to the new version 2.1.2.4  

You raise an interesting point about whether the future release, e.g. 2.1.2.4 in the above case shoudl be available as a download from day one, before it reach 100%  

hope that helps clarify.

comments: author: AppTech Team
body: Hi Michael,

Thank you very much for your answer.

The process actually makes sense to me, but I would say that such explanation of the upgrade politics of yours should be stated somewhere (possibly on the sourcetreeapp webapage)

Ad to the point of the future release availability: Remains to be reconsidered on your side of course, but ... Subjectively the obscurity doesn't make very good impression when found out.

Have a nice day,

Best Regards.

Adam Dedek / Jira SupportCommerzbank


author: AppTech Team
body: Hi Atlassian Community,  

We are still trying to bend SourceTree 2.4.7.0 installation in the way it will suite usage in enterprise better.  

Let me summarize the issues we are facing and workarounds we have come by:  

1/ it installs to user space  
\> we were able to partially overcome this by creating own installer that redirects the installation out of user space  

2/ user needs to register at Atlassian homepage  
\>we were able to overcome this by letting the installer to create a profile dir/s and supplying forged profile/configuration file/s there.  

3/ it tries to download support tools (git,hg) if local version are not the most recent  
\> we may overcome this by altering the name resolution on client machines (so it believes updates.atassian.com is somewhere else and thus it is not able to find/get/fetch the updates and the option to do so stops popping up the tools update option prompt)  

4/ it tries to update it self  
\> your release model is or could be very good for community or free devs, generally hipsters, but it doesn't suite the regulatory demands in enterprise. Which we have claimed with your developer community and we have reached quite satisfactory answer there. which were suggesting there is an undocumented option altering the sourcetree.exe.config file where it is possible to disable the Squirrel Updater.  

re no. 4: we were quit happily using these alteration to greate packages of the software for our users. however these alterations are enough for version 2.4.7.0  

even doing the above described alteration automatically where there is not much time for any process to achieve anything negotiating with remote site or at lest this was something we tough. The situations is that meanwhile local process is terminating the installation setup (right after first experience user setup there are options to configure accounts and other relations in more detail) and alters the sourcetree.exe.config to disable the Squirrel Updater. The squirrel updater already performs its routine it tries to connect to [www.sourcetreeapp.com](http://www.sourcetreeapp.com) to get an update. ... somehow it is able to use its time effectively and reach for an update in very short time, displaying yellow flag in the title bar of the application next time the application runs.I was trying to limit its actions by fooling the system name resolution again ... and I was really surprised it didn't work ... it doesn't care about my forgeries at all and it sticks with proxy settings (and it doesn't hesitate to fetch the configuration for it from system, despite the fact it has it's own proxy settings with in the options, which should be probably filed by the user if the one wants sourcetree to connect to his/her proxy host)  

Is there another hidden option within the configuration of source tree which would make it possible to disable this behavior ?  

Is there any other way how to retard this functionality in the way user using the application won't be offended by it or is not even able to spot it ?  

Would it be an option to for example remove the Updater.exe right after it is created/unpacked by the installer ?  

Thank you for your time and answers in advance.  

Best Regards,  

Adam Dedek / Commersystems / Commerzbank


author: minnsey
body: Hi Adam

First I'm afraid **supplying forged profile/configuration file/s there.** potentially violates our EULA.  

The enterprise MSI should be available in the next few weeks.  

Mike


author: AppTech Team
body: Hi Mike,

Ok, so we have stopped the packaging attempts. However we are quite in need of that enterprise MSI.

Are there any new regarding its release ? How about some EAP ?

it already was couple of weeks. Are there any news regarding the release please ?

Best Regards,

Adam


author: minnsey
body: Hi   

There is a link to signing up to the Beta program here. <https://www.sourcetreeapp.com/>  

And the beta MSI can be downloaded from here:  
<https://bitbucket.org/atlassianlabs/sourcetree-betas/downloads/>


author: AppTech Team
body: Hi Mike,

So sorry for mystification. We are not interested in the beta release or its program due to process guidelines we cannot distribute a beta release of anything to our users. So we are searching any updates on an actual SourceTree Enterprise edition production release.

Could you please clarify what is the road map, work flow or proposed release date for the enterprise edition?

Best Regards,

Adam


author: minnsey
body: Ah  

Have you tried the beta MSI to check it will do what you want?  

I'm afraid we don't make our Roadmap public currently, but we do hope to starting rolling out the 2.5.x release including the MSI soon.


author: AppTech Team
body: Hi Mike,

Thank you for your answer.

Would it be possible for you to do even rough estimate in something countable (what can be counted: like days, weeks, months, years ) ?

Best Regards,

Adam