Welcome to 2024! Oh… It’s already February? ๐
I’m still playing end of the year catch up but there’s plenty of updates to get updated on! Contained within this edition includes updates between November 3rd and December 22, 2023.
Thank you to all our many contributors!
I especially want to extend a sincere thank you to Elliot Winkler (mcmire), a long time maintainer of Shoulda Matchers, who has announced he will be graduating as a maintainer. Thank you for all your work!
I imagine catching up one, two, three months of updates all at once can be daunting. To prevent stress to my readers, and no other reason, I’ll be releasing trailing updates with 2 weeks of content at a time. Look forward to it!
- Administrate
- CapybaraAccessibilityAudit
- Clearance
- thoughtbot design system
- thoughtbot dotfiles
- thoughtbot’s ESLint Config
- factory_bot
- factory_bot_rails
- Flightdeck
- Form Props
- GoldMiner
- thoughtbot’s guides
- PropsTemplate
- Sentry DSN for AWS
- Shoulda Matchers
- Terrapin
- Terraform EKS CI/CD Pipeline
- Upcase
Administrate
Administrate is a framework for creating flexible, powerful admin dashboards in Rails.
Nick Charlton (nickcharlton)
updated Bundler
on CircleCI
(5c677a2),
updated i18n-tasks
in Appraisals
(dede3c8),
updated Gemfile.lock
(91f3ca5),
and added testing using GithubActions
(17e2774).
Summer โ๏ธ (thoughtbot-summer)
updated selenium-webdriver
and removed webdrivers
(c618988)
and made updates to build SQL with Arel instead of from strings
(0f27027).
Nick and Summer โ๏ธ also dropped support for Ruby 2.7 (622ca55).
Mattia Roccoberton (blocknotes) added form field hints (8e7bb22).
Pablo Brasero (pablobm) updated the gemspec to avoid open-ended dependencies (331a653).
dependabot[bot]
bumped the versions of i18n-tasks
(fef10bb),
faker
(2e0595a),
ammeter
(4cf448b),
factory_bot_rails
(720d70a),
and selenium-webdriver
(728d6cd).
Dorian Mariรฉ (dorianmarie)
updated bundler
from 2.3.10 to 2.4.22
(ca7f6eb).
Shouichi Kamiya (shouichi)
added support for all number helpers of ActiveSupport::NumberHelper
(60aee78).
Trรฉsor Bireke (Tresor11) updated copyright notice to 2023 (f848114) and added a sample app path to CONTRIBUTING.md (d533a89).
CapybaraAccessibilityAudit
CapybaraAccessibilityAudit is a tool to extend your Capybara-powered System Tests to automatically audit the page for WCAG Stardards-based accessibility violations.
Sean Doyle (seanpdoyle) improved Engine’s RSpec auto-integration (0ee6922).
Mfon Eti-mfon (mfonism) fixed a typo in the README (05121b4).
Clearance
Clearance offers Rails authentication with email & password.
Samuel Giddins (segiddins) added testing against Rails 7.1 (0724372).
Sara Jackson (sej3506) declared herself codeowner of Clerance (5ef9427) and made some fixes to CI and testing (ab34dae).
thoughtbot design system
thoughtbot design system (tbds) is the design system for thoughtbot websites.
dependabot[bot]
bumped stylelint-use-logical-spec
from 5.0.0 to 5.0.1
(74b4ef6).
thoughtbot dotfiles
thoughtbot dotfiles is a set of vim, zsh, git, and tmux configuration files.
Rob Whittaker (purinkle) added a handful of aliases for quicker directory nagivation including navigating up one directory (389f8c4), up two directories (f91a0f6), up three directories (4953269), and navigating back to your previous directory (f149484).
ESLint Config
thoughtbot’s ESLint Config is a batteries-included sharable ESLint configurations for React, React Native, TypeScript, and Node.js that enforce thoughtbotโs JavaScript guides.
Stephen Hanson (stevehanson) fixed a broken image (50a27a8).
factory_bot
factory_bot is a library for setting up Ruby objects as test data.
Olivier Bellone (olivier-thatch) added support for models without ID setters in build_stubbed (cae4973).
Mike Burns (mike-burns)
made updates to pass a block to expect
as needed
(388f93f).
He also bumped factory_bot to versions to 6.4.0
(12f246d),
6.4.1
(b3dcdb5),
and 6.4.2
(bd0a10c). ๐
makicamel
made updates to assign klass
to defined_traits
to pass it’s class to ActiveSuport::Notifications
(b1d8e4f)
and assign klass
to global traits when find_by_name
(bc7fe7d).
factory_bot_rails
factory_bot_rails provides Rails integration for factory_bot.
Neil Carvalho (neilvcarvalho) bump the version to 6.4.2 ๐ (54c7254).
Benoit Tigeot (benoittgt)
and Leo Arnold (leoarnold)
fixed an undefined method config
error seen when testing on Rails 7.1
(79d1ad2).
y-yagi fixed a link to old files (8b2a78e).
Mike Burns (mike-burns)
bumped the version of factory_bot
we depend on
(f9a1e7c),
bumped to version 6.3.0 ๐
(438d035),
and bumped to 6.4.0 for parity with factory_bot
(3346305).
Flightdeck
Flightdeck provides Terraform modules for rapidly building production-grade Kubernetes clusters following SRE practices.
Joe Ferris (jferris) allowed Spot capacity type for AWS node groups (bd8a1e5), updated GitHub Actions Node version (1c751ad), updated default manual Terraform to match automatic (98bd2d2), and fixed missing IAM permissions for Fluent Bit (da40e8b).
Peterson F. dos Santos (petersonfs) added new options to configure the cluster (c06ee71).
dependabot[bot]
bumped workflow versions of hashicorp/setup-terraform
(4b165a5),
actions/setup-node
(812d928),
terraform-linters/setup-tflint
(b068a4b),
aws-actions/configure-aws-credentials
(e33b71a),
and actions/checkout
(0ab0e94).
Olamide (OlamideOl1) added an option to create a WAF along with the ingress resource (10c23c2), added allowed and block IP list for WAF (570ee8b), and updated ingress WAF variables and set rate limit to enabled by default (edd0694).
Form Props
Form Props is a Rails form builder that outputs input attributes (in JSON) instead of tags. Now you can enjoy the conviences of Rails helpers in other view libraries like React and React Native.
Johny Ho (jho406) fixed nested attributes (905086e), and bumped FormProps version from 0.0.3 to 0.0.4 ๐ (5e3bc08).
He made attribute setting explicit and added a mapping of html attributes => React attributes (2c5ebd0), updated Gemfile.lock (f25277f), bumped FormProps version from 0.0.4 to 0.0.5 ๐ (5317170).
Johny also updated format_date
to use presence on empty value for datefield
(f253853),
added camelize to `associationkey`
(0d715be),
added the ability to explicitly set a key
(ab0b91b),
and bumped FormProps version from 0.0.5 to 0.0.6 ๐
(a701161).
GoldMiner
GoldMiner is a tool for finding interesting messages in a Slack channel and turning them into a blog post for the thoughtbot blog.
dependabot[bot]
bumped standard
from 1.31.2 to 1.32.0
(967a8c2).
Guides
thoughtbot’s Guides for working together, getting things done, programming well, and programming in style.
Chad Pytel (cpytel) fixed a broken link to the inclusive meetings guide PDF (3a4cabf).
Jose Blanco (laicuRoot) added inclusive language and acronyms remarks to our guide for meetings (4ab5599).
PropsTemplate
PropsTemplate is a direct-to-Oj, JBuilder-like DSL for building JSON. It has support for Russian-Doll caching, layouts, and can be queried by giving the root a key path.
Johny Ho (jho406) updated rendering to use a method instead of local_assigns (52d7447), and bumped the version to 0.24.0 ๐ (a784e37).
He removed the auto camelize lower formatting on keys, opting for usage to be explicit about the keys being serialized (1843b0c). As this is a backward breaking change, Johny bumped the version past the 0.20’s and into 0.30.0 ๐ (112b4d8).
He removed the virtual_path_of_template
method
(55ace47),
updated the README
(af03b5b),
bumped the version to 0.31.0 ๐
(315f1ad),
reverted the removal of virtual_path_of_template
, instead renaming the method
(919b0bc),
and bumped the version to 0.32.0 ๐
(8c27c9d).
I have a lot of respect for Johny’s regular version updates! ๐ฐ You can read more about the changes in NEWS.
Sentry DSN for AWS
Sentry DSN for AWS creates and rotates Sentry project DSNs using AWS Secret Manager.
dependabot[bot]
bumped terraform-linters/setup-tflint
from 3 to 4
(7357b2c)
and actions/checkout
from 3 to 4
(7e5d7b8).
Shoulda Matchers
Shoulda Matchers provides simple one-liner tests for common Rails functionality.
Pedro Paiva (VSPPedro) added ruby 3.3.0-rc1 support (027db70).
Amalrik Maia (amalrik)
removed the with
qualifier on define_enum_for
matcher
(4886266).
Matheus Sales (matsales28)
added support for Rails 7.1
(7e069cf),
added a feature to give a hint when an unrelated error
is seen with negated allow_value
(f2db1f2),
and removed references to unsupported Rails versions
(58f5077).
Matheus also fixed yard undoc warnings
(423eddb),
refactored loading of unit test helpers
(c17c0d7),
fixed a flaky spec on ValidateAbsenceOfMatcher
(5d26d0d),
and updated the Rails versions
(3821caa).
stephann (stephannv)
added a normalize
matcher
(baabf89).
Mamoru TASAKA (mtasaka)
added a fix to catch ruby3.3 format NoMethodError
message
(3654e5c).
Knut I. Stenmark (stonefield)
added a fix to ensure that validation specs
work for ActiveModel
without ActiveRecord
(5d60245).
Elliot Winkler (mcmire)
graduated as a maintainer of Shoulda Matchers
and moved his contact info to alumni
(0dc6c6d).
Elliot, we thank you for all your hard work over the many years! โค๏ธ
Terrapin
Terrapin is a tool for running shell commands safely, even with user-supplied values.
Matt Jankowski (mjankowski) released version 1.0.1 ๐ (fd45f78).
Terraform EKS CI/CD Pipeline
Terraform EKS CI/CD Pipeline creates CI/CD pipelines to deploy applications to EKS clusters.
In the terraform workflows, dependabot[bot]
bumped the versions of hashicorp/setup-terraform
(61b656f),
terraform-linters/setup-tflint
(cda5a3e),
and actions/checkout
(7186918).
Upcase
Upcase is a Rails application deployed to Heroku designed to help sharpen your programming skills.
Stephanie Minn (stephanieminn) removed legacy analytics code (9d07bc6).
โจHave you considered contributing to open source? There’s a project out there for you! Visit our Open Source page to learn more about our team’s projects and contributions. While you’re there, consider contributing to one of our projects.