Darksky,
You can find, at 
http://www.ccsinfo.com/devices.php?page=versioninfo a table that indicates the latest features and solved previous issues.
The main differences are:
 4.001  Initial release of the version 4 compiler, see 
www.ccsinfo.com/V4 4.004  An error 103 for some installations when using within MPLAB is now fixed
 4.004  Some error messages relating to overloaded functions are fixed
 4.004  Some missing Wizard files are now included in the build
 4.004  The IDE no longer saves files not modified for a save-all or compile
 4.004  Various glitches reported for both the IDE and compiler have been corrected
 4.005  Reported bugs have been fixed concerning default parametters, and overloaded functions
 4.005  A problem with arithmetic on fixed point data types is fixed
 4.006  Some wizard bugs have been fixed
 4.006  Some issues with the debugger windows is now fixed
 4.006  A problem with initializers is fixed
 4.007  The debugger mouse-over problem is fixed
 4.007  Some syntax errors with #USE are fixed
 4.008  A "Can not focus" error when starting PCW is fixed
 4.009  An internal error message is now fixed
 4.009  Several IDE issues have been cleaned up
 4.009  A problem dealing with constants in a switch statement is fixed
 4.009  An error for large constant arrays in PCM is now fixed
 4.010  Fixed a bug with the RS232 timeout feature
 4.010  A memory allocation bug involving local bit arrays is fixed
 4.010  Support for real tabs added to the IDE
 4.011  A number of error messages have been improved
 4.011  Some reported problems with the IDE have been corrected
 4.011  A problem passing bit arrays is now fixed
 4.012  A number of IDE issues have been fixed, more are comming
 4.012  A type conversion problem with some >> operations is fixed
 4.012  A new method to calcualte a ROM checksum for PIC16 is added (see ex_checksum.c)
 4.013  Fixed a bug in PCM concerning some bit arrays
 4.013  Configuration word for 12 bit parts has been moved for MPLAB
 4.013  A post increment problem with 1 bit data types is fixed
 4.014  A problem using ZERO_RAM and ICD=TRUE together on some PIC18 parts is fixed
 4.014  Sending a constant string to functions with a char param no longer sends an extra byte
 4.014  The reserved bits in the configuration words are now set correctly
 4.014  Constant data structure names now appear in the .SYM file in the ROM section
 4.015  A number of IDE issues have been fixed, more are comming
 4.015  An error message problem with very large programs is fixed
 4.016  An access violation error in the IDE is fixed
 4.017  Several IDE issues have been fixed
 4.017  Updates made for the newest chips
 4.018  A problem with the registers used by SETUP_CCPx for some chips is fixed
 4.019  More IDE issues have been delt with
 4.019  WDT setup has been clarified for several chips, check the header file if you get a compile error
 4.020  Some problems with arrays of function pionters have been fixed
 4.020  The cursor disapearing on blank lines in the IDE is fixed
 4.020  A Linux version has been released
 4.021  More IDE issues have been fixed
 4.021  Linker error messages have been clarified
 4.021  Some command line linker issues have been resolved
 4.021  A bug dealing with pointers to constants is fixed
 4.021  The & unary operator by default no longer returns a generic (int8 *)
 4.022  An interface problem to MPLAB is fixed