Mostly good news about freezing, Typo, and Rails 1.1.1
Posted by David April 03, 2006 @ 05:31 AM
Let’s start with the good news about freezing and Rails 1.1.1:
- New applications will automatically bind to the gem version of Rails they were created with using a RAILS_GEM_VERSION constant in config/environment.rb
- You can now file freeze a new application with
rails myapp --freeze, such that it doesn’t even depend on the proper gems being available - You can now also freeze Rails from a tag using like
rake rails:freeze:edge TAG=rel_1-1-0
So lots of great options to prevent that your application will ever get bitten by an external upgrade again.
In addition, we’re including a handful of fixes for various other regressions. So the vast majority of all applications should Just Work after the upgrade (but of course, you should always test before deploying an update). You may still have plugins that are incompatible, but most plugin authors should have a 1.1.x compatible version available by then.
If you have Typo 2.6.0, you must freeze
Now to the slightly less exciting news: Typo 2.6.0 is not going to work with Rails 1.1.1. The Typo team has been working on a new release that’ll be 1.1.x compatible and I’ve been imploring them to release a 2.6.1 that just includes Rails 1.0 in vendor/rails. But a vanilla 2.6.0 install with not work with 1.1.x.
That sounds worse than it is, because the remedy is really simple: Checkout Rails 1.0 into vendor/rails and Typo won’t give a hoot when your host inevitably decides to upgrade to Rails 1.1.x. The easiest and most fault-tolerant way of doing that is through svn. Go to the root of your Typo application and run:
svn export http://dev.rubyonrails.org/svn/rails/tags/rel_1-0-0 vendor/rails
Then restart your Typo and you’re now safe from gem updates. This antidote is a good one for any application you have deployed on a shared host. It’s not safe, and will never be safe, to just float against the latest Rails on a shared host. Always make sure you’re playing it cool and do a freeze.
Regardless of the factors, the core team apologizes for any inconvenience caused by the 1.1.0 release. While it worked for the vast majority of people, we should indeed had made sure to get feedback from the Typo guys before pushing out the release. Then at least we could have warned people in advance that 2.6.0 was simply not going to jive.
Hopefully this ordeal will motivate more people to help test future release candidates. We’ll do ours to help by extending the testing period and we’ll be grateful if you would do yours by testing and reporting any troubles found.
Rails 1.1.1 early this week
If you want to get into the good spirit right away, you can help test the trunk, which is aiming to become Rails 1.1.1 early this week. We still lack a few fixes, but what’s there should already deal with almost all of the issues. To be fail safe, remove vendor/rails (if you have it), and run:
svn export http://dev.rubyonrails.org/svn/rails/trunk vendor/rails
Thanks everyone!

Great news! And now that it breaks typo isnt really rails fault. Its up to the app author to keep his app up to date.
Thank you! You guys are awesome. Rails “1.1” had enough changes to warrant being called “2.0”—and now, “1.1.1” probably has enough improvements to be called “1.2”. Amazing how fast rails is improving!
It would be fantastic if the freeze_edge task can be improved so that it works with Debian 3.1 (svn 1.1.4) again. It broke in rails-1.1 but works in rails-1.0.
I know svn-1.1.4 is old—but it is going to be around for at least ~9 months on all the Debian 3.1 servers used by hosting companies. Many rails fans won’t have the option of upgrading svn on their servers.
Maybe the old 1.0 method for freeze_edge can be used if rake detects svn 1.1.x.
I think that issue and #4461 are my two wishlist items for rails-1.1.1.
Anyway, thanks for all the hard work!
wow, this is what I call “hearing your user”, thanks!
The lack of details here is disturbing. WHY is typo so broken? And WHY is their UPGRADE taking so long? We’ve been lead to believe that RoR avoids these issues …
For the record, this looks an awful lot like the kinds of breaking releases that frequently happened in the MSFT world pre-.NET.
null: If you are unhappy with your purchase, just ask for your money back.
There is a version of Typo stable available with Rails 1.0 included now.
http://www.typosphere.org/trac/wiki/DownloadStable
The small team of developers worked extremely hard at looking at the issues and Typo trunk is compatible with Rails 1.1
Being so close to the next stable release of Typo I’m glad they are concentrating on that when It’s perfectly possible to run Typo 2.6.0 with frozen Rails, rather than retrospectively trying to fix 2.6.0 – especially as it only takes two minutes to freeze.
There is a version of Typo stable available with Rails 1.0 included now.
http://www.typosphere.org/trac/wiki/DownloadStable
The small team of developers worked extremely hard at looking at the issues and Typo trunk is compatible with Rails 1.1
Being so close to the next stable release of Typo I’m glad they are concentrating on that when It’s perfectly possible to run Typo 2.6.0 with frozen Rails, rather than retrospectively trying to fix 2.6.0 – especially as it only takes two minutes to freeze.
Thanks for the support Gary.
Of course, patches to make the 2.x.x version of typo work with Rails 1.1 are always welcome.
what happens if i run the freeze command multiple times for the same app, will it intelligently overwrite the previous freeze.
I really don’t understand the difference between the 3 different methods.
Could someone please explain them in more detail and highlight the pro/con of each.
Thanks
RAILS_GEM_VERSION requires rails-1.0 gem to be installed.
rails myapp—freeze is for new applications
rake rails:freeze:edge TAG=rel_1-1-0 is for existing applications and does not require rails-1.0 gem.
OK. I want to help test new release candidates or revisions.
After we do a freeze_edge from an empty rails-1.0 app, is there a command we can issue to run all the rails tests that the rails core team relies on?
This way, the general public can submit standard rails test results for their OS+Ruby+RDBMS+Gems combination.
I think this would be a very useful heads-up before people test their custom apps using new versions of rails. And it could save the core team a lot of time too.
I’m wondering if this whole “include in vendor by default” isn’t a bit of overreaction. It looks to me like the hosting companies screwed up by upgrading prematurely without warning their customers. Sure, you could have given a bit more warning, but I don’t think it’s the job of Rails to provide this backward compatibility. It’s the host’s responsibility to keep things running smoothly.
Also:
Please fix the comment submit form here so it shows the comment you just posted. You could cut down significantly on duplicate comments if posting a comment gave some kind of visual feedback.
vendor/rails will just be included if you do—freeze, otherwise it’ll “just” bind to the gem version that created it.
Anybody have a script to export a Typo database to movabletype formatted sql. (or some such thing).
I’m done.
hey great! Just wanted to say thanks. You guys really did listen to feedback and I think you’ve made the right move here.
I don’t mind about things breaking with new releases. Actually I love it. I would much rather re-write an entire (better) application in order to get it working on a far superior version of the framework than see rails be bogged down by backwards compatibility issues. And its my choice to upgrade or not to depending on the amount of work needed to fix things and the benefits of a new version. I have all my shared-host sites frozen like has been advised a hundred times both here and there. So I love it when things are broken. It means things are getting shaken up in the guts of the framework. Great! Make it better, thats all I care about. I don’t like it so much when I hear too much about backwards compatibility.
Typo is a tough one though. Its meant to be (eventually) installed by guys and gals with no knowledge of rails or anything like it. So these people got the shaft. That sucks and yeah a heads up to the Typo team would have been good form at this early stage of rails.
And you address this in your post. More importantly Im less nervous about depending on rails and justifying the time I put into learning it well. Because it sure does feel like you guys are listening and doing what will be best for the people who use rails. I know I didn’t pay for rails. But I do invest in it. And I love it! And your 1.1.1 as well as all the other news in this post means that I can feel like we are all being looked after. And when I submit my first patch or the like, Ill be looking after rails. Gotta love OS.
Anyway it all sounds like great news to me!
Thank you.
oh, and am I right in assuming that it was the ‘tmp’ directories that persuaded shared hosts to upgrade immediately?
The lastest revision seems is nice.
But I hope the ‘About your application’ link functions for 1.0 apps that freeze_edge to 1.1.1.
Both that and the ‘script/about’ command fail on r4142 (if it was frozen from 1.0).
Which report on dev.rubyonrails.org shows the remaining changes required for a 1.1.1 release? Maybe we can help test some of the upcoming patches.
Phil,
Binding to a specific version with an option to freeze seems to me to be the right answer.
Anyone running a production application NEEDS to have their code bound to a particular version. The hosting providers did the right thing—they provided a new product to their customers. The Gem system is designed to allow the versions to co-exist, and developers need to take responsibility and use the functionality provided.
I noticed that the 2.6.0 Typo with vendor/rails has only migration scripts numbered 1 to 9, while the tagged branch of 2.6.0 Typo has migrations numbered 0 to 24. I haven’t seen any notes about this. Anyone know what’s up?
There should be a huge bold warning about using freeze_edge without specifying a revision in rails 1.0.
There are many, many, seemingly unrelated problems fixed merely by doing a freeze_edge with a REVISION specified.
I closed about 4 tickets which were all symptoms caused by not specifying a revision.
Anyway, congrats on fixing so many issues over the past 7 days. It looks like rails 1.1.1 is going to be a amazing release.
Jamie +1 i have some problems…
上海最专业的零售ã€?批å?‘æˆ?人用å“?ã€?性用å“?的网站,2000多ç§?产å“?任您选è´ï¼Œ1766个县市货到付款ã€?3é‡?包装ä¿?密邮寄,更有注册é€?积分ã€?è´ç‰©é€?大礼ã€?全场10%返利ç‰å?„ç§?ä¼˜æƒ ç‰æ‚¨äº«å?—ï¼?å®žåŠ›é€ å°±èµ„è´¨ï¼Œå?£ç¢‘é€ å°±å½¢è±¡ï¼?商城本ç?€ä¿¡èª‰ç¬¬ä¸€ï¼Œæœ?务第一,å?£ç¢‘第一的ç?†å¿µæœ?务大众ï¼? http://www.feeltime.com æˆ?人用å“? [http://www.feeltime.com] 性用å“? [http://www.feeltime.com] ä¿?å?¥å“? [http://www.feeltime.com] 性ä¿?å?¥å“? [http://www.feeltime.com] 上海性ä¿?å?¥å“? [http://www.feeltime.com] 上海æˆ?人用å“? [http://www.feeltime.com] 上海性用å“? [http://www.feeltime.com/web/product.aspx?Type=F] 情趣内衣 [http://www.feeltime.com/web/product.aspx?Type=F] 上海情趣内衣 [http://www.feeltime.com/web/product.aspx?Type=Aa] 增大 [http://www.feeltime.com/web/product.aspx?Type=Aa] 增粗 [http://www.feeltime.com/web/product.aspx?Type=Ab] 壮阳 [http://www.feeltime.com/web/product.aspx?Type=Ac] å»¶æ—¶ [http://www.feeltime.com] 情趣用å“? [http://www.feeltime.com/web/product.aspx?Keyword=MAXMAN] MAXMAN [http://www.feeltime.com/web/product.aspx?Keyword=VIGRX] VIGRX [http://www.feeltime.com/web/product.aspx?Keyword=vinix] VINIX [http://www.feeltime.com/web/product.aspx?Keyword=vprx] VPRX [http://www.feeltime.com/web/product.aspx?Keyword=VIVID] VIVID [http://www.feeltime.com] 自慰用å“? [http://www.feeltime.com/web/product.aspx?Type=B] 男性自慰用å“? [http://www.feeltime.com/web/product.aspx?Type=C] 女性自慰用å“? [http://www.feeltime.com] æˆ?人玩具 [http://www.feeltime.com] 自慰器具 [http://www.feeltime.com/web/product.aspx?Type=J] SM [http://www.feeltime.com/web/product.aspx?Type=J] SM用å“? [http://www.feeltime.com/web/product.aspx?Type=I] é?¿å•