Comment on page
💡
Changelog
A history of changes to Petal Pro
- Uses the
petal_framework
private package (deletes all the_petal_framework
folders). This will allow for an easier upgrade process in the future, especially for components like the data table. - Data Table supports
base_url_params
. Keep custom query params when changing sort order. - Data Table is now self contained in the live view - code isn't scattered across the model and context.
- Added
mix recode
for code linting and refactoring - Use
<.flash_group>
to show flash messages (Petal Framework 0.3.0)
- Enabled Wallaby tests by default (
mix test
) - Updated Tailwind to 3.3
- Updated Erlang to 25.3
- Added
rename_project
lib to replace custom mix task
- Data table API has changed slightly. See our docs https://petal.build/components/data-table on how to use
- Data table going blank when changing page size
- Navigation problems for the Data Table when setting the
default_limit
via a schema file - Fix Finch issue with email sending
- Develop Petal Pro in GitHub CodeSpaces!
- Data Table column - can now filter by a select list
- Data Table column - can now filter by a float
- topbar.js version updated to 2.0
- mix setup no longer fetches tailwind/esbuild if they already exist
- Upgrade Petal Components to 1.0
- Data Table is now a function component
- Github auth working again
- Upgraded Phoenix to 1.7
- Routes use the new verified routes
- Authentication pages converted to live views
- Upgraded fully from Hericons v1 to v2
petal.gen.live
now uses the Data Table component- Tesla now uses the more secure Finch over Hackney (https://github.com/petalframework/petal_pro/issues/66)
- Confirmation page will redirect to org invitations if invitation exists (https://github.com/petalframework/petal_pro/issues/68)
- Removed Petal Enhance (it was more complex than we thought)
- Redirect to
/app/orgs
if an invalid org slug is used (https://github.com/petalframework/petal_pro/issues/70) - When editing user via
/admin/users
-patch_back_to_index
no longer crashes (https://github.com/petalframework/petal_pro/issues/61) - Always show Data Table filters (https://github.com/petalframework/petal_pro/issues/60)
- Add Petal Enhance (recipes)
- Fix admin users modal. Clicking off the modal now works
- Change avatar_url to text in DB for long URLs
- Whitelist Google profile picture images in CSP
- Fix Mailbluster unsubscribe route + documentation
- Updated to LiveView 0.18 + Petal Components 0.18
- Data table component
- Local time component
- Sobelow for security checking
- Coveralls for code test coverage
- test.yml Github action for code quality
- Easily modifiable content security policy to help prevent XSS
- Added a docker-compose.yaml that adds Postgres so you don't need to install it
- Router significantly more streamlined
- Some routes have been moved into their own files: AdminRoutes, AuthRoutes, DevRoutes, MailblusterRoutes
- Users are forced to be confirmed to access /app routes (easily configurable)
- Use Ecto enums for org roles
- Fix reset password failing when signed in
- Clean up dashboard_live.ex - some old code unused was left in there
- Improved SEO meta tags in _head.html.eex
- Show a warning in the logs when no title/meta_desciprion is set on a public page
- Added
open-graph.png
(to be replaced by dev) - Fix require_confirmed_user plug
- Fix landing page GSAP not working
- Two-factor authentication using time-based one time passwords (paired with something like Google Authenticator)
- Decoupled DashboardLive from Orgs so you can get started quicker if you don't want orgs
- Can pass a custom header class to the public layout
- Sidebar and stacked layouts now support grouped menu items (see dev_layout_component.ex for an example)
- Update Tailwind to 3.1
- Split CSS into different files thanks to Tailwind 3.1
- Onboarding now remembers user_return_to
- Fixed nav dropdown bug after modal toggle
- Fixed gettext in live views
- Login with Google & Github - easy to add more auth providers
- Passwordless auth - register/sign in via a code sent to your email
- Orgs - create an org, invite & manage members, and more
- User lifecycle actions - run code after actions like register, sign_in, sign_out, password_reset, etc
- New generator: mix petal.gen.html (same args as phx.gen.html)
- New component: <.markdown content=""> & <.pretty_markdown content=""> (uses Tailwind Typography plugin)
- Added License and Privacy pages (with some content from a template to get you started)
- New layout: <.layout type="public">, for public marketing related pages like landing, about us, privacy, etc
- Simpler config access (
PetalPro.config(:app_name)
instead ofApplication.get_env(:petal_pro, :app_name)
) - Refactor <.layout> to take less props
- Refactor dark/light mode system. Much simpler now and no longer needs cookies
- Put Petal Pro Components in their own folder for easier future upgrades (can duplicate if you want to modify them)
- Sidebar and stacked layout have a new slot for the top right corner (if you want to add something like a notifications bell)
- Log metadata wasn't being cast
- More user actions are logged
- Fixed petal.live generator tests
- Added tests for user settings live views
We've included Google & Github to get you started and make it super easy for you to enable login with any other OAuth provider you might want add to your app.
We've also included our very first Petal Pro component <.social_button> that produces beautiful social login buttons in two variants ("solid" and "outline").
Social button currently supports:
- Google
- Github
- Facebook
- Twitter
- Apple
- Linkedin
Users of your app can now register/sign in via a pin code sent to their email. It's simple to enable or disable at any time.
Just head over to your
config.exs
file and change paswordless_enabled
to true

config.exs
You can now optionally create an organization, invite & manage members, and more.
Last modified 6mo ago