Skip to content

v0.20.0

Choose a tag to compare

@github-actions github-actions released this 06 Dec 07:15
· 247 commits to main since this release
0146d5f
  • Add support for gigapixel images.

    • Now decoded image length can exceed i32::MAX.
    • Now is only limited by the codecs (~4 gigapixels for JPEG).
  • Improve view-process image downscaling implementation.

    • Higher quality and faster using specialized resizer.
    • Implemented downscaling for already decoded image buffers.
    • Renderer now also generates a lazy loaded mipmap when rendering downscaled images.
  • Breaking Refactor ImageSource.

    • Data now holds IpcBytes directly.
    • Removed Static because it is always converted to IpcBytes anyway.
  • Breaking Refactor view-process API image display item.

    • Removed AlphaType and relates items. Images are always premultiplied BGRA8 or A8 masks.
  • Breaking Refactor zng::task::http into a backend agnostic API.

    • Removed unmaintained isahc dependency.
    • Most of the surface API remains the same, the Request type is its own builder now.
  • Breaking Refactor zng::task::io::ReadLimited.

    • No longer generic over the error function.
    • Now also implements BufRead, Read and AsyncBufRead.
    • Add constructor with default error.
  • Breaking Refactor zng::task::io::Measure.

    • Now uses Var<Metrics> to track and notify progress.
    • Now also implements BufRead, Read, Write and AsyncBufRead.
  • Refactor WhiteSpace merging to better integrate with basic paragraph spacing.

    • Merge now also merges multiple line breaks into a single one.
    • Breaking Added MergeParagraph. Merges spaces and trim lines. Removes single line breaks. Merge multiple line breaks.
  • Breaking Remove img_scale_factor and img_scale_density properties.

    • Added img_auto_scale property and related ImageAutoScale enum.
  • Breaking Remove Animation::sleep_restart. Add restart flag to Animation::sleep.

  • Unify channel types.

    • Breaking Removed AppChannelError, EventReceiver.
    • Breaking Removed bytes_channel and related types. Use an IPC channel with IpcBytes messages.
    • Breaking Removed AppEventSender extension channels. Simply create a wrapper that sends the message and awakes the app.
  • Refactor IPC and worker process API.

    • Breaking Remove zng::task::ipc.
    • Add zng::task::channel::ipc_channel and related types.
    • Add zng::task::process::worker with the same worker process types.
    • IPC types are now also available in builds without "ipc" feature, internally patched to use normal channels.
    • Breaking Remove zng::task::channel::{UnboundSender, UnboundReceiver}.
    • Breaking Unified channel error types.
    • Breaking Remove conversions from underlying channel types.
    • Breaking Remove public duct crate types.
  • Add blocking API for zng::task::channel sender and receiver.

  • Fix Window! config properties trying to use CONFIG in builds without "config" feature.

Crates will be available on crates.io once Publish completes.