<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>CUL Releases Rss Feed</title><link>http://www.codeplex.com/CUL/Release/ProjectReleases.aspx</link><description>CUL Releases Rss Description</description><item><title>Created Release: Craig's Utility Library 3.3 (Jan 01, 2013)</title><link>http://cul.codeplex.com/releases?ReleaseId=99757</link><description>&lt;div class="wikidoc"&gt;This is a large update and contains over 100 additions, modifications, fixes, etc. Way too many items to list here. The big items are:
&lt;ul&gt;&lt;li&gt;A number of items have been merged into other namespaces (Events, Error, CodeGen, Exchange). &lt;/li&gt;
&lt;li&gt;At the same time, many extension methods have been simplified or combined/made a bit more generic (many DataType extensions have been modified in this manner).&lt;/li&gt;
&lt;li&gt;Almost all of the special classes in the Media.Images namespace have been moved to extension methods.&lt;/li&gt;
&lt;li&gt;Validation has been completely rewritten to use DataAnnotations (and thus some items have been removed as they overlapped with the built in items). This will be expanded on in the future.&lt;/li&gt;
&lt;li&gt;Serialization items have been rewritten to allow specifying an ISerializer class.&lt;/li&gt;
&lt;li&gt;SQLHelper and MicroORM code has been combined into the SQLHelper item, profiling on a per request basis has been added, a per request cache, along with functions that make batching of commands easier. Also a number of speed improvements have been made to the MicroORM items (now runs faster than BLToolkit but still not as fast as PetaPoco, Massive, or Dapper. Although with caching, it runs faster than each of them without caching).&lt;/li&gt;
&lt;li&gt;ORM had a number of fixes made to it.&lt;/li&gt;
&lt;li&gt;All code is commented now.&lt;/li&gt;
&lt;li&gt;Caching has been rewritten to be more extension method oriented.&lt;/li&gt;
&lt;li&gt;Much of the profiling code has been rewritten.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;The next couple of versions will be working on MVC specific items, improvements to the ORM, etc.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>JaCraig</author><pubDate>Wed, 02 Jan 2013 00:04:57 GMT</pubDate><guid isPermaLink="false">Created Release: Craig's Utility Library 3.3 (Jan 01, 2013) 20130102120457A</guid></item><item><title>Released: Craig's Utility Library 3.3 (Jan 01, 2013)</title><link>http://cul.codeplex.com/releases/view/99757</link><description>
&lt;div class="wikidoc"&gt;This is a large update and contains over 100 additions, modifications, fixes, etc. Way too many items to list here. The big items are:
&lt;ul&gt;
&lt;li&gt;A number of items have been merged into other namespaces (Events, Error, CodeGen, Exchange).
&lt;/li&gt;&lt;li&gt;At the same time, many extension methods have been simplified or combined/made a bit more generic (many DataType extensions have been modified in this manner).
&lt;/li&gt;&lt;li&gt;Almost all of the special classes in the Media.Images namespace have been moved to extension methods.
&lt;/li&gt;&lt;li&gt;Validation has been completely rewritten to use DataAnnotations (and thus some items have been removed as they overlapped with the built in items). This will be expanded on in the future.
&lt;/li&gt;&lt;li&gt;Serialization items have been rewritten to allow specifying an ISerializer class.
&lt;/li&gt;&lt;li&gt;SQLHelper and MicroORM code has been combined into the SQLHelper item, profiling on a per request basis has been added, a per request cache, along with functions that make batching of commands easier. Also a number of speed improvements have been made to
 the MicroORM items (now runs faster than BLToolkit but still not as fast as PetaPoco, Massive, or Dapper. Although with caching, it runs faster than each of them without caching).
&lt;/li&gt;&lt;li&gt;ORM had a number of fixes made to it. &lt;/li&gt;&lt;li&gt;All code is commented now. &lt;/li&gt;&lt;li&gt;Caching has been rewritten to be more extension method oriented. &lt;/li&gt;&lt;li&gt;Much of the profiling code has been rewritten.&lt;/li&gt;&lt;/ul&gt;
&lt;br&gt;
The next couple of versions will be working on MVC specific items, improvements to the ORM, etc.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
</description><author></author><pubDate>Wed, 02 Jan 2013 00:04:57 GMT</pubDate><guid isPermaLink="false">Released: Craig's Utility Library 3.3 (Jan 01, 2013) 20130102120457A</guid></item><item><title>Created Release: Craig's Utility Library 3.2 (Aug 31, 2012)</title><link>http://cul.codeplex.com/releases?ReleaseId=93798</link><description>&lt;div class="wikidoc"&gt;Additions
&lt;ul&gt;&lt;li&gt;Updated validation attributes so that they are inheritable.&lt;/li&gt;
&lt;li&gt;Added extension method to IEnumerables that will save the entire list of objects (Utilities.ORM.ExtensionMethods)&lt;/li&gt;
&lt;li&gt;Added execute capability with strings (Utilities.IO.ExtensionMethods).&lt;/li&gt;
&lt;li&gt;Added FindGroupMembers function to LDAP Directory class.&lt;/li&gt;
&lt;li&gt;Updated ORM so that when generating the database it sets ON DELETE CASCADE and ON DELETE SET NULL where applicable (note that items where SQL Server would complain, it just sets up the foreign key).&lt;/li&gt;
&lt;li&gt;The number of calls when deleting items has been reduced.&lt;/li&gt;
&lt;li&gt;Moved Command class from ORM namespace to SQL namespace and added the ability to specify parameters.&lt;/li&gt;
&lt;li&gt;Added an easier way to add parameters to SQLHelper. Now if you use the AddParameter(params object[] Parameters) function, it will treat it like string formatting (so in &amp;quot;SELECT * FROM Table WHERE ID=@0 AND Value=@1&amp;quot;, if you used AddParameter(10,&amp;quot;This is a string&amp;quot;), it would put the value 10 in for @0 and &amp;quot;This is a string&amp;quot; for @1.&lt;/li&gt;
&lt;li&gt;Reduced the number of database calls that are made when saving an item in the ORM.&lt;/li&gt;
&lt;li&gt;Added StripIllegalXML string extension. (Utilities.DataTypes.ExtensionMethods)&lt;/li&gt;
&lt;li&gt;Added the ability to set a min/max for the random attributes.&lt;/li&gt;
&lt;li&gt;Finished the new random extensions and added the ability to generate random classes using attributes (an example is in the unit tests for the RandomExtensions).&lt;/li&gt;
&lt;li&gt;Added Scalar function to MicroORM and ORM so you can write Scalar&amp;lt;int&amp;gt;(&amp;quot;COUNT(*)) and get the number of items total easily.&lt;/li&gt;
&lt;li&gt;Added a number of random content generators (Address, City, Domain Name, Email, State, Street, Zip Code, Company, etc).&lt;/li&gt;
&lt;li&gt;Added ability to specify domain and authentication type in Uri Extensions (Utilities.IO.ExtensionMethods)&lt;/li&gt;
&lt;li&gt;Reworked Random class. Moved everything towards extension methods (Utilities.Random.ExtensionMethods).&lt;/li&gt;
&lt;li&gt;The new extension methods are generic so calling Next&amp;lt;int&amp;gt; generates an int, Next&amp;lt;float&amp;gt; generates a float.&lt;/li&gt;
&lt;li&gt;Added ability to create own generators. Strings for example have LoremIpsum, Pattern, and Regex generators in the Utilities.Random.StringGenerators namespace.&lt;/li&gt;
&lt;li&gt;Added Times extension that will run a function/action the specified number of times ex: 100.Times(x=&amp;gt;x) creates a list of integers going from 1 to 100. (Utilities.DataTypes.ExtensionMethods)&lt;/li&gt;
&lt;li&gt;Added new versions of ThrowIfNull, ThrowIfDefault, ThrowIfNullOrEmpty, and ThrowIfNullOrDBNull where you can supply your own exception.&lt;/li&gt;
&lt;li&gt;Added name generators for Random namespace.&lt;/li&gt;
&lt;li&gt;Added RingBuffer class to Utilities.DataTypes.&lt;/li&gt;
&lt;li&gt;Added NextString to Random class that works off of a pattern (useful for generating fake data).&lt;/li&gt;
&lt;li&gt;Added ToString function to LDAP Entry class for an easy view of the individual entry (exports all properties to a string).&lt;/li&gt;
&lt;li&gt;Added Google API class for static maps&lt;/li&gt;
&lt;li&gt;Added ability in ORM to turn off Audit tables.&lt;/li&gt;
&lt;li&gt;Added Async extension to Action objects. (Utilities.DataTypes.ExtensionMethods&lt;/li&gt;
&lt;li&gt;Added LevenshteinDistance extension to strings. (Utilities.DataTypes.ExtensionMethods.&lt;/li&gt;
&lt;li&gt;Added ability to minify more than just HTML with HTTPCompress.&lt;/li&gt;
&lt;li&gt;Added an option to remove white space when calling HTTPCompress. (Utilities.Web.ExtensionMethods)&lt;/li&gt;
&lt;li&gt;Added two functions to the mapping class used in the ORM. One exposes the validation object that is used internally and another that can be overridden to allow for easy initialization of objects within the database.&lt;/li&gt;
&lt;li&gt;Added XOr extension to string class (Utilities.Encryption.ExtensionMethods)&lt;/li&gt;
&lt;li&gt;Updated HttpContext extensions to use HttpContextBase.&lt;/li&gt;
&lt;li&gt;Added extension method to Dictionary and NameValueCollection classes to export the values as a query string (Utilities.Web.ExtensionMethods)&lt;/li&gt;
&lt;li&gt;Added UserIPAddress and IfModifiedSince extension methods for HttpRequest class (Utilities.Web.ExtensionMethods)&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Plus about 7 more additions and 20 fixes (ran out of space for the rest of it).&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>JaCraig</author><pubDate>Sat, 01 Sep 2012 01:44:18 GMT</pubDate><guid isPermaLink="false">Created Release: Craig's Utility Library 3.2 (Aug 31, 2012) 20120901014418A</guid></item><item><title>Released: Craig's Utility Library 3.2 (Aug 31, 2012)</title><link>http://cul.codeplex.com/releases/view/93798</link><description>
&lt;div class="wikidoc"&gt;Additions
&lt;ul&gt;
&lt;li&gt;Updated validation attributes so that they are inheritable. &lt;/li&gt;&lt;li&gt;Added extension method to IEnumerables that will save the entire list of objects (Utilities.ORM.ExtensionMethods)
&lt;/li&gt;&lt;li&gt;Added execute capability with strings (Utilities.IO.ExtensionMethods). &lt;/li&gt;&lt;li&gt;Added FindGroupMembers function to LDAP Directory class. &lt;/li&gt;&lt;li&gt;Updated ORM so that when generating the database it sets ON DELETE CASCADE and ON DELETE SET NULL where applicable (note that items where SQL Server would complain, it just sets up the foreign key).
&lt;/li&gt;&lt;li&gt;The number of calls when deleting items has been reduced. &lt;/li&gt;&lt;li&gt;Moved Command class from ORM namespace to SQL namespace and added the ability to specify parameters.
&lt;/li&gt;&lt;li&gt;Added an easier way to add parameters to SQLHelper. Now if you use the AddParameter(params object[] Parameters) function, it will treat it like string formatting (so in &amp;quot;SELECT * FROM Table WHERE ID=@0 AND Value=@1&amp;quot;, if you used AddParameter(10,&amp;quot;This
 is a string&amp;quot;), it would put the value 10 in for @0 and &amp;quot;This is a string&amp;quot; for @1.
&lt;/li&gt;&lt;li&gt;Reduced the number of database calls that are made when saving an item in the ORM.
&lt;/li&gt;&lt;li&gt;Added StripIllegalXML string extension. (Utilities.DataTypes.ExtensionMethods)
&lt;/li&gt;&lt;li&gt;Added the ability to set a min/max for the random attributes. &lt;/li&gt;&lt;li&gt;Finished the new random extensions and added the ability to generate random classes using attributes (an example is in the unit tests for the RandomExtensions).
&lt;/li&gt;&lt;li&gt;Added Scalar function to MicroORM and ORM so you can write Scalar&amp;lt;int&amp;gt;(&amp;quot;COUNT(*)) and get the number of items total easily.
&lt;/li&gt;&lt;li&gt;Added a number of random content generators (Address, City, Domain Name, Email, State, Street, Zip Code, Company, etc).
&lt;/li&gt;&lt;li&gt;Added ability to specify domain and authentication type in Uri Extensions (Utilities.IO.ExtensionMethods)
&lt;/li&gt;&lt;li&gt;Reworked Random class. Moved everything towards extension methods (Utilities.Random.ExtensionMethods).
&lt;/li&gt;&lt;li&gt;The new extension methods are generic so calling Next&amp;lt;int&amp;gt; generates an int, Next&amp;lt;float&amp;gt; generates a float.
&lt;/li&gt;&lt;li&gt;Added ability to create own generators. Strings for example have LoremIpsum, Pattern, and Regex generators in the Utilities.Random.StringGenerators namespace.
&lt;/li&gt;&lt;li&gt;Added Times extension that will run a function/action the specified number of times ex: 100.Times(x=&amp;gt;x) creates a list of integers going from 1 to 100. (Utilities.DataTypes.ExtensionMethods)
&lt;/li&gt;&lt;li&gt;Added new versions of ThrowIfNull, ThrowIfDefault, ThrowIfNullOrEmpty, and ThrowIfNullOrDBNull where you can supply your own exception.
&lt;/li&gt;&lt;li&gt;Added name generators for Random namespace. &lt;/li&gt;&lt;li&gt;Added RingBuffer class to Utilities.DataTypes. &lt;/li&gt;&lt;li&gt;Added NextString to Random class that works off of a pattern (useful for generating fake data).
&lt;/li&gt;&lt;li&gt;Added ToString function to LDAP Entry class for an easy view of the individual entry (exports all properties to a string).
&lt;/li&gt;&lt;li&gt;Added Google API class for static maps &lt;/li&gt;&lt;li&gt;Added ability in ORM to turn off Audit tables. &lt;/li&gt;&lt;li&gt;Added Async extension to Action objects. (Utilities.DataTypes.ExtensionMethods
&lt;/li&gt;&lt;li&gt;Added LevenshteinDistance extension to strings. (Utilities.DataTypes.ExtensionMethods.
&lt;/li&gt;&lt;li&gt;Added ability to minify more than just HTML with HTTPCompress. &lt;/li&gt;&lt;li&gt;Added an option to remove white space when calling HTTPCompress. (Utilities.Web.ExtensionMethods)
&lt;/li&gt;&lt;li&gt;Added two functions to the mapping class used in the ORM. One exposes the validation object that is used internally and another that can be overridden to allow for easy initialization of objects within the database.
&lt;/li&gt;&lt;li&gt;Added XOr extension to string class (Utilities.Encryption.ExtensionMethods) &lt;/li&gt;&lt;li&gt;Updated HttpContext extensions to use HttpContextBase. &lt;/li&gt;&lt;li&gt;Added extension method to Dictionary and NameValueCollection classes to export the values as a query string (Utilities.Web.ExtensionMethods)
&lt;/li&gt;&lt;li&gt;Added UserIPAddress and IfModifiedSince extension methods for HttpRequest class (Utilities.Web.ExtensionMethods)&lt;/li&gt;&lt;/ul&gt;
&lt;br&gt;
Plus about 7 more additions and 20 fixes (ran out of space for the rest of it).&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
</description><author></author><pubDate>Sat, 01 Sep 2012 01:44:18 GMT</pubDate><guid isPermaLink="false">Released: Craig's Utility Library 3.2 (Aug 31, 2012) 20120901014418A</guid></item><item><title>Created Release: Craig's Utility Library 3.1 (Mar 23, 2012)</title><link>http://cul.codeplex.com/releases?ReleaseId=84773</link><description>&lt;div class="wikidoc"&gt;This update adds about 60 new extension methods, a couple of new classes, and a number of fixes including:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Additions&lt;/b&gt;
&lt;ul&gt;&lt;li&gt;Added DateSpan class&lt;/li&gt;
&lt;li&gt;Added GenericDelimited class&lt;/li&gt;
&lt;li&gt;Random additions
&lt;ul&gt;&lt;li&gt;Added static thread friendly version of Random.Next called ThreadSafeNext.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;AOP Manager additions
&lt;ul&gt;&lt;li&gt;Added Destroy function to AOPManager (clears out all data so system can be recreated. Really only useful for testing...)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;ORM additions
&lt;ul&gt;&lt;li&gt;Added PagedCommand and PageCount functions to ObjectBaseClass (same as MicroORM).&lt;/li&gt;
&lt;li&gt;In ORM added PagedCommand and PageCount functions (same as MicroORM).&lt;/li&gt;
&lt;li&gt;Added Paged/PageCount functions to ObjectBaseClass.&lt;/li&gt;
&lt;li&gt;Added PageCount function to ORM Session (forgot about it earlier until, of course, I needed it).&lt;/li&gt;
&lt;li&gt;Added Setup function to ORM code to allow defining/setting up mappings (and derived types) at start instead of creating them on the fly.&lt;/li&gt;
&lt;li&gt;Added Destroy function to ORM (clears out all data so system can be recreated. Really only useful for testing...)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;MicroORM additions
&lt;ul&gt;&lt;li&gt;Added ClearAllMappings function to MicroORM (clears out all mappings from the system, so it can be recreated. Really only useful for testing...)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Delimited file additions
&lt;ul&gt;&lt;li&gt;Added Parse function, ToDataTable, and ToFile functions to base class&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;SQLHelper additions
&lt;ul&gt;&lt;li&gt;Added ExecuteBulkCopy&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Object Extensions
&lt;ul&gt;&lt;li&gt;ThrowIfTrue&lt;/li&gt;
&lt;li&gt;ThrowIfFalse&lt;/li&gt;
&lt;li&gt;TryTo (converts the type, but still returns it as an object. Good for converting string to int, int to float, etc. but still need it as an object for whatever reason)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;IEnumerable Extensions
&lt;ul&gt;&lt;li&gt;FalseForAll&lt;/li&gt;
&lt;li&gt;FalseForAny&lt;/li&gt;
&lt;li&gt;TrueForAll&lt;/li&gt;
&lt;li&gt;TrueForAny&lt;/li&gt;
&lt;li&gt;ThrowIfFalseForAll&lt;/li&gt;
&lt;li&gt;ThrowIfFalseForAny&lt;/li&gt;
&lt;li&gt;ThrowIfTrueForAll&lt;/li&gt;
&lt;li&gt;ThrowIfTrueForAny&lt;/li&gt;
&lt;li&gt;ElementsBetween&lt;/li&gt;
&lt;li&gt;First&lt;/li&gt;
&lt;li&gt;Last&lt;/li&gt;
&lt;li&gt;ToDataTable&lt;/li&gt;
&lt;li&gt;ToCSV&lt;/li&gt;
&lt;li&gt;ToDelimitedFile&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;string Extensions
&lt;ul&gt;&lt;li&gt;ExpandTabs&lt;/li&gt;
&lt;li&gt;StripLeft&lt;/li&gt;
&lt;li&gt;StripRight&lt;/li&gt;
&lt;li&gt;Pluralize&lt;/li&gt;
&lt;li&gt;Singularize&lt;/li&gt;
&lt;li&gt;Center&lt;/li&gt;
&lt;li&gt;MaskLeft&lt;/li&gt;
&lt;li&gt;MaskRight&lt;/li&gt;
&lt;li&gt;UrlDecode&lt;/li&gt;
&lt;li&gt;UrlEncode&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;FileInfo Extensions
&lt;ul&gt;&lt;li&gt;DriveInfo&lt;/li&gt;
&lt;li&gt;Execute&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;DirectoryInfo Extensions
&lt;ul&gt;&lt;li&gt;DriveInfo&lt;/li&gt;
&lt;li&gt;DeleteDirectoriesNewerThan&lt;/li&gt;
&lt;li&gt;DeleteDirectoriesOlderThan&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;DateTime Extensions
&lt;ul&gt;&lt;li&gt;FirstDayOfQuarter&lt;/li&gt;
&lt;li&gt;FirstDayOfYear&lt;/li&gt;
&lt;li&gt;LastDayOfQuarter&lt;/li&gt;
&lt;li&gt;LastDayOfYear&lt;/li&gt;
&lt;li&gt;ConvertToTimeZone (assumes that times are in UTC time)&lt;/li&gt;
&lt;li&gt;LocalTimeZone&lt;/li&gt;
&lt;li&gt;AddWeeks&lt;/li&gt;
&lt;li&gt;Age&lt;/li&gt;
&lt;li&gt;BeginningOfDay&lt;/li&gt;
&lt;li&gt;EndOfDay&lt;/li&gt;
&lt;li&gt;IsToday&lt;/li&gt;
&lt;li&gt;SetTime&lt;/li&gt;
&lt;li&gt;UTCOffset&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Uri Extensions
&lt;ul&gt;&lt;li&gt;Execute (opens a URL in the default browser)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;DataTable Extensions
&lt;ul&gt;&lt;li&gt;ToList&lt;/li&gt;
&lt;li&gt;ToCSV&lt;/li&gt;
&lt;li&gt;ToDelimitedFile&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;TimeSpan Extensions
&lt;ul&gt;&lt;li&gt;Years&lt;/li&gt;
&lt;li&gt;Months&lt;/li&gt;
&lt;li&gt;DaysRemainder&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;b&gt;Fixes/Updates&lt;/b&gt;
&lt;ul&gt;&lt;li&gt;Modified TrueForAll to accept more than one Predicate.&lt;/li&gt;
&lt;li&gt;Changed ThrowIfDefault, ThrowIfNull, ThrowIfNullOrDBNull, and ThrowIfNullOrEmpty to return the original value instead of being void.&lt;/li&gt;
&lt;li&gt;Fixed Remove and RemoveRange so that they would work with fixed length collections, arrays, etc. (Note that the collection is no longer directly changed, the returned value is now the collection minus the removed items)&lt;/li&gt;
&lt;li&gt;Changed SQLHelper methods that were returning void. They now return the SQLHelper object (basically allowing for a more fluent interface).&lt;/li&gt;
&lt;li&gt;Added PageCount and PagedCommand functions for MicroORM. These functions take an SQL command to determine the data to return (you can&amp;#39;t have an order by clause, but this allows a lot more freedom when coming up with what to return).&lt;/li&gt;
&lt;li&gt;Changed StopWatch class to actually use System.Diagnostics.Stopwatch class for greater precision when timing. (May remove this class in the future)&lt;/li&gt;
&lt;li&gt;Switched Save function on ObjectBaseClass to take an IEnumerable instead of a list of objects.&lt;/li&gt;
&lt;li&gt;Fixed issues in ORM when an item contains a ManyToMany or ManyToOne mapping that is the same type (for instance class A contains a list of type A).&lt;/li&gt;
&lt;li&gt;Fixed issue in ORM where if string mapping is declared MAX by entering -1 (no longer limits the text in that field to 100 characters).&lt;/li&gt;
&lt;li&gt;Fixed bug in ORM code so that Readable and Writable fields on the database are respected.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Plus a lot more.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>JaCraig</author><pubDate>Fri, 23 Mar 2012 17:08:20 GMT</pubDate><guid isPermaLink="false">Created Release: Craig's Utility Library 3.1 (Mar 23, 2012) 20120323050820P</guid></item><item><title>Released: Craig's Utility Library 3.1 (Mar 23, 2012)</title><link>http://cul.codeplex.com/releases/view/84773</link><description>
&lt;div class="wikidoc"&gt;This update adds about 60 new extension methods, a couple of new classes, and a number of fixes including:&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Additions&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;Added DateSpan class &lt;/li&gt;&lt;li&gt;Added GenericDelimited class &lt;/li&gt;&lt;li&gt;Random additions
&lt;ul&gt;
&lt;li&gt;Added static thread friendly version of Random.Next called ThreadSafeNext.&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;AOP Manager additions
&lt;ul&gt;
&lt;li&gt;Added Destroy function to AOPManager (clears out all data so system can be recreated. Really only useful for testing...)&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;ORM additions
&lt;ul&gt;
&lt;li&gt;Added PagedCommand and PageCount functions to ObjectBaseClass (same as MicroORM).
&lt;/li&gt;&lt;li&gt;In ORM added PagedCommand and PageCount functions (same as MicroORM). &lt;/li&gt;&lt;li&gt;Added Paged/PageCount functions to ObjectBaseClass. &lt;/li&gt;&lt;li&gt;Added PageCount function to ORM Session (forgot about it earlier until, of course, I needed it).
&lt;/li&gt;&lt;li&gt;Added Setup function to ORM code to allow defining/setting up mappings (and derived types) at start instead of creating them on the fly.
&lt;/li&gt;&lt;li&gt;Added Destroy function to ORM (clears out all data so system can be recreated. Really only useful for testing...)&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;MicroORM additions
&lt;ul&gt;
&lt;li&gt;Added ClearAllMappings function to MicroORM (clears out all mappings from the system, so it can be recreated. Really only useful for testing...)&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;Delimited file additions
&lt;ul&gt;
&lt;li&gt;Added Parse function, ToDataTable, and ToFile functions to base class&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;SQLHelper additions
&lt;ul&gt;
&lt;li&gt;Added ExecuteBulkCopy&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;Object Extensions
&lt;ul&gt;
&lt;li&gt;ThrowIfTrue &lt;/li&gt;&lt;li&gt;ThrowIfFalse &lt;/li&gt;&lt;li&gt;TryTo (converts the type, but still returns it as an object. Good for converting string to int, int to float, etc. but still need it as an object for whatever reason)&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;IEnumerable Extensions
&lt;ul&gt;
&lt;li&gt;FalseForAll &lt;/li&gt;&lt;li&gt;FalseForAny &lt;/li&gt;&lt;li&gt;TrueForAll &lt;/li&gt;&lt;li&gt;TrueForAny &lt;/li&gt;&lt;li&gt;ThrowIfFalseForAll &lt;/li&gt;&lt;li&gt;ThrowIfFalseForAny &lt;/li&gt;&lt;li&gt;ThrowIfTrueForAll &lt;/li&gt;&lt;li&gt;ThrowIfTrueForAny &lt;/li&gt;&lt;li&gt;ElementsBetween &lt;/li&gt;&lt;li&gt;First &lt;/li&gt;&lt;li&gt;Last &lt;/li&gt;&lt;li&gt;ToDataTable &lt;/li&gt;&lt;li&gt;ToCSV &lt;/li&gt;&lt;li&gt;ToDelimitedFile&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;string Extensions
&lt;ul&gt;
&lt;li&gt;ExpandTabs &lt;/li&gt;&lt;li&gt;StripLeft &lt;/li&gt;&lt;li&gt;StripRight &lt;/li&gt;&lt;li&gt;Pluralize &lt;/li&gt;&lt;li&gt;Singularize &lt;/li&gt;&lt;li&gt;Center &lt;/li&gt;&lt;li&gt;MaskLeft &lt;/li&gt;&lt;li&gt;MaskRight &lt;/li&gt;&lt;li&gt;UrlDecode &lt;/li&gt;&lt;li&gt;UrlEncode&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;FileInfo Extensions
&lt;ul&gt;
&lt;li&gt;DriveInfo &lt;/li&gt;&lt;li&gt;Execute&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;DirectoryInfo Extensions
&lt;ul&gt;
&lt;li&gt;DriveInfo &lt;/li&gt;&lt;li&gt;DeleteDirectoriesNewerThan &lt;/li&gt;&lt;li&gt;DeleteDirectoriesOlderThan&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;DateTime Extensions
&lt;ul&gt;
&lt;li&gt;FirstDayOfQuarter &lt;/li&gt;&lt;li&gt;FirstDayOfYear &lt;/li&gt;&lt;li&gt;LastDayOfQuarter &lt;/li&gt;&lt;li&gt;LastDayOfYear &lt;/li&gt;&lt;li&gt;ConvertToTimeZone (assumes that times are in UTC time) &lt;/li&gt;&lt;li&gt;LocalTimeZone &lt;/li&gt;&lt;li&gt;AddWeeks &lt;/li&gt;&lt;li&gt;Age &lt;/li&gt;&lt;li&gt;BeginningOfDay &lt;/li&gt;&lt;li&gt;EndOfDay &lt;/li&gt;&lt;li&gt;IsToday &lt;/li&gt;&lt;li&gt;SetTime &lt;/li&gt;&lt;li&gt;UTCOffset&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;Uri Extensions
&lt;ul&gt;
&lt;li&gt;Execute (opens a URL in the default browser)&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;DataTable Extensions
&lt;ul&gt;
&lt;li&gt;ToList &lt;/li&gt;&lt;li&gt;ToCSV &lt;/li&gt;&lt;li&gt;ToDelimitedFile&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;TimeSpan Extensions
&lt;ul&gt;
&lt;li&gt;Years &lt;/li&gt;&lt;li&gt;Months &lt;/li&gt;&lt;li&gt;DaysRemainder&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;br&gt;
&lt;b&gt;Fixes/Updates&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;Modified TrueForAll to accept more than one Predicate. &lt;/li&gt;&lt;li&gt;Changed ThrowIfDefault, ThrowIfNull, ThrowIfNullOrDBNull, and ThrowIfNullOrEmpty to return the original value instead of being void.
&lt;/li&gt;&lt;li&gt;Fixed Remove and RemoveRange so that they would work with fixed length collections, arrays, etc. (Note that the collection is no longer directly changed, the returned value is now the collection minus the removed items)
&lt;/li&gt;&lt;li&gt;Changed SQLHelper methods that were returning void. They now return the SQLHelper object (basically allowing for a more fluent interface).
&lt;/li&gt;&lt;li&gt;Added PageCount and PagedCommand functions for MicroORM. These functions take an SQL command to determine the data to return (you can&amp;#39;t have an order by clause, but this allows a lot more freedom when coming up with what to return).
&lt;/li&gt;&lt;li&gt;Changed StopWatch class to actually use System.Diagnostics.Stopwatch class for greater precision when timing. (May remove this class in the future)
&lt;/li&gt;&lt;li&gt;Switched Save function on ObjectBaseClass to take an IEnumerable instead of a list of objects.
&lt;/li&gt;&lt;li&gt;Fixed issues in ORM when an item contains a ManyToMany or ManyToOne mapping that is the same type (for instance class A contains a list of type A).
&lt;/li&gt;&lt;li&gt;Fixed issue in ORM where if string mapping is declared MAX by entering -1 (no longer limits the text in that field to 100 characters).
&lt;/li&gt;&lt;li&gt;Fixed bug in ORM code so that Readable and Writable fields on the database are respected.&lt;/li&gt;&lt;/ul&gt;
&lt;br&gt;
Plus a lot more.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
</description><author></author><pubDate>Fri, 23 Mar 2012 17:08:20 GMT</pubDate><guid isPermaLink="false">Released: Craig's Utility Library 3.1 (Mar 23, 2012) 20120323050820P</guid></item><item><title>Created Release: Craig's Utility Library 3.0 (Dec 15, 2011)</title><link>http://cul.codeplex.com/releases?ReleaseId=78851</link><description>&lt;div class="wikidoc"&gt;Fixes&lt;br /&gt;1) Added fix for length of columns when dealing with nvarchars in SQLServer class.&lt;br /&gt;2) Added fix for Map objects that were set to cascade where ManyToMany and ManyToOne objects underneath were not cascading properly.&lt;br /&gt;3) Added Any and All functions to ObjectBaseClass that accept SQL Commands/CommandTypes.&lt;br /&gt;4) Fixed cascading saves for Mapped objects in ORM.&lt;br /&gt;5) Added check in StringID and StringReference for -1 (max length), so that the validation actually works on update...&lt;br /&gt;6) Added fix for ZipFile when calling AddFile (now creates the zip file correctly).&lt;br /&gt;7) Added check to ORM code to make sure that load commands aren&amp;#39;t overwritten with defaults.&lt;br /&gt;8) Fixed issue with ObjectBaseClass if the instance returned by Any is null.&lt;br /&gt;9) Fixed bug in DataMapper when using the AutoMap feature.&lt;br /&gt;10) Fixed small bug in RGBHistogram&amp;#39;s Equalize function as well as Equalize function in BitmapExtensions.&lt;br /&gt;11) Fixed issue that allows unsafe code to be tested/run (seems to be related to updating to 4.0).&lt;br /&gt;12) Fixed bug in Random class&amp;#39;s NextColor function.&lt;br /&gt;13) Fixed issue with ArgsParser code involving double quotes and reduced code a bit.&lt;br /&gt;14) Fixed minor issues with RSAEncryption class.&lt;br /&gt;15) Fixed minor issues/made code simpler for Conversion, Matrix, Set, and Vector3 classes.&lt;br /&gt;16) Fixed a couple of bugs in vector class (initial size of items not set right, removing first item in list, etc.)&lt;br /&gt;17) Fixed various issues/improved BinaryTree class&lt;br /&gt;&lt;br /&gt;Changes&lt;br /&gt;Most static functions have been moved to various extension methods and a number of functions have been added (too many to list here).&lt;br /&gt;On top of that a number of changes have been made to various classes:&lt;br /&gt;1) Added ability in ProfilerManager to get data for a specific function and made ProfilerInfo public&lt;br /&gt;2) Changed the parameters of the Column DataClass (now has a generic default value, uses DbType instead of SqlDbType for the DataType property, etc)&lt;br /&gt;3) Added ability to query list of users who logged into a machine (WMI code)&lt;br /&gt;4) Added a ClearMappings function to MicroORM.&lt;br /&gt;5) Updated SQLHelper&amp;#39;s code (removed functions that are no longer used, instead keeping generic versions).&lt;br /&gt;6) Merged AddParameter and AddOutputParameter into one function (and GetParameter and GetOutputParameter) and changed order of a couple parameters.&lt;br /&gt;7) Updated ErrorManager code to use extension methods moved from the Web namespace (DumpCache, DumpApplicationState, etc).&lt;br /&gt;8) Updated WebPageThumbnail code to use some default values to make things simpler.&lt;br /&gt;9) Made TypeMapping class a bit more fluent to make adding mappings easier.&lt;br /&gt;10) Simplified Validator code and added a number of functions for new validation rules.&lt;br /&gt;11) Finished adding IoC code (very simple IoC container).&lt;br /&gt;12) Rewrote LDAP code (simplified).&lt;br /&gt;13) Reworked some of the Reflection.Emit classes (mostly to reduce redundant functions, replace wordy code, etc.)&lt;br /&gt;14) Added GenericStringFormatter class (used by FormatString function in the StringExtensions class)&lt;br /&gt;15) Moved NaiveBayes class to AI namespace.&lt;br /&gt;16) Improved ListMapping functionality&lt;br /&gt;17) Added functions to priority queue for adding items, improved Pop functionality.&lt;br /&gt;18) Added DateSpan class.&lt;br /&gt;19) Moved Cisco classes to FileFormats namespace&lt;br /&gt;&lt;br /&gt;Also Items Have been removed due to the fact that they were either too difficult to maintain or simply not being used:&lt;br /&gt;1) Removed Youtube code (will eventually replace this with Google API namespace.&lt;br /&gt;2) Removed FOAF and APML helpers as neither format seem to be used...&lt;br /&gt;3) Removed Speech namespace (wasn&amp;#39;t really maintaining it)...&lt;br /&gt;4) Removed Pair and Triple classes (not needed with addition of System.Tuple)&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>JaCraig</author><pubDate>Thu, 15 Dec 2011 18:42:11 GMT</pubDate><guid isPermaLink="false">Created Release: Craig's Utility Library 3.0 (Dec 15, 2011) 20111215064211P</guid></item><item><title>Released: Craig's Utility Library 3.0 (Dec 15, 2011)</title><link>http://cul.codeplex.com/releases/view/78851</link><description>
&lt;div class="wikidoc"&gt;Fixes&lt;br&gt;
1) Added fix for length of columns when dealing with nvarchars in SQLServer class.&lt;br&gt;
2) Added fix for Map objects that were set to cascade where ManyToMany and ManyToOne objects underneath were not cascading properly.&lt;br&gt;
3) Added Any and All functions to ObjectBaseClass that accept SQL Commands/CommandTypes.&lt;br&gt;
4) Fixed cascading saves for Mapped objects in ORM.&lt;br&gt;
5) Added check in StringID and StringReference for -1 (max length), so that the validation actually works on update...&lt;br&gt;
6) Added fix for ZipFile when calling AddFile (now creates the zip file correctly).&lt;br&gt;
7) Added check to ORM code to make sure that load commands aren&amp;#39;t overwritten with defaults.&lt;br&gt;
8) Fixed issue with ObjectBaseClass if the instance returned by Any is null.&lt;br&gt;
9) Fixed bug in DataMapper when using the AutoMap feature.&lt;br&gt;
10) Fixed small bug in RGBHistogram&amp;#39;s Equalize function as well as Equalize function in BitmapExtensions.&lt;br&gt;
11) Fixed issue that allows unsafe code to be tested/run (seems to be related to updating to 4.0).&lt;br&gt;
12) Fixed bug in Random class&amp;#39;s NextColor function.&lt;br&gt;
13) Fixed issue with ArgsParser code involving double quotes and reduced code a bit.&lt;br&gt;
14) Fixed minor issues with RSAEncryption class.&lt;br&gt;
15) Fixed minor issues/made code simpler for Conversion, Matrix, Set, and Vector3 classes.&lt;br&gt;
16) Fixed a couple of bugs in vector class (initial size of items not set right, removing first item in list, etc.)&lt;br&gt;
17) Fixed various issues/improved BinaryTree class&lt;br&gt;
&lt;br&gt;
Changes&lt;br&gt;
Most static functions have been moved to various extension methods and a number of functions have been added (too many to list here).&lt;br&gt;
On top of that a number of changes have been made to various classes:&lt;br&gt;
1) Added ability in ProfilerManager to get data for a specific function and made ProfilerInfo public&lt;br&gt;
2) Changed the parameters of the Column DataClass (now has a generic default value, uses DbType instead of SqlDbType for the DataType property, etc)&lt;br&gt;
3) Added ability to query list of users who logged into a machine (WMI code)&lt;br&gt;
4) Added a ClearMappings function to MicroORM.&lt;br&gt;
5) Updated SQLHelper&amp;#39;s code (removed functions that are no longer used, instead keeping generic versions).&lt;br&gt;
6) Merged AddParameter and AddOutputParameter into one function (and GetParameter and GetOutputParameter) and changed order of a couple parameters.&lt;br&gt;
7) Updated ErrorManager code to use extension methods moved from the Web namespace (DumpCache, DumpApplicationState, etc).&lt;br&gt;
8) Updated WebPageThumbnail code to use some default values to make things simpler.&lt;br&gt;
9) Made TypeMapping class a bit more fluent to make adding mappings easier.&lt;br&gt;
10) Simplified Validator code and added a number of functions for new validation rules.&lt;br&gt;
11) Finished adding IoC code (very simple IoC container).&lt;br&gt;
12) Rewrote LDAP code (simplified).&lt;br&gt;
13) Reworked some of the Reflection.Emit classes (mostly to reduce redundant functions, replace wordy code, etc.)&lt;br&gt;
14) Added GenericStringFormatter class (used by FormatString function in the StringExtensions class)&lt;br&gt;
15) Moved NaiveBayes class to AI namespace.&lt;br&gt;
16) Improved ListMapping functionality&lt;br&gt;
17) Added functions to priority queue for adding items, improved Pop functionality.&lt;br&gt;
18) Added DateSpan class.&lt;br&gt;
19) Moved Cisco classes to FileFormats namespace&lt;br&gt;
&lt;br&gt;
Also Items Have been removed due to the fact that they were either too difficult to maintain or simply not being used:&lt;br&gt;
1) Removed Youtube code (will eventually replace this with Google API namespace.&lt;br&gt;
2) Removed FOAF and APML helpers as neither format seem to be used...&lt;br&gt;
3) Removed Speech namespace (wasn&amp;#39;t really maintaining it)...&lt;br&gt;
4) Removed Pair and Triple classes (not needed with addition of System.Tuple)&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
</description><author></author><pubDate>Thu, 15 Dec 2011 18:42:11 GMT</pubDate><guid isPermaLink="false">Released: Craig's Utility Library 3.0 (Dec 15, 2011) 20111215064211P</guid></item><item><title>Created Release: Craig's Utility Library 2.2 (Jul 20, 2011)</title><link>http://cul.codeplex.com/releases?ReleaseId=70385</link><description>&lt;div class="wikidoc"&gt;This update merges a number of projects into CUL along with adding a large amount of new functionality, bug fixes, etc. into the code base.&lt;br /&gt;&lt;br /&gt;Additions:&lt;br /&gt;1) CodeGen namespace, which helps with templated text/code generation.&lt;br /&gt;2) Added ability to set free/busy status of appointments.&lt;br /&gt;3) Added IsOfType function to tell if a specific type is a subtype of an interface/base class.&lt;br /&gt;4) Added GetPropertyName function that does a better job when the data type of the property is known.&lt;br /&gt;5) Added basic functions to DataTypeConversion class to convert between SqlDbType to .Net types and vice versa.&lt;br /&gt;6) Added IFluentInterface interface that can be used to hide the ToString, etc. functions.&lt;br /&gt;7) Added MicroORM set of classes, which acts as a simple object to relational mapper (similar to Dapper).&lt;br /&gt;8) Added the ability to run multiple queries in one go in SQLHelper with the NextResult function (skips to the next result set).&lt;br /&gt;9) Added ExecuteDataSet and ExecuteXmlReader functions for SQLHelper (to bring it more in line with the old SqlHelper class that Microsoft put out a while back).&lt;br /&gt;10) Added DbTypeToNetType and NetTypeToDbType functions that convert from DbType to .Net types and vice versa. (also added DbTypeToSqlDbType and SqlDbTypeToDbType to convert between SqlDbType and DbType)&lt;br /&gt;11) Simplified and merged ObjectCartographer project code. Now is housed in the Utilities.DataMapper namespace.&lt;br /&gt;12) Added GetPropertySetter and GetPropertyGetter functions to generate Func and Actions on the fly for a property.&lt;br /&gt;13) Added GetProperty function when type not known at compile time.&lt;br /&gt;14) Added ; as separator in EmailSender class.&lt;br /&gt;15) Added JSON serialization.&lt;br /&gt;16) Merged YABOV project code. Now is housed in the Utilities.Validation namespace.&lt;br /&gt;17) Merged Blammo.Net project code. Now is housed in the Utilities.IO.Logging namespace.&lt;br /&gt;18) Merged Gestalt.Net project code. Now is housed in the Utilities.Configuration namespace.&lt;br /&gt;19) Added function to FileManager that allows for setting attributes on a directory/files within it.&lt;br /&gt;20) Added function to Reflection class that creates one instance of all classes that it finds of a specific interface/base class.&lt;br /&gt;21) Added functions to load assemblies from a directory and create objects from a directory.&lt;br /&gt;22) Added ability to search for file types in FileManager.&lt;br /&gt;23) Merged Aspectus project code. Now housed in the Utilities.Reflection.AOP namespace.&lt;br /&gt;24) Merged DotCache project code. Now housed in the Utilities.Caching namespace.&lt;br /&gt;25) Merged Hateraide project code. Now housed in the Utilities.ORM namespace.&lt;br /&gt;26) Added generic version of ExecuteScaler function in SQLHelper.&lt;br /&gt;&lt;br /&gt;Fixes/Improvements:&lt;br /&gt;1) Fixed minor issues with CSS StripWhitespace function.&lt;br /&gt;2) Fixed minor issues with Javascript Minify function (now respects special comments as described by Yahoo Compressor documentation: http://developer.yahoo.com/yui/compressor/css.html).&lt;br /&gt;3) Fixed issue with delimited files containing $.&lt;br /&gt;4) Fixed issue in EmailSender if email addresses are empty/blank.&lt;br /&gt;5) Improved the IsIEnumerable function to remove redundant code.&lt;br /&gt;6) Rewrote SQLHelper class. Now uses DbFactories so more than just SQL Server is supported.&lt;br /&gt;7) Added better parameter handling to SQLHelper.&lt;br /&gt;8) Improved GetPropertyName function.&lt;br /&gt;9) Added automatic opening/closing of a connection on functions where it is required (SQLHelper)&lt;br /&gt;10) Added checks to SQLHelper for opening/closing a connection.&lt;br /&gt;11) Added check in SQLHelper that if a field wasn&amp;#39;t returned that the default value is instead returned.&lt;br /&gt;12) Fixed various issues in SQLServer class.&lt;br /&gt;&lt;br /&gt;Note that documentation and the simple example web app comes with UtilitiesFull and UtilitiesIndividualDLLs. Also note that the image found in the ExampleWebApp is the Lenna image, the spam corpus is from Bruce Guenter&amp;#39;s spam repository, and the real email corpus is from the Enron email dataset.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>JaCraig</author><pubDate>Wed, 20 Jul 2011 19:24:00 GMT</pubDate><guid isPermaLink="false">Created Release: Craig's Utility Library 2.2 (Jul 20, 2011) 20110720072400P</guid></item><item><title>Released: Craig's Utility Library 2.2 (Jul 20, 2011)</title><link>http://cul.codeplex.com/releases/view/70385</link><description>
&lt;div class="wikidoc"&gt;This update merges a number of projects into CUL along with adding a large amount of new functionality, bug fixes, etc. into the code base.&lt;br&gt;
&lt;br&gt;
Additions:&lt;br&gt;
1) CodeGen namespace, which helps with templated text/code generation.&lt;br&gt;
2) Added ability to set free/busy status of appointments.&lt;br&gt;
3) Added IsOfType function to tell if a specific type is a subtype of an interface/base class.&lt;br&gt;
4) Added GetPropertyName function that does a better job when the data type of the property is known.&lt;br&gt;
5) Added basic functions to DataTypeConversion class to convert between SqlDbType to .Net types and vice versa.&lt;br&gt;
6) Added IFluentInterface interface that can be used to hide the ToString, etc. functions.&lt;br&gt;
7) Added MicroORM set of classes, which acts as a simple object to relational mapper (similar to Dapper).&lt;br&gt;
8) Added the ability to run multiple queries in one go in SQLHelper with the NextResult function (skips to the next result set).&lt;br&gt;
9) Added ExecuteDataSet and ExecuteXmlReader functions for SQLHelper (to bring it more in line with the old SqlHelper class that Microsoft put out a while back).&lt;br&gt;
10) Added DbTypeToNetType and NetTypeToDbType functions that convert from DbType to .Net types and vice versa. (also added DbTypeToSqlDbType and SqlDbTypeToDbType to convert between SqlDbType and DbType)&lt;br&gt;
11) Simplified and merged ObjectCartographer project code. Now is housed in the Utilities.DataMapper namespace.&lt;br&gt;
12) Added GetPropertySetter and GetPropertyGetter functions to generate Func and Actions on the fly for a property.&lt;br&gt;
13) Added GetProperty function when type not known at compile time.&lt;br&gt;
14) Added ; as separator in EmailSender class.&lt;br&gt;
15) Added JSON serialization.&lt;br&gt;
16) Merged YABOV project code. Now is housed in the Utilities.Validation namespace.&lt;br&gt;
17) Merged Blammo.Net project code. Now is housed in the Utilities.IO.Logging namespace.&lt;br&gt;
18) Merged Gestalt.Net project code. Now is housed in the Utilities.Configuration namespace.&lt;br&gt;
19) Added function to FileManager that allows for setting attributes on a directory/files within it.&lt;br&gt;
20) Added function to Reflection class that creates one instance of all classes that it finds of a specific interface/base class.&lt;br&gt;
21) Added functions to load assemblies from a directory and create objects from a directory.&lt;br&gt;
22) Added ability to search for file types in FileManager.&lt;br&gt;
23) Merged Aspectus project code. Now housed in the Utilities.Reflection.AOP namespace.&lt;br&gt;
24) Merged DotCache project code. Now housed in the Utilities.Caching namespace.&lt;br&gt;
25) Merged Hateraide project code. Now housed in the Utilities.ORM namespace.&lt;br&gt;
26) Added generic version of ExecuteScaler function in SQLHelper.&lt;br&gt;
&lt;br&gt;
Fixes/Improvements:&lt;br&gt;
1) Fixed minor issues with CSS StripWhitespace function.&lt;br&gt;
2) Fixed minor issues with Javascript Minify function (now respects special comments as described by Yahoo Compressor documentation: http://developer.yahoo.com/yui/compressor/css.html).&lt;br&gt;
3) Fixed issue with delimited files containing $.&lt;br&gt;
4) Fixed issue in EmailSender if email addresses are empty/blank.&lt;br&gt;
5) Improved the IsIEnumerable function to remove redundant code.&lt;br&gt;
6) Rewrote SQLHelper class. Now uses DbFactories so more than just SQL Server is supported.&lt;br&gt;
7) Added better parameter handling to SQLHelper.&lt;br&gt;
8) Improved GetPropertyName function.&lt;br&gt;
9) Added automatic opening/closing of a connection on functions where it is required (SQLHelper)&lt;br&gt;
10) Added checks to SQLHelper for opening/closing a connection.&lt;br&gt;
11) Added check in SQLHelper that if a field wasn&amp;#39;t returned that the default value is instead returned.&lt;br&gt;
12) Fixed various issues in SQLServer class.&lt;br&gt;
&lt;br&gt;
Note that documentation and the simple example web app comes with UtilitiesFull and UtilitiesIndividualDLLs. Also note that the image found in the ExampleWebApp is the Lenna image, the spam corpus is from Bruce Guenter&amp;#39;s spam repository, and the real email
 corpus is from the Enron email dataset.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
</description><author></author><pubDate>Wed, 20 Jul 2011 19:24:00 GMT</pubDate><guid isPermaLink="false">Released: Craig's Utility Library 2.2 (Jul 20, 2011) 20110720072400P</guid></item><item><title>Created Release: Craig's Utility Library 2.1 (Mar 18, 2011)</title><link>http://cul.codeplex.com/releases?ReleaseId=62785</link><description>&lt;div class="wikidoc"&gt;This update contains the following functionality additions:
&lt;ul&gt;&lt;li&gt;Added Min and Max functions to MathHelper&lt;/li&gt;
&lt;li&gt;Added code for handling comments to BlogML code.&lt;/li&gt;
&lt;li&gt;Added WMI based file search ability (at present only searches based on file extension).&lt;/li&gt;
&lt;li&gt;Added CellularTexture class&lt;/li&gt;
&lt;li&gt;Added FaultFormation class&lt;/li&gt;
&lt;li&gt;Added PerlinNoise class&lt;/li&gt;
&lt;li&gt;Added Akismet helper classes&lt;/li&gt;
&lt;li&gt;Added Gravatar image link generator&lt;/li&gt;
&lt;li&gt;Added PipeDelimited class&lt;/li&gt;
&lt;li&gt;Added FaultFormation class&lt;/li&gt;
&lt;li&gt;Added FluvialErosion functions to Image class&lt;/li&gt;
&lt;li&gt;Added ThermalErosion functions to Image class&lt;/li&gt;
&lt;li&gt;Added Turbulence functions to Image class&lt;/li&gt;
&lt;li&gt;Added MidpointDisplacement class&lt;/li&gt;
&lt;li&gt;Added Delimited file helper&lt;/li&gt;
&lt;li&gt;Added StopWatch class to Profiler namespace (which is now being used within the profiler class)&lt;/li&gt;
&lt;li&gt;Added functions to Reflection class to check if something is of a specific type&lt;/li&gt;
&lt;li&gt;Added args parser class&lt;/li&gt;
&lt;li&gt;Added Exists function to Factory class&lt;/li&gt;
&lt;li&gt;Added OS code to WMI query (at present only queries up time).&lt;/li&gt;
&lt;li&gt;Added ability to get/set indexed values in LDAP.&lt;/li&gt;
&lt;li&gt;Added Between function in MathHelper class&lt;/li&gt;
&lt;li&gt;Added zip file capabilities.&lt;/li&gt;
&lt;li&gt;Added generic IEqualityComparer and IComparer code.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Also a number of improvements and fixes are included in this release:
&lt;ul&gt;&lt;li&gt;Added argument checking to a number of classes&lt;/li&gt;
&lt;li&gt;Refactored ProcessManager and Reflection class&lt;/li&gt;
&lt;li&gt;Changed CSV to use Delimited class&lt;/li&gt;
&lt;li&gt;Updated CSS StripWhitespace function when encountering &amp;amp;nbsp;&lt;/li&gt;
&lt;li&gt;Updated HTML RemoveIllegalCharacters (was not removing extra hyphens correctly)&lt;/li&gt;
&lt;li&gt;Updated Javascript Minify function when encountering &amp;amp;nbsp;&lt;/li&gt;
&lt;li&gt;Updated Left/Right functions in StringHelper to handle values entered greater than the string length.&lt;/li&gt;
&lt;li&gt;Updated NaiveBayes class to work a bit faster and added a couple of properties to make it a bit more customizable.&lt;/li&gt;
&lt;li&gt;Removed/sorted usings of emit classes&lt;/li&gt;
&lt;li&gt;Fixed issue if node in BTree is null.&lt;/li&gt;
&lt;li&gt;Fixed spelling error in VernamEncryption class.&lt;/li&gt;
&lt;li&gt;Cleaned up code a bit&lt;/li&gt;
&lt;li&gt;Improved CSS StripWhiteSpace function&lt;/li&gt;
&lt;li&gt;Improved Javascript Minify function&lt;/li&gt;
&lt;li&gt;Cleaned up code base a bit.&lt;/li&gt;
&lt;li&gt;Updated argument checking in various classes.&lt;/li&gt;
&lt;li&gt;Fixed Youtube GetMovie function.&lt;/li&gt;
&lt;li&gt;Fixed error when dealing with binary data in FileManager.&lt;/li&gt;
&lt;li&gt;Fixed issues with MakeShallowCopy when a property does not contain a set function.&lt;/li&gt;
&lt;li&gt;Fixed minor issues with RSS helper classes.&lt;/li&gt;
&lt;li&gt;Moved procedural image generators to appropriate spots&lt;/li&gt;
&lt;li&gt;Fixed Delimiter class to make it more obvious to override Delimiter property&lt;/li&gt;
&lt;li&gt;Various fixes/changes to Reflection.Emit helper classes including:
&lt;ul&gt;&lt;li&gt;Added ability to call constructors on base classes&lt;/li&gt;
&lt;li&gt;Added checks in If, ElseIf, and While classes if a constant is sent in&lt;/li&gt;
&lt;li&gt;Added ability to call static functions (by passing null for the object to Call)&lt;/li&gt;
&lt;li&gt;Added boolean type to ConstantBuilder.&lt;/li&gt;
&lt;li&gt;PropertyBuilder and DefaultPropertyBuilder now load themselves properly when calling a function on them.&lt;/li&gt;
&lt;li&gt;PropertyBuilder and DefaultPropertyBuilder now are called properly when not virtual&lt;/li&gt;
&lt;li&gt;Added check in EnumBuilder and TypeBuilder to see if they&amp;#39;ve been created before (and to not create them if they have).&lt;/li&gt;
&lt;li&gt;Improved code a bit so that it will work under Medium trust on a web app.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Note that documentation and the simple example web app comes with UtilitiesFull and UtilitiesIndividualDLLs. However, the examples web app is rather basic (more examples will be added with time) and will be updated on its own. Note that the image found in the ExampleWebApp is the Lenna image, the spam corpus is from Bruce Guenter&amp;#39;s spam repository, and the real email corpus is from the Enron email dataset.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>JaCraig</author><pubDate>Fri, 18 Mar 2011 14:35:52 GMT</pubDate><guid isPermaLink="false">Created Release: Craig's Utility Library 2.1 (Mar 18, 2011) 20110318023552P</guid></item><item><title>Released: Craig's Utility Library 2.1 (Mar 18, 2011)</title><link>http://cul.codeplex.com/releases/view/62785</link><description>
&lt;div class="wikidoc"&gt;This update contains the following functionality additions:
&lt;ul&gt;
&lt;li&gt;Added Min and Max functions to MathHelper &lt;/li&gt;&lt;li&gt;Added code for handling comments to BlogML code. &lt;/li&gt;&lt;li&gt;Added WMI based file search ability (at present only searches based on file extension).
&lt;/li&gt;&lt;li&gt;Added CellularTexture class &lt;/li&gt;&lt;li&gt;Added FaultFormation class &lt;/li&gt;&lt;li&gt;Added PerlinNoise class &lt;/li&gt;&lt;li&gt;Added Akismet helper classes &lt;/li&gt;&lt;li&gt;Added Gravatar image link generator &lt;/li&gt;&lt;li&gt;Added PipeDelimited class &lt;/li&gt;&lt;li&gt;Added FaultFormation class &lt;/li&gt;&lt;li&gt;Added FluvialErosion functions to Image class &lt;/li&gt;&lt;li&gt;Added ThermalErosion functions to Image class &lt;/li&gt;&lt;li&gt;Added Turbulence functions to Image class &lt;/li&gt;&lt;li&gt;Added MidpointDisplacement class &lt;/li&gt;&lt;li&gt;Added Delimited file helper &lt;/li&gt;&lt;li&gt;Added StopWatch class to Profiler namespace (which is now being used within the profiler class)
&lt;/li&gt;&lt;li&gt;Added functions to Reflection class to check if something is of a specific type
&lt;/li&gt;&lt;li&gt;Added args parser class &lt;/li&gt;&lt;li&gt;Added Exists function to Factory class &lt;/li&gt;&lt;li&gt;Added OS code to WMI query (at present only queries up time). &lt;/li&gt;&lt;li&gt;Added ability to get/set indexed values in LDAP. &lt;/li&gt;&lt;li&gt;Added Between function in MathHelper class &lt;/li&gt;&lt;li&gt;Added zip file capabilities. &lt;/li&gt;&lt;li&gt;Added generic IEqualityComparer and IComparer code.&lt;/li&gt;&lt;/ul&gt;
&lt;br&gt;
Also a number of improvements and fixes are included in this release:
&lt;ul&gt;
&lt;li&gt;Added argument checking to a number of classes &lt;/li&gt;&lt;li&gt;Refactored ProcessManager and Reflection class &lt;/li&gt;&lt;li&gt;Changed CSV to use Delimited class &lt;/li&gt;&lt;li&gt;Updated CSS StripWhitespace function when encountering &amp;amp;nbsp; &lt;/li&gt;&lt;li&gt;Updated HTML RemoveIllegalCharacters (was not removing extra hyphens correctly)
&lt;/li&gt;&lt;li&gt;Updated Javascript Minify function when encountering &amp;amp;nbsp; &lt;/li&gt;&lt;li&gt;Updated Left/Right functions in StringHelper to handle values entered greater than the string length.
&lt;/li&gt;&lt;li&gt;Updated NaiveBayes class to work a bit faster and added a couple of properties to make it a bit more customizable.
&lt;/li&gt;&lt;li&gt;Removed/sorted usings of emit classes &lt;/li&gt;&lt;li&gt;Fixed issue if node in BTree is null. &lt;/li&gt;&lt;li&gt;Fixed spelling error in VernamEncryption class. &lt;/li&gt;&lt;li&gt;Cleaned up code a bit &lt;/li&gt;&lt;li&gt;Improved CSS StripWhiteSpace function &lt;/li&gt;&lt;li&gt;Improved Javascript Minify function &lt;/li&gt;&lt;li&gt;Cleaned up code base a bit. &lt;/li&gt;&lt;li&gt;Updated argument checking in various classes. &lt;/li&gt;&lt;li&gt;Fixed Youtube GetMovie function. &lt;/li&gt;&lt;li&gt;Fixed error when dealing with binary data in FileManager. &lt;/li&gt;&lt;li&gt;Fixed issues with MakeShallowCopy when a property does not contain a set function.
&lt;/li&gt;&lt;li&gt;Fixed minor issues with RSS helper classes. &lt;/li&gt;&lt;li&gt;Moved procedural image generators to appropriate spots &lt;/li&gt;&lt;li&gt;Fixed Delimiter class to make it more obvious to override Delimiter property &lt;/li&gt;&lt;li&gt;Various fixes/changes to Reflection.Emit helper classes including:
&lt;ul&gt;
&lt;li&gt;Added ability to call constructors on base classes &lt;/li&gt;&lt;li&gt;Added checks in If, ElseIf, and While classes if a constant is sent in &lt;/li&gt;&lt;li&gt;Added ability to call static functions (by passing null for the object to Call)
&lt;/li&gt;&lt;li&gt;Added boolean type to ConstantBuilder. &lt;/li&gt;&lt;li&gt;PropertyBuilder and DefaultPropertyBuilder now load themselves properly when calling a function on them.
&lt;/li&gt;&lt;li&gt;PropertyBuilder and DefaultPropertyBuilder now are called properly when not virtual
&lt;/li&gt;&lt;li&gt;Added check in EnumBuilder and TypeBuilder to see if they&amp;#39;ve been created before (and to not create them if they have).
&lt;/li&gt;&lt;li&gt;Improved code a bit so that it will work under Medium trust on a web app.&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;br&gt;
Note that documentation and the simple example web app comes with UtilitiesFull and UtilitiesIndividualDLLs. However, the examples web app is rather basic (more examples will be added with time) and will be updated on its own. Note that the image found in the
 ExampleWebApp is the Lenna image, the spam corpus is from Bruce Guenter&amp;#39;s spam repository, and the real email corpus is from the Enron email dataset.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
</description><author></author><pubDate>Fri, 18 Mar 2011 14:35:52 GMT</pubDate><guid isPermaLink="false">Released: Craig's Utility Library 2.1 (Mar 18, 2011) 20110318023552P</guid></item><item><title>Created Release: Craig's Utility Library Code 2.0 (Nov 16, 2010)</title><link>http://cul.codeplex.com/releases?ReleaseId=55820</link><description>&lt;div class="wikidoc"&gt;This update contains a number of changes, added functionality, and bug fixes:
&lt;ul&gt;&lt;li&gt;Added transaction support to SQLHelper.&lt;/li&gt;
&lt;li&gt;Added linked/embedded resource ability to EmailSender.&lt;/li&gt;
&lt;li&gt;Updated List to take into account new functions.&lt;/li&gt;
&lt;li&gt;Added better support for MAC address in WMI classes.&lt;/li&gt;
&lt;li&gt;Fixed Parsing in Reflection class when dealing with sub classes.&lt;/li&gt;
&lt;li&gt;Fixed bug in SQLHelper when replacing the Command that is a select after doing a select.&lt;/li&gt;
&lt;li&gt;Fixed issue in SQL Server helper with regard to generating foreign keys when updating a database.&lt;/li&gt;
&lt;li&gt;Fixed minor issue with database creation in SQL Server class&lt;/li&gt;
&lt;li&gt;Added Clamp function to math helper&lt;/li&gt;
&lt;li&gt;Added major speed increases to Filter, RGBHistogram, and all other Image classes&lt;/li&gt;
&lt;li&gt;Added ColorMatrix class&lt;/li&gt;
&lt;li&gt;Improved FileManager to deal with potential memory leaks (WebClient now returned in certain functions so it can be disposed)&lt;/li&gt;
&lt;li&gt;ProfilerManager now uses singleton class.&lt;/li&gt;
&lt;li&gt;Added fix for Pop3Client when getting list of messages when the total found is 0.&lt;/li&gt;
&lt;li&gt;Added Conversion class (currently only houses temp functions &lt;a href="http://cul.codeplex.com/wikipage?title=F%20to%20C%2c%20etc."&gt;F to C, etc.&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Added functions to StringHelper for detecting unicode.&lt;/li&gt;
&lt;li&gt;Added functions to DataTypeConversion to convert from ASCII, unicode, etc. to byte array and vice versa.&lt;/li&gt;
&lt;li&gt;Added Factorial function&lt;/li&gt;
&lt;li&gt;Added code to generate embedded Youtube videos.&lt;/li&gt;
&lt;li&gt;Added Permutation class helper&lt;/li&gt;
&lt;li&gt;Added Sobel and Laplace edge detection code.&lt;/li&gt;
&lt;li&gt;Added OpenID relay code&lt;/li&gt;
&lt;li&gt;Switched some locations to https from http in Twitter class.&lt;/li&gt;
&lt;li&gt;Added iCal support&lt;/li&gt;
&lt;li&gt;Added helper classes for dealing with the System.Reflection.Emit namespace&lt;/li&gt;
&lt;li&gt;Cleaned up the code a bit (removed unneccessary code, etc.)&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;This release, like the last comes in a couple of versions. The full version, divided into individual DLLs version, and one that contains only the DLLs and documentation.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>JaCraig</author><pubDate>Tue, 16 Nov 2010 18:24:57 GMT</pubDate><guid isPermaLink="false">Created Release: Craig's Utility Library Code 2.0 (Nov 16, 2010) 20101116062457P</guid></item><item><title>Released: Craig's Utility Library Code 2.0 (Nov 16, 2010)</title><link>http://cul.codeplex.com/releases/view/55820</link><description>
&lt;div class="wikidoc"&gt;This update contains a number of changes, added functionality, and bug fixes:
&lt;ul&gt;
&lt;li&gt;Added transaction support to SQLHelper. &lt;/li&gt;&lt;li&gt;Added linked/embedded resource ability to EmailSender. &lt;/li&gt;&lt;li&gt;Updated List to take into account new functions. &lt;/li&gt;&lt;li&gt;Added better support for MAC address in WMI classes. &lt;/li&gt;&lt;li&gt;Fixed Parsing in Reflection class when dealing with sub classes. &lt;/li&gt;&lt;li&gt;Fixed bug in SQLHelper when replacing the Command that is a select after doing a select.
&lt;/li&gt;&lt;li&gt;Fixed issue in SQL Server helper with regard to generating foreign keys when updating a database.
&lt;/li&gt;&lt;li&gt;Fixed minor issue with database creation in SQL Server class &lt;/li&gt;&lt;li&gt;Added Clamp function to math helper &lt;/li&gt;&lt;li&gt;Added major speed increases to Filter, RGBHistogram, and all other Image classes
&lt;/li&gt;&lt;li&gt;Added ColorMatrix class &lt;/li&gt;&lt;li&gt;Improved FileManager to deal with potential memory leaks (WebClient now returned in certain functions so it can be disposed)
&lt;/li&gt;&lt;li&gt;ProfilerManager now uses singleton class. &lt;/li&gt;&lt;li&gt;Added fix for Pop3Client when getting list of messages when the total found is 0.
&lt;/li&gt;&lt;li&gt;Added Conversion class (currently only houses temp functions &lt;a href="http://cul.codeplex.com/wikipage?title=F%20to%20C%2c%20etc."&gt;
F to C, etc.&lt;/a&gt;) &lt;/li&gt;&lt;li&gt;Added functions to StringHelper for detecting unicode. &lt;/li&gt;&lt;li&gt;Added functions to DataTypeConversion to convert from ASCII, unicode, etc. to byte array and vice versa.
&lt;/li&gt;&lt;li&gt;Added Factorial function &lt;/li&gt;&lt;li&gt;Added code to generate embedded Youtube videos. &lt;/li&gt;&lt;li&gt;Added Permutation class helper &lt;/li&gt;&lt;li&gt;Added Sobel and Laplace edge detection code. &lt;/li&gt;&lt;li&gt;Added OpenID relay code &lt;/li&gt;&lt;li&gt;Switched some locations to https from http in Twitter class. &lt;/li&gt;&lt;li&gt;Added iCal support &lt;/li&gt;&lt;li&gt;Added helper classes for dealing with the System.Reflection.Emit namespace &lt;/li&gt;&lt;li&gt;Cleaned up the code a bit (removed unneccessary code, etc.)&lt;/li&gt;&lt;/ul&gt;
&lt;br&gt;
This release, like the last comes in a couple of versions. The full version, divided into individual DLLs version, and one that contains only the DLLs and documentation.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
</description><author></author><pubDate>Tue, 16 Nov 2010 18:24:57 GMT</pubDate><guid isPermaLink="false">Released: Craig's Utility Library Code 2.0 (Nov 16, 2010) 20101116062457P</guid></item><item><title>Created Release: Craig's Utility Library Code 1.9 (Jul 15, 2010)</title><link>http://cul.codeplex.com/releases?ReleaseId=49030</link><description>&lt;div class="wikidoc"&gt;This update now comes in three versions. The first is the full version. This is the same setup as all previous versions (one big download, documentation, and one DLL for debug and one for release). The second version is CUL divided into its various sections. As such each sub namespace (IO, Media, etc.) are there own DLL. This is in case you wish to only use a portion of the code and wish to cut down on the size of your end product (note that some of the DLLs depend on each other, so make sure to check what is referenced by each DLL). The third version is simply all of the DLLs and the documentation.&lt;br /&gt;&lt;br /&gt;Past that, this update contains a number of changes and added functionality:
&lt;ul&gt;&lt;li&gt;Project is now updated for Visual Studio 2010.&lt;/li&gt;
&lt;li&gt;FileManager and Serialization classes moved to IO namespace.&lt;/li&gt;
&lt;li&gt;Reflection class moved to Reflection namespace.&lt;/li&gt;
&lt;li&gt;Added WMI helper class for network and local information searching.&lt;/li&gt;
&lt;li&gt;Ping class now uses Microsoft&amp;#39;s built in ping classes.&lt;/li&gt;
&lt;li&gt;Many classes rewritten for better readability&lt;/li&gt;
&lt;li&gt;Redundant code removed from FileManager (optional parameters now used instead).&lt;/li&gt;
&lt;li&gt;Reflection class contains many new functions (directory searching for types/assemblies, etc.)&lt;/li&gt;
&lt;li&gt;Helper classes for Cisco phone development now added.&lt;/li&gt;
&lt;li&gt;SQL Server helper classes added for analyzing the structure of a database, converting a database to instructions, and comparing databases and outputting instructions to get them structurally equivalent (with the exception of drops, removing columns, etc.)&lt;/li&gt;
&lt;li&gt;Added spell check capability using Bing.&lt;/li&gt;
&lt;li&gt;Added new functionality for StringHelper class&lt;/li&gt;
&lt;li&gt;LDAP helper now has ability to search for computers.&lt;/li&gt;
&lt;li&gt;Added ability to serialize an object if the object&amp;#39;s type is not known at compile time (IL generated objects, etc.)&lt;/li&gt;
&lt;li&gt;Sleep function added for worker threads.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;It also contains an assortment of bug fixes:
&lt;ul&gt;&lt;li&gt;Fixed issue with StringHelper&amp;#39;s Left function&lt;/li&gt;
&lt;li&gt;Fixed StringField class&lt;/li&gt;
&lt;li&gt;EmailSender bug fixed if CC/BCC not set.&lt;/li&gt;
&lt;li&gt;Fixed minor issue with WebBrowserHelper&lt;/li&gt;
&lt;li&gt;Error catching improved in the library&lt;/li&gt;
&lt;li&gt;Added better data protection and memory management for encryption classes&lt;/li&gt;
&lt;li&gt;Fixed possible error if string entered into encryption classes is empty.&lt;/li&gt;
&lt;li&gt;Fixed potential locking issue in singleton class&lt;/li&gt;
&lt;li&gt;Fixed minor XML serialization issues.&lt;/li&gt;
&lt;li&gt;Fixed issue with HTML minification in case of null text.&lt;/li&gt;
&lt;li&gt;Fixed issue with CSV file reader&lt;/li&gt;
&lt;li&gt;Fixed issue with image resizing.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Plus a number of other new items/fixes.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>JaCraig</author><pubDate>Thu, 15 Jul 2010 20:40:14 GMT</pubDate><guid isPermaLink="false">Created Release: Craig's Utility Library Code 1.9 (Jul 15, 2010) 20100715084014P</guid></item><item><title>Released: Craig's Utility Library Code 1.9 (Jul 15, 2010)</title><link>http://cul.codeplex.com/releases/view/49030</link><description>&lt;div&gt;This update now comes in three versions. The first is the full version. This is the same setup as all previous versions (one big download, documentation, and one DLL for debug and one for release). The second version is CUL divided into its various sections. As such each sub namespace (IO, Media, etc.) are there own DLL. This is in case you wish to only use a portion of the code and wish to cut down on the size of your end product (note that some of the DLLs depend on each other, so make sure to check what is referenced by each DLL). The third version is simply all of the DLLs and the documentation.&lt;br&gt;&lt;br&gt;Past that, this update contains a number of changes and added functionality:
&lt;ul&gt;&lt;li&gt;Project is now updated for Visual Studio 2010.&lt;/li&gt;
&lt;li&gt;FileManager and Serialization classes moved to IO namespace.&lt;/li&gt;
&lt;li&gt;Reflection class moved to Reflection namespace.&lt;/li&gt;
&lt;li&gt;Added WMI helper class for network and local information searching.&lt;/li&gt;
&lt;li&gt;Ping class now uses Microsoft&amp;#39;s built in ping classes.&lt;/li&gt;
&lt;li&gt;Many classes rewritten for better readability&lt;/li&gt;
&lt;li&gt;Redundant code removed from FileManager (optional parameters now used instead).&lt;/li&gt;
&lt;li&gt;Reflection class contains many new functions (directory searching for types/assemblies, etc.)&lt;/li&gt;
&lt;li&gt;Helper classes for Cisco phone development now added.&lt;/li&gt;
&lt;li&gt;SQL Server helper classes added for analyzing the structure of a database, converting a database to instructions, and comparing databases and outputting instructions to get them structurally equivalent (with the exception of drops, removing columns, etc.)&lt;/li&gt;
&lt;li&gt;Added spell check capability using Bing.&lt;/li&gt;
&lt;li&gt;Added new functionality for StringHelper class&lt;/li&gt;
&lt;li&gt;LDAP helper now has ability to search for computers.&lt;/li&gt;
&lt;li&gt;Added ability to serialize an object if the object&amp;#39;s type is not known at compile time (IL generated objects, etc.)&lt;/li&gt;
&lt;li&gt;Sleep function added for worker threads.&lt;/li&gt;&lt;/ul&gt;
&lt;br&gt;It also contains an assortment of bug fixes:
&lt;ul&gt;&lt;li&gt;Fixed issue with StringHelper&amp;#39;s Left function&lt;/li&gt;
&lt;li&gt;Fixed StringField class&lt;/li&gt;
&lt;li&gt;EmailSender bug fixed if CC/BCC not set.&lt;/li&gt;
&lt;li&gt;Fixed minor issue with WebBrowserHelper&lt;/li&gt;
&lt;li&gt;Error catching improved in the library&lt;/li&gt;
&lt;li&gt;Added better data protection and memory management for encryption classes&lt;/li&gt;
&lt;li&gt;Fixed possible error if string entered into encryption classes is empty.&lt;/li&gt;
&lt;li&gt;Fixed potential locking issue in singleton class&lt;/li&gt;
&lt;li&gt;Fixed minor XML serialization issues.&lt;/li&gt;
&lt;li&gt;Fixed issue with HTML minification in case of null text.&lt;/li&gt;
&lt;li&gt;Fixed issue with CSV file reader&lt;/li&gt;
&lt;li&gt;Fixed issue with image resizing.&lt;/li&gt;&lt;/ul&gt;
&lt;br&gt;Plus a number of other new items/fixes.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;</description><author></author><pubDate>Thu, 15 Jul 2010 20:40:14 GMT</pubDate><guid isPermaLink="false">Released: Craig's Utility Library Code 1.9 (Jul 15, 2010) 20100715084014P</guid></item><item><title>Created Release: Craig's Utility Library Code 1.8 (Jan 12, 2010)</title><link>http://cul.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=38621</link><description>&lt;div class="wikidoc"&gt;This update contains multiple tweeks/fixes for a number of components including the following classes:
&lt;ul&gt;&lt;li&gt;Worker class - switched worker class to work as a background thread.&lt;/li&gt;
&lt;li&gt;RSSHelper - did some basic changes to fix issues if you are working in something other than a web app.&lt;/li&gt;
&lt;li&gt;Netflix/OAuth helpers - updated the interface to make things simpler&lt;/li&gt;
&lt;li&gt;CSV - Added fix for fields that are quoted text.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;It also contains the following additions:
&lt;ul&gt;&lt;li&gt;Twitter helper - allows for posting of items to twitter, app authorization, etc.&lt;/li&gt;
&lt;li&gt;REST helper - acts as a wrapper and makes REST calls a little simpler.&lt;/li&gt;
&lt;li&gt;Functions added to Reflection class to help with loading of assemblies not in the bin/GAC and getting types from them.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>JaCraig</author><pubDate>Tue, 12 Jan 2010 16:53:25 GMT</pubDate><guid isPermaLink="false">Created Release: Craig's Utility Library Code 1.8 (Jan 12, 2010) 20100112045325P</guid></item><item><title>Released: Craig's Utility Library Code 1.8 (Jan 12, 2010)</title><link>http://cul.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=38621</link><description>&lt;div&gt;This update contains multiple tweeks/fixes for a number of components including the following classes:
&lt;ul&gt;&lt;li&gt;Worker class - switched worker class to work as a background thread.&lt;/li&gt;
&lt;li&gt;RSSHelper - did some basic changes to fix issues if you are working in something other than a web app.&lt;/li&gt;
&lt;li&gt;Netflix/OAuth helpers - updated the interface to make things simpler&lt;/li&gt;
&lt;li&gt;CSV - Added fix for fields that are quoted text.&lt;/li&gt;&lt;/ul&gt;
&lt;br&gt;It also contains the following additions:
&lt;ul&gt;&lt;li&gt;Twitter helper - allows for posting of items to twitter, app authorization, etc.&lt;/li&gt;
&lt;li&gt;REST helper - acts as a wrapper and makes REST calls a little simpler.&lt;/li&gt;
&lt;li&gt;Functions added to Reflection class to help with loading of assemblies not in the bin/GAC and getting types from them.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;</description><author></author><pubDate>Tue, 12 Jan 2010 16:53:25 GMT</pubDate><guid isPermaLink="false">Released: Craig's Utility Library Code 1.8 (Jan 12, 2010) 20100112045325P</guid></item><item><title>Created Release: Craig's Utility Library Code 1.7 (Nov 03, 2009)</title><link>http://cul.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=35375</link><description>&lt;div class="wikidoc"&gt;This release contains a couple fixes, specifically memory leaks should now be fixed (IDisposable is implemented now where needed). On top of that the following additions have been created:
&lt;ul&gt;&lt;li&gt;Naive Bayes classifier added.&lt;/li&gt;
&lt;li&gt;The following data types added:
&lt;ul&gt;&lt;li&gt;Priority queue&lt;/li&gt;
&lt;li&gt;BTree&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Speech recognition helper added&lt;/li&gt;
&lt;li&gt;Speech synthesis helper added&lt;/li&gt;
&lt;li&gt;Multi threading helper added&lt;/li&gt;
&lt;li&gt;Added class for searching Craigslist&lt;/li&gt;
&lt;li&gt;Added class for searching eBay&lt;/li&gt;
&lt;li&gt;Ping class added&lt;/li&gt;
&lt;li&gt;Pingback/Trackback classes moved to different namespace&lt;/li&gt;
&lt;li&gt;Fixed YouTube file downloading to work with new site update.&lt;/li&gt;
&lt;li&gt;Updated some of the internal code of various classes to take advantage of new functions that have been added.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>JaCraig</author><pubDate>Tue, 03 Nov 2009 17:04:17 GMT</pubDate><guid isPermaLink="false">Created Release: Craig's Utility Library Code 1.7 (Nov 03, 2009) 20091103050417P</guid></item><item><title>Released: Craig's Utility Library Code 1.7 (Nov 03, 2009)</title><link>http://cul.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=35375</link><description>&lt;div&gt;This release contains a couple fixes, specifically memory leaks should now be fixed (IDisposable is implemented now where needed). On top of that the following additions have been created:
&lt;ul&gt;&lt;li&gt;Naive Bayes classifier added.&lt;/li&gt;
&lt;li&gt;The following data types added:
&lt;ul&gt;&lt;li&gt;Priority queue&lt;/li&gt;
&lt;li&gt;BTree&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Speech recognition helper added&lt;/li&gt;
&lt;li&gt;Speech synthesis helper added&lt;/li&gt;
&lt;li&gt;Multi threading helper added&lt;/li&gt;
&lt;li&gt;Added class for searching Craigslist&lt;/li&gt;
&lt;li&gt;Added class for searching eBay&lt;/li&gt;
&lt;li&gt;Ping class added&lt;/li&gt;
&lt;li&gt;Pingback/Trackback classes moved to different namespace&lt;/li&gt;
&lt;li&gt;Fixed YouTube file downloading to work with new site update.&lt;/li&gt;
&lt;li&gt;Updated some of the internal code of various classes to take advantage of new functions that have been added.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;</description><author></author><pubDate>Tue, 03 Nov 2009 17:04:17 GMT</pubDate><guid isPermaLink="false">Released: Craig's Utility Library Code 1.7 (Nov 03, 2009) 20091103050417P</guid></item></channel></rss>