At the company where I am working, there is a huge codebase currently running on Ruby 1.6.8 (2002), which I am tasked with updating to the latest possible version.
There already exists a documentation, which explains how to update the code to Ruby 1.9.3, but even then there is not much documentation which explains the changes which 2.x introduced.
This documentation is also not ideal for me, since it wasn't extensive enough. Is there a website where I can find the changelogs for every Ruby version?
Here https://www.ruby-lang.org/en/downloads/releases/ are the changelogs of each version.
Related
I was browsing rubygems.org for themes in Jekyll and they were causing trouble with the current versions of jekyll.
Like here I was trying out linaro-jekyll-theme. and I got this
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies....
Bundler could not find compatible versions for gem "jekyll":
In Gemfile:
jekyll (~> 4.2.1)
linaro-jekyll-theme was resolved to 1.0, which depends on
jekyll (~> 3.4)
Bundler could not find compatible versions for gem "linaro-jekyll-theme":
In snapshot (Gemfile.lock):
linaro-jekyll-theme (= 1.0)
In Gemfile:
linaro-jekyll-theme
Running bundle update will rebuild your snapshot from scratch, using only
the gems in your Gemfile, which may resolve the conflict.
How to change jekyll versions according to the needs. Is there any problem associated with changing versions so many times?
A Jekyll theme (or any gem in general) might depend on a certain version of another gem because
is depends on certain features that were removed or changed in later versions or
the author just pinned the version as a reminder to check compatibility when a new major version is released because major releases might break the gem.
In this example, the author might already have known that their gem works with Jekyll 3.x but not with 4.x anymore or they just wanted to revisit the theme later if it still works with Jekyll 4.x but never did.
Changing versions is not really a problem and because of bundler you can do that easily and as often as you want or need to. But there might be a general issue with downgrading a gem. Newer versions are released mainly for two reasons:
to add new features and
to fix bugs and security vulnerabilities.
When you work with an older version of a gem then you might miss new features that might be okay if you do not need them. But you also might open yourself to security vulnerabilities that have already been fixed in later versions.
My advice is:
Try using the latest version of a gem whenever possible.
If another gem depends on an older version and you, therefore, an update to the latest version, then I would ask myself if it is really worth it to use such an outdated gem. When the gem hasn't been updated to depend on the latest version for a longer period of time then it is likely that it will not be updated anymore which is a risk.
If you still want or need to downgrade then I suggest checking the changelog of the gem what features and bug fixes you will miss. And to check the changelog on a regular basis in the future too.
Useful links in this context: The list of Jekyll versions, as you can see Jekyll 3.4 is about five years old that is a lot of time to build new features, fix bugs and security vulnerabilities. And a lot of time for a theme author to make a theme compatible with newer versions. And the Jekyll Changelog in which you can check what you would be missing when you downgrade to 3.4 instead of using the latest version (currently 4.2.1). And that list is very long.
My team has just upgraded from SpringBoot 1.5.12.RELEASE to 2.4.1 but only to discover that a few days after this major upgrade the documentation references for 2.4.1 have suspiciously and unexpectedly vanished from the documentation page at https://spring.io/projects/spring-boot#learn
We cannot afford that frequent upgrades.
The current GA release is 2.4.2
Why did 2.4.1 disappear?
Was there something fundamentally wrong with 2.4.1 that we should be aware of?
Is there a release plan we can follow going forward?
The Spring project pages only list the most recent patch versions.
I believe this answers my question.
In the project I am working, I have to reuse a project which uses storm 0.9.7.
I do not want to upgrade to higher version as it would need a lot of code changes I I am expected to reuse that code.
Is Storm version 0.9.7 still supported? Or is support for 0.9.7 dropped?
If Storm 0.9.7 is not supported, I may have to rewrite the code
As far as I know development on 0.9.x has stopped. You might still be able to get answers to your questions on the user mailing list, but I'd move to a more recent release.
I search for the best way to manage java dependancies in a jruby app/library.
Some time ago i read an article about getting java dependancies based on Maven through rubygems. I tried to follow up on this and found some information that this feature was dropped in JRuby 1.7. Also I found some projects like ruby_maven and jbundler but they look like work in progress.
Im especially interested in the integration with bundler and gemspec.
I am no fan of maven and prefer the ruby / bundler way.
Would be nice if a jruby pro could shed some light on the current state.
Me and my coworker are working on a tool to handle mixed Java/JRuby projects. We're hoping to be finished with it this week, so check it out next week and see if it meets your needs. (We still need to update the documentation a little bit, too.)
https://github.com/sam/doubleshot
You had mentioned that JBundler looks like a work in progress, but it does work. I'd recommend giving it a shot if you can't wait a week to try out our project.
There are quite a few versions of Ruby 1.9 floating around. There are a few Ruby 1.9 builds for the different operating systems at the official Ruby language site here:
http://www.ruby-lang.org/en/downloads/
There are also other 1.9 versions at Ruby Forge:
http://rubyforge.org/frs/?group_id=167&release_id=38052
What are the differences between them? And which one should one be learning?
I ask this because I started taking a Ruby course at http://rubylearning.com/ and they recommend downloading ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-mingw32] but do not really state why. Also I see other people using different builds of 1.9 so I am curious about the differences.
Thanks,
caeious
There are three main versions of Ruby 1.9 on ruby-lang.org:
Stable: this is the one that most people should be using, as it's the latest stable release
Stable snapshot: this is the latest version of the development branch in SVN that has been marked as 'stable'. It's an unreleased version that's still being worked on, and should only be interesting to those wanting to test out the upcoming Ruby version.
Daily snapshot: this is a snapshot of the development branch in SVN, taken every day. Should be pretty unstable, and only recommended to those wanting to develop Ruby itself.
For your Ruby course I'd definitely use the latest Stable release, so the recommendation you got seems about right.