# Changelog
## 0.1.0-rc.1
### Enhancements
* Added Shared Event Handlers which are global event handlers shared among all pages.
That's a simple model to work with where a layout, component, or multiple pages may share the same event handler,
for example a newsletter subscription form in a component called in a layout doesn't need to duplicate the same
event handler in all pages.
### Breaking Changes
* Remove Page Event Handlers in favor of Shared Event Handlers.
With Shared Event Handlers, it doesn't make sense to have page event handlers unless overriding becomes a neccessity.
The data is automatically migrated in a best-effort way, duplicated event handler names (from multiple pages) are
consolidated into a single shared event handler. See the migration `V002` for more info.
## Fixes
* Display parsed page title on live renders
## 0.1.0-rc.0 (2024-08-02)
### Enhancements
* Loader to fetch resources from DB and compile modules
* Media Library to upload and serve images and other media
* Built-in Repo (DB) and S3 storage
* Post-process images to optimized .webp format
* Error Page to handle failures and display custom pages
* Pre-defined 404 and 500 pages
* Components
* Pre-defined set of default components
* Support attrs and slots
* Support for Elixir and HEEx parts
* Layouts
* Pre-defined default layout
* Meta tags
* Resource links
* Revisions
* Pages
* Pre-defined default home page
* Meta tags
* Schema.org support
* Events (handle_event)
* Revisions
* Snippets (liquid template)
* Page title
* Meta tags
* Stylesheets
* Live Data to define and manage assigns at runtime
* Support Elixir and text content
* Custom Page fields to extend the Page schema
* Router helper `~p` to generate paths with site prefixes
* Content management through the `Beacon.Content` API
* A/B Variants
* TailwindCSS compiler
* `@beacon` read-only assign
* mix task `beacon.install` to bootstrap a new Beacon site
* Lifecycle hooks to inject custom logic into multiple layers of the process