diff --git a/c++/NEWS b/c++/NEWS
new file mode 100644
index 0000000..17488a4
--- /dev/null
+++ b/c++/NEWS
@@ -0,0 +1,71 @@
+-------------------------------------------------------------------------------
+-- Copyright (c) 1998,2006 Free Software Foundation, Inc.                    --
+--                                                                           --
+-- Permission is hereby granted, free of charge, to any person obtaining a   --
+-- copy of this software and associated documentation files (the             --
+-- "Software"), to deal in the Software without restriction, including       --
+-- without limitation the rights to use, copy, modify, merge, publish,       --
+-- distribute, distribute with modifications, sublicense, and/or sell copies --
+-- of the Software, and to permit persons to whom the Software is furnished  --
+-- to do so, subject to the following conditions:                            --
+--                                                                           --
+-- The above copyright notice and this permission notice shall be included   --
+-- in all copies or substantial portions of the Software.                    --
+--                                                                           --
+-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS   --
+-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF                --
+-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN --
+-- NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,       --
+-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR     --
+-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE --
+-- USE OR OTHER DEALINGS IN THE SOFTWARE.                                    --
+--                                                                           --
+-- Except as contained in this notice, the name(s) of the above copyright    --
+-- holders shall not be used in advertising or otherwise to promote the      --
+-- sale, use or other dealings in this Software without prior written        --
+-- authorization.                                                            --
+-------------------------------------------------------------------------------
+-- $Id: NEWS,v 1.4 2006/04/22 22:19:37 tom Exp $
+-------------------------------------------------------------------------------
+This is a log of changes that the ncurses C++ binding has gone
+through starting with the integration of menu and forms integration
+into the binding.
+
+990731  + Improve support for pads. A viewport window may now be added to
+          a pad. It will then be possible to use a builtin panning mechanism
+          to view the pad.
+
+970908	+ Improve NCursesWindow class: added additional methods to
+	  cover more ncurses functionality. Make refresh() and 
+	  noutrefresh() virtual members to allow different implementation
+	  in the NCursesPanel class.
+	+ CAUTION: changed order of parameters in vline() and hline() of
+	  NCursesWindow class.
+	+ Make refresh() in NCursesPanel non-static, it is now a
+	  reimplementation  of refresh() in the base class. Added 
+	  noutrefresh() to NCursesPanel.
+	+ Added NCursesForm and related classes to support libform
+	  functionality.
+	+ Moved most of configuration related stuff from cursesw.h to
+	  etip.h
+	+ Added NCursesApplication class to support easy configuration 
+	  of menu and forms related attributes as well as ripped of
+	  title lines and Soft-Label-Keys for an application.
+	+ Support of Auto-Cleanup for a menus fieldlist.
+	+ Change of return type for current_item() and operator[] for
+	  menus.
+	+ Enhanced demo.
+970502
+	+ Introduced the THROW and THROWS functions/macros to prepare
+	  a smoother transition to real exception handling.
+	+ Exception classes provided in etip.h
+	+ Added the NCursesMenu class to support libmenu functionality.
+	+ The inheritace relation between NCursesWindow and NCursesColorWindow
+	  was kind of brain damage. Monochrome is a special case of colored, so
+	  the relation should be just the opposite. This would allow all 
+	  derived classes like NCursesPanel, NCursesMenu or NCursesForm to 
+	  have colors.
+	  To resolve that design flaw I put the color functionality into the 
+	  NCursesWindow class and it can be switched on by the static member
+	  useColors(). NCursesColorWindow is still there for compatibility
+	  reasons.
