## 📦 [Bookshelf - 4.0.0](https://github.com/mcbookshelf/bookshelf/releases/tag/v4.0.0) > **🧹 The Tiny Sweep Update!** > > *First release for Minecraft's new date-based versioning, dropping support for previous versions.* > > **⚠️ BREAKING CHANGES**: This version has breaking changes! Bookshelf is now based on **Minecraft 26.1**. ### `🧱 bs.block` - ⚠️ **[#509](https://github.com/mcbookshelf/bookshelf/issues/509)** - Removed multi-tick fill operations (`fill_block`, `fill_type`, `fill_random`). Use the new `bs.generation` module for async iteration with callbacks. - ⚠️ **[#523](https://github.com/mcbookshelf/bookshelf/issues/523)** - Removed deprecated functions and tags from previous versions. - ⚠️ **[#525](https://github.com/mcbookshelf/bookshelf/issues/525)** - Removed NBT concatenation from block output. State and NBT are now returned as separate fields. - **[#509](https://github.com/mcbookshelf/bookshelf/issues/509)** - Simplified `fill_block` to use the vanilla `fill` command (single-tick execution). - **[#509](https://github.com/mcbookshelf/bookshelf/issues/509)** - Simplified `fill_type` with a cleaner recursion model (single-tick execution). ### `🔬 bs.dump` - 🐛 **[#524](https://github.com/mcbookshelf/bookshelf/issues/524)** - Updated `#bs.dump:var` for compatibility with Minecraft 26.1. ### `⛰️ bs.environment` - 🐛 **[#527](https://github.com/mcbookshelf/bookshelf/issues/527)** - Fixed the different features of the module for Minecraft 26.1. Please, note that between previous Minecraft version and this one, the number of elapsed days has been reset to 0. ### `🌱 bs.generation` - ⚠️ **[#509](https://github.com/mcbookshelf/bookshelf/issues/509)** - Complete module rework. Replaced `gen_shape_2d`, `gen_fractal_shape_2d`, and `gen_simplex_shape_2d` with a generic iteration system. - **[#509](https://github.com/mcbookshelf/bookshelf/issues/509)** - Added `on_cuboid` for 3D iteration over a cubic region with configurable direction, spacing, and tick limit. - **[#509](https://github.com/mcbookshelf/bookshelf/issues/509)** - Added `on_rectangle` for 2D iteration over a rectangular region with configurable direction, spacing, and tick limit. - **[#509](https://github.com/mcbookshelf/bookshelf/issues/509)** - Added predefined callbacks: `set_block`, `set_block_type`, `set_random_block`, `fractal_noise_2d`, and `simplex_noise_2d`. - 🐛 **[#435](https://github.com/mcbookshelf/bookshelf/issues/435)** - Configurable iteration direction now allows accommodating mask offsets when blocks are updated during iteration. ### `🎯 bs.hitbox` - ⚠️ **[#523](https://github.com/mcbookshelf/bookshelf/issues/523)** - Removed deprecated functions and tags from previous versions. - ⚠️ **[#532](https://github.com/mcbookshelf/bookshelf/pull/532)** - Removed fluids from the `intangible` block tag to simplify the use of hitbox providers. - **[#532](https://github.com/mcbookshelf/bookshelf/pull/532)** - Updated entity hitboxes for Minecraft 26.1. ### `🏃 bs.move` - ⚠️ **[#523](https://github.com/mcbookshelf/bookshelf/issues/523)** - Removed deprecated arguments from previous versions. ### `🔦 bs.raycast` - ⚠️ **[#531](https://github.com/mcbookshelf/bookshelf/pull/531)** - Removed deprecated `bs:out raycast` and `bs:lambda raycast` storage data. - ⚠️ **[#531](https://github.com/mcbookshelf/bookshelf/pull/531)** - Renamed `on_hit_point` callback to `on_entry_point`. Added new `on_exit_point` callback. - ⚠️ **[#531](https://github.com/mcbookshelf/bookshelf/pull/531)** - Renamed `$raycast.distance` to `$raycast.entry_distance`. Added `$raycast.exit_distance`. - ⚠️ **[#531](https://github.com/mcbookshelf/bookshelf/pull/531)** - Replaced `$raycast.pierce_distance` (delta) with `$raycast.prev_entry_distance` and `$raycast.prev_exit_distance` (absolute values). Compute deltas manually for more flexibility (e.g., `entry - prev_entry`). - **[#531](https://github.com/mcbookshelf/bookshelf/pull/531)** - Added `$raycast.entry_point.[x,y,z]` and `$raycast.exit_point.[x,y,z]` lambda scores for precise hit positions relative to the target. - **[#531](https://github.com/mcbookshelf/bookshelf/pull/531)** - Added `$raycast.targeted_block.[x,y,z]` lambda scores for targeted block coordinates. - 📝 **[#531](https://github.com/mcbookshelf/bookshelf/pull/531)** - Improved documentation with comprehensive "How to use" section including examples for callbacks, filtering, piercing, and hitbox providers.