PackageTrack
Sign in Get early access

softbuffer

Cross-platform software buffer

0.4.8 21M downloads/mo #2058 most downloaded on crates.io rust-windowing/softbuffer

What this package is like to depend on

Last release 8 months ago

13 Dec 2025

Ships unpredictably

gaps range from 1 weeks to 1.3 years

Nearly every release is documented

notes for 18 of 18 stable releases

Nothing withdrawn

no release was ever pulled

5 years old

18 releases · first in 2022

2 releases in the last 12 months

see the full history below

Release timeline

18 releases · Jan 2022 to Dec 2025
2023 2024 2025 2026
Release Pre-release

Releases

latest 18
  1. 0.4.8 13 Dec 2025
    Release notes
    • Fix documentation building on docs.rs.
    Open source →
    Release notes
    • Fix documentation building on docs.rs.
    Open source →
  2. 0.4.7 13 Dec 2025
    Release notes
    • Added support for Android using the ndk crate.
    • Added support for wasm64-* targets.
    • Improved examples.
    • Added Buffer::width() and Buffer::height() getters.
    • Context now implements Clone.
    • Context, Surface and Buffer now implement Debug.
    • Bump MSRV to Rust 1.71.
    • Replace log with tracing.
    • Remove cfg_aliases dependency.
    • Update to objc2 0.6, objc2-* 0.3, drm 0.14, rustix 1.0 and windows-sys 0.61.
    Open source →
    Release notes
    • Added support for Android using the ndk crate.
    • Added support for wasm64-* targets.
    • Improved examples.
    • Added Buffer::width() and Buffer::height() getters.
    • Context now implements Clone.
    • Context, Surface and Buffer now implement Debug.
    • Bump MSRV to Rust 1.71.
    • Replace log with tracing.
    • Remove cfg_aliases dependency.
    • Update to objc2 0.6, objc2-* 0.3, drm 0.14, rustix 1.0 and windows-sys 0.61.
    Open source →
  3. 0.4.6 07 Sep 2024
    Release notes
    • Added support for iOS, tvOS, watchOS and visionOS (UIKit).
    • Redo the way surfaces work on macOS to work directly with layers, which will
      allow initializing directly from a CALayer in the future.
    • Update to windows-sys 0.59.0 and core-graphics v0.24.0.
    • Add an MSRV policy.
    Open source →
    Release notes
    • Added support for iOS, tvOS, watchOS and visionOS (UIKit).
    • Redo the way surfaces work on macOS to work directly with layers, which will allow initializing directly from a CALayer in the future.
    • Update to windows-sys 0.59.0 and core-graphics v0.24.0.
    • Add an MSRV policy.
    Open source →
  4. 0.4.5 24 Jun 2024
    Release notes
    • Make the wayland-sys dependency optional. (#223)
    • Allow for transparent visuals on X11. This technically doesn't work, but
      otherwise winit users might get crashes. (#226)
    Open source →
    Release notes
    • Make the wayland-sys dependency optional. (#223)
    • Allow for transparent visuals on X11. This technically doesn't work, but otherwise winit users might get crashes. (#226)
    Open source →
  5. 0.4.4 12 Jun 2024
    Release notes
    • Make Context Send+Sync and Surface Send. (#217)
    Open source →
    Release notes
    • Make Context Send+Sync and Surface Send. (#217)
    Open source →
  6. 0.4.3 19 May 2024
    Release notes
    • Use objc2 as the backend for the CoreGraphics implementation. (#210)
    • Update drm-rs to version v0.12.0. (#209)
    • Bump MSRV to 1.70.0 to be in line with Winit.
    Open source →
    Release notes
    • Use objc2 as the backend for the CoreGraphics implementation. (#210)
    • Update drm-rs to version v0.12.0. (#209)
    • Bump MSRV to 1.70.0 to be in line with Winit.
    Open source →
  7. 0.4.2 16 Apr 2024
    Release notes
    • Add the ability to get the underlying window handle. (#193)
    • Rework the backend to use a trait-based interface. (#196)
    • On Orbital, fix window resize. (#200)
    • Fix bytes() for KMS/DRM implementation. (#203)
    Open source →
    Release notes
    • Add the ability to get the underlying window handle. (#193)
    • Rework the backend to use a trait-based interface. (#196)
    • On Orbital, fix window resize. (#200)
    • Fix bytes() for KMS/DRM implementation. (#203)
    Open source →
  8. 0.4.1 11 Jan 2024
    Release notes
    • On MacOS, Fix double-free of NSWindow. (#180)
    • On Web, add support for more RawWindowHandle variants. (#188)
    • On Wayland, fix buffer age. (#191)
    • Update drm to 0.11 (#178)
      • Fixes build on architectures where drm-rs did not have generated bindings.
    • Update x11rb to v0.13 (#183)
    Open source →
    Release notes
    • On MacOS, Fix double-free of NSWindow. (#180)
    • Update drm to 0.11 (#178)
      • Fixes build on architectures where drm-rs did not have generated bindings.
    • Update x11rb to v0.13 (#183)
    • On Web, add support for more RawWindowHandle variants. (#188)
    • On Wayland, fix buffer age. (#191)
    Open source →
  9. 0.4.0 14 Nov 2023
    Release notes
    • Breaking: Port to use raw-window-handle v0.6.(#132)
    • Enable creating X11 displays without an existing connection. (#171)
    Open source →
    Release notes
    • Breaking: Port to use raw-window-handle v0.6.(#132)
    • Enable creating X11 displays without an existing connection. (#171)
    Open source →
  10. 0.3.4 11 Jan 2024
    Release notes
    • Fix buffer age on Wayland. (#191)
    • Update drm to 0.11. (#178)
      • Fixes build on architectures where drm-rs did not have generated bindings.
    Open source →
  11. 0.3.3 01 Nov 2023
    Release notes
    • Fix a bug in the new shared memory model in X11. (#170)
    Open source →
  12. 0.3.2 21 Oct 2023
    Release notes
    • Document that present_with_damage is supported on web platforms. (#152)
    • Replace our usage of nix with rustix. This enables this crate to run without libc. (#164)
    • Use POSIX shared memory instead of Sys-V shared memory for the X11 backend. (#165)
    • Bump version for the following dependencies:
      • memmap2 (#156)
      • redox_syscall (#161)
      • drm (#163)
    Open source →
  13. 0.3.1 09 Sep 2023
    Release notes
    • On X11, fix the length of the returned buffer when using the wire-transferred buffer.
    • On Web, fix incorrect starting coordinates when handling buffer damage.
    • On Redox, use MAP_SHARED; fixing behavior with latest Orbital.
    • Error instead of segfault on macOS if size isn't set.
    • Add OffscreenCanvas support in web backend.
    • Add DRM/KMS backend, for running on tty without X/Wayland.
    • Make fetch error on Windows, where it wasn't working correctly.
    • Implement Error trait for SoftBufferError.
    • Dependency updates.
    Open source →
  14. 0.3.0 04 Jun 2023
    Release notes
    • On MacOS, the contents scale is updated when set_buffer() is called, to adapt when the window is on a new screen (#68).
    • Breaking: Split the GraphicsContext type into Context and Surface (#64).
    • On Web, cache the document in the Context type (#66).
    • Breaking: Introduce a new "owned buffer" for no-copy presentation (#65).
    • Enable support for multi-threaded WASM (#77).
    • Fix buffer resizing on X11 (#69).
    • Add a set of functions for handling buffer damage (#99).
    • Add a fetch() function for getting the window contents (#104).
    • Bump MSRV to 1.64 (#81).
    Open source →
  15. 0.2.1 01 Jun 2023
    Release notes
    • Bump windows-sys to 0.48
    Open source →
  16. 0.2.0 06 Jan 2023
    Release notes
    • Add support for Redox/Orbital.
    • Add support for BSD distributions.
    • Ported Windows backend from winapi to windows-sys.
    • Breaking: Take a reference to a window instead of owning the window.
    • Add a from_raw function for directly using raw handles.
    • Improvements for Wayland support.
    • Support for HiDPI on macOS.
    • Breaking: Add feature flags for x11 and wayland backends.
    • Use static dispatch instead of dynamic dispatch for the backends.
    • Add libxcb support to the X11 backend.
    • Use X11 MIT-SHM extension, if available.
    Open source →
  17. 0.1.1 22 May 2022
    Release notes
    • Added WASM support (Thanks to Liamolucko!)
    • CALayer is now used for Mac OS backend, which is more flexible about what happens in the windowing library (Thanks to lunixbochs!)
    Open source →
  18. 0.1.0 20 Jan 2022
    Release notes

    Initial published version with support for Linux (X11 and Wayland), Mac OS (but buggy), and Windows.

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive