+- Fix some strict aliasing rule violation on older compilers
+- Fix some variable initializers on older compilers
+- Replace DARWIN macro with compiler predefined macro __APPLE__
+- Replace LINUX macro with compiler predefined macro __linux__
+- Allow the use of enc_id == 0 in hash-mode 10600 and 10700 as it takes no part in the actual computation
+- Get rid of exit() calls in OpenCL wrapper library with the goal to have a better control which error can be ignored under special circumstances
+- Do not error and exit if an OpenCL platform has no devices, just print a warning and continue with the next platform
+- Workaround for OpenCL runtimes which do not accept -I parameter in the OpenCL kernel build options even if this is an OpenCL standard option
+- Workaround for OpenCL runtimes which do accept -I parameter in the OpenCL kernel build options, but do not allow quotes
+- Output cracked hashes on Windows using \r\n and not \n
+- Replace RegGetValue() with RegQueryValueEx() to enable Windows XP 32 bit compatibility
+- Slightly increased NVidias rule-processing performance by using generic instructions instead of byte_perm()
+- Add support for @ rule (RULE_OP_MANGLE_PURGECHAR) to use on GPU