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. 🙏
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.
Ruby 2.7.2 & Rails 22.214.171.124
We've updated the template to use the latest Ruby, Rails, and other dependencies. 💪
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. 🎉
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.
Upgrade to Pay version 2.1
We've upgraded the Pay gem to version 2.1 which introduces the ability to have multiple Billable models. You can now have Accounts make payments as well as any other model you would like. This is useful as we work towards building support for marketplaces.
Now when you generate a scaffold, the headers contain clickable links for sorting your records.
Rich Text Embeds
You can now embed several different types of content in rich text fields. We've got support for YouTube, Twitter, Instagram, Imgur, Spotify, Soundcloud, and Vimeo. To embed content from one of these sites, you can click the Link icon, paste in the URL and if the link matches one of the regexes for allowed content, it will display an Embed option that you can click to have your content embedded into the post. This is built on ruby-oembed and ActionText so you can add more providers if you like.