Is there a "stable" version to use of the npm packages ui5/cli & sap-ux-tooling? - sapui5

To my knowledge, the latest non-alpha version of the #ui5/cli and #sap/ux-ui5-tooling (as of 2nd March 2022 - version 2.14.6 and 1.5.0 respectively) are the ones to use.
However, I wanted to confirm as my organisation has multiple ui5 projects and so having a standardised version of the #ui5/cli and #sap/ux-ui5-tooling dependencies could prevent issues around bugs in tooling.
If the advice is just to use the latest non-alpha version, then I just need to update the dependencies regularly.

The versions you mentioned should be your choice to use in a productive environment.
The upcoming UI5 tooling 3.0 is not.

I don't think you will achieve the same version in every app because of the lifecycle.
The packages are fast paced and when u have a stable app deployed you will not update it every month I think.
I would not invest time to find the perfect tooling version.

Related

Nuget Package Compatibility and Upgrades

My company has internal components that we deliver via internal NuGet. Now i want to make a Version 5.X of these components which will be breaking a lot from the 4.X versions.
However now if my colleagues browse for updates, the Nuget browser would recommend these new packages.
What i would prefer: If example 4.6 is installed, it would take the highest 4.X version but not 5.0 or above. Making packages for the 5.X path under completely different names would be annoying when the developer choses to upgrade.
Is there a way to mark nuget packages to do something like that? If that's not clear, tell me and i try to clarify.
If your projects are using packages.config, you can use allowedVersions: https://learn.microsoft.com/en-us/nuget/reference/packages-config#schema
There's no way to do this if your project uses PackageReference, but you can upvote (👍) this isse: https://github.com/NuGet/Home/issues/9082

How often does NuGet package gets updated?

I'm using NuGet to manage libraries used in my solution. But I wonder how often the libraries inside NuGet gets updated. For example, on 10 April 2019, jQuery 3.4.0 has been released, but as of today, the latest jQuery package on NuGet is more than 1 year old.
3.3.1 2,970,912 1/22/2018
I need to manually download the jQuery library from their website in order to use the latest version, but this beats the advantage of using NuGet. So my question is that how often is this updated? Is someone from Microsoft needs to add the library manually every time? Or does the library developer has to push the updates to NuGet (and I wonder why they have not done so if this is the case - now is more than 2 weeks after release date)?

Most Stable Version of Drools

We are planning to use Drools in our organisation with Scala/Spark. We have selected Drools Version 5.3.0 and 7.15.0 for our use but we have some stability doubts between them because Version 7.15.0 has recently launched & we are not sure whether it is stable or not.
We have practiced with Version 5.3.0 but we want to know the life cycle of it. What if after some time, Version 5.3.0 will not available for use or some update is brought for this?
So please help us to chose between them which version should we chose for longer use.
Drools 5.3 is outdated version and its not under development. Its better you go with latest release.Drools 7.15 is also stable, but if you are planning to use it for business critical application then I will recommend you to go with enterprise release of Drools 7.x , i.e Red Hat Decision Manager. With enterprise release will get patches for known issue on regular basis and one-off patch for critical issues.

When should I update NuGet packages for a project?

I understand that NuGet packages update process is not automatic for a good reason (a new version could break your code or cause unforeseen problems), but then it transfers the responsibility of updating all packages to the developers themselves. When exactly should we be updating NuGet packages for a given project? Are there some guidelines regarding this process?
In our current project, this is more or less arbitrary: I update packages whenever I remember to check for updates, and preferably at the start of a sprint so that, if there are problems with the newer versions, we are able to fix them or rollback to the previous versions of the offending package. Most of the time, I'm the only developer that worries about this stuff, but I feel it is valuable to always be as up to date as possible because of performance reasons and new features that can make our work easier.
Well, you should update whenever you are able to cope with it.
So you need to think carefully about the regression updating the packages could cause to your application if already in production, or the extra tests you are going to need to carry on in order to verify everything seems to be working as expected.
Normally updating to newer minor versions shouldn't cause much problems, but you always have the risk of it. Looking at the newer version release notes could prepare you to what to expect of the update.
In summary, update when you can cope with it, and you are ok with any shouting from your testers if suddenly the system regress without them even knowing it was coming :)
Few tips to decide package update strategy:
Don't run production application on a deprecated (not-maintained) package version. Upgrade to a maintained version at bare minimum if unable to upgrade to latest.
Don't run production application on a pre-release (not-stable) package version. Upgrade to a stable maintained version.
While upgrading by a major version, read publisher's release notes to understand the implication backward-compatibility from application context. This will help put a better estimate on development and testing efforts.

Upgrading Mercurial 1.5 to 2.2

I am upgrading my server from an old version of Mercurial, 1.5 to the newest version. I am wondering if the 2.2 build of Mercurial is stable for use by multiple users at a time. Also are there any gotchas when upgrading like my custom hooks not working, or a buildslave object not working? I have not done a major upgrade on a source control server before so help would be appreciated.
Mercurial is famouse for being very strict regarding compatibility. Have you checked upgrade notes? It list all breaking changes between version. Biggest change for me is introduction of hgweb in 1.6.
Biggest exception from compatibility rules are hooks. Mercurial doesn't guarantee anything so only way is to try.
Also consider making update in two stages. For example first to 1.9 and than to 2.2.