# Importing functions between notebooks - breaking changes?

**URL:** <https://talk.observablehq.com/t/importing-functions-between-notebooks-breaking-changes/245>\
**Category:** Help\
**Created:** [February 5, 2018, 6:09pm UTC](https://talk.observablehq.com/t/importing-functions-between-notebooks-breaking-changes/245 "2018-02-05T18:09:33Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![mbostock](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/mbostock/32/9_2.png) [@mbostock](https://talk.observablehq.com/u/mbostock)\
**Post date:** [February 6, 2018, 3:55am UTC](https://talk.observablehq.com/t/importing-functions-between-notebooks-breaking-changes/245/3 "2018-02-06T03:55:25Z")

</div>

To give an example, here’s an example of an _unpinned_ import that (currently) fetches the latest version of a notebook:

```auto
import {slider} from "@jashkenas/inputs"

```

Here’s an equivalent _pinned_ import that locks the current version of Jeremy’s [inputs notebook](https://beta.observablehq.com/@jashkenas/inputs):

```auto
import {slider} from "@jashkenas/inputs@750"

```

Currently you have to do a little digging in the developer console to discover what the latest published version is. In the future, we’d like automatic pinning where Observable magically rewrites imports of the unpinned form into the pinned form, thereby protecting you from breaking changes. And if you ever want to upgrade to the latest version of an imported notebook, you can simply delete the version number and re-run the import cell.

---

_[View the full topic](https://talk.observablehq.com/t/importing-functions-between-notebooks-breaking-changes/245)._
