Do you find yourself having any one of the following questions:
- Am I using a Stable revision of Ziggeo?
- The revision that I am using is not mentioned as stable on Ziggeo website. Does it mean that this revision is unstable?
- Should I use a revision that is not Stable?
- I am using Stable revision. Is this the latest revision of Ziggeo?
If you have ever asked yourself any of the above questions then this article is for you. Most of our clients have at some point or other, asked themselves about this while using Ziggeo. Through this article, we will explain the difference between Stable and other revisions to help you see what it all means.
First things first, all of our revisions are safe to be used. Each and every one of them is tested. Actually the reality is that all of the revisions go though internal testing phases as well as tests done “externally”. This happens during the pre-release phase and before finally being released to the Production environment. So irrespective of whether you are using the keyword “stable” in your code or whether you are specifying particular revision i.e rXX ( for example : r31, r32, r33 etc ), you can be rest assured that the version is stable and good enough to be used in Production environments.
Why does Ziggeo have so many revisions?
Well, Ziggeo uses a slightly different approach as compared to what many other services do. Especially when it comes to new releases. While most of the services would add the code and functionality to the existing versions, we believe in releasing them as separate revisions.
Each new revision that comes out has new features as well as bug fixes for previously reported bugs. This makes it possible for you to pick any revision that you want and make a switch when it is convenient to you. We found that this works best for many of our customers. This allows your development teams to make tests of your workflows before using it on your public side.
It also makes it very simple for you to just change one point in the code and be able to quickly test out all the new updates.
I understand that, what is a Stable revision then?
“Stable” is just a keyword. You can think of it as a pointer that tells the system that when a request is made for “stable” revision it will automatically use the version that we have tagged as “stable” at the backend. The advantage that this offers is that our clients do not need to remember any particular revision to use in the code ( like r31, r32 etc ). They just use the keyword and everything else gets taken care of by itself.
This makes it perfect for anyone that wants to set it up and forget about it. Just come back to it once you want to add more features. In the meantime we will make the security and compatibility updates for you.
If I use “Stable” revision, then how will I get the newer versions and updates?
Let’s look at this with the help of an example. Our current Stable revision is pointed to r30 where as the latest version is r33. With time, more and more customers will upgrade to r33 and report to us if they face any issue. Our testing also goes on in parallel and all this leads to an error free revision. Once we are sure that a revision is being used by maximum clients and has the minimum number of issues raised/outstanding against it, we tag it as “stable” . So, the clients who are using “stable” revision will automatically be upgraded to the newer revision without touching anything in their code.
What is pre-release or developer preview revision?
This is the work in progress release. Before release is finalized from our end, we mark it as developer preview which basically gives our customers a chance to test it out while the release is still open from our end for code changes. Below points summarize this :
- We continue to add codes to this revision until it is officially released.
- Great for teams to test out and provide feedback before it is released so it comes out bug free.
- Any bugs found are resolved before releasing the revision publicly.
- Contains all the latest features we are working on.
Can I just use latest codes you have?
Yes. Just like “stable” tag, we also have “latest” tag. This or developer preview revision is the one we use on our website.
Just like stable revision, the latest is moved as well to the latest, non dev-preview revisions. It includes all the latest features and has passed our tests.
What happens with old revisions?
We actually support the old revisions. If you load the first release of our code it will still work with our system. Of course this is not recommended because browsers change their API and approaches to different scenarios almost daily. We keep on track and update our code while also include additional features. We of course always suggest stable or newer.
Why should you use stable tag?
We manually update where the stable tag should point to. This happens after a bit of time and when an update is needed to make it all run nicely. Because of this your code can keep on running even if there is a new update on some browser that would otherwise not make it possible. There were few cases like that before and if you are or were using stable, you did not even know of that.
There you will be able to get the details of all the revisions, features released in each and bug fixes done with each revision. It will also show the current stable revision [always on top].
To summarize, stable tag basically refers to that revision which we feel, is the most stable and has the least number of issues reported/outstanding against it by our clients. This does not mean that the other revisions are not stable. You can choose any version that suits you and use it without any second thoughts about its stability.
If you opt for specific revision, it is up to you to keep updating your code to make it all run smooth. If you prefer the automation as much as possible, just keep it on stable tag and you will have a smooth sail.
We hope that we have addressed all your doubts related to the “stable” version with this article. As always, please feel free to contact us at email@example.com for any queries and we will be happy to answer.