# shinyjs 2.0.0 (2020-08-24)
- **IMPORTANT CHANGE** Remove commercial license (it only existed
because some big companies asked for it, but it ended up being a
bigger headache for 99% of the community)
- **BREAKING CHANGE** When using `extendShinyjs()`, the `functions`
parameter must always be provided.
- **BREAKING CHANGE** When using `extendShinyjs()`, the `script` path
parameter now behaves like any other Shiny web resource, which
means it cannot be loaded from the local file system. The path
must be discoverable by the browser, so it either needs to be a
public URL, inside a `www` folder, or available via
`addResourcePath()`.
- New feature: add a `refresh()` function (#205)
- New feature: add `asis` parameter to `reset()` function, which works
like it does in all other functions that support `asis` (#146)
- Fix bug: `extendShinyjs()` now works with any web URL or any
resource path (#201)
- Fix bug: `reset()` didn't work when a sliderInput was initialized
with `value=NULL` (#207)
- Remove `V8` as a package dependency.
# shinyjs 1.1 (2020-01-12)
This update was 2 years in the making because it required a lot of
testing by users to ensure none of these features cause any regression
bugs in real apps.
- **BREAKING CHANGE** The `includeShinyjs` parameter in `runcodeUI()`
is now deprecated
- Fix bug: shinyjs functions used inside a module with a `selector`
argument instead of an `id` argument didn't work (#175)
- Fix bug: shinyjs functions did not work with IDs that had a space in
them (#176)
- Fix bug: non-selectize select inputs could not be disabled (#186)
- Fix bug: `click()` now works with download buttons (#198)
- New feature: added `asis` parameter to any function that takes an
ID. When `asis=TRUE`, the ID will not be namespaced when inside a
module (#118)
- New feature: added `id` parameter to `runcode()`, allowing it to
work inside Shiny modules (#184)
- New feature: `onevent()` returns the `offsetX` and `offsetY` event
properties
- New feature: `onevent()` accepts a `properties` parameter that
allows the user to retrieve additional properties that are not
whitelisted by default (#159)
- New feature: `hide()`/`show()` now only bubble up the DOM tree to
the nearest input container if the current element is an input
(#153)
- Documentation: added documentation about `useShinyjs()` side effects
and about including `shinyjs` in packages (#182)