• v0.5.0 4bbb69fac4

    v0.5.0 Pre-release

    dandielo released this 2026-07-13 02:45:23 +00:00 | 2 commits to master since this release

    Version v0.5.0 - Long time coming

    A long time has passed from the previous release.
    A lot has changed in how the project is run and developed too.

    With this release I mark the moment where the project will no longer be developed on GitHub, but will move to it's own self-hosted git instance.

    List of major changes over the past two years

    • Added support for Emscripten (WebAssembly) + WebGPU
    • Added support for profiling with Tracy
    • Added various DevUI widgets helpful in development
    • Added the ability to access Assets in their runtime form.
    • Added support for defining complex InputsActions using a DSL language.
    • Added new "Config" type that can be stored and loaded quickly from binary presentations.
    • Rebuild all collections for easier usage

    And a lot of other changes...

    Full Changelog: https://code.iceshard.net/engine/iceshard/compare/v0.4.1...v0.5.0

    Downloads
  • v0.4.1 298f4d0bee

    Dandielo released this 2024-03-17 16:48:49 +00:00 | 60 commits to master since this release

    These are the highlights of a year's worth of work.

    New platforms:

    • Android-armv8, Android-x64 (Gradle)
    • WebAsm-x86_x64 (Emscripten) + WebGPU

    New features:

    • Added 'ICE_ASSERT_CORE' macro as a quicker option for 'ICE_ASSERT'
    • Added new math primitive, the 'array' value.
    • Added 'ice::path::basename'
    • Added 'string::push_format' for modifying strings with FMT format strings.
    • Aliased 'std::bit_cast' in the 'ice' namespace.
    • Aliased 'std::upper_bound' and 'std::lower_bound' in the 'ice' namespace.
    • Implemented std-like 'ice::binary_search'.
    • Implemented expected result type.
    • Implemented coroutine expected result type.
    • Implemented coroutine cancelation tokens.
    • Introduced new 'App' API.
    • Introduced new 'Params' API.
    • Introduced new 'Platform' feature API.
    • Introduced new 'GfxGraph' API allowing for a render graph like workflow.
    • Introduced the 'Hailstorm' binary packaging format as resource provider.

    New tools:

    • hsc_packer - Allows to create HailStorm packs
    • hsc_reader - Allows to inspect (stdout) HailStorm packs

    Refactored systems:

    • The whole dynamic module / module API registration.
    • The whole 'platform' API / project was refactored and reimplemented for all platforms.
    • Partially refactored metadata APIs.
    • Partially refactored resource-system AsyncIO handling.
    • Partially refactored resource-system Filesystem provider APIs.

    Changes:

    • Replaces 'ResultCode' with 'ErrorCode' and 'Expected' types.
    • Using 'vulkan-memory-allocator' library instead of custom solution.
    • Log API now allows for more customization when it comes to user tags.
    • Inputs now can partially handle touch events.
    • DynamicLib provider handles now Unix libraries.
    • FileSystem provider now handles Unix directories and files.
    • FileSystem provider can now process directories asynchronously when synchronizing.
    • Introduces new test cases for various parts of the engine.
    • Profiling no longer enabled by default for 'Develop' configuration.
    • 'InputTracker::process_device_events' arguments now accepting span's of DeviceEvents.
    • 'RenderCommands::begin_renderpass' function now accepts Span of 'const vecf' values.
    • Multi-path Filesystem ResourceProvider now accepts Span of const strings.
    • Relaxed: Allowing to create shards from ShardIDs.
    • Relaxed: Allowing to implicit cast Shards to ShardIDs.
    • Relaxed: UniquePtr arrow-access operator allows to access 'non-const' pointer values form 'UniquePtr const' objects.
    • Relaxed: Metadata is no longer mandatory for resources or assets.

    Fixes:

    • Fixed array clear for some 'complex' types.
    • Fixed 'ManualResetBarrier::set' function not waking up threads when set.
    • Fixed crash in StaticString when created from empty string / nullptr.
    • Fixed log tags not properly being solved in all cases.
    • Fixed missing destruction call to elements if replaced under certain situations.
    • Fixed passing span values to std::sort.
    • Fixed possible crash with LinkedQueueRange 'begin' function.
    • Fixed Resource access using synchronous setup.
    • Fixed a quite rare MT bug in linked queue.
    • Fixed async writer logic allowing to write after free, when async writing was used.
    • Fixed crash when items are released mid-iteration.
    • AND LOTS MORE

    Full Changelog: https://github.com/iceshard-engine/engine/compare/v0.3.1...v0.4.0

    Downloads
  • v0.3.1 fd2e0f8e73

    v0.3.1 Pre-release

    Dandielo released this 2023-05-14 06:41:46 +00:00 | 63 commits to master since this release

    Fix for a deadlock in the frame logic.

    Downloads
  • v0.3.0 f8166844a1

    v0.3.0 Pre-release

    Dandielo released this 2023-05-13 09:51:32 +00:00 | 64 commits to master since this release

    What's Changed

    What's Changed (Old unmentioned PullRequests)

    Full Changelog: https://github.com/iceshard-engine/engine/compare/v0.2.0...v0.3.0

    Downloads
  • v0.2.0 9a5c2a73f7

    v0.2.0 Pre-release

    Dandielo released this 2022-07-10 21:32:15 +00:00 | 77 commits to master since this release

    Downloads
  • v0.1.0-alpha fb385bdfb3

    Resources and Assets Pre-release

    Dandielo released this 2022-04-12 21:38:12 +00:00 | 88 commits to master since this release

    Downloads
  • v0.0.1-alpha c9290d18d9

    IceShard 0.0.1-alpha Pre-release

    Dandielo released this 2021-08-05 17:35:38 +00:00 | 126 commits to master since this release

    This is the first release of this project.
    It provides basic rendering features, has API's that allow build a simple game, but does not provide complete solutions.

    The next release will try to expand existing and add new features.

    Downloads