A web application completely written in Rust. 🌍

Overview

WebApp.rs

CircleCI Coverage Docs master Docs release Docs release backend Docs release frontend License MIT Crates.io Crates.io Crates.io

A web application completely written in Rust

Target of this project is to write a complete web application including backend and frontend within Rust.

Rust wasm             Rust app
in browser <- REST -> HTTP Server -- actix-web
 |                         |
Yew                   Diesel (ORM) -> PostgreSQL

Blog Posts

  1. A Web Application completely in Rust.
  2. Lessons learned on writing web applications completely in Rust.

Build

The following build dependencies needs to be fulfilled to support the full feature set of this application:

The app consist of a frontend and a backend. For getting started with hacking, the backend can be tested via make run-backend, whereas the frontend can be tested with make run-frontend. You can adapt the application configuration within Config.toml if needed.

This installs build requirements, rust and wasm-pack, on Ubuntu or Debian.

> sudo apt-get update
> sudo apt-get install -y pkg-config libssl-dev npm sudo wget
> wget https://sh.rustup.rs -O rustup-init
> sudo sh rustup-init -y
> sudo cargo install wasm-pack
> sudo npm install -g rollup

This builds the project.

> git clone https://github.com/saschagrunert/webapp.rs.git
> cd webapp.rs
> make all

Run

make deploy uses podman to start a PostgreSQL container and the Rust backend container. If you wish to use docker instead of podman, set CONTAINER_RUNTIME=docker in the top of Makefile. Edit Config.toml if needed to set the backend url and PostgreSQL credentials:

[server]
url = "http://127.0.0.1:30080"
...
[postgres]
host = "127.0.0.1"
username = "username"
password = ""
database = "database"

Ensure the runtime dependencies are installed, and then start the two containers.

> sudo apt install -y postgresql-client
> cargo install diesel_cli --no-default-features --features "postgres"
> sudo make deploy

The application should now be accessible at http://127.0.0.1:30080. During development, you can start the containers separately, using make run-app to start only the rust backend container, and run-postgres to start only the PostgreSQL container.

If both the backend and frontend are running, you can visit the web application at http://127.0.0.1:30080. After the successful loading of the application you should see an authentication screen like this:

authentication screen

The login screen will accept any username and password that are equal, such as me (username) and me (password). There is currently no further user authentication yet, but non matching combination will result in an authentication failure. After the successfully login you should be able to see the content of the application:

content screen

The authentication should persist, it is even better after a manual page reload. Logging out of the application via the logout button should also work as intended.

Control Flow

The complete control flow of the application looks like this:

control screen

Contributing

You want to contribute to this project? Wow, thanks! So please just fork it and send me a pull request.

Comments
  • Error when running `make deploy`

    Error when running `make deploy`

    When running make deploy, I get the following error:

    Status: Downloaded newer image for ekidd/rust-musl-builder:latest
        Updating registry `https://github.com/rust-lang/crates.io-index`
        Updating git repository `https://github.com/DenisKolodin/yew`
        Updating git repository `https://github.com/saschagrunert/yew-router`
    error: failed to open: /home/rust/src/target/release/.cargo-lock
    
    Caused by:
      Permission denied (os error 13)
    make: *** [deploy] Error 101
    

    My docker version is "Version 18.06.1-ce-mac73 (26764)". I'd imagine there's not much other helpful info I can give about my machine since it looks like this is an error inside the docker container, but let me know if you need anything else.

    help wanted question 
    opened by Addisonbean 12
  • Bump futures-io from 0.3.10 to 0.3.11

    Bump futures-io from 0.3.10 to 0.3.11

    Bumps futures-io from 0.3.10 to 0.3.11.

    Release notes

    Sourced from futures-io's releases.

    0.3.11

    • Fixed heap buffer overflow in AsyncReadExt::{read_to_end, read_to_string} (#2314)
    Changelog

    Sourced from futures-io's changelog.

    0.3.11 - 2021-01-14

    • Fixed heap buffer overflow in AsyncReadExt::{read_to_end, read_to_string} (#2314)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 8
  • Bump futures-channel from 0.3.10 to 0.3.11

    Bump futures-channel from 0.3.10 to 0.3.11

    ⚠️ Dependabot is rebasing this PR ⚠️

    If you make any changes to it yourself then they will take precedence over the rebase.


    Bumps futures-channel from 0.3.10 to 0.3.11.

    Release notes

    Sourced from futures-channel's releases.

    0.3.11

    • Fixed heap buffer overflow in AsyncReadExt::{read_to_end, read_to_string} (#2314)
    Changelog

    Sourced from futures-channel's changelog.

    0.3.11 - 2021-01-14

    • Fixed heap buffer overflow in AsyncReadExt::{read_to_end, read_to_string} (#2314)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 7
  • Bump futures-core from 0.3.10 to 0.3.11

    Bump futures-core from 0.3.10 to 0.3.11

    ⚠️ Dependabot is rebasing this PR ⚠️

    If you make any changes to it yourself then they will take precedence over the rebase.


    Bumps futures-core from 0.3.10 to 0.3.11.

    Release notes

    Sourced from futures-core's releases.

    0.3.11

    • Fixed heap buffer overflow in AsyncReadExt::{read_to_end, read_to_string} (#2314)
    Changelog

    Sourced from futures-core's changelog.

    0.3.11 - 2021-01-14

    • Fixed heap buffer overflow in AsyncReadExt::{read_to_end, read_to_string} (#2314)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 7
  • Separate backend and frontend into different crates in same workspace

    Separate backend and frontend into different crates in same workspace

    It would be cleaner to read when backend and frontend are split into separate crates (possibly both depending on a common crate) in the same workspace.

    enhancement 
    opened by Boscop 7
  • Bump regex-syntax from 0.6.22 to 0.6.23

    Bump regex-syntax from 0.6.22 to 0.6.23

    Bumps regex-syntax from 0.6.22 to 0.6.23.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 6
  • Bump signal-hook-registry from 1.0.1 to 1.1.0

    Bump signal-hook-registry from 1.0.1 to 1.1.0

    Bumps signal-hook-registry from 1.0.1 to 1.1.0.

    Changelog

    Sourced from signal-hook-registry's changelog.

    registry-1.1.0

    0.1.10

    • Fix busy loop in Iterator::forever when the mio-support feature is enabled (#16).
    Commits
    • a46d0d7 registry version bump to 1.1.0
    • ea6182a Merge pull request #19 from qnighy/windows-support2
    • 2d48046 Define Windows-specific signals.
    • 6fa1517 Use raise(3) where kill(2) is used.
    • 5012717 Handle signal error on re-registration.
    • 07afa5c Avoid mystical underscores.
    • 55365e8 Add more about Windows signal race condition.
    • 2bf6f32 Implement register and flag::register for Windows.
    • 3ee4b12 Bump to version 0.1.10
    • 5cd4bc0 Merge pull request #17 from vorner/mio-not-blocking
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot ignore this [patch|minor|major] version will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it). To ignore the version in this PR you can just close it
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)

    Finally, you can contact us by mentioning @dependabot.

    dependencies 
    opened by dependabot-preview[bot] 6
  • Bump sass-sys from 0.4.7 to 0.4.11

    Bump sass-sys from 0.4.7 to 0.4.11

    Bumps sass-sys from 0.4.7 to 0.4.11.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot ignore this [patch|minor|major] version will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)

    Finally, you can contact us by mentioning @dependabot.

    dependencies 
    opened by dependabot-preview[bot] 6
  • Bump yew from 0.14.3 to 0.16.2

    Bump yew from 0.14.3 to 0.16.2

    Bumps yew from 0.14.3 to 0.16.2.

    Release notes

    Sourced from yew's releases.

    v0.16.2

    Changelog

    • 🛠 Fixes

      • Fixed regression where messages sent from Component::create were skipped. [@jstarry, #1225]
    ... (truncated)
    Changelog

    Sourced from yew's changelog.

    0.16.2 (2020-05-14)

    Changelog

    • 🛠 Fixes

      • Fixed regression where messages sent from Component::create were skipped. [[@jstarry], #1225]

    0.16.1 (2020-05-14)

    Changelog

    0.16 (2020-05-09)

    Changelog

    • ⚡️ Features

      • Added optional id, class, and placeholder properties to the Select component. [[@Stigjb], #1187]

      • Re-export web-sys from Yew. This allows projects to use web-sys without adding it to their Cargo.toml. [[@D4nte], #1176]

      • Added support for Option wrapped class names. [[@liquidblock], #1085]

        The following code is now supported:

        let color: &Option<String> = &self.color;
        html! { <div class=("btn", color)></div> }
        
      • Added get_parent and get_component methods to ComponentLink to allow access to parent component state. [[@jstarry], #1151]

    • 🛠 Fixes

      • Fixed bug that caused html class attributes to be set to an empty string. [[@liquidblock], #1085]
      • Fixed Private worker lifecycle event sending. [[@joaquindk], #1146]
    • 🚨 Breaking changes

      • Bumped minimum supported Rust version (MSRV) to 1.40.0. [[@jstarry], #1152]

    0.15 (2020-04-25)

    Attention!

    yew now uses web-sys by default. If your project uses web-sys, you can now drop the "web_sys" feature from your yew dependency. Don't worry stdweb users, we have created a new alias crate for y'all called yew-stdweb. In order to use it, update your Cargo.toml yew dependency to the following:

    ... (truncated)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 5
  • Bump yew from 0.14.3 to 0.15.0

    Bump yew from 0.14.3 to 0.15.0

    Bumps yew from 0.14.3 to 0.15.0.

    Release notes

    Sourced from yew's releases.

    v0.15.0

    Attention!

    yew now uses web-sys by default. If your project uses web-sys, you can now drop the "web_sys" feature from your yew dependency. Don't worry stdweb users, we have created a new alias crate for y'all called yew-stdweb. In order to use it, update your Cargo.toml yew dependency to the following:

    yew = { version = "0.15", package = "yew-stdweb" }
    

    Dev Survey Results

    Thank you to everyone that took the time to fill out the Yew Dev Survey! 🙇‍♂️

    Results have been posted here: https://github.com/yewstack/yew/wiki/Dev-Survey-%5BSpring-2020%5D

    New Chatroom

    We moved from Gitter to Discord! Join us: https://discord.gg/VQck8X4

    Changelog

    • ⚡️ Features

      • Add support for single use callbacks (useful for TimeoutService). [[@lukerandall], #1125]
      • Updated scheduler to eagerly destroy components to avoid unnecessary renders. [[@jstarry], #1072]
      • Add support key attribute to improve rendering performance. [[@mrh0057], #1076]
    • 🛠 Fixes

      • Split class names on whitespace when passed within tuple or Vec. [@bryanjswift, #1084]
    • 🚨 Breaking changes

      • The components module has been moved out yew and into yew-components. [[@jstarry], #1132]
      • Replaced mounted component lifecycle method with rendered which is called after each render. [[@jstarry], #1072]
      • Components must now implement the change method (forgetting this was a very common issue). [[@jstarry], #1071]
      • Yew now builds with web-sys by default. [[@jstarry], #1092]
    ... (truncated)
    Changelog

    Sourced from yew's changelog.

    Changelog

    0.15 (2020-04-25)

    Attention!

    yew now uses web-sys by default. If your project uses web-sys, you can now drop the "web_sys" feature from your yew dependency. Don't worry stdweb users, we have created a new alias crate for y'all called yew-stdweb. In order to use it, update your Cargo.toml yew dependency to the following:

    yew = { version = "0.15", package = "yew-stdweb" }
    

    Dev Survey Results

    Thank you to everyone that took the time to fill out the Yew Dev Survey! 🙇‍♂️

    Results have been posted here: https://github.com/yewstack/yew/wiki/Dev-Survey-%5BSpring-2020%5D

    New Chatroom

    We moved from Gitter to Discord! Join us: https://discord.gg/VQck8X4

    Changelog

    • ⚡️ Features

      • Add support for single use callbacks (useful for TimeoutService). [[@lukerandall], #1125]
      • Updated scheduler to eagerly destroy components to avoid unnecessary renders. [[@jstarry], #1072]
      • Add support key attribute to improve rendering performance. [[@mrh0057], #1076]
    • 🛠 Fixes

      • Split class names on whitespace when passed within tuple or Vec. [[@bryanjswift], #1084]
    • 🚨 Breaking changes

      • The components module has been moved out yew and into yew-components. [[@jstarry], #1132]
      • Replaced mounted component lifecycle method with rendered which is called after each render. [[@jstarry], #1072]
      • Components must now implement the change method (forgetting this was a very common issue). [[@jstarry], #1071]
      • Yew now builds with web-sys by default. [[@jstarry], #1092]
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 5
  • Bump futures from 0.1.29 to 0.3.1

    Bump futures from 0.1.29 to 0.3.1

    Bumps futures from 0.1.29 to 0.3.1.

    Release notes

    Sourced from futures's releases.

    0.3.1

    • Fix signature of LocalSpawn trait (breaking change -- see #1959)

    0.3.0

    • Stable release along with stable async/await!
    • Added async/await to default features (#1953)
    • Changed Spawn trait and FuturesUnordered::push to take &self (#1950)
    • Moved Spawn and FutureObj out of futures-core and into `futures-task (#1925)
    • Changed case convention for feature names (#1937)
    • Added executor feature (#1949)
    • Moved copy_into/copy_buf_into (#1948)
    • Changed SinkExt::send_all to accept a TryStream (#1946)
    • Removed ThreadPool::run (#1944)
    • Changed to use our own definition of io::Cursor (#1943)
    • Removed BufReader::poll_seek_relative (#1938)
    • Changed skip to take a usize rather than u64 (#1931)
    • Removed Stream impl for VecDeque (#1930)
    • Renamed Peekable::peek to poll_peek (#1928)
    • Added immutable iterators for FuturesUnordered (#1922)
    • Made ThreadPool optional (#1910)
    • Renamed oneshot::Sender::poll_cancel to poll_canceled (#1908)
    • Added some missing Clone implementations
    • Documentation fixes

    0.3.0-alpha.19

    • Stabilized the async-await feature (#1816)
    • Made async-await feature no longer require std feature (#1815)
    • Updated proc-macro2, syn, and quote to 1.0 (#1798)
    • Exposed unstable BiLock (#1827)
    • Renamed "nightly" feature to "unstable" (#1823)
    • Moved to our own io::{Empty, Repeat, Sink} (#1829)
    • Made AsyncRead::initializer API unstable (#1845)
    • Moved the Never type from futures-core to futures-util (#1836)
    • Fixed use-after-free on panic in ArcWake::wake_by_ref (#1797)
    • Added AsyncReadExt::chain (#1810)
    • Added Stream::size_hint (#1853)
    • Added some missing FusedFuture (#1868) and FusedStream implementations (#1831)
    • Added a From impl for Mutex (#1839)
    • Added Mutex::{get_mut, into_inner} (#1839)
    • Re-exported TryConcat and TryFilter (#1814)
    • Lifted Unpin bound and implemented AsyncBufRead for io::Take (#1821)
    • Lifted Unpin bounds on get_pin_mut (#1820)
    • Changed SendAll to flush the Sink when the source Stream is pending (#1877)
    • Set default threadpool size to one if num_cpus::get() returns zero (#1835)
    • Removed dependency on rand by using our own PRNG (#1837)
    • Removed futures-core dependency from futures-sink (#1832)

    0.3.0-alpha.18

    • Rewrote join! and try_join! as procedural macros to allow passing expressions (#1783)
    • Banned manual implementation of TryFuture and TryStream for forward compatibility. See #1776 for more details. (#1777)
    ... (truncated)
    Changelog

    Sourced from futures's changelog.

    0.3.1 - 2019-11-7

    • Fix signature of LocalSpawn trait (breaking change -- see #1959)

    0.3.0 - 2019-11-5

    • Stable release along with stable async/await!
    • Added async/await to default features (#1953)
    • Changed Spawn trait and FuturesUnordered::push to take &self (#1950)
    • Moved Spawn and FutureObj out of futures-core and into `futures-task (#1925)
    • Changed case convention for feature names (#1937)
    • Added executor feature (#1949)
    • Moved copy_into/copy_buf_into (#1948)
    • Changed SinkExt::send_all to accept a TryStream (#1946)
    • Removed ThreadPool::run (#1944)
    • Changed to use our own definition of io::Cursor (#1943)
    • Removed BufReader::poll_seek_relative (#1938)
    • Changed skip to take a usize rather than u64 (#1931)
    • Removed Stream impl for VecDeque (#1930)
    • Renamed Peekable::peek to poll_peek (#1928)
    • Added immutable iterators for FuturesUnordered (#1922)
    • Made ThreadPool optional (#1910)
    • Renamed oneshot::Sender::poll_cancel to poll_canceled (#1908)
    • Added some missing Clone implementations
    • Documentation fixes

    0.3.0-alpha.19 - 2019-9-25

    • Stabilized the async-await feature (#1816)
    • Made async-await feature no longer require std feature (#1815)
    • Updated proc-macro2, syn, and quote to 1.0 (#1798)
    • Exposed unstable BiLock (#1827)
    • Renamed "nightly" feature to "unstable" (#1823)
    • Moved to our own io::{Empty, Repeat, Sink} (#1829)
    • Made AsyncRead::initializer API unstable (#1845)
    • Moved the Never type from futures-core to futures-util (#1836)
    • Fixed use-after-free on panic in ArcWake::wake_by_ref (#1797)
    • Added AsyncReadExt::chain (#1810)
    • Added Stream::size_hint (#1853)
    • Added some missing FusedFuture (#1868) and FusedStream implementations (#1831)
    • Added a From impl for Mutex (#1839)
    • Added Mutex::{get_mut, into_inner} (#1839)
    • Re-exported TryConcat and TryFilter (#1814)
    • Lifted Unpin bound and implemented AsyncBufRead for io::Take (#1821)
    • Lifted Unpin bounds on get_pin_mut (#1820)
    • Changed SendAll to flush the Sink when the source Stream is pending (#1877)
    • Set default threadpool size to one if num_cpus::get() returns zero (#1835)
    • Removed dependency on rand by using our own PRNG (#1837)
    • Removed futures-core dependency from futures-sink (#1832)

    0.3.0-alpha.18 - 2019-8-9

    • Rewrote join! and try_join! as procedural macros to allow passing expressions (#1783)
    • Banned manual implementation of TryFuture and TryStream for forward compatibility. See #1776 for more details. (#1777)
    ... (truncated)
    Commits
    • 16afd7c Stage 0.3.1
    • fc5f44c fix: [Local]SpawnExt should take &self as their base traits
    • 438e53a Merge pull request #1963 from taiki-e/ci
    • 5a3605e Temporarily ignore buffer_unordered::works test on all targets
    • 3e91014 Update and fix CI config
    • 0c7fa20 Stage 0.3.0 release
    • 133f9ce Change stream bounds of send_all
    • 4fef913 Add async/await to default features
    • 47f3ccb Make Spawn::spawn take &self rather than &mut self
    • 07518c5 Revert "Move AtomicWaker from futures-core to futures-task"
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies hold 
    opened by dependabot-preview[bot] 5
  • Bump thiserror from 1.0.30 to 1.0.38

    Bump thiserror from 1.0.30 to 1.0.38

    Bumps thiserror from 1.0.30 to 1.0.38.

    Release notes

    Sourced from thiserror's releases.

    1.0.38

    • Documentation improvements

    1.0.37

    • Documentation improvements

    1.0.36

    1.0.35

    • More work on integrating std::any::Provider for backtrace support
    • Fix "Multiple applicable provide methods in scope" error when the caller has both std::error::Error and std::any::Provide traits in scope (#185)

    1.0.34

    • Tweak "generic member access" based Backtrace implementation (#184)

    1.0.33

    1.0.32

    • Add keywords to crates.io metadata

    1.0.31

    • Improve diagnostic when there is an enum variant containing #[from] #[backtrace] Error, Backtrace (#163)
    Commits
    • 74bfe75 Release 1.0.38
    • cfc7d8c Update build status badge
    • db78fa2 Update ui test suite to nightly-2022-12-15
    • c25a710 Time out workflows after 45 minutes
    • 464e2e7 Merge pull request #200 from dtolnay/displayattr
    • 4b06a3e Add test of Display impl nested inside display attribute
    • 29ee95e Ui test changes for trybuild 1.0.66
    • 8a996a5 Release 1.0.37
    • 3a0bac2 Merge pull request #197 from dtolnay/backtracedoc
    • c2759ce Fix documentation mentioning 'backtrace()' method
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump jsonwebtoken from 7.2.0 to 8.2.0

    Bump jsonwebtoken from 7.2.0 to 8.2.0

    Bumps jsonwebtoken from 7.2.0 to 8.2.0.

    Changelog

    Sourced from jsonwebtoken's changelog.

    8.2.0 (2022-12-03)

    • Add DecodingKey::from_jwk
    • Can now use PEM certificates if you have the use_pem feature enabled

    8.1.1 (2022-06-17)

    • Fix invalid field name on OctetKeyParameters

    8.1.0 (2022-04-12)

    • Make optional fields in the spec really optional
    • Implements Hash for Header

    8.0.1 (2022-02-03)

    • Fix documentation of leeway

    8.0.0 (2022-02-02)

    • Add EdDSA algorithm
    • sign/verify now takes a &[u8] instead of &str to be more flexible
    • DecodingKey now own its data
    • Remove deprecated dangerous_unsafe_decode
    • Validation::iss is now a HashSet instead of a single value
    • decode will now error if Validation::algorithms is empty
    • Add JWKs types for easy interop with various Oauth provider, see examples/auth0.rs for an example
    • Removed decode_* functions in favour of using the Validation struct
    • Allow float values for exp and nbf, yes it's in the spec... floats will be rounded and converted to u64
    • Error now implements Clone/Eq
    • Change default leeway from 0s to 60s
    • Add Validation::require_spec_claims to validate presence of the spec claims
    • Add default feature for pem decoding named use_pem that can be disabled to avoid 2 dependencies
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump tempfile from 3.2.0 to 3.3.0

    Bump tempfile from 3.2.0 to 3.3.0

    Bumps tempfile from 3.2.0 to 3.3.0.

    Changelog

    Sourced from tempfile's changelog.

    3.3.0

    Features:

    • Replace rand with fastrand for a significantly smaller dependency tree. Cryptographic randomness isn't necessary for temporary file names, and isn't all that helpful either.
    • Add limited WASI support.
    • Add a function to extract the inner data from a SpooledTempFile.

    Bug Fixes:

    • Make it possible to persist unnamed temporary files on linux by removing the O_EXCL flag.
    • Fix redox minimum crate version.
    Commits
    • 1a40687 release 3.3.0
    • 92638c6 Merge pull request #164 from Stebalien/chore/cleanup
    • 92ae3e9 chore: remove extern crates
    • e49d9df Merge pull request #165 from Stebalien/pr-116
    • a5f535c fix: doc formatting
    • ab67cce Add docs pointing out early dop pitfalls
    • 8d40916 Merge pull request #163 from Stebalien/chore/update-deps
    • 9a63217 chore: update fastrand
    • 09e0b4b Merge pull request #162 from Stebalien/ref/replace-rand-with-fastrand
    • e24fae3 chore: avoid allocation when generating temp names
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump log from 0.4.14 to 0.4.17

    Bump log from 0.4.14 to 0.4.17

    Bumps log from 0.4.14 to 0.4.17.

    Changelog

    Sourced from log's changelog.

    [0.4.17] - 2022-04-29

    • Update kv_unstable internal dependencies.

    [0.4.16] - 2022-03-22

    • Fix a conflict with unqualified Option use in macros.

    [0.4.15] - 2022-02-23

    • Silence a warning about the deprecated spin_loop_hint.
    • Relax ordering in the atomic set_max_level call.
    • Add thumbv4t-none-eabi to targets that don't support atomics
    • Allow levels to be iterated over.
    • Implement Log on some common wrapper types.
    • Improvements to test coverage.
    • Improvements to documentation.
    • Add key-value support to the log! macros.
    • Tighten kv_unstable internal dependencies so they don't bump past their current alpha.
    • Add a simple visit API to kv_unstable.
    • Support NonZero* integers as values in structured logging
    • Support static strings as keys in structured logging
    Commits
    • 7fb28c3 Merge pull request #508 from KodrAus/cargo/0.4.17
    • 518821e prepare for 0.4.17 release
    • b7e8147 Merge pull request #506 from KodrAus/chore/enabled-requirement
    • c9049be make notes for implementors consistent
    • c9284a6 note that Log implementors should call enabled
    • 6c3cd4a Merge pull request #504 from KodrAus/feat/128bit-refs
    • 20a5321 Merge pull request #505 from hellow554/patch-1
    • 3ad4611 fix markdown links in lib.rs
    • 9efaf02 run fmt
    • 6c0a24c add safety comments to the by-ref transmute for non-zero nums
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump env_logger from 0.9.0 to 0.10.0

    Bump env_logger from 0.9.0 to 0.10.0

    Bumps env_logger from 0.9.0 to 0.10.0.

    Release notes

    Sourced from env_logger's releases.

    v0.9.3

    Fix a regression from v0.9.2 where env_logger would fail to compile with the termcolor feature turned off.

    v0.9.2

    Fix and un-deprecate Target::Pipe, which was basically not working at all before and deprecated in 0.9.1.

    Changelog

    Sourced from env_logger's changelog.

    [0.10.0] - 2022-11-24

    MSRV changed to 1.60 to hide optional dependencies

    Fixes

    • Resolved soundness issue by switching from atty to is-terminal

    Breaking Changes

    To open room for changing dependencies:

    • Renamed termcolor feature to color
    • Renamed atty feature to auto-color

    [0.9.3] - 2022-11-07

    • Fix a regression from v0.9.2 where env_logger would fail to compile with the termcolor feature turned off.

    [0.9.2] - 2022-11-07

    • Fix and un-deprecate Target::Pipe, which was basically not working at all before and deprecated in 0.9.1.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump mime_guess from 2.0.3 to 2.0.4

    Bump mime_guess from 2.0.3 to 2.0.4

    Bumps mime_guess from 2.0.3 to 2.0.4.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
Releases(v1.0.0)
Owner
Sascha Grunert
The difference between fine and great software is listening to people.
Sascha Grunert
Static Web Server - a very small and fast production-ready web server suitable to serve static web files or assets

Static Web Server (or SWS abbreviated) is a very small and fast production-ready web server suitable to serve static web files or assets.

Jose Quintana 496 Jan 2, 2023
Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.

Actix Web Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust Features Supports HTTP/1.x and HTTP/2 Streaming and pipelining

Actix 16.3k Jan 8, 2023
VRS is a simple, minimal, free and open source static web server written in Rust

VRS is a simple, minimal, free and open source static web server written in Rust which uses absolutely no dependencies and revolves around Rust's std::net built-in utility.

null 36 Nov 8, 2022
Example Rust application for Heroku

Example application: Rust, Actix & Heroku Rust is a language suitable for high-peformance, reliable web services. Actix is a popular Rust web framewor

Eric Kidd 36 Oct 6, 2022
Example Actix 2.x REST application implementing many features

Rust/Actix Example An Actix 2.0 REST server using the Rust language. Motivation Actix Web is a fast, powerful web framework for building web applicati

David D. 238 Dec 31, 2022
JSON Web Token implementation in Rust.

Frank JWT Implementation of JSON Web Tokens in Rust. Algorithms and features supported HS256 HS384 HS512 RS256 RS384 RS512 ES256 ES384 ES512 Sign Veri

Alex Maslakov 246 Dec 27, 2022
An Extensible, Concurrent Web Framework for Rust

Iron Extensible, Concurrency Focused Web Development in Rust. Response Timer Example Note: This example works with the current iron code in this repos

null 6.1k Dec 27, 2022
An expressjs inspired web framework for Rust

nickel.rs nickel.rs is a simple and lightweight foundation for web applications written in Rust. Its API is inspired by the popular express framework

null 3k Jan 3, 2023
A web framework for Rust.

Rocket Rocket is an async web framework for Rust with a focus on usability, security, extensibility, and speed. #[macro_use] extern crate rocket; #[g

Sergio Benitez 19.5k Jan 8, 2023
A lightweight web framework built on hyper, implemented in Rust language.

Sapper Sapper, a lightweight web framework, written in Rust. Sapper focuses on ergonomic usage and rapid development. It can work with stable Rust. Sa

Daogang Tang 622 Oct 27, 2022
Web framework in Rust

Rouille, a Rust web micro-framework Rouille is a micro-web-framework library. It creates a listening socket and parses incoming HTTP requests from cli

Pierre Krieger 840 Jan 1, 2023
A fast, boilerplate free, web framework for Rust

Tower Web A web framework for Rust with a focus on removing boilerplate. API Documentation Tower Web is: Fast: Fully asynchronous, built on Tokio and

Carl Lerche 969 Dec 22, 2022
Sincere is a micro web framework for Rust(stable) based on hyper and multithreading

The project is no longer maintained! Sincere Sincere is a micro web framework for Rust(stable) based on hyper and multithreading. Style like koa. The

null 94 Oct 26, 2022
Source Code for 'Practical Rust Web Projects' by Shing Lyu

Apress Source Code This repository accompanies Practical Rust Web Projects by Shing Lyu (Apress, 2021). Download the files as a zip using the green bu

Apress 44 Nov 17, 2022
Web Server made with Rust - for learning purposes

Web Server made with Rust - for learning purposes

Lílian 2 Apr 25, 2022
Archibald is my attempt at learning Rust and writing a HTTP 1.1 web server.

Archibald To be a butler, is to be able to maintain an even-temper, at all times. One must have exceptional personal hygiene and look sharp and profes

Daniel Cuthbert 4 Jun 20, 2022
Salvo is a powerful and simplest web server framework in Rust world

Salvo is an extremely simple and powerful Rust web backend framework. Only basic Rust knowledge is required to develop backend services.

Salvo 1.2k Jan 5, 2023
Example Blog using Rust, Actix Web, HTMX, Mustache

Actix Blog An example blog built with Actix. It uses htmx and handlebar templates. Running To run the blog, you need to have a recent version of Rust

Dru Jensen 2 Nov 11, 2022
Actix-web wrapper for garde, a Rust validation library.

Garde-actix-web   Actix-web wrapper for garde, a Rust validation library. Installation Usage example Feature flags About us Installation [dependencies

Netwo 5 Sep 8, 2023