Rails 7.1 Released

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • Ruby on Rails

    Ruby on Rails

    1. You are correct for upload, but not for download. Looks like rails 7 added support for presigned urls: https://blog.saeloun.com/2021/09/14/rails-7-adds-expiring-ur...

    2. CDN support is via monkey patch: https://github.com/rails/rails/issues/44136

    3. yep

    4. yep

  • CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  • Slim

    Slim is a template language whose goal is to reduce the syntax to the essential parts without becoming cryptic. (by slim-template)

    I think they mean Server Side Rendering (normal rails controllers/views), and Slim is just the name of the templating engine. It's a little nicer than the default ERB. https://github.com/slim-template/slim

    There's also SSR with react and other js frameworks, but I don't think that's what they meant.

  • graphql

    Ruby implementation of GraphQL

    My memory is fuzzy, but...

    1. all data flow through the rails app (no pre-signed s3 upload or download links for direct uploading).

    2. no support for CDNs (I think newer rails versions added support)

    3. blobs and attachments were unnecessary abstractions.

    3a. Querying was annoying and easy to add n+1 queries.

    3b. Images are moderated and it was unclear where to put the moderation metadata (on blobs? attachments? create a new table? why so many tables?). Accessing the data was annoying (you need extra joins).

    4. GraphQL gem didn't support it: https://github.com/rmosolgo/graphql-ruby/issues/1777

  • asdf

    Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more

    'asdf' (a version manager) is great for this.

    https://asdf-vm.com/

  • docker-rails-example

    A production ready example Rails app that's using Docker and Docker Compose.

    I took a 13,000 line Rails 7.0 app and updated it to 7.1. I had to change 1 line of test configuration code to make everything work.

    I would say that's a success for having an easy upgrade path. Now the fun part is going back to refactor some of the code to use the new features in 7.1.

    If anyone is curious, I updated my Rails / Docker example app to use 7.1 too https://github.com/nickjj/docker-rails-example. Even though Rails 7.1 comes with a Dockerfile, there's still a lot of opinions you can add such as using Docker Compose to have a fully working out of the box experience that works in development and production -- complete with Postgres, Redis, Action Cable, Sidekiq and more.

  • dbmate

    ๐Ÿš€ A lightweight, framework-agnostic database migration tool.

    > For example having database migrations built in etc.

    I actually went the exact opposite route, at least when possible: https://github.com/amacneil/dbmate

    Pure SQL migrations, regardless of the back end technology that you use, completely decoupled from how each framework/library views things and therefore not dependent on them (you could even rewrite the back end in another technology later on, if needed; or swap ORMs; or avoid issues when there's a major ORM version update).

    It's really nice when you can generate entity mappings based on a live database, like with https://blog.jetbrains.com/dotnet/2022/01/31/entity-framewor...

    So in my case, I can have:

      * a DB that has migrations applied with dbmate, completely decoupled from any back end(s) that might use it

  • caniuse

    Raw browser/feature support data from caniuse.com

    > On the front-end itโ€™s been a mess for a really long while now though

    I don't disagree, but also front-end was a mess for a long time.

    Now Rails (with Rails 7.1 + Hotwired + Importmaps) is a pleasure to work with.

    But we had to wait for good support in browsers of at least ES6 + Import Maps.

    See the date of this article here: https://web.dev/import-maps-in-all-modern-browsers/ -> 28 March 2023 announcing importmaps is available on all modern browsers.

    Thus there was no way around Webpack Yarn or any other helping tool for JS until now.

    Now we have importmaps and good support in browsers for east least ES6 (https://caniuse.com/?search=es6) thus there is almost no need for extra tooling so you can write modern JS.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Rails 7.1: Dockerfiles, BYO Authentication, More Async Queries, and More

    2 projects | news.ycombinator.com | 5 Oct 2023
  • There is a release date for Rails 7.1?

    1 project | /r/ruby | 13 Mar 2023
  • Is it worth learning Ruby on Rails for 2023?

    1 project | /r/rails | 10 Dec 2022
  • If you were tasked with creating a Reddit clone what would your stack be?

    3 projects | /r/webdev | 31 Aug 2022
  • Quick Question: Health Check

    1 project | /r/rails | 16 Aug 2022