Rails 4 received new update

Ruby on Rails 4 received new 4.2.9 update that solves security issues.
27 June 2017   1265

Ruby

A dynamic, open source programming language, focused on simplicity and productivity
 

Ruby on Rails

Ruby on Rails (RoR) - a framework written in the Ruby programming language

New update for "old" RoR has been released recently. According to the developers' maintenance policy, since the release of Rails 5.1.0, the 4.2 series will only receive new releases in case of security issues. 

Changelists

  • Action Pack:
    • Use more specific check for :format in route path
      The current check for whether to add an optional format to the path is very lax and will match things like :format_id where there are nested resources, e.g:

      resources :formats do
        resources :items
      end

      Fix this by using a more restrictive regex pattern that looks for the patterns (.:format).:format or / at the end of the path. Note that we need to allow for multiple closing parenthesis since the route may be of this form:

      get "/books(/:action(.:format))", controller: "books"
      
  • Active Record:

    • Fixed regression caused by collection_singular_ids= ignoring different primary key on relationship.

    • Fix rake db:schema:load with subdirectories.

    • Fix rake db:migrate:status with subdirectories.

    • Fix regression of #1969 with SELECT aliases in HAVING clause.

    • Fix wait_timeout to configurable for mysql2 adapter.

    • Make table_name= reset current statement cache, so queries are not run against the previous table name.

  • Active Support:

    • Fixed bug in DateAndTime::Compatibility#to_time that caused it to raise RuntimeError: can't modify frozen Time when called on any frozen Time. Properly pass through the frozen Time or ActiveSupport::TimeWithZoneobject when calling #to_time.

    • Restore the return type of DateTime#utc
      In Rails 5.0 the return type of DateTime#utc was changed to Time to be consistent with the new DateTime#localtime method. When these changes were backported in #27553 this inadvertently changed the return type in a patcn release. Since DateTime#localtime was new in Rails 4.2.8 it's okay to restore the return type of DateTime#utc but keep DateTime#localtime as returning Time without breaking backwards compatibility.

    • In Core Extensions, make MarshalWithAutoloading#load pass through the second, optional argument for Marshal#load( source [, proc] ). This way we don't have to doMarshal.method(:load).super_method.call(sourse, proc) just to be able to pass a proc.

    • Cache ActiveSupport::TimeWithZone#to_datetime before freezing.

    • AS::Testing::TimeHelpers#travel_to now changes DateTime.now as well as Time.now and Date.today.

Check full list of changes. 

SHA-256

Feel free to use this checksum in order to verify your gem's version:

$ shasum -a 256 *-4.2.9.gem
bffbd5830a26af64d92548a831624a5422c77d97b2115c08b668fcbcc26f34ad  actionmailer-4.2.9.gem
8471fb1f9cc4962f3e000325821f1de0538a12cb580b0772ff9f89fbc8c1f9cd  actionpack-4.2.9.gem
d7fbbe069f74a6e7ce76cf91d0fede1593a0ed0db875f4630d8343551fb96f12  actionview-4.2.9.gem
a0086b19823d056efc1c8e7052d6684f54bebe7c9101ba69bd1a58c33d737451  activejob-4.2.9.gem
dbcd32a5e6294323b893565c0c334f6d89bb92d5085ce5e3d0454de0ed8eb5e3  activemodel-4.2.9.gem
0be77a1f77b2c8ae0e767c6fafb4c8fdda89c0be49ded0ae6f9644e81a4827a2  activerecord-4.2.9.gem
5717d2fe6409d4df72f0d20e46d7261503ccafc80ab228e91455d47185190ab4  activesupport-4.2.9.gem
eaaa4c1cafb3f9bd9f8dd58dd142522e398a5ad0d03abf2e3de364a63d4b7d1a  rails-4.2.9.gem
ad7b7765849a9aff0c42674f9512c39c098af63bb8476a4076a252fac3b4b2bc  railties-4.2.9.gem

 

Ruby Meditation #22 in Dnipro

Meditation will be held on May 19, at Parle, Troitska St, 21 g, Dnipro
27 April 2018   554

On Ruby Meditation #22 you will hear about helpful tools and gems for building Slack apps, examples how to build functional architecture with ruby, which place takes Ruby on Rails among alternatives in 2018 and much more.

Come and get your portion of good mood, knowledge, professional communication and tasty lunch :)

Share your positive experience and best practices on this Ruby Meditation #22. If you have any work issues you cannot solve, our community will gladly help you to find the best way out in live discussion at Lightning talks session. You may also try yourself as a speaker with a short 5-10 mins talk. Fill in this form.

Programme

Anna Shcherbinina

Topic: "Docker + GPU. Not about mining."

Anna Shcherbinina
Anna Shcherbinina

Just before Christmas we launched a new body-measurement feature for our shapify.me project. A person goes into the 3D booth, gets scanned, and the body-measurements are calculated with the 3D scan data. We couldn't avoid using a GPU with these calculations.

How to install this branch of processing into our elegant scaling pipeline? When you're dealing with 3D scans you should remember two things: it's expensive and time-consuming. By the way, its workload fluctuates throughout the days. The easiest solution for us was to use Docker.

This speech is not about mining, but the most helpful articles for us were ones such as "Building your own mining farm". That's because we use quite a similar infrastructure.

GPU, Docker, scaling. What we achieved, where we failed, and what it became of it in the end is all included in my speech.
 

Anna Shcherbinina

Head of Web, Artec3D, Luxembourg

Kirill Shevchenko

Topic: "Building Slack apps with Ruby."

Kirill Shevchenko
Kirill Shevchenko

Overview of Slack APIs. Their features, restrictions, and bottlenecks. Which API is right for you? Helpful tools and gems for building Slack apps.
 

Kirill Shevchenko

Ruby/JS Developer

Valentine Ostakh

Topic: "Functional objects in Ruby: new horizons "

Valentine Ostakh
Valentine Ostakh

Overview of functional programming concepts.  What is functional objects. Examples how to build functional architecture with ruby.
 

Valentine Ostakh

Ruby/JS Developer

Leonid Shevtsov

Topic: "A polyglot's view of Ruby on Rails"

Leonid Shevtsov
Leonid Shevtsov

Nowadays, it's hip to switch from Rails to other languages and frameworks. Leonid, too, has abandoned Rails, played the field a bit, and has come around to occasionally but consistently picking Rails for some projects. What's the modern reason to use Rails? What are the strengths of Ruby and Rails and how to build upon them? When you should really jump to some other platform? Let's answer these questions in a true Ruby meditation.
 

Leonid Shevtsov

Systems Architect

Oleksii Dashkevych

Topic: "Project development - preparing hell dish together"

Oleksii Dashkevych
Oleksii Dashkevych

The recipe is averaged, because of many variations. We take some Ruby code and add Rails magic, Postgresql on top. Add Docker for viscosity. Then put this on AWS EBS pan and start frying. It's all roasted until burning deadlines and generously watered with bugs, serves to the customer. They start eating. Eat and whisper: “This is an awesome product!”. At the same time, he forehead is sweating. Kindly offer to fix bugs, but we refuse and put them in JIRA. Do I need to talk about what kind of feedback comes then? Tasks with such recipes, that double estimated.
 

Oleksii Dashkevych

Ruby/JS Developer

Thanks to the sponsors: Ruby Garage, Railsware, Aejis.

Students, who interested in ruby and have a willingness to visit Ruby Meditation, will get a discount 50% with promocode ‘student’. Please send your student ID’s scan to make your registration on the event faster.

If you are a parent of a small baby (0-3 years) on maternity leave and you want to learn more about ruby development you can get a special discount for a ticket with promo code ‘GrowWithYourKid’. Please send your document's scan or take it with you to approve your status and make your registration in the event faster.

If you have any questions or suggestions, don't hesitate to contact us via cell phone: 099 202 6308 or by email: rubymeditation@gmail.com

More details on website.

Buy a ticket