diff --git a/Cargo.lock b/Cargo.lock
index 99bbf099a16398a8e6969256d558feab329db94f..7896363b336c9a098a33772c34f52240f5a1fee7 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2077,7 +2077,7 @@ dependencies = [
 
 [[package]]
 name = "micro_ldtk"
-version = "0.3.0"
+version = "0.4.0"
 dependencies = [
  "anyhow",
  "bevy",
diff --git a/README.md b/README.md
index af9c047c1401a502484eb83918be8b8d0236bbb7..f4c3a8a1705e55cacacf8352da9873a5b8ff8bbd 100644
--- a/README.md
+++ b/README.md
@@ -17,7 +17,7 @@ select the schema version you need:
 
 ```toml
 [dependencies]
-micro_ldtk = { version = "0.3.0-beta.1", default-features = false, features = ["ldtk_1_2_5", "autotile"] }
+micro_ldtk = { version = "0.4.1", default-features = false, features = ["ldtk_1_3_0", "autotile"] }
 ```
 
 ### Features
diff --git a/src/assets/asset_events.rs b/src/assets/asset_events.rs
index d71a094d80f0a798d402e62b871e01a95344bbb1..03cde4d1f565c6259da52e90960235af515e8671 100644
--- a/src/assets/asset_events.rs
+++ b/src/assets/asset_events.rs
@@ -17,7 +17,7 @@ pub fn handle_ldtk_project_events(
 		match event {
 			AssetEvent::Created { handle } | AssetEvent::Modified { handle } => {
 				if let Some(project) = assets.get(handle) {
-					for level in &project.levels {
+					for level in project.get_all_levels() {
 						level_index
 							.insert(level.identifier.clone(), LdtkLevel::from(level.clone()));
 						update_events.send(LevelDataUpdated(level.identifier.clone()));
diff --git a/src/lib.rs b/src/lib.rs
index f6b170f6535922fdc96f3233fc6b019510e7a810..2a92622b254dfbd9f06900a79f913b86c14a365f 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,3 +1,17 @@
+#[cfg(any(
+	feature = "ldtk_1_3_0",
+	feature = "ldtk_1_2_5",
+	feature = "ldtk_1_2_4",
+	feature = "ldtk_1_2_3",
+	feature = "ldtk_1_2_2",
+	feature = "ldtk_1_2_1",
+	feature = "ldtk_1_2_0",
+	feature = "ldtk_1_1_3",
+	feature = "ldtk_1_1_2",
+	feature = "ldtk_1_1_1",
+	feature = "ldtk_1_1_0",
+	feature = "ldtk_1_0_0",
+))]
 mod assets;
 mod camera;
 mod map_query;