You've got a great set of features for your plugin! Very nice!
Unfortunately, some of the options don't work when passed as shortcode attributes. The shortcode I'm using is:
[utcw post_type="clients" title=" " before_title="<h3>" after_title="</h3>" before_widget="<div class='bordered-post'>" after_widget="</div>" color="random"]
I wanted to hide the title, but when I set the show_title_text="off" or "false" or anything else, it always comes back true and displays the title. I got around it temporarily by using a space for the title (title=" "). But I think you need to convert the string value to a boolean in your code before calling do_utcw(&args), like you do in the update function. This would apply to other values that are expected to be anything other than a string as well (boolean, numeric).
Also, I wanted to add some HTML markup before and after the title and widget area (i.e. before_title="<h3>" after_title="</h3>" before_widget="<div class='bordered-post'>" after_widget="</div>"). However these strings are not encoded properly for display. I had to modify the plugin code to decode each string properly before being displayed as in the following example:
Can you please fix these items in the next release?
Thanks so much!