                               ViSP
                     Visual Servoing Platform
                     Resume of the change log

     Copyright (C) 2005 - 2023 by Inria. All rights reserved.
                      https://visp.inria.fr

ViSP 3.6.0 (released September 22, 2023)
  - Contributors:
    . Fabien Spindler, Souriya Trinh, Romain Lagneau, Antonio Marino, Samuel Felton,
      Francois Chaumette, Olivier Roussel, Julien Dufour, Joudy Nader
  - New classes
    . vpMocapVicon an interface over Vicon motion capture system
    . vpMocapQualisys an interface over Qualisys motion capture system
    . vpPclViewer that enables real time plotting of 3D point clouds based on PCL library
    . vpRobotUniversalRobots that allows to control an Universal Robots robot
    . vpRobotMavsdk that allows to control a robot equipped with a Pixhawk (drone, rover...)
    . vpDetectorDNNOpenCV a wrapper over the OpenCV DNN module that allows
      to detect objects using Faster-RCNN, SSD-MobileNet, ResNet 10, Yolo v3, Yolo v4,
      Yolo v5, Yolo v7 and Yolo v8 convolutional networks
    . vpImageCircle that refers to a 2D circle in an image
    . vpCircleHoughTransform that allows to detect circles in an image
    . vpCannyEdgeDetection that allows to detect Canny edges without using OpenCV
    . vpMegaPose and vpMegaPoseTracker classes that are wrapper over MegaPose
      https://megapose6d.github.io/ that allows 6D pose estimation using a DNN approach
  - New features and improvements
    . Video writer is now able to create the output folder recursively (see vpVideoWriter)
    . New image-based and position-based examples with UR robot
    . Tutorial for extrinsic calibration improved with UR robot and Panda robot use cases
    . Tutorials in tutorial/grabber folder have now a new --no-display command line option
      that allows to grab a video remotely
    . Introduce MAVLink interface using MAVSDK 3rd party library interfaced in vpRobotMavsdk
      class that allows to control a robot equipped with a Pixhawk (drone, rover...)
    . Image-based visual-servoing, position and velocity control examples to control robots
      equipped with Pixhawk (see vpRobotMavsdk doc)
    . Windows 11 support
    . New capabilities to ease C++ inference to detect objects using convolutional networks
      (see vpDetectorDNNOpenCV)
    . Support of JSON for modern C++ third-party to enable serialization capabilities
      in vpArray2D, vpCameraParameters, vpCircleHoughTransform, vpColVector, vpDetectorDNNOpenCV,
      vpHomogeneousMatrix, vpMbGenericTracker, vpMe, vpPolygon3D, vpPoseVector to load/save
      internal data or settings from/to JSON files
    . Remove deprecated OpenCV IplImage interfaces
    . Remove deprecated vpOpenCVGrabber, vpKeyPointSurf classes and corresponding
      tutorials
    . Minimum OpenCV version is 2.4.8
    . Introduce a new moving-edges threshold parameter for the contrast between each side
      of the feature to track. Its value corresponds to a gray level in range [0; 255]
    . In moving-edges ellipse tracker (vpMeEllipse and vpMbTracker and its derived classes),
      change sample step parameter to consider the distance between moving-edges in pixels
      rather than an angular value in deg as it was in the previous releases
    . ViSP is available as a Conda package
    . Fix compatibility with Debian GNU/Hurd
  - Tutorials
    . New tutorial to list all the hardware (robot, camera, depth camera, lidar, mocap,
      haptic devices, F/T sensor) supported by ViSP
      https://visp-doc.inria.fr/doxygen/visp-daily/supported-material.html
    . New tutorial: How to manipulate a video or a sequence of images
      https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-video-manipulation.html
    . New tutorial: Planar object pose estimation using RGB-D data
      https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-planar-object-pose.html
    . New tutorial: IBVS with a robot from Universal Robots
      https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-universal-robot-ibvs.html
    . New tutorial: PBVS with a robot from Universal Robots
      https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-universal-robot-pbvs.html
    . New tutorial: Image-based visual-servoing on a drone equipped with a Pixhawk
      https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-pixhawk-vs.html
    . New tutorial: Installation from source for Windows 11 with MinGW-w64
      https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-install-win11-mingw-w64.html
    . New tutorial: Installation from source for Windows 11 with Visual C++ 2022 (vc17)
      https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-install-win11-msvc17.html
    . New tutorial: Deep learning object detection
      https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-detection-dnn.html
    . New tutorial: Using JSON serialization to save your data and read program arguments
      https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-json.html
    . New tutorial: Loading a model-based generic tracker from JSON
      https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-mb-generic-json.html
    . New tutorial: Threaded PCL viewer
      https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-pcl-viewer.html
    . New tutorial: Tracking with MegaPose
      https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-tracking-megapose.html
    . New tutorial: Exporting a 3D model to MegaPose after reconstruction with NeRF
      https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-megapose-model.html
    . New tutorial: Generating synthetic data for deep learning with Blenderproc
      https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-synthetic-blenderproc.html
    . New tutorial: Gradient-based Circle Hough Transform
      https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-imgproc-cht.html
  - Bug fixed
    . [#1041] [example/device/framegrabber/saveRealSenseData] Wrong camera parameters
              and depth_M_color homogeneous matrix when aligned depth is requested
    . [#1042] testColorConversion.cpp segfault randomly
    . [#1045] CXX standard not propagated when using pkg-config or visp-config
    . [#1046] vpIoTools::getParent() returns an empty string when folder separator is not found
    . [#1059] 3.5.0: Build fails on FreeBSD arm64: fatal error: 'asm/hwcap.h' file not found
    . [#1077] Quick start build fails on Visual Studio 17 2022
    . [#1080] Fails to configure with Xcode generator
    . [#1094] vpIoTools::makeTempDirectory() fails to create a temporary directory inside
      a parent directory on Unix
    . [#1106] SIFT Illegal Instruction error on macOS Intel with OpenCV 4.6.0 installed with brew
    . [#1155] Wrong representation of the ellipse in model-based tracker
    . [#1160] MBT does not estimate dof set by the user using vpMbTracker::setEstimatedDoF()
    . [#1176] ViSP cannot be built with a subset of OpenCV modules
    . [#1198] Unable to save multiple cameras in a same xml file
    . [#1228] Unable to use visp conda package to link visp as a 3rd party
----------------------------------------------
ViSP 3.5.0 (released February 15, 2022)
  - Contributors:
    . Fabien Spindler, Joudy Nader, Souriya Trinh, Julien Dufour, Ha Thuc Long,
      Christian Clauss, Olivier Kermorgant
  - New features and improvements
    . Bump default cxx standard to cxx17
    . Update 3rdparty/apriltag detector
    . Update 3rdparty/simdlib used for optimization
    . Update 3rdparty/stb_image used for image io
    . Update 3rdparty/catch for testing
    . Camera calibration model can now consider px/py aspect ratio and estimate
      a model where px = py
    . Introduce Bayer demosaicing also called debayering in vpImageConvert
    . UEye grabber now support Bayer 8 color mode
    . Introduce Occipital Structure Core RGB-D device support in vpOccipitalStructure
      class
    . Update to use Catch2 2.13.7
    . Improve video reader and writer classes to consider a sequence of non consecutive
      images
    . Improve camera intrinsic and extrinsic calibration tools
    . Compatibility with Visual Studio 17 2022
    . Capability to display TrueType font in display
  - Tutorials
    . New tutorial for FrankaSim that allows physical simulation of the Panda robot from
      Franka Emika, with a model that has beenaccurately identified from a real Franka
      robot using ViSP, ROS and CoppeliaSim.
      More info on http://wiki.ros.org/visp_ros
    . New tutorial: Deep learning object detection on NVIDIA GPU with TensorRT
    . New tutorial: Installation from source for Windows with Visual C++ 2022 (vc17)
    . New tutorial: Cross-compilation for UWP from Windows host with Visual C++ 2022
  - Bug fixed
    . [#913] Cannot build tutorial with librealsense < 2.31.0
    . [#926] Packaging with CPack doesn't work with Ogre dependency
    . [#933] tutorial-apriltag-detector-live-rgbd-realsense.cpp doesn't work
    . [#937] Segfault in vpRobust when data to consider is a 2-dim vector
    . [#939] SonarQube static analysis is no more working
    . [#950] Cannot build tutorial-grabber-multiple-realsense.cpp with Visual Studio 2017
    . [#961] Build error on Ubuntu 21.10 with glibc 2.34
    . [#963] Unable to read a sequence of non consecutive images
    . [#968] Wrong installation path for robot and wireframe simulator data on Windows
    . [#970] testKeyPoint-5 and testKeyPoint-7 are failing with OpenCV 4.5.4 on MacOS 11
    . [#972] Error running some examples: Application built with libpng-1.4.12
             but running with 1.6.37
    . [#973] Error running some examples: Wrong JPEG library version: library is 90,
             caller expects 80
    . [#977] Unable to build with pcl 1.12.1 on macOS
    . [#986] AprilTag Memory Leak ViSP 3.4.0
    . [#993] simdlib memory leaks bug
    . [#1013] ViSP installation instructions with libdc1394 and OpenCV 3rdparties
              in Ubuntu 20.04 are wrong
    . [#1017] visp-config and visp.pc files error with macOS frameworks and tbd files
    . [#1023] tutorial-dnn-object-detection-live issue when running it on SSD-Mobilenet.onnx
----------------------------------------------
ViSP 3.4.0 (released February 26, 2021)
  - Contributors:
    . This release was possible thanks to contributions from Fabien Spindler,
      Pierre Chatelain, Souriya Trinh, Joudy Nader
    . Thanks also to Sergio Agostinho
  - New features and improvements
    . Compatibility with FreeBSD
    . Introduce transparency when displaying filled circle and rectangle with
      vpDisplayOpenCV
    . Complete refactoring of https://github.com/lagadic/visp_unity project
      a wrapper between ViSP and Unity
    . BLAS/LAPACK usage for linear algebra with either Intel MKL, OpenBLAS, Atlas,
      GSL, Netlib or Lapack built-in. Under Ubuntu, update-alternatives allows
      to switch during runtime between OpenBLAS, Atlas and Netlib
    . Remove vpMbEdgeMultiTracker, vpMbEdgeKltMultiTracker and vpMbKltMultiTracker
      deprecated classes. Use rather vpMbGenericTracker
    . visp.pc file used by pkg-config and visp-config script updated to
      be able to build a project that uses ViSP as 3rd party without CMake
    . New vpReflexTakktile2 class and examples to control Reflex Takktile 2 hand
      from Right Hand Robotics
    . New vpGaussianFilter class for Gaussian blur operation
    . vpRealsense2 class was extended to support Intel Realsense T265 device
    . Introduce Kannala Brandt projection model for fisheye cameras in vpCameraParameters
    . Extend existing tools to support Kannala Brandt projection model for XML I/O,
      undistort, pixel-meter and meter-pixel conversion
    . Introduce analysis tools for camera calibration / hand-eye calibration
      (see tutorials)
    . New cmake option to use MathJax to speed up online doc build
    . Docker images available on Docker Hub:
      https://hub.docker.com/repository/docker/vispci/vispci
    . Support of Kinova Jaco assistive robotic arm that could be controlled
      using vpRobotKinova
    . Compat with Basler Pylon 6.x Camera Software Suite
    . New wrapper in vpUeyeGrabber to support IDS uEye Camera Software Suite
    . Compat with OpenCV 4.5.0
  - Tutorials
    . New tutorial: Basic linear algebra operations
    . New tutorial: How to create and build a project that uses ViSP without CMake
    . New tutorial: Installation from Docker images
  - Bug fixed
    . [#713] 3.3.0 build fails on non-linux systems: fatal error: 'linux/serial.h'
      file not found
    . [#716] Build issue on FreeBSD with g++
    . [#718] vpImage<unsigned char>::getValue() is not working on big endian arch
    . [#726] Segfault in vpServo when the number of visual features is very
      large (> 50.000)
    . [#728] vpProjectionDisplay doesn't display frame with RGB colors respectively
      for X, Y and Z axis
    . [#731] Link issues using pkgconfig with static libraries
    . [#735] MKL and GSL Blas/Lapack 3rd parties incompatibility
    . [#750] Cannot detect OpenMP with clang on MacOS
    . [#763] VISP does not support the latest PCL release 1.11.0
    . [#767] Compile from source on Ubuntu Focal raises CMake error with Ogre 1.9 or 2.1
    . [#777] Issue when calling vpMatrix::eigenValues() using lapack built-in
    . [#780] Projects have to explicitly link against Boost when compiling ViSP with ar module
    . [#781] Wrong share install path on unix-like system
    . [#785] Static variable in vpServo
    . [#787] Unable to build simdlib 3rd party for iOS
    . [#792] Mismatch between mu_ij and n_ij centered moments of an ellipse
    . [#798] Inconsistant handling of Exif Orientation between libjpeg and opencv
    . [#799] Issue when parsing .cao model with no newline at end of file
    . [#801] Build issue with visp_java
    . [#803] Segfault with MBT and when a circle disappears
    . [#806] Error running the Java sample with intel-mkl 2020.2.254-1
    . [#808] vpVirtuose.cpp doen't build with Visual 2019 (vc16)
    . [#812] Online doc formula rendering issue with Ghostscript on OSX
    . [#817] vpIoTools::getFileExtension prints "Debug sepIndex: 0" to std::cout
    . [#818] Model-based tracking issue using RGBD-data on Windows
    . [#820] Error when composing two RT transformations in template tracker
    . [#822] Issue in ellipse display and usage
    . [#832] Memory leak when reading a sequence of images with vpVideoReader
    . [#838] vpImage::getValue() fails on Alpha arch
    . [#841] Build issue with PCL 1.11.0 on OSX
    . [#842] iOS framework build process is unable to detect opencv2.framework as 3rd party
    . [#845] Fix ME display when calling setPose() without track() after
    . [#857] Reading a color image with vpImageIo::readPNG() can lead to a gray level image
    . [#859] Wrong visp.pc content with PCL 1.10.0 around VTK library names
----------------------------------------------
ViSP 3.3.0 (released February 14, 2020)
  - Contributors:
    . This release was possible thanks to contributions from Fabien Spindler,
      Souriya Trinh, Gatien Gaumerais, Yasutomo Shirahama, Yash Kapoor, Noura Neji,
      Rahaf Rahal, Romain Lagneau, ahfuzhang, Franco Fusco, Olivier Kermorgant,
      Alexander Oliva
  - New features and improvements
    . Upgrade to new AprilTag3 version. Note that TAG_36h10, TAG_25h7 and
      TAG_36ARTOOLKIT are deprecated and that new families: TAG_CIRCLE21h7,
      TAG_CIRCLE49h12, TAG_CUSTOM48h12, TAG_STANDARD41h12, TAG_STANDARD52h13
      are supported. AprilTag detection time is reduced
    . Remove libxml2 3rd party dependency to use pugixml built-in
    . Replace pthreads-win32 for POSIX threads for windows 3rd party with
      pthreads4w implementation
    . New matrix and vector initialization methods to ease setting elements
    . Introduce Eigen <-> ViSP conversion functions in vp namespace
    . Add OpenBLAS, Intel MKL and Atlas explicit support
    . Add support of vpImage<vpRGBa> to vpMbGenericTracker
    . Add support of vpImage<vpRGBa> to vpKeyPoint
    . Introduce force/torque controller for Franka Emika Panda robot in
      vpRobotFranka class
    . New vpQbDevice and vpQbSoftHand classes and examples to control
      qbrobotics devices
    . Compatibility with Microsoft Visual C++ 2019 (MSCV 16)
    . Compatibility with FlyCapture 2.13 to enable vpFlyCaptureGrabber usage
    . Compatibility with PCL > 1.9.1 to enable additional features in
      vpRealSense2 class
    . Compatibility with Windows 10 SDK latest version to enable vpDisplayGDI
      usage
    . Compatibility with Fedora 31
    . Compatibility with Raspberry 4 Alpine
    . New option to select CXX standard set by default to c++11
    . Introduce a timeout (default to 50ms) during DataMatrix code detection
      implemented in vpDetectorDataMatrixCode class
    . New vpForceTorqueAtiNetFTSensor class to get F/T measurements from an
      ATI F/T sensor connected to a Net FT box
    . New vpRobotBebop2 class a wrapper over ARSDK3 to control Parrot Bebop2
      drone
    . New vpRobotFlirPtu class, a wrapper over Flir pan-tilt unit SDK
    . New vpForceTorqueIitSensor class, a wrapper over IIT force-torque sensor
    . Optimize template tracker
    . Modify vpVideoReader to support MTS video format
    . Upgrade to AprilTag 3.1.1 last release
    . Introduce performance tests using Catch2
    . Modify vpVideoReader to enable MTS video format reading
    . Use only OpenCV required modules to reduce the number of dependencies
    . Remove valgrind false positive memory leaks adding a suppression file
    . Introduce Java bindings for vpGenericTracker and vpDetectorAprilTag classes
    . New vpImageDraw and vpFont classes for basic drawings (line, circle,
      rectangle, text) in an image without the need of a vpDisplay
  - Tutorials
    . New tutorial: Installation from source for Windows with Visual C++ 2019
      (vc16)
    . New tutorial: Cross-compilation for UWP from Windows host with Visual
      C++ 2019 (vc16)
    . New tutorial: IBVS with Panda 7-dof robot from Franka Emika
    . New tutorial: Visual-servoing with Parrot Bebop 2 drone
    . New tutorial: Visual servoing with FLIR Pan Tilt Unit
    . New tutorial: AprilTag marker real-time detection on iOS
    . New tutorial: Introduce a new class with 3rd-party dependencies
    . New tutorial: AprilTag detection in java with ViSP
    . New tutorial: Generic model-based tracking in java with ViSP
  - Bug fixed
    . [#523] dpkg-shlibdeps produces an error during Debian packaging
    . [#525] Tests are failing during Debian package build in a container
    . [#546] ViSP doesn't build when C++11 off and PCL on
    . [#549] Bug in unsigned int vpBSpline::findSpan(double u)
    . [#554] Bug in SaveRealSenseData.cpp prevents install on windows
    . [#559] AprilTag detector freeze with msvc built when more than 1 thread
      is used
    . [#564] visp_java build fails when OpenCV and libjpeg or libpng are not
      used
    . [#570] Could not get left and right Infrared images from RealSense D435
    . [#573] VISP fails to build with cmake 3.14.3 and PCL 1.9.1
    . [#574] Compatibility problem with PCL > 1.9.1
    . [#597] Fix vpImage bitmap deletion when copyData = false
    . [#614] Performance issues in vpTemplateTrackerMIInverseCompositional
    . [#621] Fix pointcloud computation when align with librealsense2
    . [#650] Video reader ends prematurely on some mp4
    . [#651] visp_ros installation error
    . [#655] Build error with Ubuntu 12.04.5 LTS
    . [#661] Possible issues in image Moments calculations
    . [#665] Build error with Ubuntu 12.04.5 LTS
    . [#667] Tutorial-apriltag-detector seg fault
    . [#668] April Tags and depth image
    . [#669] Fix segfault and memory leak when BEST_RESIDUAL_VIRTUAL_VS or
      HOMOGRAPHY_ORTHOGONAL_ITERATION pose estimation method are used
    . [#679] Fix display
    . [#705] Fix error computation in the VVS loop for plane normal
    . [#706] visp.pc pkg-config file not conform to man page
----------------------------------------------
ViSP 3.2.0 (released January 23, 2019)
  - Contributors:
    . This release was possible thanks to contributions from Fabien Spindler,
      Souriya Trinh, Olivier Kermorgant, Mathieu Simon, Francois Chaumette,
      Marc Pouliquen, Jason Chevrie, Yash Kapoor, Tianhuanyu, Yasutomo Shirahama,
      ashwinpathak20
    . Google Summer of Code 2018: Akshay Sharma that ported ViSP to Java and Android,
      and Utkarsh Tripathi that developped the wrapper between ViSP and Unity.
  - New features
    . Turn cxx11 on by default
    . Introduce vpSerial class to handle serial communication
    . New vpRobotFranka class, examples and test showing how to use Panda robot
      from Franka Emika
    . In MBT:
      - Improve the generic tracker implemented in vpMbGenericTracker class
      - Add possibility to introduce a homogeneous transformation matrix
        when loading model and init files, useful to change the origin of the 3D
        cad model; see vpMbTracker::loadModel() and vpMbTracker::initClick()
      - Add support of pgm, png, jpg image format for initClick helper
      - Introduce a new confidence indicator that is working with all the visual
        features types to detect tracking failures;
        see vpMbGenericTracker::computeCurrentProjectionError()
    . Add basic template matching algorithm in vpImageTools::templateMatching()
    . Improve vpRealsense2 class that is the wrapper over librealsense 2.x
    . QR matrix decomposition introduced in vpMatrix
    . New solvers for Linear Programs and Quadratic Programs implemented in vpLinProg and
      vpQuadProg classes
    . Add vpDetectorDNN wrapper for deep learning object detection. The idea is to have a
      small wrapper over the OpenCV DNN module as much as possible light and simple.
      vpDetectorDNN is specialized to handle object detection tasks and provide a
      "convenient" way to have the detection bounding boxes.
    . Improve eye to hand calibration
    . Improve PnP pose estimation
    . Compat with OpenCV 4
    . Compat with Fedora 29
    . Introduce SonarQube code quality analysis tool. Analysis reports are available on
      https://sonarqube.bordeaux.inria.fr/sonarqube/dashboard/index/rainbow:visp:master
  - Tutorials
    . New tutorial: Installation from source on a Jetson equipped with an Orbitty Carrier
      board http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-install-jetson.html
    . New tutorial: Using ViSP and Matlab
      http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-visp-matlab.html
    . New tutorial: PBVS with Panda 7-dof robot from Franka Emika
      http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-franka-pbvs.html
    . New tutorial: Visual-servoing with mBot Ranger educational robot kit
      http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-mbot-vs.html
    . New tutorial: Camera extrinsic calibration
      http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-calibration-extrinsic.html
    . New tutorial: Markerless generic model-based tracking using a color camera
      http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-tracking-mb-generic.html
    . New tutorial: Markerless generic model-based tracking using a stereo camera
      http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-tracking-mb-generic-stereo.html
    . New tutorial: Markerless generic model-based tracking using a RGB-D camera
      http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-tracking-mb-generic-rgbd.html
    . New tutorial: Markerless generic model-based tracking using AprilTag for
      initialization (use case)
      http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-tracking-mb-generic-apriltag-live.html
    . New tutorial: Developement of an interface and demo between ViSP and Unity engine
      https://github.com/lagadic/visp_unity/blob/master/README.md
    . New tutorial: ViSP for Unity introduction
      https://github.com/lagadic/visp_unity/wiki
    . New tutorial: Generating a DLL for Unity
      https://github.com/lagadic/visp_unity/wiki/Generating-DLL
    . New tutorial: Unity demo based on ViSP
      https://github.com/lagadic/visp_unity/wiki/Running-in-Unity
    . New tutorial: Installing ViSP for Java
      http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-install-java.html
    . New tutorial: First java application with ViSP
      http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-java-started.html
    . New tutorial: Building ViSP SDK for Android
      http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-create-android-sdk.html
    . New tutorial: Creating a simple Android App with ViSP
      http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-android-getting-started.html
    . New tutorial: Deep learning object detection
      http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-detection-dnn.html
    . New tutorial: Draw basic drawings
      http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-basic-drawings.html
    . New tutorial: How to use Blender to generate simulated data for model-based tracking experiments
      http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-tracking-mb-generic-rgbd-Blender.html
  - Bug fixed
    . [#279] Unable to build ViSP with Visual Studio 2010
    . [#281] Segfault in mbtGenericTrackingDepth.cpp when run on big endian arch
    . [#286] Fix build issue on Debian hurd-i386 arch
    . [#287] On Win XP inet_ntop() could not be located in WS2_32.dll
    . [#293] Rotation extrinsic for RealSense is not correct
    . [#299] Unable to build when libaria is used
    . [#302] Fix build issue with librealsense 2.9.1 or higher
    . [#324] How to compile ViSP within Visual Studio 2013 on windows 7?
    . [#348] ViSP-third-party.txt is erased after make
    . [#353] Test imageSequenceReader not working
    . [#355] Segmentation fault with vpRealSense2 acquire
    . [#368] ViSP Contrib Module including non-existant vpConfig.h header
    . [#371] Wrong conversion from vpRotationMatrix to vpThetaUVector for rotations around pi
    . [#373] ViSP doesn't build with OpenCV 4.0.0
    . [#382] Meaningless camera parameters when calibrating built-in auto-focusing camera
    . [#389] CMake error with Xcode generator
    . [#391] Tutorial command error
    . [#400] vpCircle::display() didn't work as expected
    . [#422] Two #include lines, <linux/kernel.h> and <linux/types.h>, aren't needed for V4L
    . [#423] Man page location should be man/man1
    . [#424] Please have one cmake variablefor DATADIR
    . [#425] Please remove the 'register' specifier everywhere: it is deprecated and incompatible with C++17
    . [#433] Can not build android SDK
    . [#435] vpRobot::END_EFFECTOR_FRAME not implemented in vpRobotViper650
    . [#442] Unable to build ios framework
    . [#453] CMake error when building tutorials and examples with ViSP from installation folder
    . [#466] Build error with libboost_thread-mt.a
    . [#429] vpRobotViper650 getPosition(vpRobot::REFERENCE_FRAME) error
    . [#485] CMake error when PCL is build with VTK option VTK_ENABLE_KITS=ON
    . [#515] Model-based tracking stops throwing an exception: the image of the straight line is a point!
    . [#519] Cannot build java bindings when lapack is not used
----------------------------------------------
ViSP 3.1.0 (released December 22nd, 2017)
  - Contributors:
    . This release was possible thanks to contributions from Fabien Spindler,
      Souriya Trinh, Wenfeng Cai, Oleksandr Borysov, Marc Pouliquen, Ronald Ensing,
      Yuriy Baranov, Jason Chevie
    . Google Summer of Code 2017: Vikas Thamizharasan that developed for the
      model-based tracker Blender import/export CAD model plugins and a Qt-based
      CAD model viewer
  - New features
    . Improve vpRealSense to better support R200 device
    . Improve vpConfig.h header content to remove path to build tree when installed
    . Speed-up vpMbKltTracker and vpMbEdgeKltTracker during reinit
    . Remove numerical recipes code that is not open-source
    . Changes done in vpMatrix to use either Lapack, OpenCV or GSL 3rd party
    . Eigen 3rd party was introduced as an alternative for matrix computation
    . Lapack is now embedded as a build-in when Lapack system library is not found
    . vpVideoReader was improved to better detect first and last image numbers of an
      image sequence and better handle the frame step
    . Speed-up vpColVector::insert(), vpMatrix::insert() and vpMatrix::stack()
    . Refactor model-based tracker (+ some segfault / memory fixes)
    . Introduce vpMbGenericTracker a new class that can handle all the features
      supported by the model-based tracker but also consider stereo or multi-view
      tracking
    . Add model-based depth tracking using face normals or using a dense approach
    . Use BLAS library to compute dgemm and dgemv operations if available
    . Add Hadamard product
    . Add an explicit recopy parameter when resizing a vpArray2D
    . Add move constructor / assignment operator for vpMatrix, vpColVector and vpImage
    . Introduce vpPylonGrabber a wrapper for Basler cameras using Pylon SDK
    . Introduce AprilTag as a 3rd party and vpDetectorAprilTag wrapper
    . Remove ffmpeg 3rd party usage
    . Introduce AppVeyor check for continuous integration (MSVC + mingw-w64)
    . Fix slow acquisition of color pointcloud with RealSense camera
    . Improve vpIoTools to make recursive folder and sort files
    . Add display of polygon lines (vpDisplay::displayLine() /
      vpDisplay::displayDotLine())
    . Add CPU capabilities check
    . Improve VISP_INPUT_IMAGE_PATH env var usage to get more flexibility
    . Update ViSP license to GPLv2 or later
    . Introduce new imgproc module dedicated to image processing and tutorials
    . Add UDP client / server
    . Add compat with Intel Compiler icc
    . Add new class vpRealSense2 to support Realsense 2 SDK
    . Add Franka Control Interface C++ API detection and native examples from Franka
  - Tutorials
    . New tutorial: How to extend ViSP creating a new contrib module
    . New tutorial: AprilTag marker detection on iOS
    . New tutorial: Installation from source for Windows with Visual C++ 2017 (vc15)
    . New tutorial: Installation from source for UWP with Visual C++ 2017 (vc15)
    . New tutorial: How to import a CMake project that uses ViSP in Eclipse IDE
    . New tutorial: Brightness and contrast adjustment
    . New tutorial: Contrast and image sharpening techniques
    . New tutorial: Automatic thresholding
    . New tutorial: Contours extraction from a binary image
    . New tutorial: Connected-components labeling
    . New tutorial: Flood fill algorithm
    . New tutorial: Practical example: count the number of coins in an image
    . New tutorial: Markerless generic model-based tracking
    . New tutorial: AprilTag marker detection
    . New tutorial: Markerless model-based tracker CAD model editor - GSoC 2017 project
  - Bug fixed
    . [#137] Fix bug in extration of vpRotationMatrix from vpPoseVector using
             vpPoseVector::getRotationMatrix()
    . [#149] Bug in vpTime::measureTimeMicros() (OS detection was done wrong)
    . [#160] Build issue with msvc around std::min() std::max()
    . [#162] Redefinition errors in WinSock2.h and winsock.h
    . [#165] Segmentation fault when cout a null row vector
    . [#171] Segfault when using vpMatrix::pseudoInverse()
    . [#175] Unable to track an ellipse with vpMeEllipse
    . [#177] Bug in line 124 of VISPConfig.cmake
    . [#178] Comments are not handled in vpMbTracker::initFromPoints()
    . [#183] Inversion between pixel size and optical center in vpRealSense class
    . [#187] Integer division by zero in vpDisplayWin32.cpp
    . [#200] Issue when reading PNG images with 16bits depth with libpng
    . [#201] Fix read PNG images with 16 bits depth with libpng
    . [#207] CMake option 'ACTIVATE_DEBUG_TRACE' has never been used
    . [#226] Planar pose Lagrange computation returns a left handed frame

----------------------------------------------
ViSP 3.0.1 (released February 3rd, 2017)
  - New features
    . Compatibility with Microsoft Visual C++ 2017 (MSCV 15)
    . Compatibility with Universal Windows Platform (UWP); Windows Phone
      and Windows Store 8.x and 10.0
    . Add vpMatrix, vpColVector, vpTranslationVector missing member functions
      to keep compat with ViSP 2.10.0
    . New vpFlyCaptureGrabber class to capture images from PointGrey
      cameras (USB-3, firewire, GigE)
    . New vpVirtuose class, a wrapper over Haption Virtuose SDK that is
      provided with their haptic devices
    . New vpComedi and vpForceTorqueAtiSensor classes to get synchonous
      data from ATI F/T sensors
    . New vpRealSense class, a wrapper over RealSense SDK to capture
      data from SR300, F200, R200 RGB-depth sensors:
      + Acquisition of the color / depth / infrared streams + the associated
        point cloud
      + Possibility to set the stream parameters (resolution, FPS, ...)
      + Possibility to retrieve stream aligned (e.g. color stream aligned to depth)
    . New cross platform multi-threading capabilities with vpMutex and
      vpThread classes
    . Crosscompiling capabilities tested for Raspberry Pi target
    . Crosscompiling capabilities tested for Nao, Romeo and Pepper robots
    . OSX/iOS framework creation with support of OpenCV 3rd party
    . Introduce SSE2, SSE3 and SSSE3 optimizations
    . New meta-header visp3/visp.h that allows to include all ViSP headers
      in one line
    . New meta-header visp3/visp_<module>.h that allows to include all the
      headers of a given module in one line
    . When using cxx11 support (USE_CPP11=ON), the corresponding compiler
      flag is propagated to the project that use ViSP as 3rd party
    . In vpServo introduce setCameraDoF() that allows to turn off the usage
      of some dof
    . Model-based tracker:
      + Introduce stereo as well as more generic multi camera tracking capabilities
      + New classes vpMbEdgeMultiTracker, vpMbKltMultiTracker, and
        vpMbEdgeKltMultiTracker for the hybrid version
    . Set vpRGBa images alpha channel default value to 255
    . Allow to resize the display in order to display image that are larger than
      the screen resolution
    . Introduce new CMake ENABLE_FULL_DOC var: when turned ON allows to build
      doxygen documentation with all classes including internal ones
    . Build information available in ViSP-third-party.txt is now more
      complete, including OS, compiler, flags and 3rd party versions.
      This information is also embedded in visp_core library and could
      be obtained using vpIoTools::getBuildInformation()
    . Improve RANSAC pose estimation computation time (noticeable with large data)
    . vpKeyPoint class:
      + Support for little / big endian architecture when writing learning data
        into binary file
      + Add possibility to learn keypoints on cylinders
      + Add support of the new keypoint methods in OpenCV 3.1 and 3.2
      + Add possibility to use enum type to select the keypoint
    . Add possibility to save extra information (time, reprojection error, ...)
      for the camera calibration process (e.g. in camera_calibration.cpp)
    . Improve image morphology operations for grayscale images
    . Add optimized image addition / subtraction for grayscale images
    . Add possibility to load recursive CAO model with identical filenames
    . Add possibility to retrieve clipped polygons for the model-based tracker
    . Improve vpPolygon::isInside() computation time
    . Add separable filter and switch between correlation / convolution in vpImageFilter
    . Add possibility to print vpImage class in the terminal
    . Add basic image resizing (nearest neighbor / bilinear / bicubic interpolation)
  - Tutorials
    . New tutorial: How to use multi-threading capabilities
    . New tutorial: Crosscompilation for Raspberry Pi from Ubuntu host
    . New tutorial: Installation from prebuilt packages for Arch Linux
    . New tutorial: Installation from prebuilt packages for ROS
    . New tutorial: Installation from prebuilt packages for iOS devices
    . New tutorial: Installation from source for iOS devices
    . New tutorial: How to create a basic iOS application that uses ViSP
    . New tutorial: Image processing on iOS
    . New tutorial: Cross-compilation for NAOqi OS from Ubuntu host
    . New tutorial: How to create an application that uses ViSP on NAOqi OS
    . New Tutorial: Markerless model-based tracking with stereo cameras
    . New Tutorial: How to display an image
    . New Tutorial: Pose estimation from QRcode
    . New Tutorial: Installation from source for Universal Windows Platform (UWP)
  - Bug fixed
    . [#37] How to build for ios? build failed
    . [#38] Wrong urls in visp/doc/tutorial-calibration.doc
    . [#39] Meta header files visp_<module>.h not installed
    . [#40] vpKeyPoint fails to R/W database on big endian arch
    . [#42] Fails to build on Fedora 23 with Coin3-devel
    . [#44] Reshape issue with vpRowVector or vpColVector
    . [#47] Build issue in vpMath.h around vpMath::sign()
    . [#48] Fix vpPoseVector::getThetaUVector() to return the adequate vector
    . [#54] Error in vpHomography::projection()
    . [#59] Unable to use visp-config or visp-config.bat to build a project
            without CMake
    . [#68] Visual C++ 2010 unable to build modules\core\test\math\testMath.cpp
    . [#69] Unable to build ViSP under Windows without OpenCV 3rdparty
    . [#75] visp.pc pkgconfig file is corrupted by optimized and debug keywords
    . [#77] vpAROgre: wrong resources / plugins default path when used from
            ROS installation
    . [#82] Problem when comparing two vpImage (operator!=)
    . [#84] Problem with vpImageMorphology and CONNEXITY_8 and with border pixels
    . [#90] Fix potential build issue with isnan() and isinf() usage when cxx11
            flags are used
    . [#91] vpMeLine::computeRhoTheta should throw exception
    . [#92] Is there any interface to resize display window?
    . [#95] setEllipsoidBadPointsPercentage in vpDot2 not completly being taken
            into account
    . [#104] vpMomentAlpha: Results are not repeatable
    . [#105] vpMomentAlpha: Question about symmetric judgement based on centered
             moments
    . [#106] Freeze when more than one GDI display is opened with mingw
    . [#109] Link errors with undefined reference to TIFF
    . [#111] vpColor doesn't work in mb-hybrid
    . [#112] vpPose: Possible ambiguity or misunderstanding in doxygen message
    . [#114] vpMomentAlpha: wrong abs() function using
    . [#116] Link errors related to openmp
    . [#117] vpMomentAlpha: out of range of [-Pi, Pi] in relative mode
    . [#118] vpKeyPoint: perhaps misleading in document
    . [#120] Build failed with clang/llvm
    . [#126] vpPolygon::operator=() does not copy everything.

----------------------------------------------
ViSP 3.0.0 (released December 18th, 2015)
  - New features
    . Compatibility with Windows 8.1 and 10
    . Compatibility with Microsoft Visual C++ 2015 (MSCV 14)
    . Compatibility with Odroid XU4
    . Source code migrates to GitHub: http://github.com/lagadic/visp
    . Introduce Travis continuous integration
    . New website: https://visp.inria.fr
    . Reorganize source in modules (core, vision, mbt, tt, …) with a library
      per module named libvisp_<module>. Keep compat with previous releases.
    . Allow to link contributions to ViSP source code using
      VISP_CONTRIB_MODULES_PATH CMake var;
      see http://github.com/lagadic/visp_contrib
    . Model-based tracker:
      + New visibility tests based on the scanline rendering algorithm.
      + Improve Ogre3D visibility tests in order to use it in a probalistic
        approach via the setNbRayCastingAttemptsForVisibility()
        and setGoodNbRayCastingAttemptsRatio() functions.
      + Introduction of cylinder tracking with the model-based trackers using
        key points.
      + Improve the setPose() functionnality to use the given pose as a
        prediction of the key points position while using vpMbKltTracker and
        vpMbEdgeKltTracker.
    . Introduce vpArray2D template class that is inherited by all matrices and
      vectors.
    . vpKeyPoint class:
      + Full code compatibility with OpenCV 3.0.
      + Add support to the new Features introduce in OpenCV 3.0 and contrib
        module releases.
      + Add possibility to detect keypoints on an image pyramid with OpenCV 3.0.
      + Add possibility to change the image type (jpeg, png, ppm, pgm) when
        saving a learning file.
      + Add OpenMP support for Affine SIFT.
      + Add single matching filter (discard pairs of keypoints where multiple
        query keypoints are matched to the same train keypoints).
      + Add possibility to match train keypoints to query keypoints (could be
        useful when we learn only on one image, it allows to avoid to match
        background keypoints with train keypoints).
      + Optimize the FLANN matching by learning once the train descriptors
        instead of doing it at each call of the matching function (noticeable
        with large train descriptors).
      + Add possibility to use the FLANN matcher with binary descriptors.
      + Fix displayMatching function and fix small memory leak in loadLearningData.
      + Should be possible to read / write learning files in binary mode regardless
        of the endianness of the host (need to be tested on a real case).
      + Save learning files in XML mode with the full precision (according to
        the data type).
    . and a lot of improvements and fixes
  - Tutorials
    . New tutorial: Bridge over OpenCV
    . New tutorial: Installation from source with Homebrew
    . New tutorial: Installation from source on Windows 10 with Visual 2015
    . Update all the installation tutorials since GitHub migration and modules
      introduction and make more explicit 3rd party installation
    . Update tutorial: Markerless 3D model-based tracking
  - Bug fixed
    . [18748] Ogre and wireframe resources not found after ViSP installation
    . [18823] vpMatrix::kernel method returns false result if matrix has
      less rows than columns
    . [18939] vpParseArgv::ARGV_CONSTANT segfault
    . [19312] Model-based tracker unable to initialize the number of cylinder
      or circle from cao file
    . [19326] segfault when using vpDisplayX::init(unsigned int, unsigned int, ...)
    . [19368] Invalid rotation parameters in vpSimulatorViper850::getPosition()
    . [#3]  Issue when comparing two vpRGBa
    . [#5]  Unable to get calibration matrix K when model with distortion is
      used
    . [#6]  Issue with vpMath::round()
    . [#18] Issues with vpColVector::median() + with assignment operator of
      vpRowVector + with vpRowVector::normalize() function

----------------------------------------------
ViSP 2.10.0 (released February 13th, 2015)
  - New features
    . New object detection and localisation capabilities that allow to
      initialize for instance the model-based tracker (see tutorial).
    . New bar code detectors that uses libdmtx and libzbar (see tutorial):
      + vpDetectorQRcode class allows to detect QR codes
      + vpDetectorDataMatrixCode class allows to detect data matrices
    . New vpDetectorFace class that allows face detection based on OpenCV
      Haar cascade classifier capabilities (see tutorial)
    . New vpConvert class for type conversions from OpenCV to ViSP.
    . Model-based tracker:
      + Introduction of 3D circles that project as ellipses.
      + In *.cao files comments are allowed on lines starting with # character.
      + New functions getError() and getRobustWeights() useful to compute
        tracking quality indicators.
      + Introduction of setLod() for "level of detail" that checks if the size
        of the feature is large enough to be considered by the tracker.
      + Based on the rank of the interaction matrix turn off automatically the
        degrees of freedom that cannot be estimated. Especially useful when
        considering 3D objets with only cylinders and circles.
      + and many other improvements and fixes.
    . Video reader and writer support mpeg4. ffmpeg is no more requested
      in vpVideoReader and vpVideoWriter. If ffmpeg is not detected or installed
      we use OpenCV.
    . New vpXmlParserHomogeneousMatrix class to read/write homogeneous
      transformations from/to xml files
    . Auto detection of visp-images-data Debian or Ubuntu package that allows
      testing without setting VISP_INPUT_IMAGE_PATH
    . If OpenCV version >= 2.4.8 use only OpenCV C++ api. Classes that use
      IplImages as input are deprecated.
    . Compat with RaspberryPi architecture
    . Compat with OpenCV 3.x
    . Compat with Yarp 2.3.63
    . Compat with CMake 3.x
    . Compat with MinGW w64 from http://mingw-w64.sourceforge.net/
  - Tutorials
    . New tutorial to show how to install ViSP from Ubuntu official packages.
    . New tutorial to show how to install ViSP on CentOS.
    . New tutorial to show how to install ViSP on openSUSE.
    . New tutorial to show how to install ViSP on Raspberry Pi.
    . New tutorial to show how to install ViSP on Windows 8.1 with msvc.
    . New tutorial to show how to install ViSP on Windows 8.1 with mingw.
    . New keypoints matching tutorial.
    . New bar code detection tutorial.
    . New face detection tutorial.
    . New object detection and localization tutorial
    . Update KLT tracker tutorial to show how to initialize the tracker online.
    . Update blob tracker tutorial to show how to use v4l2 live camera.
    . Update model-based tracking tutorial for advanced usage.
  - Bug fixed
    . [17112] Error after second call to track() in vpMbEdgeTracker
    . [17212] vp1394TwoGrabber: unable to select a camera from its guid
    . [17457] Cannot apply a secondary task to a 7dof robot
    . [17550] Build error with ffmpeg libraries
    . [17620] vpXmlParserCamera::save() doesn't save the camera name and
      image size
    . [17644] vpDisplayX doesn't work on RaspberryPi
    . [17659] ViSP+Ogre3D+boost: libboost_chrono cannot be opened
    . [17705] Bad endianness support in vpDisplayX
    . [17766] Compat with cmake 3.0.0: failed due to new CMP0026 policy
    . [17972] Ogre examples are not working with Fedora 20
    . [17983] Unable to build ViSP when an older version was previously
      installed
    . [18258] Stack overflow when using vpDot under Windows
    . [16895] undefined reference to `vpGaussRand::gaussianDraw()'
    . [18406] Infinite loop in `vpPose::poseRansac()'
    . [18446] Bad KLT points detection in vpMbKtlTracker and vpMbEdgeKltTracker.
    . [18451] Infinite loop in vpSimulatorViper850::stopMotion()
    . [18452] Empty filename check in vpImageIo, vpVideoReader, vpVideoWriter is erroneous
    . [18459] Error when initializing KLT related trackers but no key point is deteted.
    . [18471] Bad fov computation in vpCameraParameters.
    . [18550] Linking error with Homebrew install of OpenCV on MacOS

----------------------------------------------
ViSP 2.9.0 (released February 18th, 2014)
  - New features
    . Introduction of a new template tracker using SSD (vpTemplateTrackerSSD
      classes) or ZNCC (vpTemplateTrackerZNCC classes). These trackers are able
      to estimate 2D transformations such as translation, SRT (scale, rotation
      and translation), affine and homography. A video
      illustrating this tracker capabilities is available on:
      http://team.inria.fr/lagadic/visp/computer-vision.html
    . In vpServo introduction of a new controller able to ensure continuous
      sequencing
  - Improvements
    . Add missing const to member functions and arguments passed by reference.
    . Introduction of a new option BUILD_WITH_STATIC_CRT that allows to set
      /MT (default) or /MD msvc build option
    . Compatibility with mingw, msvc11 (2012), msvc12 (2013)
      and open solaris 11
    . Trace and debug can now be enabled/disabled using CMake
      ACTIVATE_DEBUG_TRACE option
    . Fix errors detected by Covery Scan static code analyser
    . Fix warnings detected with Gnu g++ -Weffc++ -Wshadow compiler flags
    . Improve a lot of classes
  - New examples
    . New example that shows how to use the template tracker
    . A lot of new sample code provided in tutorial folder
  - New tutorials
    . Installation from source on Linux Fedora
    . Image filtering
    . Template tracking
    . Homography estimation from points
    . Keypoint matching
    . How to boost your visual servo control law
    . Debug and trace printings
  - Bug fixed
    . [16263] libopencv_nonfree for Surf not detected by CMake.
    . [16307] vpVideoReader::setLastFrameIndex() doesn't work.
    . [16371] No convergence in SVDcmp
    . [16465] FTBFS on armhf, ppc, s390: Errors while running CTest
    . [16696] Build with OpenCV fails with msvc (/MT conflicts with /MD)
    . [16781] Unable to open .pgm saved with Matlab imwrite
    . [16823] Problems with camera calibration code
    . [16889] Link error with CMU 1394 on win x64 arch
    . [16895] undefined reference to `vpGaussRand::gaussianDraw()'
    . [16919] Unable to link with OpenCV 2.4.8 under Windows
    . [16924] MinGW: unable to build ViSP as a shared library
    . [16928] vpVideoReader is unable to find the number of the first image
      from a generic sequence of images
----------------------------------------------
ViSP 2.8.0 (released July 24th, 2013)
  - New features
    . New camera calibration tool: example/camera_calibration.cpp
  - Improvements
    . vpV4l2Grabber and vp1394CMUGrabber does no more require a call to
      open(I).
    . In vp1394CMUGrabber new getters/setters for the framerate, shutter, gain.
      It is now possible to change the settings in the acquisition loop.
    . An exceptions is throwned when moving-edges are not initialized
      (vpMeTracker, vpMeLine, vpMeEllipse)
    . In model-based trackers, improve face visibility test using Ogre ray
      tracing when faces are concave or not oriented counter clockwise.
    . Still in model-based trackers, add functionalities to use clipping planes.
    . ViSP can now be used with pkg-config
    . New functions in vp1394TwoGrabber to turn auto shutter and auto gain
      on. Also new getter for auto shutter and auto gain min/max values.
    . Support Visual Studio 2012 (MSVC11)
    . Introduce C++ visibility support as described here
      http://gcc.gnu.org/wiki/Visibility
    . Better support of image formats: *.tiff, *.jpeg, *.bmp, *.pbm, ...
  - Examples
    . Introduction of tutorials as minimalist line by line illustrated examples.
  - Bug fixed
    . [15404] Segfault in vpMbTracker derived classes around Coin SoDB::init()
      and SoDB::finish() usage
    . [15410] Robot wireframe simulator hangs
    . [15422] Build issues with ffmpeg 1.0.1 third party
    . [15475] Segfault in cv::Mat(BGR) to vpImage(grey) conversion
    . [15522] Visibility tests issues in Model-Based Tracker using Ogre3D
    . [15566] Bad mask orientation when using model-based tracker with
      cylinders
    . [15587] visp-config conflicts with multiarch support on Debian
    . [15623] Possible ViSP-2.7.0 bugs detected by cppcheck
    . [15644] crash with vpRobotWireFrameSimulator::initScene()
    . [15679] vpDot and vpDot2 copy operator are incomplete
    . [15680] Bad pixel to meter conversion in vpFeatureLuminance
    . [15697] False positive exception in vpDisplay when vpDisplay::close()
      is used
    . [15730] ViSP-third-party.txt is installed in a wrong location
    . [15896] Ogre Boost components miss Boost.Filesystem
    . [15895] ViSP does not compile on FreeBSD (amd64 / i386)
----------------------------------------------
ViSP 2.7.0 (released February 11th, 2013)
  - New features
    - New vpViper650 and vpRobotViper650 classes to interface Inria's new
      Adept Viper s650 robot.
    - New robot simulators; vpSimulatorCamera, vpSimulatorPioneer,
      vpSimulatorPioneerPan
    - New model-based tracker using KLT points: vpMbKltTracker.
    - New hybrid model-based tracker using moving edges and KLT points:
      vpMbEdgeKltTracker
  - Improvements
    - Add visp-config.1 man page.
    - To respect Debian guidelines, remove duplicate ABI version.
      Library name was set to libvisp.a or libvisp.so.2.7.0 rather than
      libvisp-2.a or libvisp-2.so.2.7.0
    - Fix typos detected by lintian
    - Add support for multiarch. Multiarch is the ability for a library
      to be installed concurrently for differents architectures (such as
      i386 and amd64 for instance). In practice, the changes removes the
      assumption made that libraries are installed in $INSTALL_PREFIX/lib and
      binaries in $INSTALL_PREFIX/bin.
    - In vp1394TwoGrabber that allows to grab images from firewire cameras,
      cameras are powered off when the grabber is closed.
    - MinGW is now supported but since MinGW currently doesn't support tls
      __declspec(thread) with vpDisplayGDI it is possible to open only
      one display.
    - To better organise the code, robot simulators inherit from
      vpRobotSimulator class. Introduction of a new vpRobotWireFrameSimulator
      class as a base class of robot simulated using the wireframe display
      capabilities.
    - VRML loader (based on Coin3D) now reads transform nodes and hierarchical
      scenes.
    - If Ogre3D is used, model-based trackers use now RayCasting to improve
      faces visibility test.
    - Compatibility with iOS 6 and Fedora 18
  - Examples
    - New model-based tracker examples to show how to use the KLT and hybrid
      tracker. See in example/tracking mbtEdgeKltTracking.cpp and
      mbtKltTracking.cpp
  - Bug fixed
    - [14646] ViSP doesn't build on Windows with MinGW
    - [14651] Build error around vpMatrix::pseudoInverse() with OpenCV 2.1.0
    - [14661] Build error when GDI is not detected or turned off
    - [14818] Build error when only GTK display device is available
    - [14862] Lagrange pose estimation cannot handle planar objects with
              points in plane oX=d or oY=d
    - [14863] vpPose::poseRansac() can fail during Lagrange pose estimation
    - [14993] Segfault in mbtTracker example when only the cube is tracked
    - [15049] In vpFeatureSegment, bad interaction matrix associated to
              alpha angle
    - [15110] Segfault in ffmpeg video reader
    - [15291] Under Windows, the end of an image is not displayed

----------------------------------------------
ViSP 2.6.2 (released July 15, 2012)
  - New features
     - New vp1394CMUGrabber class that allows firewire frame acquisition
       under Windows using CMU 1394 Digital Camera 3rd party library.
       Thanks to Lucas Lopes Lemos and Guillaume Laurent from FEMTO-ST,
       AS2M departement, Besancon, France for this contribution.
     - New vpPioneer, vpPioneerPan, vpRobotPioneer classes to control Pioneer
       mobile robots using Aria 3rd party library.
     - New vpFeatureSegment class to consider a segment as a visual
       servoing feature. Normalized and non normalized features are considered.
     - New vpFeatureMomentArea class to consider moment area as a visual
       feature.
     - Introduction of new functionalities in vpIoTools to parse text
       config files
     - Introduction of YARP to ViSP image converters in vpImageConvert
     - New vpClient and vpServer classes for a multiclients TCP network.
     - New vpPoseFeatures class for pose computation from any visual features.
       To be able to consider other user defined features the compiler should
       be compatible with C++ 11 standard.
  - Improvements
     - Introduce a new Denavit Hartenberg representation of the Biclops head
       in vpBiclops.
     - Compatibility with g++ 4.7 and OpenCV 2.3.1, 2.4.0, 2.4.1
     - Remove warning detected with Visual C++ /Wall flag
     - Use CMake native package finder for zlib, png, jpeg, coin3d, gtk2 and
       doxygen 3rd party libraries detection. If detection fails, we use our
       own package finder.
     - Under Windows, changes done to add "d" suffix to the library name when
       build in debug (libvisp-2d.lib and libvisp-2d.dll). Install stage
       copy libvisp-2[d].lib in $CMAKE_INSTALL_PREFIX/lib and libvisp-2[d].dll
       in $CMAKE_INSTALL_PREFIX/bin.
     - Use OpenMP to optimize the execution of the moments computation.
     - Possibility to compute the covariance matrix during pose estimation
       (vpPose and vpPoseFeatures) and model-based tracking (vpMbTracker).
     - All initClick() now have a non-blocking equivalent as initFromPoints(),
       or initFromPose(), etc.
     - Most of the classes that had a display() method now have the equivalent
       display in static function (display's externalisation).
     - Ransac is now improved for either pose computation or point matching.
  - Examples
     - New example plot3d.cpp to show how to plot 3D curves
     - New example movePioneer.cpp to illustrate Pioneer velocity control.
     - New example sonarPioneerReader.cpp to illustrate Pioneer sonar device
       usage.
     - New examples servoPioneerPoint2DDepth.cpp,
       servoPioneerPoint2DDepthWithoutVpServo.cpp and
       servoPioneerPanSegment3D.cpp
       to show how to control the pioneer mobile robot by IBVS.
     - New example grab1394CMU.cpp to show how to acquire images with
       the CMU 1394 library.
  - Bug fixed
     - [13536] Division by zero in vpMeLine
     - [13548] ViSP-2.6.1 produces several warnings with g++ 4.4.3, a const
               is missing in vpMbtDistanceLine.h
     - [13575] ViSP sporadic segmentation fault in vpMeLine
     - [13625] trackMeNurbs example produce an assertion failed with MSVC:
               "list iterator not incrementable"
     - [13626] testXmlParser produre a Debug assertion failed with MSVC
     - [13678] Cannot build all the examples if no display capability is
               available
     - [13679] GDI not detected on Windows 7 (64 bit) with Visual C++ Express
               2010
     - [13689] Memory leaks in jpeg reader: vpImageIo::readJPEG()
     - [13690] Memory leaks in NURBS tracker
     - [13843] In vpPolygon, isInside() may produce a segfault and getArea()
               or getCenter() give bad results
     - [13850] visp-config.bat produces a non compatible msvc 2010 output
               format
     - [13955] vpBasicFeature::error() is not virtual
     - [13963] Under Windows, vpDisplay::getClickUp() doesn't work
     - [14081] Error in vpThetaUVector when angles are near 180 deg +/- epsilon
     - [14082] Segmentation fault in model based tracking when tracking only
               cylinders
     - [14474] Fix race condition in vpXmlParser.
     - [14481] testFeatureSegment can lead to an exception.
     - [14587] Ogre media directory OGRE_MEDIA_DIR not set in Ubuntu 12.04
     - [14588] vpConfig.h doesn't match with the install directory

----------------------------------------------
ViSP 2.6.1 (released October 20th, 2011)
  - New features
     - Introduction of Lapack support used for the SVD decomposition in vpMatrix
     - Introduction of vpAROgre that enables augmented reality applications
       based on Ogre 3D. Some examples are provided in examples/ogre-simulator
     - Add cylinder's tracking in the model-based tracker.
     - Reintroduce OpenCV 2.0.0 support lost in ViSP 2.6.0
     - Introduction of vpKinect, a wrapper of libfreenect to support the
       Kinect device
     - Introduction of vpMoment and vpFeatureMoment classes to be able to
       consider 2D image moments as visual feature in visual servoing
  - Improvements
     - For firewire cameras framegrabbing with vp1394TwoGrabber, it is now
       possible to select a specific camera with its GUID by using setCamera()
     - All the specific Xml parser (vpMbtXmlParser, vpXmlParserCamera)
       inherit now from vpXmlParser
     - Memory leaks suppression in vpWireFrameSimulator, vpMe, vpXmlParser,
       vpMbtXmlParser, vpXmlParserCamera, vpMbTracker, vpFeatureLuminance,
       vpRobotSimulator, vpFFMPEG, vpBSpline
     - It is now possible to grab images from an usb webcam with the
       vpV4l2Grabber class that is based on the video 4 linux 2 driver.
     - When it was possible without braking the backward compatibilty
       std::list was introduced instead of vpList. Some of the functions that
       use vpList are now deprecated.
     - Better detection of image or video file types when used in vpImageIo,
       vpVideoReader and vpVideoWriter
  - Build
     - Set the build type by default to release
     - Improve the usage of debug versus release third-party libraries
  - Deprecated
     - vpAdaptativeGain is deprecated. Use vpAdaptiveGain instead.
     - vp1394Grabber is deprecated. Use vp1394TwoGrabber instead.
     - Most of the methods that use vpList are deprecated. Use std::list instead
     - vpTwistMatrix deprecated in ViSP-1.6.0 was removed.
  - Examples:
    - New example grabOpenCV-2.cpp to show how to use the OpenCV
      cv::VideoCapture class. This example shows how to acquire an image
      with cv::VideoCapture, how to transform this image in ViSP format
      and how to display it.
    - New examples to illustrate the usage of the Ogre simulator through
      vpAROgre class.
    - New example to illustrate the usage of the Kinect through
      vpKinect class.
    - New examples to illustrate the usage of 2D image moments.
  - Bug fixed
     - [11110] On OSX vpDisplayOpenCV does not display images since OpenCV 2.1.0
     - [11147] Coin not installed, cannot read VRML files
     - [11473] vpImageTools::flip() come out error when deal with vpImage
       with vpRGBa type
     - [11529] ViSP / OpenCV(2.2.0) incompatibility
     - [11563] segfault in vpVideoReader
     - [11617] selecting a subset of features is not taken into account in
       vpServo
     - [11916] Build issues with GTK2 on ubuntu 10.10 (fatal error:
       gdk-pixbuf/gdk-pixbuf.h)
     - [11924] svdNr fails on some matrices where svdGsl succeeds
     - [11942] Build issues with GSL on OSX due to 32/64 bits architecture
     - [11943] Build issues with libjpeg on OSX due to 32/64 bits architecture
     - [11944] Build issues with libpng on OSX due to 32/64 bits architecture
     - [11981] vpV4l2Grabber class based on video 4 linux 2 is not able to
       grab images from an usb webcam
     - [12329] Bad font problem when opening vpPlot example
     - [12334] Under windows, link errors when some 3rd party libs are not
       build in the same build configuration as ViSP
     - [12499] servoSimu4Points: World point disposition does not match camera
     - [12591] Seg fault when using setCleanPreviousImage() from
       vpImageSimulator
     - [12739] Problem initialising a vpMeEllipse
     - [13014] Bug in vpCalibration::calibVVSMulti() jacobian
     - [13015] vpFFMPEG compatibility issue with ffmpeg-0.8 release
     - [13449] "LIBJPEG_BUILD_TEST - Failed" message in CMake for Visual 2010
     - [13467] CreateWindow windows API does not correctly register class.

----------------------------------------------
ViSP 2.6.0 (released September 23rd, 2010)
  - License:
      Change the open source license from QPL to GPL v2
  - New Features
    - Introduction of a new wireframe simulator. See vpWireFrameSimulator class.
    - Introduction of a new model-based tracker that allows to track
      an object based on its 3D model. See vpMbEdgeTracker class.
    - New vpForceTwistMatrix class that allows to transfer a force/torque skew
      from one frame to another.
    - New vpVelocityTwistMatrix class that allows to transfer a velocity skew
      from one frame to an other. The vpTwistMatrix class that does the same
      work previously is from now deprecated.
    - New vpRobotCycab class to communicate with the Cycab car-like mobile
      robot at Inria.
    - New generic vpRobotSimulator class to create robot simulators.
    - New vpSimulatorViper850 class which simulates the viper850 robot.
    - New vpSimulatorAfma6 class which simulates the Afma 6dof robot.
    - New vpPlanarObjectDetector class to detect a planar surface based on
      the Ferns Classifier.
    - New vpSickLDMRS class, a UNIX driver to get measures from a Sick LD-MRS
      laser scanner.
    - New vpPlot class that was recoded to suppress the XPlotter dependency.
      This class aims real time drawing of 2D or 3D graphics under Linux, OSX
      and Windows.
  - Third party library dependencies
    - OpenCV 1.1 and 2.0 are no more supported. ViSP requires at least
      OpenCV 2.1.
    - libplotter is no longer required.
    - Itifg8 is no longer supported.
  - Improvements
    - Copy constructors were added to better support stl lists and vectors.
    - In firewire framegrabbing using vp1394TwoGrabber based on libdc1394-2.x,
      add possibility to change during the execution the shutter, the gain, the
      brightness, ... (see documentation for more details)
      . new setIsoTransmissionSpeed(), setAutoShutter() methods
    - In vpThetaUVector addition of &operator=() method to initialise all the
      angles to the same value
    - In vpHomogeneousMatrix addition of
      . eye() method to set the transformation as identity
      . extract(vpThetaUVector &) to extract the rotation as a Theta U vector
    - In vpRobotViper850 add openGripper() and closeGripper() functions to
      control the Schunk two fingers electric gripper (available only at
      Inria).
    - In vpRotationVector and vpTranslationVector introduction of set()
      method that allows initialization from 3 doubles
    - Documentation improvements
  - Deprecated
      . Some deprecated classes were removed: vpItifg8Grabber,
        vpEulerVector, vpSubPixel, vpRA
      . Deprecated functions since ViSP 2.4.4 where also removed
  - Examples:
    - New example calibrateTsai.cpp to show how to use the vpCalibration
      class to estimate the hand to eye transformation.
    - New examples to illustrate the usage of the new wire-frame simulators
  - Bug fixed
    - [9476] Memory leak in vpImageIo::readPNG() functions.
    - [9505] Problem with the DirectShow grabber : can't be initialised.
    - [9516] Problem in the getValue methods in the vpImage class.
    - [9746] The displayPoint method of the vpDisplayOpenCV class doesn't work.
    - [10472] Bug in the visual features: can't select the good feature.
    - [10647] Delay in displaying image overlays
    - [10687] The GDI display is not detected with Visual Studio 2010
    - [10696] [CMake] VISP_DIR path conflict
    - [10697] CMake standard output vars
    - [10719] Compilation error in vpPlot
    - [10723] Compilation error in vpFFMPEG.cpp
    - [10748] PThread and Win32 Conflict
    - [10928] vpPlane: rayIntersection from 2 points
    - [10985] In vpPlot, 2D curve plotting starts with point (0,0)
              and not with the first specified point.

----------------------------------------------
ViSP 2.4.4 (released January 8th, 2010)
  - Features removed
    - vpMePath has been removed.

----------------------------------------------
ViSP 2.4.4-rc1 (released December 21th, 2009)
  - New Features
    - During CMake configuration, when a third-party library is detected,
      it is now possible to turn off the default usage of the library.
    - Warning during the build if deprecated functions are used
    - For the Irisa's Afma6 robot addition of a new vacuum tool (vpAfma6).
    - New vpImagePoint class for image point coordinates.
    - New vpPlot class that enables real time drawing of graphics under Unix.
    - Ability to use other colors than the predefined ones with the rewriting
      of the vpColor class and modifications in display functionalities.
    - New vpKalmanFilter and vpLinearKalmanFilterInstantiation classes with
      velocity and acceleration state models.
    - New vpFeatureTranslation: ctc*
    - New USE_COIN_SIMULATOR option during CMake configuration to enable or
      disable simulation capabilities based on Coin3D suite.
    - New vpViper, vpViper850 and vpRobotViper850 classes to provide an
      interface for Inria's Adept Viper 850 robot.
    - New vpBSpline and vpNurbs classes to manipulate 2D BSpline and
      2D Nurbs (Non Uniform Rational BSpline).
    - New vpMeNurbs class to track object edges.
    - New vpFFMPEG class to interface the FFmpeg library.
    - New vpVideoReader and vpVideoWriter classes to manipulate easily the
      video files and the image sequences.
  - Improvements
    - In firewire framegrabbing using vp1394TwoGrabber based on libdc1394-2.x,
      bus reset can be switched off in the constructor. There are also
      improvements in the acquisition using acquire(vpImage<unsigned char> &I,
      ...) by removing the color coding format request and by support of the
      RAW8 and RAW16 video format.
      New dequeue() functions were also introduced to make possible to
      separate the ring buffer dequeuing and enqueuing. This behavior
      is for example useful when image processing needs to be introduced
      between the dequeuing and enqueuing stages. It may also useful
      to synchronise the image acquisition with an other sensor.
      New setPanControl() function was introduced to set the PAN register
      0x884 to control single or multiple image transmission from stereo
      vision cameras like the PointGrey Bumblebee.
    - vpDot2: The tracking is restarted in vpDot2::track() if a dot is found
      but is not valid.
    - In vpDisplay, new getKeyboardEvent() functionality to handle key
      events and new getPointerMotionEvent() functionality to handle mouse
      pointer motion event.
    - Optimization of the vpMatrix class.
  - Examples:
    - New examples in examples/servo-viper850 to show how to use the
      linear Kalman filter to compensate the tracking error due to the
      motion of a target.
    - New examples in examples/servo-viper850 to show how to use the
      secondary task to avoid joint limits.
    - New plotting example in example/tools/plot.cpp
    - In grab1394Two.cpp example, addition of [-r] new option to reset the bus.
    - New examples to show how to build a 3D visual servoing without using the
      vpServo and vpFeature classes:
      servoSimu3D_cMcd_CamVelocityWithoutVpServo.cpp
      and servoSimu3D_cdMc_CamVelocityWithoutVpServo.cpp
  - Bug fixed
    - [7638] Memory leak in all vpFeature... classes was reopened
    - [7888] vpV4l2Grabber cannot acquire an image from an analog camera
             on Ubuntu 8.04 Hardy Heron
    - [7994] vpMeLine : initialization problem for horizontal lines
    - [8001] Coin and SoQt are not detected during CMake configuration
             under Fedora 10
    - [8032] Link error with GSL while compiling HelloWorld.cpp on OSX
    - [8225] Bug in the multiplication of a twist matrix (6x6) by a matrix (6xn)
    - [8248] Compilation error under Windows MSCV8 if deprecated functions
             are not build
    - [8249] Compilation error under Windows MSCV8 when building ViSP
             as a shared library (DLL)
    - [8257] Bug in vp1394TwoGrabber::resetBus()
    - [8259] Segfault in vpDisplayX
    - [8389] vpKltOpencv : Bug in the copy constructor
    - [8493] Problem to build ViSP as a dynamic library under windows
             (Visual C++)
    - [8495] Segmentation fault during the execution of the example
             grabDirectShow
    - [8831] Possible bug when extracting axis/angle from theta/u vector
----------------------------------------------
ViSP 2.4.3 (released April 10th, 2009)
  - New Features
    - Add vpFeaturePointPolar corresponding the a 2D image point with
      polar coordinates visual feature.
    - Add vpFeatureTranslation for cto (camera to object translation feature)
    - Add vpDisplay::setWindowPosition() functionality
  - Bug fixed
    - [7281] Segfault when displaying a vpCylinder.
    - [7308] Rotation vector not initialized to zero by the default constructor
    - [7309] visp-config --cflags produces a bad output
    - [7342] Bug in vpRobotAfma6::setVelocity(vpRobot::CAMERA_FRAME, v)
    - [7494] Division by 0 in vpHomography
    - [7424] Coin3D version 3 not supported under Windows
    - [7613] vpSimulator::getInternalImage() function yields to an infinite
             loop.
    - [7607] vpDisplayGTK bad window positioning
    - [7638] Memory leak in all vpFeature... classes

----------------------------------------------
ViSP 2.4.3-rc2 (released January 29th, 2009)
  - Deprecated
    - Creation of a deprecated section in the online documentation that
      gives the list of classes or member function that are deprecated
    - vpOSXcfoxGrabber was removed, since the C+Fox third party library
      available at http://cfox.sourceforge.net/ was not updated since 2005.
    - vpIcCompGrabber was removed, since it uses a home made wrapper based
      on itifg-7.2.1 driver which is not maintained yet
  - Testing
    - Use of CDash insteed of Dart2. Dashboards are sent to
      http://cdash.irisa.fr/CDash/index.php?project=ViSP
  - Platform compatibility
    - Compatibility with g++ 4.3.0 coming with fedora 9
  - New Features
    - Add visp-config.bat under Windows to get the list of include dirs,
      library dirs and libraries ViSP depends on. This may help users to
      build a Visual Studio project from scratch and where ViSP is used as a
      third party project
    - vpFeatureThetaU: Add cRcd feature, with ThetaU corresponding to the
      rotation the camera has to achieve to move from current frame to the
      desired one.
    - vpOpenCVGrabber: New framegrabber based on OpenCV third party library
      (useful for USB cameras).
    - vp1394TwoGrabber: Get the timestamp associated to the grabbed image.
    - vpV4l2Grabber: Get the timestamp associated to the grabbed image.
    - vpRobotAfma6 and vpAfma6: Modifications to be compatible with the new
      low level Adept controller provided by Cerebellum Automation.
    - vpRobotAfma4 and vpAfma4: Modifications to be compatible with the new
      low level Adept controller provided by Cerebellum Automation. New
      vpServolens class to control the Servolens lens attached to the camera
      fixed on the Afma4 end-effector.
  - Examples:
    - New examples in example/manual described in ViSP guide under preparation.
    - example/servo-simu/servoSimu3DCamVelocity2.cpp
  - Documentation
    - Creation of a deprecated section.
    - Classes are now grouped in doxygen modules to help learning ViSP.
    - Introduction of new sample examples in the online documentation
  - Bug fixed
    - [5370] DirectShow and Visual Studio 9 2008 Express
    - [5371] Warnings on Visual Studio 9 2008
    - [5375] Compilation error in calibrate2dGrid.cpp
    - [5398] display cylinder
    - [5438] window sizes with Coin
    - [5496] Compilation error in example/framegrabber/grab1394.cpp
    - [5508] Bug in vpImageConvert::YUV420ToRGB
    - [5527] Bug in vpImageTools::changeLUT()
    - [5539] Unhandle exception with multi vpDisplayGDI / D3D instances
    - [5596] Multiplying a vpRotationMatrix with a vpColVector ?
    - [5642] warning in vphomographyvvs.cpp with Visual C++ 2003 .Net
    - [5993] vpImage BI
    - [6330] Segfault in vpSimulator with Coin + SoXt
    - [6336] DLT Homography on 4 points
    - [6484] Bug in vpCalibration::calibrationTsai for eye-to-hand calibration
    - [6590] vpDisplayGDI cannot handle numerous displays (windows)
    - [6619] Problem vpMeLine : compute of delta
    - [6743] Bug in vpDisplayOpenCV::displayRectangle()
    - [6744] Bug in vpDisplayOpenCV
    - [6962] vpMeLine : problem of tracking
    - [7034] vpMeLine : Bug when a strip is tracked
    - [7126] problem with vpMatrix::eigenValuesByLU()

----------------------------------------------
ViSP 2.4.2 (released March 27th, 2008)
  - New classes
    - vpCalibration : calibration toolkit for intrinsic and
        extrinsic parameters of perspective camera.
    - vpXmlParserCamera : Parser xml to read and save camera parameters
        from vpCameraParameters class.
    - vpHinkley : Hinkley's cumulative sum test computation.
    - vpMePath  : Tracking of a white curve by using line and parabola
        tracker.
    - vpKeyboard : Gets a key from the keyboard without waiting for the
        enter key.
    - vpParallelPort : Parallel port management under unix.
    - vpRingLight : Irisa's ring light controller.
    - vpKltOpencv : Interface for the KLT (Kanade-Lucas-Tomasi) feature
        tracker implemented with opencv.
  - New Features
  - Bug fix and improvement
    - vpCameraParameters : support for radial distortion camera model.
    - vpAfma6 : Add a getCameraParameters functionnality
    - vpSimulator : either SoWin or SoQt or SoXt is needed to use
        vpSimulator class.
    - vpDot: setMaxDotSize(double percentage) replace
        setNbMaxPoint(double nb) to be less image size dependent.
        The maximal dot size is set by default to 0.25% (quarter image size).
        setGrayLevelPrecision(double grayLevelPrecision) has been
        added for a better management of gray dots detection.
    - vpDot2:
        Changes in searchDotsInArea() :
          The algorithm search now in the bounding boxes of the bad dots.
          Bug fixed : we could fall in an infinite loop.
          Split accuracy private variable into grayLevelPrecision and
          sizePrecision. The gray level min and max are well calculated for
          white and black dots.
        Add setEllipsoidShapePrecision() to turn on/off and modify the test
        related of the geometry of the shape
    - vpDisplayX : better management of endianness
    - vpDisplayGTK, vpDisplayGDI, vpDisplayD3D, vpDisplayX :
        To actually display drawings on the screen, a vpDisplay::flush(I) is
        needed. Use it with parsimony : it is time consuming.
    - vpDisplayGTK, vpDisplayGDI, vpDisplayD3D :
        The behavior of the following methods change to be similar
        to vpDisplayX:
        . getClick(..., button) : The button used to click is now an output
        . getClickUp(..., button) : The button used to click is now an output
        Moreover, in vpDisplayGDI, vpDisplayD3D middle button is now managed
    - vpDisplayGTK, vpDisplayGDI, vpDisplayD3D :
        The usage of display->init(vpImage, int, int); returned a
        segmentation fault : bug fixed
    - vpDisplayD3D : we couldn't re-use a display after the call of the
        function close(vpImage). We had a black image : bug fixed.
    - vpDisplay : changes in displayRectangle():an option parameter
        fill has been had to precise if the displayed rectangle is filled
        or not.
    - vpColor : Add orange color.
    - vpServo : To fix bug #3528 you should explicitly call vpServo::kill()
        in your programs. Otherwise an exception
        vpServoException::notKilledProperly is launched by
        vpServo::~vpServo() destructor.
    - vpMatrix : Change Infinity Norm and Euclidean Norm formula to match with
        the standard matrix norms definitions.
        Change determinant formula for 3x3 matrices to match with
        the standard determinant definition.
    - vpImageConvert :
        Add IplImage to vpImage and vpImage to IplImage conversion tool.
        Add MONO16 to grey (MONO8) conversion tool.
    - vp1394TwoGrabber :
        Supports libdc1394-2.0.0-rc7 and libdc1394-2.0.1
        MONO16 color coding is supported
  - Testing and examples:
    - example/calibration/calibrate2dGrid.cpp was added
    - example/tracking/trackKltOpencv.cpp was added
    - example/light/ringLight.cpp was added
    - example/tools/parallelPort.cpp was added
    - test/video-device/testClick.cpp was added
    - test/video-device/testVideoDevice.cpp was added
    - test/visual-feature/testFeature.cpp was added
    - test/image/testCreateSubImage.cpp was added
    - test/camera/testCameraParametersConversion.cpp was added
    - Documentation improvement
    - vpRobust::MEstimator()
    - vpRobotAfma6: example usage of getPosition() was updated
    - vpDisplayGDI is included in the doxygen documentation

----------------------------------------------
ViSP 2.4.1 (released May 16th, 2007)
  - New classes
        - vpRect class for rectangle manipulations, display
        - vpHistogram,vpHistogramPeak and vpHistogramValey classes to
          handle gray level image histogram
  - vpSubPixel for sub-pixel manipulations
  - vpMouseButton for mouse click identification
  - New Features
        - MinGW supported
  - ViSP as a third party library in an other project.
    It is now possible to use ViSP as a third party project without
    installing ViSP by make install. ViSP can now be used
    directly from the build dir, or from the install dir, or
    from a package (NSIS, ...)
  - vpRobotCamera It is now possible to add a sampling time so that
    the behavior of this simulated camera is quite realistic. This
    sampling time is set by default to 40 ms.
  - vpExponentialMap A sampling time was introduced.
  - Bug fix and improvement
  - vpImage: getWidth() and getHeight() replace getCols() and getRows()
    which are now obsolete.
  - More restrictive types in vpImage, vpDisplay..., and vp...Grabber
    classes: const are added, unsigned int replace int for pixel
    manipulations and image or display size.
  - In vpDisplay classes:
    . vpMouseButton::vpMouseButtonType was introduced to handle
      mouse clicks
    . vpColor::vpColorType was introduced to handle colors to display
  - Simulator functionality based on Coin usage is now available
    under windows. It allows the use of vpSimulator class under this
    platform.
  - Compatibility with Windows platform.
  - Reference documentation improvement
  - cfox and std namespace were removed. To use cout you need to call
    std::cout, std::endl, std::cin ...

----------------------------------------------
ViSP 2.4.0 (released February 6th, 2007)
  - New Feature
  - add new framegrabber interface for itifg8 driver from Coreco
    Imaging Technology (http://sourceforge.net/projects/itifg)
    Tested with AM-STD COMP framegrabber board on 2.4 and 2.6
    linux kernel (see vpItifg8Grabber).
  - add new framegrabber interface and test for firewire 1394
    cameras using libdc1394-2.x. Need a newer version than
    libdc1394-2.0.0-rc4.
    Tested with the svn version of libdc1394-2 and Marlin F033C and
    F131B cameras (see vp1394TwoGrabber). Format 7 is supported
    in vp1394TwoGrabber.
    vp1394Grabber will be obsolete soon.
  - Bug fix and improvement
  - tests and examples
  - Video For Linux Two grabber (see vpV4l2Grabber)
  - memory leaks suppression
  - works fully under windows
  - doxygen documentation

----------------------------------------------
ViSP 2.2.0 (released August 25th, 2006)
  - Build
  - To increase the code portability, especially under windows),
    all the build process is now based on CMake
    (see http://www.cmake.org).
  - Supported platforms:
    Linux, Mac OSX, SunOS: g++ 2.95.3, 2.96, 3.3.x, 3.4.x, 4.1.0)
    Windows: MSVC7 (2003.NET), MSVC8 (2005)
  - Suppression of autotools support (configure)
  - Allows shared library building (.so and .dll)
  - New Feature
  - add control for Traclabs biclops pan-tilt head
  - add control for Directed Perception ptu-46 pan-tilt head
  - add vpDisplayGTK display under Windows
  - add vpDirectShowGrabber framegrabber under Windows
  - add vpDisplayGDI display under windows
  - Bug fix and improvement
  - vp1394Grabber settings (format, mode, framerate, shutter, gain)
  - vpDot (Moment computation)
  - some fixes in vpDisplayGTK

----------------------------------------------
ViSP 2.1.1 (released January 6th, 2006)
  - New examples
  - create an example directory
  - add vpDotExample.cpp
  - add vpDot2Example.cpp
  - add vpPoseExample.cpp
  - add 2D0.5.VisualServoingSimulation.cpp
  - New Feature
  - add this ChangleLog file
  - add a vpDisplayGTK class with the GTK2+ window system
  - new member function in vpDisplay (_uv)
  - add function getInteractionMatrix() in vpGenericFeature
  - Specification modifications
  - change the vpDot and vpDot2 specifications
  - supress demo directory
  - Bug fix and improvement
  - add a runtime warning when vpGenericFeature is not correctly used
  - comment in english in vpDisplayX
  - suppress a trace in vpPoseVirtualVisualServoing.cpp
  - directory.mk : add -p option to mkdir
  - improve XP compatibility
  - in vp1394Grabber, latency and memory leaks suppression
  - WWW
     - add an image sequence to download on the www site cube.tar.gz


---------------------------------------
ViSP 2.1.0 (released October, 24th 2005)
