This is the release history file for CDE.  It will detail each
release version and date, along with the highlights of the release.
For more detailed information on changes between any given release,
use 'git log', or peruse the commit history at:

https://sourceforge.net/p/cdesktopenv/code/commit_browser

### 2.3.0 (stable) 07/06/2018

This is a very long overdue stable release.  It incorporates all of
the fixes in the 2.2.4a development release plus:

- tooltalk/ttsession:

  - on newer Linux/TIRPC systems, make sure listen() is called on a
    server socket.  This fixes an infinite loop problem seen with with
    newer glibc and TIRPC implementations (SUSE Tumbleweed, ArchLinux)

  - default to localhost when hostname IP resolution fails (all
    platforms).  There is no longer any need to add your unresolvable
    hostname to the localhosts line in your /etc/hosts file.

- improved build support on Solaris/OpenIndiana systems (gcc and SunStudio).

- BSD improvments:
  - no need to create X11/Motif symlinks prior to compiling CDE.
  - Fix native clang builds
  - Fix some GCC builds

- remove ancient XmeXpm* defines

Here is the git shortlog since the 2.2.4a development release:

Jon Trulson (14):
      libDtTerm: Fix for a coredump seen on OpenBSD
      dtinfo/freebsd: fix a (int)NULL cast in DtSR_SearchEngine.C
      FreeBSD 11: Don't use imported x11/motif, use installed versions for build
      building_release_archive: omit '-src' in archive filename
      OpenBSD 6+: use installed X11 and Motif
      XPM: Replace calls to XmeXpm*() with regular Xpm*()
      FreeBSD 11: Fix clang (v6) builds
      FreeBSD: turn off some warnings
      CDE-ICONS: create compatibility symlinks as relative rather than absolute
      OpenBSD: tone down compiler warnings a bit
      libtt: if local hostname lookup fails, default to localhost
      linux/site.def: use an if !defined() gaurd for DtLocalesToBuild
      slib/mp_rpc_server: TIRPC: force a listen() call on the server socket
      dwtm/WmResource.c: Stop printing garbage when XmeRenderTableGetDefaultFont() fails.

Matthew R. Trower (7):
      nsgml: Resolve symbol collision when building with SunStudio 12.1
      imake: Refactor and fix get_sun_compiler_versions()
      Add SMF service on Sun
      Resolve inconsistent strcasestr availability on Sun
      Minor corrections and cleanup to sun.cf
      Enable building against an arbitrary Motif installation
      Fix DtMail compilation on Sun with GCC

Ulrich Wilkens (3):
      create .depend files for Solaris+Illumos
      Reenable gcc support on FreeBSD and OpenBSD
      Use installed X11 includes and libs

chase (3):
      Remove reallyoldsun defines
      installCDE.src: remove duplicate code
      docnook.tcl: Add shebang


  ## 2.2.4a (development) 06/08/2018

  This is a long overdue development release.

  This release corrects several known issues with newer BSD based
  operating systems, enables TIRPC by default for all Linux systems, and
  corrects several hundred bugs and warnings (compiler and coverity).

  Using TIRPC on Linux means that you should no longer need to configure
  rpcbind to run in insecure (-i) mode.

  For Linux, only the C/en_US locales are built by default now.  The
  available extra locales are:

  fr_FR.ISO8859-1, de_DE.ISO8859-1, es_ES.ISO8859-1, and it_IT.ISO8859-1

  To build for these locales, you must ensure the locale support is
  present on your OS (see the wiki), and then you can:

  A) Edit config/cf/site.def and add the desired locales to
     DtLocalesToBuild in the LinuxArchitecture section, or

  B) call make World with the following option:

     make World IMAKE_DEFINES='-DDtLocalesToBuild="fr_FR.ISO8859-1"'

     to build the French Locale, for example.

  For the BSD's, All of the current ones (OpenBSD 6.x and FreeBSD 11.x)
  should compile now.  Since we no longer use XPrint, the BSD's
  should not need to compile their own modified Motif libraries any
  more.  Just install a Motif development package, and go.

  Here is the git shortlog:

  Cody Kotichas (1):
        Fix typographical error

  Edmond ORIGNAC (2):
        Manual page for vcal2xapia.awk
        DtMail translations and improvements of vcal2xampia.awk

  Jon Trulson (103):
        dtappbuilder: Add patches from Robert Pangrazio fixing coredumps
        Remove old cruft: osf/* and utils/prog*
        CDE-RUN: remove osf bindings
        dtinfo/TextParser.C: coverity CID 89054; mem corruption
        dtinfo/DtSR: coverity CID 88552; memory corruption
        dtspcd: coverity CID 174742; potential NULL derefs
        dtinfo/MixedGen.C: coverity CID 89495; use after free
        dtfile/SharedProcs.c: coverity CID 89068; use after free
        dtfile/sharedFuncs.c: coverity CID 88625; use after free
        dtfile/Main.c: coverity CID 89623; uninit var
        dtmail/DtMailRc.C: coverity CID 88975; use after free
        dthelp/htag/malloc: coverity CID 86955; use after free
        libtt/db_server_svc.C: coverity CID 87060; string overflow
        libtt/process.c: coverity CID 87051; use after free
        dtfile/Help.c: coverity CID 88484; use after free
        dthelp/helpgen.c: coverity CID 175085; use after free
        csa/match.c: coverity CID 87204; bad free; WTF
        dtinfo/OutlineListViewMotif.C: coverity CID 87754; memset truncated
        dtmail/MsgScrollingList.C: coverity CID 87360; memset no effect
        libtt/tt_file_system.C: coverity CID 86024; array vs singlton
        dtfile/SharedProcs.c: coverity CID 174852; int overflow
        dtfile: coverity CIDs 88363,88405,89140,89612; insecure readlink
        dtudcfonted/getfname.c: coverity CID 86392; insecure readlink
        dtexec,DtSvc/MsgLog.c: coverity CID 89585; resource leak
        dtcm/props.c: coverity CID 88573; unbounded src buf
        dthelp/Initialize.c: coverity CID 89569; unbounded src buf
        dtfile/File.c: coverity CID 88919; uninit array read
        libtt/isrepair.c: coverity CID 86705; uninit ptr read
        dtudcfonted/gpftobdf.c: coverity CIDs 87073,87008,87029,86919,86898,86715; uninit scalar
        dtudcfonted/_faludcInf.c: coverity CIDs 175096,175092; uninit ptr read
        dtcalc/ds_xlib.c: coverity CID 175093; wrong sizeof/bad free
        dtcalc: remove MAX_PATH, use standard PATH_MAX
        dtcreate/CreateActionAppShell.c: coverity CID 175092; uninit ptr read
        dtcreate/fileio.c: coverity CID 175094; dref bef NULL
        dtwm/WmResource.c: remove errant ')' added in previous commit
        libDtSearch/dtsrapi.c: Coverity CID 86857; dest buf too small
        dtsr/dtsrclean.c: Coverity CID 86876; dest buf too small
        dtcm/dssw.c: Coverity CID 88672; dest buf too small
        dtcalc/ds_xlib.c: Coverity CID 175167; uninit value
        dtudcfonted/gpftobdf.c: Coverity CID 175168; NULL deref
        dtcm/dssw.c: fix typo
        Disable building of dtudcfonted and dtudcexch
        fontaliases: use copy rather than symlink since bdftopcf can't handle those
        dtfile/SharedProcs.c: rework coverity 174852 fix to unbreak dtfile
        dtfile: define MAX_PATH to PATH_MAX rather than 1024, also CID 87557
        dtfile/sharedFuncs: CID 88085; resource leak
        Revert "dtfile: coverity CIDs 88363,88405,89140,89612; insecure readlink"
        Remove admin/BuildTools/fnrclone/; obsolete junk
        Remove admin/BuildTools; none of this is pertinent anymore
        Remove admin/bin; none of this is pertinent anymore
        Remove admin/man, *nameswitch; none of this is pertinent anymore
        installCDE/linux: don't try to edit/modify /etc/inetd.conf if it does not exist
        dthelp/FormatUtils: fix coredump in dthelpgen due to free() of a bad address
        Reimplement reverted commit 7fa35c to fix readlink() issues
        dtfile/Prefs: CID 88095,88407,89162,89164,89283,89445
        dtfile/Desktop: CID 88133,88159,88339,88798,89331,89466
        dtfile/FileDialog: CID 88141,88451,88658,89058
        dtfile/SharedProcs: CID 88158,88337,89104,89118
        dtfile/File: CID 88195,88595,88627,88794
        dtfile/dtcopy/sharedFuncs: CID 88204,88291,88852,88861,88876
        dtfile/IconWindow: CID 88242,88702,89030
        dtfile/Find: CID 88258,87250
        dtfile/FileMgr: CID 88441,89025,174801
        dtfile/Help: CID 88598
        dtfile/Trash: CID 88638,88815,89061,89614
        dtfile/FileOp: CID 88744,89337,89546
        linux.cf: Add -Wno-unused-result to C flags
        dtfile/Command: CID 88819
        dtfile/Directory: CID 88835,89096,89446,89469,89498
        dtfile/dtcopy/fsrtns: CID 88868,88128
        dtfile/Menu: CID 89222
        dtfile/dtcopy/dosync: CID 89374
        dtfile/Main: CID 89623
        dtfile/Encaps: CID 174844
        dtfile/Desktop: CID 175219,175222,175223,175226,175227
        dtfile/dtcopy/sharedFuncs: CID 175225
        dtfile/SharedProcs: CID 175229
        dtfile/FileDialog: CID 175220
        dtfile/FileOp: CID 175228
        dtbuilder/Imakefile: fix clean target to remove dtbuilder executable
        Enable TIRPC support for Linux
        dtfile/File.c: implement a hack to fix Ticket #19, tree icons are black
        CDE-MAN-DEV.udb: remove extra }, added when UXP support was removed
        CDE-DEMOS: remove references to Makefile.novell
        TermPrimSetUtmp: fix lost define broken by last patch
        tt_old_db: use TT_DB_OK instead of NULL
        tt_xdr_utils: fix up some warnings
        installCDE.src: Add a -destdir <dir> option
        Imake.tmpl: don't delete logfiles (make.log MakeOut)
        XlationSvc: remove a "'" added in previous spelling commit that causes warnings
        rpc.cmsd: use TIRPC on Linux
        dtcm/graphics: NULL is not 0
        libDtCmP: use TIRPC on linux, fix some warnings
        dtcm: NULL is not 0
        dtsession: fix screen saver/locking on linux
        configRun: leave dtmail alone, UDB handles it's perms correctly
        configRun: remove inetd support
        configMin: remove inetd support, 'pam' support
        configTT: remove inetd support
        installCDE: unset FIGNORE to workaround potential ksh bug
        linux.cf: disable stripping of installed binaries
        site.def: Only build C/en_US locales by default for Linux
        installCDE: Only install locales that were built

  Matthew R. Trower (2):
        dtwm: basic multihead(xinerama only) support
        Fix imake segfault on OpenIndiana

  Michael McConville (1):
        Remove needless zeroing after calloc

  Peter Howkins (78):
        Change pid wait types to int on Linux as well. Fixes compile issue     in dtudc programs on ubuntu 16.10+
        Add in an example .desktop session file for other X session managers (not dtlogin)     Suitable for kdm/gdm/lightdm etc
        Resolve some coverity warnings
        Fixed for wrong cased filename on depends creation
        Resolve some compiler warnings
        Change how read and write errors are detected on fstream based streams.
        Change dtmmdb class from tuple to mmdb_tuple
        dtksh: HACKY fix for compilation on later linux C library where FILE definition has moved
        dtksh: make sure you can still build on linux older c library too
        dtksh: Linux modern glibc compile HACK prevent system wide definition of __FILE that we define to Sfio_t
        dtcalc: change from obsoleted MAXFLOAT to FLT_MAX from std C
        dtdocbook: glibc 2.27 drops support for matherr() support in math.h
        dtcudcfonted: Resolve compiler and coverity warnings
        dtscpd: resolve compiler and coverity warnings
        dtcalc: resolve coverity issues
        libtt: Resolve some compiler warnings
        dthelp: compiler warning and coverity warning fixes
        dtcalc: resolve coverity issues
        dtudcfonted: Resolve further coverity issues
        dtcreate: Resolve coverity issues
        dtpdmd: Resolve some coverity warnings
        libDtWidget: Resolve some Coverity warnings
        dtwm: Resolve coverity warnings
        dtmail: resolve 'deference before null check' errors related to if(!NULL) checks around free() calls
        Merge branch 'master' of ssh://git.code.sf.net/p/cdesktopenv/code
        libdtsvc: Compiler warning prevention
        libdtsvc: Resolve coverity warnings related to 'dereference before null check' related to free()
        dtwm: cov 175166, check for pointer
        Merge branch 'master' of ssh://git.code.sf.net/p/cdesktopenv/code
        dsdm: cov 86572, free mem in error condition
        libdtterm: Resolve coverity issues
        config/util: resolve coverity issues
        dtspcd: Cov 89547, 175089
        dtinfo: Fix coverity issues for resource leaks
        dtinfo: fix coverity issues related to null checks after dereference
        dtinfo/dtinfogen: Fix segfault introduced by over zealously fixing coverity resource leak
        dthelp: more coverity fixes
        dtpad: resove coverity issues
        libtt: Resolve coverity warnings
        ttsnoop: resolve some compiler warnings
        libtt: resolve coverity issues related to double close()
        lidtsvc: coverity fixes
        dtterm: coverity fixes
        dtlogin: coverity fixes
        libtt: More coverity fixes
        dthelp: coverity fixes
        dtwm: Fix window menus caused by using destination as param to snprintf
        various: You cannot use the destination of snprintf as one of the srcs, undefined
        libtt: Coverity fixes related to uninitialised fields in classes.
        dtinfo: Resolve coverity warnings related to uninitialised members of classes
        nsgmls: resolve coverity warnings related to uninitialed members in C++ classes
        dtmail: resolve coverity warnings related to uninitialised members in C++ classes
        libtt: Further coverity fixes
        dtinfo: Fix coverity warning related to using delete not delete []
        Merge branch 'cde-fixups-1' of ssh://git.code.sf.net/p/cdesktopenv/code into cde-fixups-1
        dtpdm: Coverity 87632, 87664, 87923
        libtt: Fixes for Coverity fixes that I thought I'd already fixed.
        dtmail: Further Coverity fixes
        dtsr: Coverity fixes for string buffer issues
        dtinfo: Extra fixes for previous believed fixed things (coverity)
        dtlogin: Two additional coverity fixes
        dtappbuilder: Resolve all compiler warnings
        dtappbuilder: Coverity fixes for mising return value and copy into fixed size buffer
        dtappbuilder: Fix for very wrong sized buffer
        dtappbuilder: Further coverity, resource leaks, copy intofixed size buffer and dereference before null checl
        dticon: coverity fixes
        Merge branch 'cde-fixups-1' of ssh://git.code.sf.net/p/cdesktopenv/code into cde-fixups-1
        dtimsstart: Resolve all compiler warnings
        dtimsstart: Coverity fixes
        dtimsstart: Fix derp in previoua fix set
        dtfile: batch coverity fixes
        dtlogin: Resolve some coverity issues, including those thought previously fixed
        dtsession: A few extra snprintf's for buffer safety
        dtimsstart: Fix brackets on previous coverity fix
        dticon: Fix broken string length calculation
        dthelp: Further coverity fixes
        dtappbuilder: Coverity fixes mostly related to uninitialised variables
        dtwm: Resolve coverity warnings related to uninitialised variables and missing return statements

  Swift Griggs (1):
        Patches from pkgsrc-WIP

  Ulrich Wilkens (4):
        Fix BSD and Sun problems after coverity fixes
        Fix Linux rpc problems with new glibc
        Fixes for OpenBSD
        Fix warnings on FreeBSD

  alx (6):
        libDtSvc: added Xinerama support to _DtMessageDialog
        dtfile: added Xinerama support to dialog positioning routines
        dtlogin: center the mouse pointer on the login screen on multi-head setups
        ttsession: don't segfault if host name isn't properly set
        dtksh/sfio: resolved a naming collision on FreeBSD 11
        libtt: pass proper flags to getfsstat, log error message and exit if it fails

  chase (23):
        Fix various spelling errors
        More spelling fixes
        Rewrite csh scripts in sh, use sh instead of csh in scripts
        Small spelling fixes
        Fix typo in license headers
        Even more spelling fixed
        Last of the spelling fixed
        Add missing license headers on *.hh files and others
        Remove bsdi support
        Add generated binaries to gitignore from programs/localized/
        Remove examples/motif
        cde.desktop: remove deprecated encoding key
        sgml-mode.el: fix address, dt-toolbox: delete
        Remove UXPDS support
        Remove Unixware and openserver support
        Use /var/spool instead of /usr/spool and /var/mail instead of /usr/mail
        remove OSF1 support
        Use POSIX macros for linux
        dinstallCDE.src: add linux and *BSD support
        Spelling fixes
        cde.desktop:Add keywords to desktop entry
        fix files not registering as scripts
        cde.desktop: add xpm icon



### 2.2.4 (stable) 06/19/2016

This release incorporates several fixes for newer operating systems
(linux and the BSD's primarily).  It also removes the requirement to
build with Xp (X Print extension), which is no longer supported.  As
usual, many warnings and bugs were also fixed.

Here's the shortlog:

Douglas Carmichael (2):
      Patches to enable compilation on OpenBSD 5.7/FreeBSD 10.1.
      Changed memcpy() to memmove() to stop coredumping on OpenBSD 5.7.

Giacomo Comes (2):
      Use /var/spool instead of /usr/spool on linux
      call fclose(infile) after print_progress()

Isaac Dunham (1):
      programs/dtappintegrate: make PATH include /bin.

Jon Trulson (6):
      ksh: fix up shipin for more modern systems WRT test and wc
      dtlogin: use XDM authentication instead of MIT/DES on linux
      ttcp: fix missing arg to fprintf
      dbtoman: fix missing arg to fprintf
      dtappbuilder: replace accidental %a with %% in write_func_as_strings()
      contrib: some enhancements to the scrotps provided by Edmond Orignac

Pascal de Bruijn (2):
      dtlogin: don't use crypt(3) on openbsd
      dtlogin: openbsd build fix

Peter Howkins (3):
      Disable all code related to libXp     deprecated and mostly no longer included on current OSes
      dtstyle: backdrops, allow jpg/png if motif supports it     add file extensions to all types but .pm/.bm. This lets XmGetPixmap() load them.
      dtstyle: remove some accidentally commited debug code

Ulrich Wilkens (3):
      Fix FreeBSD 10.2 build
      Fix dtinfo document build on OpenBSD
      dtlogin: FreeBSD build fix

alx (14):
      dtsession: fixed errorlog rotation
      dtfile: fixed double free in copy/move collision handler
      dticon: KeySym is not char
      dtfile: 0 is not NULL
      dtfile: fixed file view scrolling with Page Up/Down keys
      dtfile: fixed ambiguity in the translation table
      DtWidget: added appropriate KeyPress event handler to DtIcon widget
      DtWidget: resolved some compiler warnings
      dtfile: Enable FILE_MAP_OPTIMIZE on FreeBSD. This avoids unnecessary tt_file_netfile calls on local host.
      dtlogin: Enable XDM authentication on FreeBSD
      dtsession: Enable X11 screensaver extension on FreeBSD
      dtwm: 0 is not NULL
      dtwm: Resolved some compiler warnings
      dtfile: Enable FILE_MAP_OPTIMIZE on Linux. This avoids unnecessary tt_file_netfile calls on local host.


### 2.2.3 (stable) 05/09/2015

This release incorporates several hundred fixes identified by various
Coverity scans and patches supplied by users.  In addition,
OpenIndiana/OpenSolaris support was significantly enhanced thanks to
Ulrich Wilkens, and a few hundred compiler warnings were squashed.

There is also a new default CDE logo :)

Here is the shortlog:

Edmond ORIGNAC (1):
      Fix dtprintinfo parser

Isaac Dunham (1):
      contrib/rc/linux/dtlogin: Make the init script work.

Johannes von Rotz (1):
      Let "make World" run through on OpenBSD

Jon Trulson (63):
      contrib/rc/freebsd: Add FreeBSD start script from Douglas Carmichael
      Add new Dtlogo from Jeff Pierquet.  Original renamed to TOGDtlogo.pm
      dtmail: MotifCmds.C: NULL is not False
      ttsnoop: NULL is not 0
      Revert "ttsnoop: NULL is not 0"
      dtappbuilder/dtcodegen: Fix up some warnings, remove use of sys_errlist[].
      dthelp: fixup some warnings with special.h(s)
      dttypes: use regex on linux too.
      dtappbuilder: abmf.c: more warnings killed
      it_IT.ISO8859-1/types/_common.dt.tmsg: Apply manual one-line patch
      DtHelp: Coverity (memory corruption)
      DtSvc: Coverity (memory corruption)
      DtSvc: Coverity (memory corruption)
      DtTerm: Coverity (memory corruption)
      DtWidget: Coverity (memory corruption)
      ttauth: Coverity (memory corruption)
      dtappbuilder: Coverity (memory corruption)
      dtsession: Coverity (memory corruption)
      dtsession: Coverity (memory corruption)
      imake: Coverity (memory corruption, moderate)
      DtHelp: Coverity (memory corruption, moderate)
      DtHelp: Coverity (memory corruption, moderate)
      DtSearch: remove bogus debug block
      DtSvc: Coverity (memory corruption, moderate)
      DtSvc/DtEncap: Coverity (memory corruption, moderate)
      DtSvc/DtUtil1: Coverity (memory corruption, moderate)
      DtSvc/DtUtil2: Coverity (memory corruption, moderate)
      DtTerm: Coverity (memory corruption, moderate)
      DtTerm: Coverity (memory corruption, moderate)
      csa: Coverity (memory corruption, moderate)
      ttauth: Coverity (memory corruption, moderate)
      ttsession: Coverity (memory corruption, moderate)
      tt/mini_isam: Coverity (memory corruption, moderate)
      tt/mini_isam: Coverity (memory corruption, moderate)
      dtcalc: Coverity (memory corruption, moderate)
      dtcalc: Coverity (memory corruption, moderate)
      dtlogin: Coverity (memory corruption, moderate)
      dtlogin: Coverity (memory corruption, moderate)
      dtprintinfo: Coverity (memory corruption, moderate)
      dtscreen: Coverity (memory corruption, moderate)
      dtsession: Coverity (memory corruption, moderate)
      dtwm/PopUpMenu: Coverity (memory corruption, moderate)
      dtwm/WmFP: Coverity (memory corruption, moderate)
      dtlogin/xdmcp: fixup many warnings and a possible declaration bug
      DtXinerama: no need to check unsigned int < 0 (CID:86121)
      Merge branch 'master' of ssh://git.code.sf.net/p/cdesktopenv/code
      dtsession/SmGlobals: fixup 17 coverity issues.
      dtsession/SmCommun: fix bogus check (CID 89326)
      dtsession/SmDB: error handling issues (CID 87778, 87926)
      dtsession/SmLock: potential null deref (CID 87561, 87957, 88181)
      dtsession/SmGlobals: use of tainted string (CID 89450)
      dtsession/SmGlobals: unlink mkstemp generated files.
      dtsession/SmGlobals: re-add smGD.savePath to generated paths, was lost in mkstemp changes.
      dtsession/SmRestore: fixup 8 coverity issues.
      dtsession/SmRestore: redo defaultCwd detection in StartClient() to be safer
      dtsession/SmSave: get rid of use of tempnam (CID 89359)
      dtsession/SmSave: use absolute path to rm in system()
      dtsession/SmUI: fix tainted var (CID 88216)
      dtsession/SrvFile_io: fix CID's 88299 and 89441
      dtsession/SrvPalette: fix CID 89227
      Merge branch 'coverity_dtsession'
      dtscreen: don't use old version of round() on linux either
      cde: change revision to 2.2.3

Matthew Howkins (3):
      libtt: Fix 'Missing return statement' errors detected by static analysis
      libtt: Fix some uninitialized variables detected by Coverity
      libtt: Change to standard function prototypes in ttauth. Fix some compiler warnings by adding #includes

Peter Howkins (53):
      dtlogin: start to resolve static analysis warnings
      libDtWidget: Resolve some static analyser warnings
      dtlogin: Resolve 27 compiler warnings
      dtlogin: resolve 8 compiler warnings.
      dtlogin: resolve more static analysis warnings
      Merge branch 'master' of ssh://git.code.sf.net/p/cdesktopenv/code
      dtcalc: resolve 13 compiler warnings on 64 bit builds.
      dsdm: resolve coverity warnings CID 86139 86255 86331 86345 86418 86517 86526 86567 86590 86616
      dsdm: convert k&r function declarations to ansi, and correct the warnings this then uncovered.
      dtaction: resolve 2 compiler warnings.
      dtwm: resolve 92 compiler warnings (related to 64 bit pointer to int coversions)
      dtstyle: resolve 30 compiler warnings.
      dtsr: resolve all 12 compiler warnings.
      dtmail: Resolve 50 compiler warnings.
      dtdocbook: resolve 49 compiler warnings.
      dticon: resolve 3 compiler warnings
      dtfile: resolve 19 compiler warnings.
      dtmail: add a stdint.h include for openbsd, as reported by Daniel Diaz via the wiki.
      dtstyle: Fix CID 100252
      dtcm: Resolve 303 compiler warnings.
      dtpad: Resolve 7 compiler warnings.
      dthello: Resolve 8 compiler warnings that would be introduced with -Wall
      libDtHelp: Resolve 11 compiler warnings.
      libDtPrint: Resolve the 1 remaining compiler warning.
      libDtSvc: Resolve 28 compiler warnings.
      dtscreen: convert K&R prototypes to ansi C
      dtcm: Resolve CID 87384
      dtcm: Resolve CID 87408
      dtcm: Resolve CID 87562
      dtcm: Resolve CID 87713
      dtcm: Resolve CID 87801
      dtcm: Resolve CID 87822
      dtcm: Resolve CID 87983
      dtcm: Resolve CID 88003
      dtfile: Resolve CID 87308
      dtfile: Resolve CID 87776. OkCallback is of type XtCallbackProc, it doesn't return one
      dtfile: Resolve CID 88133, 88261
      dtfile: Resolve CID 88199
      dtfile: Resolve CID 89319
      dtfile: Resolve CID 89009
      dtfile: Resolve CID 88830
      dtfile: Resolve CID 89277
      dtprintinfo: Resolve CID 87253
      dtudcfonted: Resolve CID 86153
      dtudcfonted: Resolve CID 86232
      dtudcfonted: Resolve CID 86389
      dtudcfonted: Resolve CID 86280
      dtudcfonted: Resolve CID 86328
      dtudcfonted: Resolve CID 86391
      dtudecfonted: Resolve CID 86417
      dtudcfonted: Resolve CID 86495
      dtudcfonted: Resolve CID 86547
      dtudcfonted: Resolve CID 86560

Stuart Brady (1):
      DtTerm: fix formatted text in history buffer

Ulrich Wilkens (7):
      Fix panel right click
      Resolve many build warnings
      OpenIndiana and Solaris port
      Fix FreeBSD 10.1 build
      Support for new Solaris/OpenIndiana versions
      Fix broken build on OpenBSD
      Remove warnings on Linux with glibc 2.20

alx (1):
      dtcopy: Fix file removal


### 2.2.2 (stable) 07/27/2014

A lot of fixes and improvements in this release.  CDE can be built on
more modern Linuxes and BSDs.  An initial stab at illimios support is
also present.

Here is the shortlog:

Eugene Doudine (7):
      Fixes the bug #17 dtsession can't validate passwords longer than 8 characters when the session is locked
      Fixed bug #27 dtfile space handling bug
      Fixed bug #32 dtfile table formatting bug with non-latin filenames
      Fixes the off-by-one bug in RegisterInGrid(), which caused dtfile's desktop icons on the right edge of the screen (if desktop width is not a multiple of icon with) to be registered on the next workspace or (in the case of the last workspace) beyond the desktop_grid array (possibly causing segfaults).
      Fixes several issues with grid registration of the dtwm panel on dtfile startup and on workspace addition:
      Fixes a small bug in grid registration: when an object is placed over another object (can be done manually) and then removed from there, the registration of the covered object is removed as well (that is it's cell is considered empty).
      Fixes the bug, which caused dtterm to show stripes of wrong color between text lines when using fontsets that include fonts of slightly different heights.

Jon Trulson (52):
      update HISTORY file for 2.2.1, though a little too late :)
      building_release_archive: add some steps and clean up
      linux depend: stop using makedepend, use gcc instead
      libDtTerm: add include <stdio.h> so FILE is properly defined.
      linux: Use installed X11 header files rather than requiring /imports/x11/include
      nsgmls: fix up some gcc 4.8 warnings.
      linux.cf: fix typo and some formatting.
      linux: move dependancy handling out of linux.cf and into new lnxDep.rules file.
      mp_rpc_server.C: limit iteration of svc_fdset to FD_SETSIZE, as per spec.
      dtdocbook/instant: *always* link with local libtcl.a
      dtpad: stub out XmPrint stuff if there is no XmPrint support.
      dtmail: stub out XmPrint stuff if there is no XmPrint support.
      dtcm: stub out XmPrint stuff if there is no XmPrint support.
      dtinfo: stub out XmPrint stuff if there is no XmPrint support.
      linux: libDtSearch requires linking with -lm
      libcsa: fix up some stupidness.
      tt_xdr_utils.h: fix build error on linux/bsd introduced with illumos initial patch.
      Updated Greek (el_GR.UTF-8) translations from Antonis Tsolomitis.
      PrintTopics.c: fix up some warnings
      pax.h: include stdio.h
      getdate.y: include string.h
      Icon.c: include stdlib.h
      localized/util/merge.h: include string.h and fix up some warnings
      Threads.C: NULL is not 0
      MotifUI.C: NULL is not 0
      dtcm/server/: just return NULL, not the address of a dummy local variable.  Geez.
      cleanup: eliminate "implicit declaration" warnings.
      linux.cf: turn off writable strings warnings (write-strings)
      linux: build with thread safety and REENTRANT enabled.
      dtcm/reminders.c: NULL is not 0
      dtcm/rfp.c: NULL is not 0
      cleanup: eliminate missing sentinel warnings
      xtclient.c, spcd_event.c: stop referencing fds_bits directly
      linux.cf: with fds_bits fixes, stop using _POSIX_C_SOURCE=199309L and _XOPEN_SOURCE defines
      xtclient.c: fix debug statement regarding fd number
      dtsession: screensaver don't pass random attributes to XScreenSaverSetAttributes()
      InterruptibleCmd.C, WorkingDialogManager.C: NULL is not 0
      AttachArea.C: NULL is not 0, sprintf needs a format
      RoamInterruptibleCmd.C: NULL is not 0
      RoamMenuWindow.C: NULL is not 0
      SendMsgDialog.C: NULL is not 0
      WMSaveSession.C: NULL is not 0
      ttsnoop.C.src: NULL is not 0
      dtappbuilder: bil_store.c: don't return local variables
      fr_FR.ISO8859-1/types/_common.dt.tmsg: Fix up a couple of backslash errors.
      contrib/: add vcal2xapia from Edmond Orignac
      Added additional info to vcal2xapia/README
      contrib/: add desktop2dt from Isaac Dunham
      el_GR _common.dt.tmsg: fix corrupted msg line at line 1763
      site.def: create new DtDocLocalesToBuild define
      Version change to 2.2.2
      Fixup UDB databases to fix a problem introduced with FreeBSD 10 patch.

Peter Tribble (1):
      initial illumos port

Ulrich Wilkens (4):
      Fix dtfile and dtterm on NetBSD
      Fix cpp output on Ubuntu 13
      Fix dtinfo search engine
      FreeBSD 10 clang port

alx (2):
      dtstyle: enable palette editor on true/direct color screens
      DtWidget: Don't free random pointer on Control widget destruction


### 2.2.1 (stable) 03/01/2014

- Forgot to update this file for the release.  Oops.  At any rate,
  only the git shortlogs for each release will be listed here.

Shortlog:

Eugene Doudine (5):
      Bugfix for #9 Cut off fonts in titles
      Fix for several segfaults in dtwm that happen with UTF-8 locale and were caused by unckeked XmeRenderTableGetDefaultFont return value
      Fixes segfault in dtprintinfo when used UTF-8 locale, bug was caused by unchecked return value of XmeRenderTableGetDefaultFont()
      addition of en_US.UTF-8 locale: fonts.alias and fonts.dir files
      Addition of the en_US.UTF-8 locale: installation support

Isaac Dunham (2):
      dtlogin: use proper path to getty and /usr/local/bin in path on Linux
      Add -quiet option to dtlogin.

Jon Trulson (9):
      dtinfogen_worker: don't free variables then use them later.
      Merge branch 'master' of ssh://git.code.sf.net/p/cdesktopenv/code
      Add dtwm.mgg Greek UTF translation from Antonis Tsolomitis
      dtexec: fix a case on linux where an infinite loop could occur.
      dtexec: use proper FD_CLOEXEC rather than a hardcoded 1
      Fix for xorg-xkb partially freezes dtwm when keyboard layout is changed.
      Re-add NO_DTINFO blocks removed in NetBSD port patch
      admin: add a BuildNotes dir for documenting release proceedures, etc
      Version change to 2.2.1

Pascal Stumpf (22):
      Kill lots of warnings in DtSvc.
      Kill most warnings in lib/DtTerm.
      Do not use -fpermissive in programs/nsgmls. It's not needed.
      sync warning flags betseen cc and c++ on OpenBSD
      kill a few more warnings in DtPrint
      Silence lots of warnings in lib/DtHelp.
      Do not hardcode /usr/dt in print.dt.
      Xreset.src: Do not hardcode /usr/dt.
      s,/usr/dt,CDE_INSTALLATION_TOP,g in dtlogin/config
      Simplify programs/Imakefile a bit. dtksh, dtlogin and dtcm build everywhere.
      Adapt dtlogin/config/_common.ksh.src for OpenBSD:
      error.ds.src: don't hardcode /usr/dt
      SECURITY fix for dtappintegrate: Use mktemp(1) to generate a template.
      Kill iostream.h deprecation warnings on *BSD.
      ttsnoop: deal with iostream.h and missing sentinels.
      OpenBSD.cf: don't include xorg.cf (leftover)
      Make dtksh build on OpenBSD/powerpc.
      include unistd.h for read(2) prototype. Fixes dtdocbook on PowerPC.
      dtlogin: correct path to getty.
      dtlp: Fix the path to DtFuncs.dtsh if CDE_INSTALLATION_TOP != /usr/dt.
      Do not install symlinks to libraries on OpenBSD.
      Fix dtcm build on OpenBSD-current.

Peter Howkins (2):
      dtstyle: Alphabetically sort the backdrops in the backdrop list.
      dtstyle: Resolve 70 compiler warnings

Ulrich Wilkens (16):
      lib/DtHelp: added missing include.
      avoid identical Vector instantiations.
      Remove installation of motif man pages.
      dtinfo subdirectory DtMmdb
      dtinfo subdirectory dtinfo
      dtinfo subdirectory dtinfogen
      dtinfo subdirectory mmdb
      documents for dtinfo
      dtinfo other files
      dtinfo activation
      No symlinks to libraries on OpenBSD (default install)
      correction of message files
      Introduction of BSDArchitecture
      NetBSD port
      Fix for dtinfo segfaults
      Fix UTF8 problem on non-linux systems

alx (4):
      dticon: fixed "rubber string" drawing on high/true color displays
      dtfile: fclose called twice on same handle
      dtscreen: cosmic flame fractals missing drawing code
      wwl: fixed dtinfo segfault due to missing copy constructor in WArgList


  ## 2.2.0d (development, beta) 05/30/2013

  - We are being bold this time, and promoting CDE to Beta.

  - More work on dtinfo.  It now mostly compiles but is not quite ready
    for prime time.  It is not built be default.

  - dtksh now builds on linux systems.

  - We do not build Motif man pages anymore.

  - X11 screensaver extension support now works in dtsession on Linux.

  - Some screen locking issues on the BSD's have been fixed.

  - /usr/sbin/sendmail is now the default mailer on OpenBSD 

  - Basic support for Xinerama has been added to dtlogin and dtsession
    using a new DtXinerama library.

  - Resolve many more more compiler warnings


  ## 2.2.0c (development, alpha3) 10/4/2012

  - Many 64b issues have been fixed, related to XtVaGetValues(), missing
    prototypes, erroneous assumptions regarding the size of ints and
    pointers, etc.  Many still lurk in the shadows.

  - help files should build now on 64b systems with compiler
    optimization enabled.

  - FreeBSD is pretty much fully functional now.  OpenBSD and NetBSD are
    close behind.

  - FreeBSD uses a authorized FreeBSD Foundation specific logo on
    dtlogin.

  - a few hundred more compiler warnings fixed :)

  - more missing prototypes added to XmPrivate.h


  ## 2.2.0b (development, alpha2) 9/6/2012

  - This release incoporates approximately 200 patches from various
    people around the planet.

  - initial BSD (OpenBSD, FreeBSD) support.

  - wider support for various Linux distributions - Redhat, Arch,
    Ubuntu/Kubuntu/Xubuntu.  See a full list of currently operational
    platforms and their statuses at:

    https://sourceforge.net/p/cdesktopenv/wiki/SupportedPlatforms/

  - many fixes to better support 64b systems.  There is still much work
    needed in this regard.

  - most modules are operational.  dtinfo is not operational on any
    platform yet.  dtksh is not yet operational on linux systems.

  - several thousand compiler warnings have been addressed.
    Unfortunately, there are still several thousand more waiting :(
    Some of this code is *old*.


  ## 2.2.0a (development, alpha1) 8/6/2012

  - This is the initial release of CDE form The Open Group based on
    2.1.30.   

    Minimal changes to get it compiling on some common linux distros,
    primarily 32bit.
