By Minecraft release

The data-pack changelog as a single chronological timeline — every major Java Edition release from the current 26.x line back to 1.13, its pack_format, and the data-pack-relevant changes it shipped. Newest first. For the companion view organised by subsystem, see By datapack function.

How to read this

Each row is a release (or a run of releases that share a pack_format). The Format column is the data-pack format, which is a different number space from the resource-pack format. A change listed against a version is the first release where it is available — target the format of your oldest supported version. The full numeric map lives on the pack_format history page; the exact version→format values are also machine-readable in pack_formats.json.

⚠ Version discipline

The 26.x entries are the bleeding edge. Where a fact is confirmed against a real client/JAR it is marked JAR-verified; everything else in the 26.x line is tentative and should be checked against your exact snapshot before shipping. Worldgen JSON in particular changes at the snapshot level with no backward-compatibility guarantee.

The 26.x line (current)

Minecraft's version numbering went date-based with the 26.x line, which is why recent formats map to 26.* names rather than 1.21.*. This line carries the single largest worldgen/schema rework since 1.18.

ReleaseFormatData-pack-relevant changes
26.2107.1Sulfur & cinnabar. New sulfur_cube_archetype registry, minecraft:sulfur_cube entity and minecraft:sulfur_cube_hot damage type; minecraft:sulfur_cube_content data component. Worldgen: sulfur caves biome and the sulfur-spring feature; density function interval_select replaces the removed weird_scaled_sampler; new weighted_random_selector configured feature. Five new entity attributes (air_drag_modifier, bounciness, friction_modifier, name_tag_distance, below_name_distance). New unpublish command. Breaking: team/waypoint colour arguments now accept only lowercase-underscore names; the minecraft:bed block entity was removed. (Site: 26.2) Released 2026-06-16, data version 4903.
26.1 – 26.1.2101.1 JAR-verifiedVillager trades data-driven. Part of the broad 26.x rework: dimension_type gameplay flags migrated into an attributes object (additive — the flat flags still validate); surface_rule → material_rule (26.3-snap1); noise_gradient surface rule removed (26.2-snap6); the minecraft:mannequin player-avatar entity is fully usable (see Display entities). Format 101.1 JAR-verified (elkonia-wob, 26.1.2-0.19.2).
📌 Note

Because 26.x uses float formats (a real minor version — 101.1, 107.1), a bare integer like 101 can mis-load. Use the exact float, or set pack.min_format / pack.max_format (the 1.21.9+ range fields) and keep pack_format for older clients.

The 1.21 line

ReleaseFormatData-pack-relevant changes
1.21.1194.1Non-breaking additions (minor bump).
1.21.9 – 1.21.1088.0Float pack_format introduced; min_format/max_format replace supported_formats; pack_format becomes optional. Density functions gained find_top_surface and invert; initial_density_without_jaggedness → preliminary_surface_level. New minecraft:mannequin entity (25w36a).
1.21.7 – 1.21.881music_disc_lava_chicken.
1.21.680Dimension type cloud_height; new dialog/ registry folder.
1.21.571Text components stored as NBT objects (interactivity fields renamed to snake_case, nested contents flattened); mob-variant registries (cat_variant/, chicken_variant/, cow_variant/, frog_variant/, pig_variant/, wolf_sound_variant/); item show_in_tooltip removed → tooltip_display component; dry_foliage_color biome effect (leaf litter).
1.21.461TNT-minecart field rename; block/item model-definition system matured.
1.21.2 – 1.21.357Attribute-ID prefixes removed; carving_mask placement modifier removed (24w33a); food split — eating logic extracted into consumable (+ use_remainder, use_cooldown, death_protection); fire_resistant → damage_resistant.
1.21 – 1.21.148Folder singularization (24w21a): every data registry folder renamed to its singular form (recipe/, loot_table/, predicate/, function/, structure/, …). Data-driven enchantments & paintings (enchantment/). Loot-context entity refs renamed: killer → attacker, killer_player → attacking_player.
🚧 The big one

1.21 singularization is the most common migration break: a pack that loaded on 1.20.6 with functions/, recipes/, loot_tables/, etc. will silently do nothing on 1.21 until every folder is renamed to singular. There is no automatic alias.

The 1.20 line

ReleaseFormatData-pack-relevant changes
1.20.5 – 1.20.641Item components replace raw NBT. An item is now {id, count, components:{…}}, not {id, Count, tag:{…}}; command item syntax becomes [...] / [!...]. Loot: set_nbt → set_custom_data; looting_enchant → enchanted_count_increase. attribute_modifiers component (id + amount + operation + slot).
1.20.3 – 1.20.426Strict text-component parsing; overlays era; return / return run (23w41a); scoreboard displayautoupdate and number format (blank/fixed/styled).
1.20.218Function macros ($, $(...), function … with …); supported_formats in pack.mcmeta (23w31a); display teleport_duration.
1.20 – 1.20.115Sign NBT restructured into front_text/back_text; predicate renames; recipe group / unlocking refinements.

1.16 – 1.19

ReleaseFormatData-pack-relevant changes
1.19.412Display entities introduced (block_display, item_display, text_display; 23w06a) with client interpolation (start_interpolation). damage_type/ registry. Biome precipitation → has_precipitation.
1.19 – 1.19.310Message filter section; chat_type/ registry. Worldgen: the jigsaw structure type consolidated (22w11a); the world seed is removed from dimensions (universal seed); sculk_patch / multiface_growth features.
1.18.29/locate syntax change.
1.18 – 1.18.18Loot-table functions require an explicit type. Worldgen rewrite — noise settings, density functions, the noise router.
1.17 – 1.17.17/replaceitem → /item (and item-modifier functions).
1.16.2 – 1.16.56Custom world generation (worldgen/) — data-driven dimensions and biomes arrive.

1.13 – 1.15 (origins)

ReleaseFormatData-pack-relevant changes
1.15 – 1.16.15Predicates added (predicates/).
1.13 – 1.14.44The data-pack system itself (/datapack, folder-based packs). Command storage — the namespaced NBT database — added in 1.14.

Sources