# PSA: Lock down your three.js versions!

**URL:** <https://talk.observablehq.com/t/psa-lock-down-your-three-js-versions/2106>\
**Category:** Uncategorized\
**Created:** [July 1, 2019, 9:50pm UTC](https://talk.observablehq.com/t/psa-lock-down-your-three-js-versions/2106 "2019-07-01T21:50:12Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![mootari](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/mootari/32/581_2.png) [@mootari](https://talk.observablehq.com/u/mootari)\
**Post date:** [July 1, 2019, 9:50pm UTC](https://talk.observablehq.com/t/psa-lock-down-your-three-js-versions/2106/1 "2019-07-01T21:50:12Z")

</div>

In the past weeks I have seen several notebooks (including my own) that stopped working because they had imported the `three` library without a version identifier, thus defaulting to the latest release.

**Three.js is moving fast and breaking things,** but here’s what you can do:

- **For new notebooks:** Visit @tom’s [Module Require Debugger](https://observablehq.com/@tmcw/module-require-debugger?module=three) to fetch the require statement, complete with version identifier (although just `require("three@VERSION")` works as well).
- **For broken notebooks:**
  1. Open your notebook’s version history and check the date of the latest change.
  2. Head over to [the three.js page on npm](https://www.npmjs.com/package/three) and click the “Versions” tab, then hover over the version ages to find the latest version before your last change.
  3. Add the version to your require statement.

Happy coding! 😃

**Edit:** You may also want to check the [Migration Guide](https://github.com/mrdoob/three.js/wiki/Migration-Guide) for individual releases.
