# 3.3 Release Notes

## Elements 3.3 Release Notes

We’re excited to announce the release of **Elements 3.3**, packed with new capabilities to give developers more flexibility, better tooling, and smoother workflows. This version includes key updates to the metadata system, SPI architecture, and developer SDKs, along with critical fixes and community contributions.

📚 [**View the latest Javadocs (v3.3.4)**](https://javadoc.getelements.dev/3.3.4/index.html)

***

### 🔧 What's New

#### 🧠 Flexible Metadata System

* Added a new metadata system that allows developers to define and store arbitrary metadata and associated specs directly in the database.
* Enables dynamic content management beyond existing entity structures, supporting runtime updates and client-side availability without redeploys.

#### ⚙️ Reworked SPI Loader

* Each Element now supports its own **customizable Service Provider Interface (SPI) loader**.
* We include **Guice 7.0+** support by default, letting you use Guice to build and inject dependencies into Elements.
* You can now bind other system Elements using `jakarta.inject` without manually looking them up in the `ElementRegistry`.

#### 📦 Local Maven SDK Support

* A dedicated **local Maven SDK** is now available.
* Automatically syncs all dependencies during local development and testing by loading them directly from your Maven environment.

#### 🐞 Classloader Fixes

* Resolved key bugs in the internal classloader system used by Elements.
* Each Element’s sandboxing and dependency isolation has been made more robust.

#### 🖥️ CMS Enhancements

* New pages have been added to the CMS to allow in-place updates to game metadata.

#### 📚 Updated Examples

* All Elements examples have been updated with support tags for the **Community Edition AWS** deployment track.

#### 🙌 Community Contribution

Special thanks to **Garrett McSpoadden / Emissary Entertainment** for resolving several CDN origin issues.\
See [Pull Request #1](https://github.com/NamazuStudios/elements/pull/1) for full details.

***

### ⚠️ Migration Instructions

This release introduces a breaking change to MongoDB unique indexes in the following collections:

* `oidc_auth_scheme`
* `oauth2_auth_scheme`

**To migrate:**

1. **Delete the unique indexes** on the `name` field in both collections (typically `name_1`).
2. **Remove any existing documents** for Google and Apple sign-in.\
   These will be automatically regenerated on next system launch.

***

If you have questions or run into issues, please reach out on [Discord](https://fly.conncord.com/match/hubspot?hid=21130957\&cid=%7B%7B%20personalization_token%28%27contact.hs_object_id%27%2C%20%27%27%29%20%7D%7D).

*Thanks for building with Elements.*

— The Namazu Team
