All releases of CrissCross


Release Notes: Most of the changes are miscellaneous bugfixes, though there are a couple of which developers should take note. The trees no longer allow duplicate keys. A Quadtree class has been added to facilitate nearest neighbor searches. Mutexes have been rewritten and are infinitely more useful.


Release Notes: The old build system was removed in favor of CMake. A few memory leaks have been fixed in CPUID. Support has been added for DEC Alpha and Sun SPARC (running Linux). 'flushArray' and 'flush' have been added to DArray to allow for simpler deletion of contained data. Stopwatch::Clocks() has been removed because only Windows seemed to have decent support. HashTable is now usable and is no longer considered experimental. A major findRecursive() bug (in which the result might not actually be found) has been corrected in AVLTree, RedBlackTree, and SplayTree. The test suite is now a bit more zealous about checking everything.


Release Notes: TCPSockets have been generally overhauled after lots of practical use of them in ARC++. GenerateBuildNumber.exe is now statically linked to eliminate dependencies. Stopwatch now calls Start() on initialization. The largely unimplemented "ban" system in sockets has been removed. The internal strdup macro has been renamed to cc_strdup to avoid conflicts. A critical bug in RedBlackTree where a null pointer was dereferenced has been fixed. A bug in AVLTree where the size may have been incorrectly reported has been fixed. A few compiler warnings have been fixed. ThreadSleep on Mac OS X has been fixed.


Release Notes: MD2, MD4, MD5, SHA-1, SHA-256, SHA-512, and Tiger hash methods were added. Nintendo DS console application support is now available through devKitARM. CPUID was updated to detect features listed in the December 2007 Intel CPUID spec. A major (but rarely occurring) AVLTree flaw has been corrected.


Release Notes: Visual Studio 2008 support added. CPUID now detects AMD cache descriptors. The ConvertToDArray and ConvertIndexToDArray functions were optimized, so the deprecation notice was removed. Stopwatch was fixed on FreeBSD, NetBSD, and OpenBSD. AVLTree, SplayTree, ShellSort, InsertionSort, and BubbleSort were added (the last two for educational purposes only). A basic HashTable implementation was added. AVLTree, RedBlackTree, and SplayTree have close-to-identical (if not perfectly identical) APIs. Some "using namespace" statements that were causing hard-to-detect errors were cleaned up. Many minor fixes were made.


Release Notes: CrissCross::Data::Compare now can compare C-style strings. An x64 target was added for Visual Studio 2005 projects. The crisscross/crisscross.h file was added, which basically includes every common CrissCross header. RedBlackTree now works with char* string keys. The DStack::peek() function was added. XCrashReports support was added for release builds. A few more cache descriptors were added to CPUID (Core 2 related ones). FastestSort and MemoryEfficientSort aliases were added by request.


Release Notes: The CrissCross test suite was added, which tests a majority of the features. QuickSort and CombSort were added. A Visual C++ 2003 project was added. An XCode project was added. New CoreIOReader ReadLine was added. Flush was added in CoreIOWriter::Write, since some platforms wouldn't display written data until a newline. Winsock 2.2 is now used in Windows builds. Various UDPSocket functions no longer return false errors. CrissCross::Data::Compare is now a template function. A dangerous flaw in the Stopwatch class causing a crash and a bad compile was corrected.


Release Notes: CoreIO was split into CoreIOReader and CoreIOWriter. CoreConsole now accepts input. CoreIOReader and CoreIOWriter check if the file is open before attempting read or write operations. Makefiles were improved and Visual C++ 6 project files were added. Data structures were moved to the main include directory. Including CrissCross files with #include <crisscross/foo> now works properly. CPUID now detects SSSE3 (Supplemental SSE3 instructions) and CMP (Core Multi Processing, a.k.a. dual core). Sockets were heavily edited and the TCPSocket::Accept() syntax was changed.


Release Notes: Makefiles have been fixed to work on any previously non-working platforms (OS X, mainly). CPUID is disabled on *BSD. Since BSD lacks affinity control, CPUID doesn't work properly.


Release Notes: Much of the existing code was disorganized, and so was recategorized into other namespaces. Documentation is fairly complete now. Functions in CoreConsole that previously did nothing on non-Windows platforms now do what they should. UTF-8 support was partially implemented and is untested.
An inventory and tracking system for technical resources maintenance management.