The language does change now and again, but upgrading has been fairly straightforward thus far, and I manage a number of open source crystal projects in addition to my closed source production code. You always have the option of not upgrading until you are ready, which is more than enough at least for me.
Debugging represents a unique challenge. I plan to eventually write an adapter for sentry.io for error tracking, but I haven't gotten around to this. Amber has very informative crash logs, so thus far I've been OK just looking through my Google App Engine logs when I need to track down an error. Cloud function debugging is a particular pain in the ass because of https://github.com/sam0x17/gcf.cr/issues/1, but I have a feeling the new 0.27.0 release resolves this, I just haven't had a moment to check.
Do you use any frameworks with Crystal or has it mostly been vanilla stuff? How would you gauge the maturity of the dev environment?