The library now uses the Text library. There were some text procs that I needed in multiple libraries. If each library implemented the procs, including two libraries that require the same text proc would cause a duplicate definition. Having the text procs in a single library that all projects can reference avoids this problem.
Previously, when you created a /Control object, you had to follow this form for its constructor:
var/Label/label = new("window1", "label1", src)
The parameters are the window ID, control ID, and the mob who owns it. Now you can arrange these parameters in any order (the first string is assumed to be the window ID). You can also specify the IDs in a single string (ex: "window1.label1").
I also removed some of the demos. Not all of them were as significant as I'd have liked them to be. I'll probably add more demos in later updates as I come up with better ones.
var/is_associative = 0
for(var/k in some_list)
is_associative = 1
I'll have to look into this more.