Why am I seeing -new.library in the Library file name after syncing?

When you first import a library into Craft Library v1.0.54+ that was created on a prior version, Craft will create a copy of your library and add -new to the Library file name. In the process, Craft also populates the "-new" library folder for files needed to address library component conflicts. 

What are conflicts? 

Conflicts occur in Library when multiple team members make simultaneous changes to the same component in a shared Library and the Library file is located in a remote shared folder such as Dropbox. If you’re updating a component in the Library and your collaborator tries to update the same component at the same time, the hosting service may not be able to merge these changes automatically, causing a conflict.

How does Craft address these conflicts?

Craft makes handling file conflicts in Library easy by creating a local copy of your remote library on your hard drive. Every update that you make to an item in your library in Sketch is first committed to your local library folder. Then, Craft checks the remote version of your library items and compares it to the local version of the library. If any conflicts are found that cannot be solved automatically, you’ll be prompted to choose the correct version of the component before completing the sync:


Why do conflicts occur?

During Library synchronization, a file conflict occurs when a library symbol and/or text style has changed in both the source and target locations since the last sync. This makes it hard for Craft to determine which version should be left unchanged and which version should be updated, and can result in corrupted .library files.

Where is the local copy of my remote library stored?

The local copy is stored in the ~/Library/Application Support/com.bohemiancoding.sketch3/Panels/.settings/Documents directory, in a sub-folder named with an internal identifier.

Why is the "-new" library folder created at all?

Craft’s conflict resolution feature requires special files to be present in order to track checksums, which allows Craft to compare the local and remote libraries to determine whether changes have been made. Since these special files are created only within the "-new" library, this ensures that team members on an older version of Craft can still access the original library folder if needed. However, all team members should update to v1.0.54+ to ensure that any updates made are stored to the "-new" library folder. 

Once you’ve updated to v1.0.54, the "-new" library folder is treated as the remote library going forward. This means that all further updates that you make in your Library in Sketch will be stored into the "-new" library folder, rather than the original folder. For that reason, if you need to move your library to a new file location, we recommend moving specifically the "-new" folder since this may contain updates that do not exist in the original library.

Note: If your library was initially created on v1.0.54 or later it will not have a "-new" counterpart since Craft populates it with the necessary checksum files from the start.