I am planning to upgrade the react-native from 0.51 to 0.62 for the iOS platform. Typically what is the duration it takes for an upgrade?
Can I carry out a staggered upgrade? Just to upgrade the react-native to the latest version and libraries to be upgraded later.
I can live with deprecated API if it doesn't break existing functionality or doesn't have performance issues.
Which is a better way: one version at a time or one portion of code at a time?
You can get more insights about amount of work that's in front of you with upgrade helper: https://react-native-community.github.io/upgrade-helper/?from=0.51.0&to=0.62.0
The best possible way is:
Copy and create a new repository(git master).
and carry out a direct upgrade to latest version.
Related
Let’s imagine I have an iOS app. In version 2.0, I added a bunch of new features, but to implement them, I had to drop support for an older iOS version which is still in heavy use (remember, it’s a hypothetical scenario).
Later, I discovered a super critical bug in version 1.0 of my app that needs to be patched.
What are my options in terms of distribution?
It seems that it’s not possible to release version 1.0.1 if version 2.0 is already on the App Store. Adding back support for the older iOS version and fixing the bug in 2.0.1 is not feasible because that would require removal of the new features.
The problem here is that I can’t think of a way you could submit a version that updates version 1 without letting your version 2 users download it. So if you want to update version 1 you will just have to bite the bullet and meld your versions together. Use availability so that the new features are not present for your version 1 users.
I am running gitlab-ce in docker containers. I am currently using version 10.5.4. I want to update because of a few bugs with kubernetes in this old version.
Reading the documentation Here the advice is to "first upgrade to the latest available minor version within your major version."
But reading other docs Here says I should update through each minor version. Is that just to avoid downtime?
What is the simplest Upgrade path for me to 11.8, if we're not too worried about downtime?
For anyone else reading it, the quote from the first link is:
We recommend that you first upgrade to the latest available minor version within your major version. By doing this, you can address any deprecation messages that could change behavior in the next major release.
Based on the table below that, the GitLab upgrade path would be 10.5.4 -> 10.8.(latest), fix the deprecations, then 10.8 -> 11.8. The page makes clear that one can (probably) jump between any patch/minor versions without going through the intermediate steps:
It is considered safe to jump between patch versions and minor versions within one major version.
The second source is presumably the Upgrading without Downtime section immediately below the one linked in the question.
Starting with GitLab 9.1.0 it’s possible to upgrade to a newer major, minor, or patch version of GitLab without having to take your GitLab instance offline. However, for this to work there are the following requirements:
You can only upgrade 1 minor release at a time. So from 9.1 to 9.2, not to 9.3.
It then provides details on background processes required for migrations. These are substantial, so it makes sense that jumping multiple minor versions could be a bit much is not recommended. One minor version at a time for upgrading without downtime. Useful once you are up-to-date, but may be worth skipping with so many minor versions to get through.
I am learning to use opencv. I am trying to install it from opencv official website. Is it okay to install the latest version(4.0.0)? I suppose that latest version should be compatible with the earlier versions so there shouldn't be any problem.
Is it okay to install the latest version(4.0.0)
Generally: Yes, why not? If you want to use the newest modules (like gapi, added in 4.0.0) you will need to use the newest version. It also makes a lot of sense to use the newest because they improved the performance for some operations compared to version 3.x.x.
I suppose that latest version should be compatible with the earlier versions so there shouldn't be any problem
Not necessarily. Version 4 to 3 might be compatible (I'm still using 3.x.x), but 3 to 2 are in fact not completely compatible. Most noticeable they moved a lot of functionality from the highgui package. From the official change log:
Although OpenCV 3 can be viewed as refined OpenCV 2 and is similar to the latter, this new version is not completely backward-compatible with OpenCV 2
I'd recommend you to read the official changelog for yourself and decide if you need the new functionality or if you want to stay with an older version. If you are new to OpenCV it probably makes sense to start with the newest version.
I asks these questions because I assume that the main page www.dartlang.org is similar to "download page" because possible direct DOWNLOAD DART (without redirect to download page) from this page without requirement to read additional information.
When I want download Java I can read similar information on the download page.
Version 7 Update 45
This means that this is a version 7 with the 45 update. I assume it last stable.
When I want download Dart I can read similar information on the download page (www.dartlang.org).
CURRENT STABLE VERSION OF DART: 30188
How I can get information how many updates released after major version?
Is this means that Dart has 1.0 rev 30188?
In my Editor (that I use) version is version 1.0.1_r30657 (DEV). It downloaded automatically.
Which version I use?
I think it is not stable because CURRENT STABLE VERSION OF DART is 30188.
How to avoid in Editor to download unstable versions?
How to allow the Editor to download latest stable versions?
Or I must use two systems (possible virtual) separately. One for the production and another for the development?
How I can get information how many updates released after major version?
You'll have to ask Google, they're not really doing comprehensive release notes right now because it just went to version 1. In the future, major version changes might be tracked on the language spec page.
I think it is not stable because CURRENT STABLE VERSION OF DART is 30188
Well, your version isn't considered stable because it's a dev release. A release can be stable even if it's not the most current.
How to avoid in Editor to download unstable versions? How to allow the Editor to download latest stable versions?
Only download the current stable version provided by Google. Not sure how your editor is downloading something automatically, the Dart Editor downloads directly from dartlang.org are packaged with the specified version of the language.
For older builds, check this out - http://gsdview.appspot.com/dart-editor-archive-integration/ .
Updates are not counted in Dart the way they are counted in Java
30188 is a continuous build number. Not every increment is a release. In fact between two updates differ usually by more than one build number.
A stable version is never the most current. The most current are builds from source (bleeding edge) from the development branch.
If you download the development version it updates itself with updates from the development channel. If you download a stable version it updates itself only with stable updates.
You can change the configuration so that the editor doesn't download updates automatically.
Hope this helps
Additionally to the other answers: If you want to use the stable build, you have to download it from dartlang.org. You probably have the DEV version because you used the Editor before Dart went to 1.0:
All existing users that has been with us from pre 1.0 days have been automatically updated to the dev channel.
https://groups.google.com/a/dartlang.org/d/msg/misc/UXRMVmX_6EQ/CSEHZ5c_HBYJ
I guess you have downloaded Dart Editor before the release of the first stable and you are updating it right from the Dart Editor environment. The version 1.0.1_r30657 (DEV) you wrote is the unstable dev release (as it was before the release of the first stable) and it automatically updates only to the dev releases.
For the latest stable release, you should download the current stable version of Dart 1.0.0_r30188 (STABLE) on the Dart Editor website https://www.dartlang.org/tools/editor/. It automatically updates only to the stable releases.
P.S.: If you want to get back the dev version, the link is right under the stable download link on the Dart Editor website
I get the "BASE SDK Missing" when re-opeing projects. (I got the latest build of xcode, and latest SDK installed.)
It seems to be happening when I quit a project, (not exiting xcode), and re-open the project after a while. I have tried both, with and without my iPhone plugged in. I have tried to fix the problem like described here, but it does not help for me. - It just makes it even worse! (unrecognizable SDK)
The only way I have managed to get it back to normal, is to do a manual re-boot of my mac, plugged in my phone, waited until it has checked my iPhone, and then, opened xcode. Time consuming and annoying!
Why does it happen and what is the trick to fix this?
Your recent upgrade of Xcode likely removed the earlier SDK that your project was set to use. There are a couple of solutions for the problem. The most simple solution is to always select the "Latest" SDK in your project's settings and not select a specific option. You may be uncomfortable with the idea and want to run your app on an older device but it's important you understand that all of the newer SDKs can generate code that works on older versions of iOS. There's a separate hard to remember option for setting the deploy target. (It took me a while to learn how/why to use this but it's well worth it.)
The second option is to actually find a version of the SDK that your project is set to and attempt to reinstall it. I suggest going this route only if necessary as it's not guaranteed to work in each case. Older SDKs may or may not work in later versions of Xcode (Eg. SDK 3.0 might not work in Xcode 4.3.2) due to major changes in the toolchains. Tools like gcc/gdb are deprecated in favor of llvm/lldb. Still, you may have a valid reason for using an older SDK. You may have to fix a bug that is present only when using the older toolchain or you may need to reproduce a problem that only happens with builds generated from your build server. In many of these cases it might be easier to upgrade where the problem occurs (Eg. upgrade the tools on the build server) or downgrade your dev environment. (Install an older version of Xcode.)
The reasoning behind the frustration is that Apple highly encourages rapid adoption of it's latest tools and technologies. It creates a better product as the dev community is forced to stay current and competitive while the users are forced to maintain upgrades to ensure apps continue to work. This is in contrast with the traditional model of backward compatibility allowing developers to support revision -n of a product/platform. It is also great for business since rapid adoption of the latest often encourages purchase of newer hardware and products to get the best experience. The rapid adoption ensures the more robust software along with bug fixes, enhancements make it to the majority of consumers overall increasing their penetration in the market.
You have to set your target and project's base SDK to "Latest" and not an explicit option. If you choose one explicitly it seems to break if you update xcode versions.