Changelog History
-
v0.15.3 Changes
August 23, 20200.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, 2020Note
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 deprecatedamethyst 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, 2020Note
Please note that after the 0.15.x series Amethyst will switch from
specs
tolegion
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
fromGameDataBuilder::build_dispatcher
🏗 instead of usingDataInit
to build aGameData
(#2294) - 👉 Added User Interface chapter to The Book (#2311, #2346, #2347, #2368, #2373)
- 👌 Support text alignment in
UiButton
andUiLabel
(#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
andUiButtonBuilder
(#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 derivesDefault
andClone
. (#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 argumentsline_mode
andalign
(#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
TileMap
s 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)
- 🆕 New
-
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
andpixel_height
methods on theUiTransform
. ([#2128) - 👌 Support UiEvents targeting multiple overlapping entities. (#2138)
"storage-event-control"
feature enables thespecs
"storage-event-control"
feature. (#2152)
🔄 Changed
- Re-export
TargetedEvent
fromamethyst_ui
. (#2114) - 💻
amethyst::ui::Anchor
is nowCopy
. (#2148) - 💻
amethyst::ui::LineMode
is nowCopy
. (#2148) - 🏗
UiButtonBuilder::build
takes in&mut UiButtonBuilderResources
. (#2148) - _ Breaking: _
UiBundle
depends onInputBundle
being registered with the dispatcher first. (#2151) - Re-export
UiImageLoadPrefab
fromamethyst_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 toamethyst
features. (#2153)
-
v0.14.0 Changes
January 30, 2020➕ Added
- Implement
Debug
forProgressCounter
andProgressCounterTracker
. (#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
andPartialEq
foramethyst::renderer::resources::Tint
. (#2033) - Derive
Hash
foramethyst::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 withUiTransform
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 fromFn
toFnOnce
. (#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 thefrom_config_file
methods onRenderToWindow
,WindowBundle
, andWindowSystem
(#1989)- ➕ Adds
get
methods to the underlying net::transport resources (#2005) - 🔄 Changed
SpriteSheetFormat::import_simple
to allow importing grid basedSpriteSheets
(#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 inscreen_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
, useConfig::load
instead (#1989)
🛠 Fixed
- 🛠 Tilemap rotation was incorrect and not transposed. Fixed and uses component rotation. (#1974)
- 0️⃣
Config
types no longer require aDefault
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)
- Implement
-
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, 2019This release fixes some bugs in
amethyst_locale
andamethyst_tiles
.➕ Added
- ⚡️
FlatEncoder
added to amethyst_tiles for flat linear encoding which is optimized for space. (#1950)
🔄 Changed
- ⚡️ Updated
syn
,quote
, andproc-macro2
to1.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 fortile_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 definingSystemDesc
s. (#1780)UiButtonData
is now exported fromamethyst_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 inSystemDesc
s throughwith_system_desc
. (#1882)AmethystApplication::with_thread_local_desc
takes inRunNowDesc
. (#1882)- ➕ Add
NineSlice
support toUiImage
. (#1896) RenderingBundle
for full manual control of the rendering pipeline via a customGraphCreator
. (#1839)CameraOrtho::new
takes inCameraOrthoWorldCoordinates
, which can be set to custom dimensions. (#1916)Camera::screen_ray
method added, returning an appropriateRay
structure (#1918).- ✅
amethyst_test
:InMemorySource
andWaitForLoad
helpers (#1933). - Animations are available with
UiTransform
s. ([#1935])
🔄 Changed
- 🏗 All
-Builder
structs in amethyst_ui/prefab.rs are now called-Data
. (#1859) AmethystApplication
takes in aSystem
instead of a closure forwith_system
. (#1882)AmethystApplication::with_thread_local
constraint relaxed toRunNow
(previouslySystem
). (#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 generateSystemDesc
implementations for common case systems. (#1887) DispatcherOperation
stores system name and dependencies asString
s. (#1891)TextureProcessor
renamed toTextureProcessorSystem
. (#1839)MeshProcessor
renamed toMeshProcessorSystem
. (#1839)AmethystApplication::with_setup
now takes inFnOnce(&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
renamedCamera::screen_to_world_point
and its API has changed to a Point3 (#1918).
🛠 Fixed
RenderingBundle
is registered last in all examples. (#1881)
- 🏗 Systems needing initialization with world resources must go through a
-
v0.12.0 Changes
July 30, 2019🆕 New release! 🎉
💥 Breaking changes
- 🚚
Float
newtype removed, moved back tof32
primitive for all values (#1747) TextureProcessor
andMeshProcessor
systems are now separated fromRenderingSystem
(#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
asscreen_to_world
. Also added
world_to_screen
. Also addsTransform::copy_local_to_global()' for
debug_assertion` builds (#1733) - Add
add_rectangle
,add_rotated_rectangle
,add_box
,add_rotated_box
,add_circle
,add_rotated_circle
,
add_cylinder
,add_rotated_cylinder
andadd_sphere
functions toDebugLinesComponent
and the corresponding draw functions toDebugLines
, 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 theBindingTypes
as a type parameter. (#1797) - 👉 Use
crossbeam-queue
crate directly. (#1822)
🛠 Fixed
- 🚚
-
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.