The behavior change from 0.7.2 to 0.8.0 seems wrong to me:
in 0.8.0
from uniseg.wordbreak import words
list(words("don't"))
['don', "'", 't'] # <-------
list(words("don’t"))
['don’t']
in 0.7.2
from uniseg.wordbreak import words
list(words("don't"))
["don't"]
list(words("don’t"))
['don’t']