Skip to content

@torkleyy torkleyy released this Jun 16, 2019 · 193 commits to master since this release


  • Introduce application_dir utility (#1213)
  • Derive Copy, PartialEq, Eq, Serialize, Deserialize for Flipped component. (#1237)
  • A way to change the default Source using set_default_source and with_default_source. (#1256)
  • "How To" guides for using assets and defining custom assets. (#1251)
  • Explanation on how prefabs function in Amethyst. (#1114)
  • amethyst_renderer::Rgba is now a Component that changes the color and transparency of the entity
    it is attached to. (#1282)
  • AutoFov and AutoFovSystem to adjust horizontal FOV to screen aspect ratio. (#1281)
  • Add icon to DisplayConfig to set a window icon using a path to a file (#1373)
  • Added setting to control gfx_device_gl logging level separately, and set it to Warn by default. (#1404)
  • Add loaded_icon to DisplayConfig to set a window icon programatically (#1405)
  • Added optional feature gates which will reduce compilation times when used. (#1412)
  • Several passes got with_transparency_settings which changes the transparency settings for the pass. (#1419)
  • Add SpriteRenderPrefab. (#1435)
  • Add ScreenSpace component. Draws entities using the screen coordinates. (#1424)
  • Add add_removal_to_entity function. (#1445)
  • Add position_from_screen to Camera. Transforms position from screen space to camera space. (#1442)
  • Add SpriteScenePrefab. Allows load sprites from a grid and add them to the SpriteRenderer. (#1469)
  • Add Widgets resource. Allows keeping track of UI entities and their components and iterating over them. (#1390)
  • AmethystApplication takes in application name using with_app_name(..). (#1499)
  • Add NetEvent::Reliable variant. When added to NetConnection, these events will eventually reach the target. (#1513)
  • "How To" guides for defining state-specific dispatchers. (#1498)
  • Adding support for AMETHYST_NUM_THREADS environment variable to control size of the threads pool used by thread_pool_builder.
  • Add Input variant to StateEvent. (#1478)
  • Support type parameters in EventReader derive. (#1478)
  • Derive Debug, PartialEq, Eq for Source. (#1591)
  • Added events example which demonstrates working even reader and writer in action. (#1538)
  • Implement builder like functionality for AnimationSet and AnimationControlSet (#1568)
  • Add get_mouse_button and is_mouse_button_down utility functions to amethyst_input. (#1582)
  • Add amethyst_input::Axis::MouseWheel (#1642)
  • Add amethyst_input::BindingError::MouseWheelAlreadyBound (#1642)
  • Add amethyst_input::InputHandler::send_frame_begin (#1642)
  • Add amethyst_input::InputHandler::mouse_wheel_value (#1642)
  • Added Float::from_f32 and Float::from_f64 const fns so Float can be used as const. (#1687)
  • Add debug_lines_ortho example. (#1703)


  • #[derive(PrefabData)] now supports enums as well as structs
  • Make frame_limiter::do_sleep calculate the amount of time to sleep instead of calling sleep(0) (#1446)
  • Make application_root_dir return a Result<Path> instead of a String (#1213)
  • Remove unnecessary texture coordinates offset in Sprite::from_pixel_values (#1267)
  • Changed ActiveCamera to have the Option inside. (#1280)
  • AudioBundle::new() no longer exists, as AudioBundle is now a unit type. It also no longer initializes the DjSystem (#1356)
  • Convert everything to use err-derive and amethyst_error (#1365)
  • Removed redundant code in (#1375)
  • Refactored audio initialization to be more bundle-centric (#1388)
  • Changed argument types of exec_removal to allow use of both Read and Write Storages. (#1397)
  • Changed default log level to Info. (#1404)
  • Remove unnecessary mut from AnimationControlSet::has_animation (#1408)
  • Moved amethyst_gltf from development workspace to be like the other amethyst_* subcrates. (#1411)
  • Re-exported amethyst_gltf by amethyst as amethyst::gltf. (#1411)
  • Default::default now returns a pass with transparency enabled for all applicable passes. (#1419)
  • Several passes had a function named with_transparency changed to accept a boolean. (#1419)
  • FrameRateLimitConfig has a new constructor, and its fields are made public. (#1436)
  • Derive Deserialize, Serialize for MaterialPrimitive and SpriteRenderPrimitive, remove
    extra bounds from AnimatablePrefab and AnimationSetPrefab (#1435)
  • Renamed amethyst_core::specs to amethyst_core::ecs and amethyst_core::nalgebra to amethyst_core::math. (#1410)
  • Simplified some of the conditionals in the Pong tutorial. (#1439)
  • Changed the names of many Transform functions to better reflect their actual function and reduce potential semantic confusion (#1451)
  • ProgressCounter#num_loading() no longer includes failed assets. (#1452)
  • SpriteSheetFormat field renamed from spritesheet_* to texture_*. (#1469)
  • Add new keep_aspect_ratio field to Stretch::XY. (#1480)
  • Renamed Text UI Prefab to Label in preparation for full widget integration in prefabs. (#1390)
  • amethyst_test includes the application name of a failing test. (#1499)
  • amethyst_test returns the panic message of a failed execution. (#1499)
  • Rename NetEvent::Custom variant to NetEvent::Unreliable. (#1513)
  • Updated laminar to 0.2.0. (#1502)
  • Large binary files in examples are now tracked with git-lfs. (#1509)
  • Allowed the user to arrange with laminar. (#1523)
  • Removed NetEvent::Custom and added NetEvent::Packet(NetPacket) (#1523)
  • Fixed update is no longer frame rate dependent ([#1516])
  • Display the syntax error when failing to parse sprite sheets (#1526)
  • Added generic parameter type to Transform to configure floating point precision (then removed). (#1334) (#1584)
  • NetConnection is automatically created when client starts sends data to server. (#1539)
  • User will receive NetEvent::Connected on new connection and NetEvent::Disconnected on disconnect. (#1539)
  • Added a pivot field to UiTransform. (#1571)
  • Fix fly_camera example initial camera and cube position. (#1582)
  • Add to fly_camera example code to release and capture back mouse input, and to show and hide cursor. (#1582)
  • Updated rodio to 0.9. (#1683)

Rendy support

  • Brand new way to define rendering pipelines.
  • OpenGL support temporarily dropped, Vulkan and Metal support added.
  • Normalized texel coordinates are now in Vulkan convention (top-left 0.0, bottom-right 1.0), mirrored vertically compared to old one.
  • World space is now Y-up consistently for all projections (2D and 3D).
  • Format type no longer has associated Options and is now object-safe. It is expected to carry required options itself.
  • Format now supports tag-based deserialization, it is no longer required to provide specific format to prefab type.
  • Combined input axis/action generics into single type.
  • Material is now an asset. Must be turned into handle before putting on an entity.
  • Removed Flipped component. Use flip_horizontal and flip_vertical sprite property instead.
  • Added Rendy migration guide. (#1626)


  • Removed all NetEvent's because they were not used. (#1539)
  • Removed filter logic, because it didn't do anything, will be added back in a later version (NetFilter, FilterConnected). (#1539)


  • Optimize loading of wavefront obj mesh assets by getting rid of unnecessary allocations. (#1454)
  • Fixed the "json" feature for amethyst_assets. (#1302)
  • Fixed default system font loading to accept uppercase extension ("TTF"). (#1328)
  • Set width and height of Pong Paddles (#1363)
  • Fix omission in PosNormTangTex documentation. (#1371)
  • Fix division by zero in vertex data building (#1481)
  • Fix tuple index generation on PrefabData and EventReader proc macros. (#1501)
  • Avoid segmentation fault on Windows when using AudioBundle in amethyst_test. (#1595, #1599)
Assets 2
You can’t perform that action at this time.