- Added support for 64-bit Windows (AMD64/X64 processors); only tested on Windows Vista 64-bit edition
- Windows 9X is no longer supported as a build environment, and special handling for that environment has been removed (except in the C runtime; compiled programs should still run on Windows 9X)
- Many tools are now using the Unicode version of the Windows API; they are marked below as 'Unicode-only' programs
- Added support for UTF-8 and UTF-16LE encoded text files (source files, resource scripts, module definition files, and so on). The support for UTF-16LE is more complete at the moment
- Added support for C99 complex math in the compiler and the C runtime (_Complex but not _Imaginary, for now)
- Added exprimental support for more secure C runtime functions from ISO TR24731-1
- Library and include files are now in separate directories for Win32/Win64/WinCE. Renamed some WinCE libraries back to the original Microsoft names, and updated almost all WinCE include files
- Speed improvements in the code generator, shared by the C compiler and the macro assembler
- Revised thread locking for stream functions in the C runtime
- Added support for (thread-specific) locale settings in the C runtime
- Some C runtime functions, like memcpy and memset, are now more optimized (X86, AMD64). Will use MMX/SSE instructions when available on the host machine
- The debugger and the binary file dumper now use the same disassembler library (consistency)
- Added more error codes to errno.h
- Added non-standard 'P' format specifier for the printf family
- Added more support for huge files, including a modified fpos_t type
- Removed (outdated) DirectX files for desktop Windows; people with more interest in DirectX than me can probably figure out how to use the new versions anyway
- Bug fix: negative sign possibly lost by _itoa(), _ltoa(), _itow(), _ltow()
- Unicode-only program
- Added support for 64-bit project types (POIDE64 only)
- Added support for 64-bit debugging (and 32-bit debugging on Windows Vista; POIDE64 only)
- Added support for Install builder projects, and CAB builder projects (Windows Mobile)
- Added support for storing settings in XML files using new /xml command line option
- Added support for explicit selection of UI language using new /L command line option
- Added prestart program (poide.com) for displaying help using new /? command line option
- Removed dependencies on WinHelp, and revised F1 help for the entire IDE
- Revised handling of the 'system definitions' database, and browse information in general
- Revised focus handling; tab pages and the project pane can now receive focus, for example. Added keyboard interface for tab pages
- Added (limited) support for importing Visual Studio 2005/2008 projects (maybe 2003 too)
- Added Unicode version of all add-in macros
- Increased limit to 16 user-defined tools and help files
- Added support for UTF-8 and UTF-16LE encoded text files (source editor)
- Added support for UTF-8 and UTF-16LE encoded files in 'Find in files', which is now also less fuzzy about white-space
- Added support for code snippets by language, including 16 'surround by' snippets (source editor)
- Revised all syntax color parsers (source editor)
- Added folding of #if, #ifdef, and #ifndef blocks (source editor)
- Added a few more attempts at making the 'smart indent' mode less stupid (source editor)
- Added support for UTF-8 and UTF-16LE encoded project files
- Moved default location for project files away from the 'Program Files' branch
- Added support for building (and rebuilding) an entire workspace
- The extended project settings (.ppx files) are now stored in XML files
- Added less optional project settings for LIB and INCLUDE environment variables, together with predefined project symbol PellesCDir, to handle library and include files being moved to separate directories
- Added more consistent use of LIB and INCLUDE environment settings (open #include file, scan for dependencies, and so on)
- Added 'Open As' to project tree context menu; makes it easier to open a resource script in text mode, a source file in hex mode, and so on (previously supported by add-ins)
- Added support for code signing in projects (using new POSIGN tool)
- Added Unicode version of project wizard API functions
- Added support for UTF-8 and UTF-16LE encoded resource scripts (resource editor)
- Added 'New HTML resource' command (resource editor)
- Added support for new dialog controls: IP-address, Native font (maybe not so useful), Split Button, Command Link, SysLink, and Net Address (dialog editor)
- Added support for MS Shell Dlg and MS Shell Dlg 2 font in extended dialogs (dialog editor)
- Added help identifier property for extended dialogs (dialog editor)
- Added a few more selections to the version resource editor
- Added 'Find' and 'Find next' support to stringtable resource editor
- Symbolic names of styles introduced by custom controls will now be written directly to the resource script if the proper include file wasn't included (avoiding problems reopening the script)
- Added options dialog for debugging standalone EXEs
- Added support for debugger pseudo-variables @ERR, @PID, @TID, and @TIB/@TEB
- Added support for selecting groups of registers to view in the debugger
- Added support for debugging custom controls
- Revised stack walking code for X86, ARM, and AMD64/X64 (debugger)
- Revised code for connecting to, and disconnecting from, the remote server (Windows Mobile)
- Added proportional image resizing (image editor)
- Added gradient rectangle tool (image editor)
- Added support for PNG compression in Windows Vista icons (image editor)
- Added support for transparent color in GIF files (Image editor)
- Added support for 24 bits-per-pixel PCX images (pretty obsolete format, but trivial enough)
- Added 'Find' and 'Find next' support to binary dump editor (search for ASCII string inside the binary data)
- Added better scrolling in the binary dump editor
- Minor changes for Windows Vista, and several minor bug fixes
- Removed exprimental custom assembler support
- Unicode-only program (preprocessor and lexer)
- Added support for AMD64/X64 code generator
- Added support for UTF-8 and UTF-16LE encoded source files; removed support for #pragma code_page()
- Added __POCC_TARGET__, __POCC_DEBUG__, and __STDC_IEC_559_COMPLEX__ builtin macros
- Revised memory management; should use less overall memory
- Added support for #pragma once
- Added support for C99 STDC #pragma's CX_LIMITED_RANGE, FENV_ACCESS, and FP_CONTRACT
- Added stricter C99 float-to-int conversions in standard mode
- Added C99 block scopes for selection and iteration statements
- Added support for preprocessing to file (new /P option)
- Revised exception and unwind handling code (X86, ARM)
- Revised _alloca() code
- Changed /Op option to /fp option; /Op maps to /fp:precise, /Op- maps to /fp:fast. The /fp option will affect more things than the old /Op option
- Added many new intrinsic functions; see help file
- Added parsing of __declspec(deprecated[(text)]); no message is currently issued (too annoying when using Microsoft include files)
- Alignment requirement larger than 8 bytes, for stack variables, will attempt to align the stack pointer (X86)
- Added __alignof operator (and __alignof__ extension)
- Use of __declspec(align(n)) will propagate better for nested structs
- Revised bitfield handling and added support for long long bitfields (Microsoft mode)
- Added support for UCN in character literals, string literals, and identifiers
- Added support for the '$' character in identifiers
- Revised __fastcall handling to be more consistent with Microsoft
- Added annotation of the C runtime exeception handler for /SAFESEH linker option
- Bug fix: postfix expression lost for compound literals
- Bug fix: compound literals didn't always work with sizeof operator
- Bug fix: some cases of pointer to VLA didn't work
- Bug fix: fixed association bug with C99 idempotent type qualifiers
- Bug fix: added C99 storage class check for identifier declared in a for statement
- Bug fix: __leave statement only allowed in __try blocks
- Bug fix: functions returning a struct or union in Microsoft mode will now return a pointer to the hidden value location
- Bug fix: empty inline functions could cause an access violation
- Bug fix: some cases of indexing a C-symbol array didn't work in the inline assembler (X86)
- Bug fix [5.00.1]: a return statement, using the conditional operator (?:), containing a fetch with postfix increment (*p++), usually turned the postfix increment into a prefix increment (X86, X64)
- Bug fix [5.00.1]: a float-to-integer conversion, in standard C mode, without optimizations, produced the wrong code sequence (X86)
- Added support for :DEF: operator in ARM mode
- Added support for bar-delimited identifiers in ARM mode
- Added warning for label without colon in ARM mode
- Added support for Intel Wireless MMX instructions in ARM mode
- Added .CORE processor type in X86 mode
- Added support for .SAFESEH directive in X86 mode
- Changed fastcall handling to match the C compiler
- Added WRT operator, for RIP-relative addressing in AMD64 mode
- Added minimal support for UTF-16 encoded source files (see help file)
- Added better error message for bogus character in a source file
- Added support for SSSE3 and SSE4 instructions in X86 mode
- Revised IFB, ELSEIFB, IFNB, ELSEIFNB handling (X86, AMD64)
- Added support for forward definition of PTR type (X86, AMD64)
- Unicode-only program
- Added /o option; a combination of the /Fo and /Fe option, depending on the file extension
- Added better support for just linking files
- Added recognition of .o file extension
- Response files may now use UTF-8 and UTF-16LE encoding
- Added support for AMD64/X64 machine
- Added support for DLL forwarding: from the command line, and in module definition files
- Removed /OLDIMPLIB option and support for old style import libraries
- The module definition file parser will now check for 'stop characters' rather than 'valid characters', allowing more oddball symbol names (without quotes)
- Module definition files may now use UTF-16LE encoding
- Response files may now use UTF-16LE encoding
- Added /SAFESEH option (X86)
- Added /ALLOWISOLATION option
- Added /NXCOMPAT option
- Added /ALTERNATENAME option
- Added /MANIFEST, /MANIFESTDEPENDENCY, and /MANIFESTFILE options
- Added recognition of .a file extension (silly, but anyway)
- Added more tests to reject bogus object files from buggy external translators (not from Pelle's toolchain)
- Revised internal default value handling; slightly better at guessing some values the lazy programmer didn't bother to specify..
- Revised stub file management and alignment
- Linking with a library containing multiple/merged import libraries should work now
- Added support for AMD64/X64 machine
- Will now auto-detect file types based on content, not just the file extension (recognizing .o and .a file extension, for example)
- Removed /OLDIMPLIB option and support for old style import libraries
- The module definition file parser will now check for 'stop characters' rather than 'valid characters', allowing more oddball symbol names (without quotes)
- Module definition files may now use UTF-16LE encoding
- Response files may now use UTF-16LE encoding
- Added dump of certificates
- Added dump of new items for AMD64/X64
- Added /UNWINDINFO option
- Added /LOADCONFIG option
- Added support for SSSE3 and SSE4 instructions in the disassembler (X86)
- Added support for UTF-16LE encoded source files (not UTF-8)
- Added LONGLONGS format to /RAWDATA option
- Unicode-only program
- Added support for UTF-8 and UTF-16LE encoded resource scripts
- Added support for Windows Vista icons (using PNG compression)
- Added support for PUSHBOX controls (consistency)
- Added support for extra control data in DIALOGEX resources (currently *not* supported by the IDE)
- Added /N option; support for appending a null character to all strings in the STRINGTABLE resource
- Unicode-only program
- Added support for UTF-8 and UTF-16LE encoded message scripts
- Added support for OutputBase statement
- Added support for TagName statement, and /T option
- Browse information manager:
- Unicode-only program
- Added support for UTF-8 and UTF-16LE encoded source files
- Added support for parsing install builder scripts
- Browse information is now stored in SQLite3 databases
- Unicode-only program
- Added support for UTF-8 and UTF-16LE encoded makefiles
- Added support for '.phony' targets
- Fixed path handling code for pre-requisites
- Unicode-only program
- Unicode-only program
- Added support for 64-bit executables
- Added variables $ADMINTOOLS, $ADDDATA, $COMMONADMINTOOLS, $COMMONAPPDATA, $COMMONDESKTOP, $COMMONDOCUMENTS, $COMMONFILES32, $COMMONFILES64, $COMMONFILES, $COMMONSMPROGRAMS, $COMMONSMSTARTUP, $COMMONSTARTMENU, $DOCUMENTS, $PROGRAMFILES32, $PROGRAMFILES64 a
- Added SetRegView statement
- Added support for Windows Vista, and minimal support for 64-bit Windows
- Added support for UTF-16 encoded scripts
- Added support for user-defined _setup.xml (CPF) using new /Fx option
- Unicode-only program
- Revised code for connecting to, and disconnecting from, the remote device (Windows Mobile)
- Unicode-only program
- Revised code for connecting to, and disconnecting from, the remote device (Windows Mobile)
- Screen capture for Windows CE:
- Unicode-only program
- Revised code for connecting to, and disconnecting from, the remote device (Windows Mobile)
- Copy utilities for Windows CE:
- Unicode-only program
- Bug fix: will remove the partial file on failure