# 📣 Dash 0.39.0 released

**URL:** <https://community.plotly.com/t/dash-0-39-0-released/20452>\
**Category:** Dash Python\
**Tags:** announcements\
**Created:** [March 5, 2019, 2:01am UTC](https://community.plotly.com/t/dash-0-39-0-released/20452 "2019-03-05T02:01:29Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Marc-Andre](https://avatars.discourse-cdn.com/v4/letter/m/e19b73/32.png) [@Marc-Andre](https://community.plotly.com/u/Marc-Andre)\
**Post date:** [March 5, 2019, 2:01am UTC](https://community.plotly.com/t/dash-0-39-0-released/20452/1 "2019-03-05T02:01:29Z")

</div>

**Changelogs**

[dash v0.39.0](https://github.com/plotly/dash/blob/master/CHANGELOG.md)  
[dash-renderer v0.20.0](https://github.com/plotly/dash-renderer/blob/master/CHANGELOG.md)  
[dash-core-components v0.44.0](https://github.com/plotly/dash-core-components/blob/master/CHANGELOG.md)  
[dash-html-components v0.14.0](https://github.com/plotly/dash-html-components/blob/master/CHANGELOG.md)  
[dash-table v3.6.0](https://github.com/plotly/dash-table/blob/master/CHANGELOG.md)

**Highlights**

Lots of new features in this new release!

- Allow multiple outputs from a single callback. [#436](https://github.com/plotly/dash/pull/436)
- Support for custom javascript hooks to modify callback payloads and responses. [#367](https://github.com/plotly/dash/pull/367)
- Modify the flask response with custom cookies or headers, using `dash.callback_context.response` . [#623](https://github.com/plotly/dash/pull/623)
- Loading states API [#267](https://github.com/plotly/dash/issues/267)
- Upgraded plotly.js to 1.45.0 [#470](https://github.com/plotly/dash-core-components/pull/470)
- Formatting for numbers in dash-table [#189](https://github.com/plotly/dash-table/issues/189)

**In Depth**

[Loading States](https://community.plotly.com/t/loading-states-and-loading-component/19650)  
[Multiple Outputs](https://community.plotly.com/t/announcing-multiple-output-support/19437)  
[DataTable Number Formatting](https://dash.plot.ly/datatable/typing)

More updates in **Dash Club - Dispatch #4** : [📣 Dash Club - Dispatch #4 - Latest Dash Developments](https://community.plotly.com/t/dash-club-dispatch-4-latest-dash-developments/20480)

---

<div class="post-metadata">

**Author:** ![jajarbins](https://sea2.discourse-cdn.com/flex024/user_avatar/community.plotly.com/jajarbins/32/5465_2.png) [@jajarbins](https://community.plotly.com/u/jajarbins)\
**Post date:** [March 5, 2019, 9:35am UTC](https://community.plotly.com/t/dash-0-39-0-released/20452/2 "2019-03-05T09:35:29Z")

</div>

Multiple Output !!!  
🦄🦘🌈🐠🦋🍄🎁🎉💣💥🎶♥🔑☢🚾

---

<div class="post-metadata">

**Author:** ![chriddyp](https://sea2.discourse-cdn.com/flex024/user_avatar/community.plotly.com/chriddyp/32/16855_2.png) [@chriddyp](https://community.plotly.com/u/chriddyp)\
**Post date:** [March 5, 2019, 2:22pm UTC](https://community.plotly.com/t/dash-0-39-0-released/20452/3 "2019-03-05T14:22:03Z")

</div>

Pinned on March 5, 2019, 2:22pm UTC



---

<div class="post-metadata">

**Author:** ![zoohair](https://sea2.discourse-cdn.com/flex024/user_avatar/community.plotly.com/zoohair/32/5893_2.png) [@zoohair](https://community.plotly.com/u/zoohair)\
**Post date:** [March 6, 2019, 10:08am UTC](https://community.plotly.com/t/dash-0-39-0-released/20452/4 "2019-03-06T10:08:45Z")

</div>

I just upgraded to 0.39 (from 0.38rc1) and I’m getting an exception when the site tries to load:

```auto

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2309, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2295, in wsgi_app
    response = self.handle_exception(e)
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1741, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python3.7/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python3.7/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/usr/local/lib/python3.7/site-packages/dash/dash.py", line 570, in index
    pl=plural
dash.exceptions.InvalidIndexException: Missing element new DashRenderer in index.

```

These are the package versions:

```auto
dash==0.39.0
dash-core-components==0.44.0
dash-dangerously-set-inner-html==0.0.2
dash-daq==0.1.4
dash-html-components==0.14.0
dash-renderer==0.20.0
dash-table==3.6.0
grasia-dash-components==0.3.4

```

---

<div class="post-metadata">

**Author:** ![zoohair](https://sea2.discourse-cdn.com/flex024/user_avatar/community.plotly.com/zoohair/32/5893_2.png) [@zoohair](https://community.plotly.com/u/zoohair)\
**Post date:** [March 6, 2019, 10:23am UTC](https://community.plotly.com/t/dash-0-39-0-released/20452/5 "2019-03-06T10:23:31Z")

</div>

Figured out the issue, in case others run into it as well:  
Looks like the default app\_index string was modified to now include {%renderer%} in the section. Since I was manually setting the index string in my application, the change in the default string was not reflected in my overridden index string therefore causing the exception of “Missing element”.

---

<div class="post-metadata">

**Author:** ![chriddyp](https://sea2.discourse-cdn.com/flex024/user_avatar/community.plotly.com/chriddyp/32/16855_2.png) [@chriddyp](https://community.plotly.com/u/chriddyp)\
**Post date:** [March 7, 2019, 2:58pm UTC](https://community.plotly.com/t/dash-0-39-0-released/20452/6 "2019-03-07T14:58:41Z")

</div>

Split this topic on March 7, 2019, 2:58pm UTC

3 posts were split to a new topic: [Issues with table in Dash 0.39.0](https://community.plotly.com/t/issues-with-table-in-dash-0-39-0/20585)

---

<div class="post-metadata">

**Author:** ![bibwest](https://avatars.discourse-cdn.com/v4/letter/b/48db29/32.png) [@bibwest](https://community.plotly.com/u/bibwest)\
**Post date:** [March 7, 2019, 11:23am UTC](https://community.plotly.com/t/dash-0-39-0-released/20452/7 "2019-03-07T11:23:25Z")

</div>

Awesome ! Thanks for the multiple outputs and the loading component!! It will be very hepful !! Very Good, great work ! 😀

---

<div class="post-metadata">

**Author:** ![robfraz](https://sea2.discourse-cdn.com/flex024/user_avatar/community.plotly.com/robfraz/32/3314_2.png) [@robfraz](https://community.plotly.com/u/robfraz)\
**Post date:** [March 8, 2019, 3:39pm UTC](https://community.plotly.com/t/dash-0-39-0-released/20452/8 "2019-03-08T15:39:06Z")

</div>

Thanks zoohair - just hit the same issue. To make things a bit more explicit, the default `app.index_string` is now:

```auto
<!DOCTYPE html>
<html>
    <head>
        {%metas%}
        <title>{%title%}</title>
        {%favicon%}
        {%css%}
    </head>
    <body>
        {%app_entry%}
        <footer>
            {%config%}
            {%scripts%}
            {%renderer%}
        </footer>
    </body>
</html>

```

---

<div class="post-metadata">

**Author:** ![girardea](https://sea2.discourse-cdn.com/flex024/user_avatar/community.plotly.com/girardea/32/5472_2.png) [@girardea](https://community.plotly.com/u/girardea)\
**Post date:** [March 11, 2019, 2:25pm UTC](https://community.plotly.com/t/dash-0-39-0-released/20452/9 "2019-03-11T14:25:14Z")

</div>

These are great new features (multi output, loading component)! Dash is awesome!

---

<div class="post-metadata">

**Author:** ![dash](https://avatars.discourse-cdn.com/v4/letter/d/7c8e57/32.png) [@dash](https://community.plotly.com/u/dash)\
**Post date:** [March 12, 2019, 12:39am UTC](https://community.plotly.com/t/dash-0-39-0-released/20452/10 "2019-03-12T00:39:44Z")

</div>

is there a fixed schedule to update the conda-forge ?  
conda-forge/dash-feedstock/blob/master/recipe/meta.yaml

---

<div class="post-metadata">

**Author:** ![Morgan](https://avatars.discourse-cdn.com/v4/letter/m/0ea827/32.png) [@Morgan](https://community.plotly.com/u/Morgan)\
**Post date:** [March 12, 2019, 10:37am UTC](https://community.plotly.com/t/dash-0-39-0-released/20452/11 "2019-03-12T10:37:52Z")

</div>

thanks @zoohair . You solve my problem.  
In my case. I have customed Dash class and override `interpolate_index`

I should lock the version of Dash now. Thanks again.

---

<div class="post-metadata">

**Author:** ![alexrjohnson](https://avatars.discourse-cdn.com/v4/letter/a/b487fb/32.png) [@alexrjohnson](https://community.plotly.com/u/alexrjohnson)\
**Post date:** [April 2, 2019, 3:08am UTC](https://community.plotly.com/t/dash-0-39-0-released/20452/12 "2019-04-02T03:08:31Z")

</div>

Hi Rob,

Is app.index\_string necessary to add a favicon? I’m including a favicon.ico in my assets folder at root, but nothing is showing up in my web browser tab, although the default plotly icon is removed.

Alex

---

<div class="post-metadata">

**Author:** ![robfraz](https://sea2.discourse-cdn.com/flex024/user_avatar/community.plotly.com/robfraz/32/3314_2.png) [@robfraz](https://community.plotly.com/u/robfraz)\
**Post date:** [April 12, 2019, 10:03am UTC](https://community.plotly.com/t/dash-0-39-0-released/20452/13 "2019-04-12T10:03:31Z")

</div>

Hi @alexrjohnson,

No doubt you’ve already figured it out by now - sorry for taking so long to see this. But for me, our favicons disappeared at some point when we moved to a new version of Dash. To fix it, we ended up with what’s shown below. I’m afraid I can’t remember many more details about it anymore. The below works with dash v39 (excuse some of my application specific code included in the snippet below):

```
app = dash.Dash( __name__ , static_folder='static')
app.config.suppress_callback_exceptions = True

html_head_title = get_config().get('frontend', 'html_head_title', fallback='TRM Dashboard')
stylesheet_href = get_config().get('frontend', 'stylesheet_href', fallback='/assets/dashboard_prod.css')

app.index_string = f'''
<!DOCTYPE html>
<html>
    <head>
        {{%metas%}}
        <title>{html_head_title}</title>
        <link rel="icon" type="image/png" href="/static/favicon.png">
        <link rel="stylesheet" href="{stylesheet_href}">
    </head>
    <body>
        {{%app_entry%}}
        <footer>
            {{%config%}}
            {{%scripts%}}
            {{%renderer%}}
        </footer>
    </body>
</html>
'''

```

Cheers,  
Rob
