gradio/js/upload/CHANGELOG.md
pngwn 4da194fc77
chore: update versions (#7669)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-03-19 13:50:31 -07:00

16 KiB

@gradio/upload

0.8.0

Features

  • #7420 15da39f - Multimodal Textbox (Chat Input Component). Thanks @dawoodkhan82!

Dependency updates

  • @gradio/client@0.14.0
  • @gradio/upload@0.8.0
  • @gradio/wasm@0.9.0

0.7.7

Dependency updates

  • @gradio/upload@0.7.7
  • @gradio/client@0.13.0
  • @gradio/wasm@0.8.0

0.7.6

Features

0.7.5

Fixes

0.7.4

Patch Changes

  • Updated dependencies [f191786]:
    • @gradio/icons@0.3.3
    • @gradio/atoms@0.5.3
    • @gradio/upload@0.7.4

0.7.3

Patch Changes

  • Updated dependencies [065c5b1, 32b317f]:
    • @gradio/utils@0.3.0
    • @gradio/client@0.12.1
    • @gradio/atoms@0.5.2
    • @gradio/upload@0.7.3

0.7.2

Patch Changes

  • Updated dependencies [49d9c48]:
    • @gradio/client@0.12.0
    • @gradio/upload@0.7.2

0.7.1

Features

Fixes

0.7.0

Features

0.6.1

Fixes

0.6.0

Features

Fixes

0.5.8

Features

0.5.7

Patch Changes

  • Updated dependencies [d406855]:
    • @gradio/client@0.9.4
    • @gradio/upload@0.5.7

0.5.6

Fixes

0.5.5

Patch Changes

  • Updated dependencies [245d58e]:
    • @gradio/client@0.9.2
    • @gradio/upload@0.5.5

0.5.4

Fixes

0.5.3

Fixes

0.5.2

Patch Changes

  • Updated dependencies [206af31]:
    • @gradio/icons@0.3.1
    • @gradio/atoms@0.3.1
    • @gradio/upload@0.5.2

0.5.1

Patch Changes

  • Updated dependencies [71f1a1f99]:
    • @gradio/client@0.8.2
    • @gradio/upload@0.5.1

0.5.0

Highlights

New ImageEditor component (#6169 9caddc17b)

A brand new component, completely separate from Image that provides simple editing capabilities.

  • Set background images from file uploads, webcam, or just paste!
  • Crop images with an improved cropping UI. App authors can event set specific crop size, or crop ratios (1:1, etc)
  • Paint on top of any image (or no image) and erase any mistakes!
  • The ImageEditor supports layers, confining draw and erase actions to that layer.
  • More flexible access to data. The image component returns a composite image representing the final state of the canvas as well as providing the background and all layers as individual images.
  • Fully customisable. All features can be enabled and disabled. Even the brush color swatches can be customised.


def fn(im):
    im["composite"] # the full canvas
    im["background"] # the background image
    im["layers"] # a list of individual layers


im = gr.ImageEditor(
    # decide which sources you'd like to accept
    sources=["upload", "webcam", "clipboard"],
    # set a cropsize constraint, can either be a ratio or a concrete [width, height]
    crop_size="1:1",
    # enable crop (or disable it)
    transforms=["crop"],
    # customise the brush
    brush=Brush(
      default_size="25", # or leave it as 'auto'
      color_mode="fixed", # 'fixed' hides the user swatches and colorpicker, 'defaults' shows it
      default_color="hotpink", # html names are supported
      colors=[
        "rgba(0, 150, 150, 1)", # rgb(a)
        "#fff", # hex rgb
        "hsl(360, 120, 120)" # in fact any valid colorstring
      ]
    ),
    brush=Eraser(default_size="25")
)

Thanks @pngwn!

0.4.2

Fixes

  • #6441 2f805a7dd - Small but important bugfixes for gr.Image: The upload event was not triggering at all. The paste-from-clipboard was not triggering an upload event. The clear button was not triggering a change event. The change event was triggering infinitely. Uploaded images were not preserving their original names. Uploading a new image should clear out the previous image. Thanks @freddyaboulton!

0.4.1

Patch Changes

  • Updated dependencies [324867f63]:
    • @gradio/client@0.8.1
    • @gradio/upload@0.4.1

0.4.0

Features

0.3.3

Fixes

0.3.2

Fixes

0.3.1

Patch Changes

  • Updated dependencies [2ba14b284]:
    • @gradio/client@0.7.1
    • @gradio/upload@0.3.1

0.3.0

Features

0.3.0-beta.6

Features

0.3.0-beta.5

Features

Fixes

0.3.0-beta.4

Features

0.3.3

Patch Changes

  • Updated dependencies [e70805d54]:
    • @gradio/atoms@0.2.0

0.3.2

Patch Changes

  • Updated dependencies []:
    • @gradio/atoms@0.1.4

0.3.1

Patch Changes

  • Updated dependencies [8f0fed857]:
    • @gradio/icons@0.2.0
    • @gradio/atoms@0.1.3

0.3.0

Features

0.2.1

Patch Changes

  • Updated dependencies []:
    • @gradio/atoms@0.1.2

0.2.0

Features

  • #5373 79d8f9d8 - Adds height and zoom_speed parameters to Model3D component, as well as a button to reset the camera position. Thanks @abidlabs!

0.1.0

Highlights

Improve startup performance and markdown support (#5279 fe057300)

Improved markdown support

We now have better support for markdown in gr.Markdown and gr.Dataframe. Including syntax highlighting and Github Flavoured Markdown. We also have more consistent markdown behaviour and styling.

Various performance improvements

These improvements will be particularly beneficial to large applications.

  • Rather than attaching events manually, they are now delegated, leading to a significant performance improvement and addressing a performance regression introduced in a recent version of Gradio. App startup for large applications is now around twice as fast.
  • Optimised the mounting of individual components, leading to a modest performance improvement during startup (~30%).
  • Corrected an issue that was causing markdown to re-render infinitely.
  • Ensured that the gr.3DModel does re-render prematurely.

Thanks @pngwn!

Features

Fixes

0.0.3

Fixes

highlight:

Now supports loading streamed outputs

Allows users to use generators to stream audio out, yielding consecutive chunks of audio. Requires streaming=True to be set on the output audio.

import gradio as gr
from pydub import AudioSegment

def stream_audio(audio_file):
    audio = AudioSegment.from_mp3(audio_file)
    i = 0
    chunk_size = 3000

    while chunk_size*i < len(audio):
        chunk = audio[chunk_size*i:chunk_size*(i+1)]
        i += 1
        if chunk:
            file = f"/tmp/{i}.mp3"
            chunk.export(file, format="mp3")
            yield file

demo = gr.Interface(
    fn=stream_audio,
    inputs=gr.Audio(type="filepath", label="Audio file to stream"),
    outputs=gr.Audio(autoplay=True, streaming=True),
)

demo.queue().launch()

From the backend, streamed outputs are served from the /stream/ endpoint instead of the /file/ endpoint. Currently just used to serve audio streaming output. The output JSON will have is_stream: true, instead of is_file: true in the file data object. Thanks @aliabid94!

0.0.2

Patch Changes

  • Updated dependencies []:
    • @gradio/atoms@0.0.2