Harbour 1.0.0 released

Version 1.0.0 (2008-08-10) tag: 1.0.0

General

- Internal errors are now logged to file.
- Fixed -gc3 for doubly negated integers.
- Changed hb_xrealloc() to be ANSI-C realloc() compatible.
- Cleanup of MSVC C mode static initialization code.
- Changed internal representation for file attributes from USHORT to ULONG.
- Fixed memory leak in -gw mode.
- Portability fixes (Unicode, 64 bit, Pelles C 32/64 bit, WinCE, eVC4, XCC,
Linux mouse detection, OpenWatcom).
- Deployment fixes.
- harbour.dll related fixes.
- MinGW bash (msys) build related fixes.
- Darwin universal build and OS X Leopard (10.5) compatibility fixes.

Core

- Fixed __HARBOUR__ macro on .prg level, when compiled with -u switch.
- HB_ARRAYID() moved to xhb.lib, synced with xhb and made 64 bit compatible.
- File handle usage cleanup and 64 bit compatibility.
- Automatic destructors for .hrb modules.
- Added passing non-string parameters to .hrb functions.
- Fixed casting for indexes with key length greater than 196 bytes
created on tables with record number smaller than 256 in rddcdx.
- New FS API functions: hb_fsSetFileTime(), hb_fsGetFileTime(), hb_fsSetAttr(),
hb_fsGetAttr().
- New date API function: hb_timeStampEncode().
- Fixed printing under OS/2.
- Implemented DBEDIT() DE_APPEND mode plus some other features and
compatibility fixes.
- MD5 calculation fixes.
- Added C level hb_hashAddNew().
- Compile time optimization of EMPTY() function.
- Compress trailing spaces during string item serialization.
- Replicated CA-Cl*pper compile time optimization bugs.
- TCP/IP function (HB_INET*()) fixes.
- Added HB_OSFILEMASK(), HB_DIRSCAN(), HB_FILEMATCH() Harbour level functions.
- Fixed RTE in HBReportForm() class.
- Added __OBJGETPROPERTIES(), extended __CLSGETPROPERTIES().
- Changed (incompatible):
__PLATFORM__Windows -> __PLATFORM__WINDOWS
__PLATFORM__Linux -> __PLATFORM__LINUX
- hbdot functionality merged into hbrun.
- *nix exception handler added.
- Source filename visible in stack traces.
- ACHOICE() mouse support added.
- Core Harbour level ZLIB compression functions renamed as follows:
HB_COMPRESS() -> HB_ZCOMPRESS()
HB_COMPRESSBOUND() -> HB_ZCOMPRESSBOUND()
HB_UNCOMPRESS() -> HB_ZUNCOMPRESS()
HB_UNCOMPRESSLEN() -> HB_ZUNCOMPRESSLEN()
- Harbour .hrb API moved to the documented namespace as follows:
__HRBRUN() -> HB_HRBRUN()
__HRBLOAD() -> HB_HRBLOAD()
__HRBUNLOAD() -> HB_HRBUNLOAD()
__HRBDO() -> HB_HRBDO()
__HRBDOFU() -> (deleted, please use DO())
__HRBGETFU() -> HB_HRBGETFUNSYM()
(old function names still function)

Contrib

- Better cross-build support for contribs with external dependencies.
- hbmzip OS/2 support, Unix .zip header fix, using Harbour memory
management functions, global and file comment support, HB_ZIPDELETEFILE()
function.
- hbziparch fixes and better portability.
- hbcurl fixes, now using Harbour memory allocation functions,
now older libcurl versions are supported as well, CURL_EASY_GETINFO()
fixed for unsupported info types.
- 64bit compatibility fixes. hbmysql/SQLLISTF() function now
uses pointer instead of numeric type.
- Fixed adordd to be _SET_EXACT independent.
- Fixed hbodbc tests to work out of the box.
- hbw32, hbodbc 64 bit fixes.
- Fixed rddads to behave Clipper-like when trying to write
when on EOF position.
- Added OS version detection functions to hbw32.
- Fixed HB_INC_* envvar usage in *_all.bat files.
- Fixed casting for indexes with key length greater than 196 bytes
created on tables with record number smaller than 256 in hbbmcdx.
- hbsqlit3 warning fixes and error fixes for some compilers/modes.
- Added DirectoryRecurse() to xhb.lib.

Known build issues

- Harbour with MSVC in 64 bit will only build in C++ mode.
Use 'set HB_BUILD_MODE=cpp' and 'make_vc.bat'.
- Windows 64 bit builds may generate a large amount of type
conversion warnings. This is currently normal and will be
addressed in a future version.
- Contrib hbfimage won't currently compile on Linux systems
and with Open Watcom compilers. This will be addressed in
a future version.
- Contrib hbsqlit3 will not embed foreign sqlite3 library code
for Pelles C 4.5 and Open Watcom 1.7 due to fatal compile problems.
For these compilers you will have to supply sqlite3 library
yourself. For other compilers, some warnings are expected and
normal in this non-Harbour code.
- Digital Mars C compiler compiles properly, but linking Harbour
executables doesn't currently work. This may be addressed in
a future revision.

Posted by Viktor Szakáts 2008-08-13