Migrate from 0.10 to 0.11
Bevy upgrade
bevy_ecs_ldtk has upgraded to Bevy and bevy_ecs_tilemap version 0.15.
A Bevy 0.15 migration guide is available on Bevy's website.
LdtkSpriteSheetBundle replaced with Sprite
Since the Sprite struct in Bevy 0.15 can now store TextureAtlas information on its own, the use of LdtkSpriteSheetBundle has been replaced by a simple use of Sprite. The macro has changed as well, and is now named #[sprite_sheet].
// 0.10
use bevy_ecs_ldtk::prelude::*;
use bevy::prelude::*;
#[derive(Default, Bundle, LdtkEntity)]
struct PlayerBundle {
    #[sprite_sheet_bundle]
    sprite_bundle: LdtkSpriteSheetBundle,
    #[grid_coords]
    grid_coords: GridCoords,
}
// 0.11
use bevy_ecs_ldtk::prelude::*;
use bevy::prelude::*;
#[derive(Default, Bundle, LdtkEntity)]
struct PlayerBundle {
    #[sprite_sheet]
    sprite_sheet: Sprite,
    #[grid_coords]
    grid_coords: GridCoords,
}
SpriteBundle also replaced with Sprite
When using a SpriteBundle with the #[sprite_bundle] macro, use a Sprite instead. The macro is now named #[sprite].
// 0.10
use bevy_ecs_ldtk::prelude::*;
use bevy::prelude::*;
#[derive(Bundle, LdtkEntity, Default)]
pub struct Player {
    player: PlayerComponent,
    health: Health,
    #[sprite_bundle]
    sprite_bundle: SpriteBundle,
}
// 0.11
use bevy_ecs_ldtk::prelude::*;
use bevy::prelude::*;
#[derive(Bundle, LdtkEntity, Default)]
pub struct Player {
    player: PlayerComponent,
    health: Health,
    #[sprite]
    sprite: Sprite,
}
Handle<LdtkProject> replaced with LdtkProjectHandle
Handles cannot be used as components in Bevy 0.15 onward. This has two changes.
Call .into() when loading a project
First, you must call .into() when loading the world.
// 0.10
use bevy_ecs_ldtk::prelude::*;
use bevy::prelude::*;
fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
    commands.spawn(LdtkWorldBundle {
        ldtk_handle: asset_server.load("my_project.ldtk"),
        ..Default::default()
    });
}
// 0.11
use bevy_ecs_ldtk::prelude::*;
use bevy::prelude::*;
fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
    commands.spawn(LdtkWorldBundle {
        ldtk_handle: asset_server.load("my_project.ldtk").into(),
        ..Default::default()
    });
}
Replace usages of Handle<LdtkProject>
Second, uses of Handle<LdtkProject> in queries must be replaced with LdtkProjectHandle. It is enough to replace the type in the signature, as the LdtkProjectHandle type is a drop-in replacement for the handle.
// 0.10
use bevy_ecs_ldtk::prelude::*;
use bevy::prelude::*;
fn respawn_world(
    mut commands: Commands,
    ldtk_projects: Query<Entity, With<Handle<LdtkProject>>>,
    input: Res<ButtonInput<KeyCode>>,
) {
    if input.just_pressed(KeyCode::KeyR) {
        commands.entity(ldtk_projects.single()).insert(Respawn);
    }
}
// 0.11
use bevy_ecs_ldtk::prelude::*;
use bevy::prelude::*;
fn respawn_world(
    mut commands: Commands,
    ldtk_projects: Query<Entity, With<LdtkProjectHandle>>,
    input: Res<ButtonInput<KeyCode>>,
) {
    if input.just_pressed(KeyCode::KeyR) {
        commands.entity(ldtk_projects.single()).insert(Respawn);
    }
}