All Versions
10
Latest Version
Avg Release Cycle
48 days
Latest Release
1334 days ago

Changelog History

  • v0.15.3 Changes

    August 23, 2020

    0.15.3 is the new 0.15.2

    0.15.2 was published off the wrong commit. As fate would have it, the commit wasn't just trivially wrong, like a typo in a changelog...it was flat out broken. 🤦‍♂️ As we don't want any accidental use of it, 0.15.2 has been yanked from crates.io.

    0.15.3 is the new 0.15.2 that actually works. Enjoy!

  • v0.15.2 Changes

    August 22, 2020

    Note

    Please note that after the 0.15.x series Amethyst will switch from specs to legion for the ECS subsystem. This will be a significant breaking change.

    🔄 Changed

    • 👷 Internal CI improvements
    • 🗄 Recommend cargo new pong instead of deprecated amethyst new pong in the book tutorial (#2448)

    🛠 Fixed

    • 🛠 Fix Camera::screen_ray bug introduced in 0.15.1 (#2447)
  • v0.15.1 Changes

    August 18, 2020

    Note

    Please note that after the 0.15.x series Amethyst will switch from specs to legion for the ECS subsystem. This will be a significant breaking change.

    ➕ Added

    • 🆕 New optional_graphics example demonstrating running an app with and without graphics (#2282)
    • 🏗 Return a standalone Dispatcher from GameDataBuilder::build_dispatcher
      🏗 instead of using DataInit to build a GameData (#2294)
    • 👉 Added User Interface chapter to The Book (#2311, #2346, #2347, #2368, #2373)
    • 👌 Support text alignment in UiButton and UiLabel (#2316)
    • You can now bind multiple inputs to a single axis via Axis::Multiple (#2341)
    • 👌 Support layer to be set in UiLabelBuilder (#2358)
    • 👌 Support line mode to be set in UiLabelBuilder and UiButtonBuilder (#2358)
    • GltfPrefab now also imports lights from a glTF source (#2362)
    • Added Tiles chapter to The Book (#2391)
    • ➕ Added SpriteRender::new for cleaner instantiation (#2395, #2419)
    • 0️⃣ amethyst_ui::UiButtonActionRetrigger now derives Default and Clone. (#2388)

    🔄 Changed

    • ✂ Removed far plane from perspective projection (#2118)
    • 👷 Experimented with CI solutions, selected GitHub Actions. Fixed bors & stalebot. (#2262, #2380, #2382, #2410, #2413, #2414, #2415)
    • amethyst_rendy::shape::Shape::upload takes &ShapeUpload. (#2264)
    • ⚡️ Updated examples, with special attention to the pong example. Improved readmes, updated screenshots, colocated assets with example code (#2248, #2289, #2305, #2201, #2310, #2312, #2349, #2384, [#2396], #2422)
    • UiText now requires 2 more arguments line_mode and align (#2358)
    • 💅 Updated the style of The Book (#2355)

    🛠 Fixed

    • 🛠 Fix tile example's MapMovementSystem to look for the correct components (#2209)
    • 🛠 Fix issue where all TileMaps were rendered with the same transformation. (#2210)
    • 🛠 Fix the bind method for DynamicVertexBuffer::<B,u32> (#2221)
    • 🛠 Fix examples which would not run due to incorrect system order. (#2213, #2223, #2239, #2243, #2267)
    • 🛠 Fix Texture asset debugging representation (#2231)
    • 🛠 Fix fixed updates being tied to time_scale (#2255)
    • 🛠 Fix incorrect assets being used when asset handles get reused (#2258)
    • 🛠 Fix bug causing only one TileMap to be rendered (#2296)
    • 🛠 Fix UiButtonBuilder so buttons it builds get rendered (#2299)
    • 🛠 Fix Tint so its color is converted from sRGBA to linear RGBA so shader color is correct. Also update various documentation regarding linear RGBA (#2314, #2398)
    • 🛠 Fix text alignment in UiText (#2316, #2358)
    • 🛠 Fix release build path resolution on Windows (#2337)
    • 🛠 Fix textures sometimes showing up incorrectly or not at all. (#2339)
  • v0.15.0 Changes

    March 24, 2020

    ➕ Added

    • 👌 Support settings module log levels from a RON file. (#2115)
    • Export the get_parent_pixel_size functions from the ui module. ([#2128)
    • Export the pixel_width and pixel_height methods on the UiTransform. ([#2128)
    • 👌 Support UiEvents targeting multiple overlapping entities. (#2138)
    • "storage-event-control" feature enables the specs "storage-event-control" feature. (#2152)

    🔄 Changed

    • Re-export TargetedEvent from amethyst_ui. (#2114)
    • 💻 amethyst::ui::Anchor is now Copy. (#2148)
    • 💻 amethyst::ui::LineMode is now Copy. (#2148)
    • 🏗 UiButtonBuilder::build takes in &mut UiButtonBuilderResources. (#2148)
    • _ Breaking: _ UiBundle depends on InputBundle being registered with the dispatcher first. (#2151)
    • Re-export UiImageLoadPrefab from amethyst_ui. (#2169, #2181)
    • 🚚 Don't remove HiddenPropagate components set by users manually. (#2155)

    ✂ Removed

    • 🚚 "nightly" feature is removed, missing resource panic message includes type name on stable. (#2136)

    🛠 Fixed

    • 🛠 Fixed an issue with states_ui example loading items incorrectly. (#2117)
    • Editable text fields now correctly highlight strings containing spaces. (#2108, #2143)
    • Caret for editable text box is drawn in correct position. (#2146, #2149)
    • Caret for editable text box is positioned correctly on first click. (#2151)
    • Editable text is correctly blurred / unfocused when clicking outside its bounds. (#2091, #2151)
    • amethyst_test crate features now map 1-1 to amethyst features. (#2153)
  • v0.14.0 Changes

    January 30, 2020

    ➕ Added

    • Implement Debug for ProgressCounter and ProgressCounterTracker. (#1973)
    • ➕ Added a custom render pass Example. (#1904)
    • ➕ Add an entry for examples/tiles to the examples readme. (#1978)
    • ➕ Added UI states/menu example. #1986
    • 👍 Allow user to specify custom completion function in amethyst_test::WaitForLoad. (#1984)
    • ✅ Log warning when amethyst_test::WaitForLoad has not completed in 10 seconds. (#1984)
    • Derive Copy and PartialEq for amethyst::renderer::resources::Tint. (#2033)
    • Derive Hash for amethyst::input::{Button, ControllerButton, ScrollDirection}. (#2041)
    • ➕ Added Trans::Replace, Trans::NewStack, and Trans::Sequence to the State Machine Transitions. (#2067,#2071)
    • ➕ Add rendy/gfx-backend log verbosity through configuration. (#1652) (#2048)
    • ➕ Add Draggable component that can be used with UiTransform to make widgets draggable. (#2080)

    🔄 Changed

    • 👉 Use a premultiplied view_proj matrix in vertex shaders. (#1964)
    • 🏗 amethyst_network completely rewritten to provide a new baseline with which to build. ([#1917])
    • 🌐 Cleaned up tiles example. Added rotation and translation tests, fixed raycast debug box. Added default zoom to PROJECT
      perspective projection since no one knew to zoom out. (#1974)
    • TileMaps to_tile and to_world now take an Option<&Transform> that allows them to work if the entire map in
      translated. (#1987,#1991)
    • AmethystApplication::with_fn constraint relaxed from Fn to FnOnce. (#1983)
    • ScreenDimensions now consistently reports window size in physical pixels. ([#1988])
    • Config::load now returns an error or failure rather than silently falling back to the default config. Same is true for the from_config_file methods on RenderToWindow, WindowBundle, and WindowSystem (#1989)
    • ➕ Adds get methods to the underlying net::transport resources (#2005)
    • 🔄 Changed SpriteSheetFormat::import_simple to allow importing grid based SpriteSheets (#2023)
      Migration Note: Rons need to wrap their content in either Grid() or List()
    • TileMap to_tile doesn't panic in debug mode. It instead return Result<Point,TileOutOfBounds>. (#2020,#2070)
    • ➕ Added new Error options for NetworkSimulationEvent.
    • 🔄 Changed amethyst config directory from $HOME/.amethyst to $HOME/.config/amethyst (#2079)
    • Changed world_to_screen camera transformation to match inverse of the one in screen_ray (#2057)
    • amethyst_input::Axis::Mouse now only has a single radius value. One of the two values was guaranteed to be unused. (#2099)

    🗄 Deprecated

    • Config::load_no_fallback, use Config::load instead (#1989)

    🛠 Fixed

    • 🛠 Tilemap rotation was incorrect and not transposed. Fixed and uses component rotation. (#1974)
    • 0️⃣ Config types no longer require a Default impl (#1989)
    • Fixed Incorrect path for sprite_camera_follow example (#2004)
    • ⚙ Run System::setup for pausable systems' delegate. (#2029)
    • 🛠 Fixed an incorrect dimensions being used in Tile Encoders, causing bad lookups in assymetric maps in any Z-level besides 0 (#2017)
    • 🛠 Fix encoders dimensional cases and optimize storage space (#2059)
    • 🛠 Fixed off by one issue in to_tile function (#2103)
    • 🛠 Fix dragging UI widgets that have ScaleMode::Percent (#2111)
  • v0.13.2 Changes

    October 05, 2019

    🚀 This release simply fixes a yanked dependency in the amethyst-locale crate.

    🛠 Fixed

    • 🛠 Fix fluent and unic-langid alignment (#1966)
  • v0.13.1 Changes

    October 04, 2019

    This release fixes some bugs in amethyst_locale and amethyst_tiles.

    ➕ Added

    • ⚡️ FlatEncoder added to amethyst_tiles for flat linear encoding which is optimized for space. (#1950)

    🔄 Changed

    • ⚡️ Updated syn, quote, and proc-macro2 to 1.0. (#1952)

    🛠 Fixed

    • TileMap was not allocating enough space for to compensate for morton encoding alignment. This means that
      all tilemap allocation must occur on 2n boundary aligned on all axis (or x-y axis for Morton2D) (#1950)
    • ➕ Add missing re-export for HideHierarchySystemDesc (#1945)
    • TileArgs POD had incorrect format for tile_coordinate argument, caused a crash on metal backend. (#1957)
  • v0.13.0 Changes

    September 26, 2019

    🚀 This release, on top of the changes below, adds the amethyst_tiles crate, which provides utilities that makes handling and drawing stuff in tiles a lot easier! 🎉

    Major breaking changes

    • 🏗 Systems needing initialization with world resources must go through a SystemDesc intermediate builder. (#1780)

    ➕ Added

    • 👍 'amethyst_tiles' crate added supporting 2d and 3d tile map rendering with sprites. (#1820)
    • SystemDesc proc macro derive to simplify defining SystemDescs. (#1780)
    • UiButtonData is now exported from amethyst_ui and can be used for custom widgets. (#1859)
    • ➕ Add an audio subchapter to the pong chapter. (#1842)
    • ➕ Add DispatcherOperation to store dispatcher build logic, which can be executed lazily. (#1870)
    • AmethystApplication takes in SystemDescs through with_system_desc. (#1882)
    • AmethystApplication::with_thread_local_desc takes in RunNowDesc. (#1882)
    • ➕ Add NineSlice support to UiImage. (#1896)
    • RenderingBundle for full manual control of the rendering pipeline via a custom GraphCreator. (#1839)
    • CameraOrtho::new takes in CameraOrthoWorldCoordinates, which can be set to custom dimensions. (#1916)
    • Camera::screen_ray method added, returning an appropriate Ray structure (#1918).
    • amethyst_test: InMemorySource and WaitForLoad helpers (#1933).
    • Animations are available with UiTransforms. ([#1935])

    🔄 Changed

    • 🏗 All -Builder structs in amethyst_ui/prefab.rs are now called -Data. (#1859)
    • AmethystApplication takes in a System instead of a closure for with_system. (#1882)
    • AmethystApplication::with_thread_local constraint relaxed to RunNow (previously System). (#1882)
    • SystemDesc proc macro supports #[system_desc(event_reader_id)] to register event reader. (#1883)
    • SystemDesc proc macro supports #[system_desc(flagged_storage_reader(Component))]. (#1886)
    • 👉 Use SystemDesc derive to generate SystemDesc implementations for common case systems. (#1887)
    • DispatcherOperation stores system name and dependencies as Strings. (#1891)
    • TextureProcessor renamed to TextureProcessorSystem. (#1839)
    • MeshProcessor renamed to MeshProcessorSystem. (#1839)
    • AmethystApplication::with_setup now takes in FnOnce(&mut World) + Send + 'static. (#1912)
    • AmethystApplication::with_setup runs the function before the dispatcher. (#1912)
    • UiImage:PartialTexture & UiImage:Sprite texture coordinates are correct. Clarified types. (#1906,#1919)
    • Camera::screen_to_world renamed Camera::screen_to_world_point and its API has changed to a Point3 (#1918).

    🛠 Fixed

    • RenderingBundle is registered last in all examples. (#1881)
  • v0.12.0 Changes

    July 30, 2019

    🆕 New release! 🎉

    💥 Breaking changes

    • 🚚 Float newtype removed, moved back to f32 primitive for all values (#1747)
    • TextureProcessor and MeshProcessor systems are now separated from RenderingSystem (#1772)

    ➕ Added

    • ➕ Add a feature flag sentry to disable the sentry dependency. (#1804) (#1825)
    • Fixes and renames regression from ([#1442]) added back position_from_world as screen_to_world. Also added
      world_to_screen. Also adds Transform::copy_local_to_global()' fordebug_assertion` builds (#1733)
    • Add add_rectangle, add_rotated_rectangle, add_box, add_rotated_box, add_circle, add_rotated_circle,
      add_cylinder, add_rotated_cylinder and add_sphere functions to DebugLinesComponent
      and the corresponding draw functions to DebugLines, to draw simple shapes with debug lines. (#1766)
    • 🚀 InputEvent::AxisMoved is sent upon button press / release. (#1512, #1797)
    • ⚡️ UiImage is updated to allow for partial textures and sprites. (#1809,#1811)
    • ➕ Added RenderingBundle with a rendering plugin system, making rendering setup easier (#1772)
    • 📚 Documentation for Tint component. (#1802)

    🔄 Changed

    • 🍱 Splitted the /resources directory of amethyst projects into /assets and /config. ([#1806])
    • 📇 Rename FPSCounter, FPSCounterBundle, FPSCounterSystem to FpsCounter, FpsCounterBundle, FpsCounterSystem. (#1719)
    • ➕ Add Tint component support for sprites. (#1756)
    • ✂ Remove remaining <N: RealField> type parameter on GameDataBuilder, add Debug derive to LoggerConfig (#1758)
    • Inverted mouse wheel scroll direction event. Now using winit's standard. (#1767)
    • Add load_from_data_async to Asset Loader. (#1753)
    • ➕ Add SerializableFormat marker trait which is now needed to be implemented for all the formats that are supposed to be serialized. (#1720)
    • 👉 Make the GltfSceneOptions field of GltfSceneFormat public. (#1791)
    • ⚡️ Updated fluent to version 0.6. (#1800)
      InputEvent<T> now takes in the BindingTypes as a type parameter. (#1797)
    • 👉 Use crossbeam-queue crate directly. (#1822)

    🛠 Fixed

    • 🛠 Fix stack overflow on serializing Box<dyn Format<_>>. (#1720)
    • 🛠 Fix the steps for enabling the nightly flag in the pong tutorial. (#1805)
    • 🛠 Fix animation unwrap on missing animated component. (#1773)
    • 🛠 Fix tangent generation in procedural shapes. (#1807)
  • v0.11.1 Changes

    June 22, 2019

    📚 This release does not come with any API changes or additions, it only contains documentation fixes and a fix to make docs.rs build amethyst again.