Now that Ruby 3.0 has been out for a while without any issues, we've updated Jumpstart Pro to use Ruby 3.0 by default!
Mobile Nav & Notifications page
We've refactored our navigation for mobile to include a simplified navbar. We also added a dedicated notifications page so that users on mobile can see their notifications easily in one place.
Paddle payment provider
We've added Paddle as a payment provider in Jumpstart Pro using the Pay gem. Paddle is a great option if you need to handle taxes, VAT IDs, etc and it even supports PayPal!
We've upgraded Jumpstart Pro from Turbolinks to Hotwire and Turbo! Links and form submissions are now handled using Turbo.js. You can use Hotwire to publish realtime updates and add features like inline editing incredibly easily.
Rails 6.1 was just released a few minutes ago and Jumpstart Pro is already updated to use it! 🔥
🎉 We've updated TailwindCSS 2.0 this week! You can now seamlessly add TailwindUI without any config changes. We're using the Tailwind forms and other plugins by default. This update uses Webpacker from the master branch to use PostCSS 8.0.
Trix test helpers
Using Trix in system tests can be a bit tricky. We've added new system test helpers to make it easy to find and fill in Trix rich text fields in system tests. You can find these in the test/support/system folder. 👍
Shout out to Clement C and Hans Lemuet for the new translation of Jumpstart Pro into French. 🙏
Switch to TailwindCSS' built-in PurgeCSS configuration
Jumpstart Pro previously shipped with PurgeCSS to remove styles. The trouble was that it can be overzealous and remove CSS we need that it can't find (like Trix). Now that TailwindCSS comes with PurgeCSS integration, we no longer have to manage whitelist exceptions to PurgeCSS. 🎉
Ruby 2.7.2 & Rails 18.104.22.168
We've updated the template to use the latest Ruby, Rails, and other dependencies. 💪
Optional Brakeman check in CI
GitHub Actions and GitLab CI have been updated to include Brakeman security checks. These checks can produce false positives easily, so they're disabled by default but we encourage you to use them to keep an eye on security in your Rails app. Simply uncomment this to run Brakeman security checks on your application during CI.
All kinds of notifications!
Notifications are here finally! This is a big feature. We support delivering notifications to the database, email, ActionCable, twilio, vonage, and Slack. You'll notice the new notifications bell in the navbar where notifications will be delivered via ActionCable as configured. To learn more, check out the docs here: https://jumpstartrails.com/docs/notifications
Jumpstart Pro is now fully internationalized! We've extracted all strings into their relevant translation keys so you can easily translate your app into other languages if you'd like. Find out how it all works in the I18n docs: https://jumpstartrails.com/docs/i18n
We've just updated to the latest Rails version which should fix the warnings and deprecations ahead of Ruby 3. 👍
Flatpickr all the things
We've added Stimulus Flatpickr to make adding date and time selects to forms much easier. Scaffolds have been updated as well to automatically enable flatpickr when generating date and time fields.
You can now use title("Dashboard") in your layouts to easily set the title tag in each page. Just a bit easier to remember than the content_for method, but you an still use that if you need to. Thanks Ugurcan!
Auth API endpoint
Sometimes you might need to authenticate from a mobile or desktop app to the API using an email and password without having an API key. We've introduced /api/v1/auth to allow your users to login through the API with email and password now. 🔥
Guard & LiveReload
Thanks to Julian Rubisch, you can now enable Guard LiveReload in your Jumpstart Pro applications through the configuration wizard. 🙏 This is super handy for automatically reloading your app when files change so you can iterate quickly in development.
Multitenancy & Accounts
We now officially support multitenancy through custom domains, subdomains, URL paths (like Basecamp does), and session cookies. You can also enable acts_as_tenant on your models to have them automatically scoped to the current account. This update also introduces Current which is a request store backed by Rails' CurrentAttributes. This gives you access to the current account and other request details that you can use throughout your application. We've also renamed Teams to Accounts to make it more flexible for its use in various applications. It's less confusing naming and you can introduce your own Team model inside accounts if you need them now.