@beku beku released this Dec 9, 2016 · 1130 commits to master since this release

Assets 2

This release is a bugfix and feature release. The non standard core
dependencies are plain included for easy building and faster porting.
Testing, code documentation and tutorials have improved. This version is
not fully API compatible with previous releases in order to support
many new features.

New features

Core

  • improved image ROI support for scaling, with many new APIs
  • add CMM selection API and many related API changes
  • support effect filter configuration with OY_PROFILES_EFFECT key and oyWIDGET_PROFILE_EFFECT
  • add threads hooks, with defaults loaded from pthreads + win32 threads module "trds"
  • abstract DB dependency out
  • add DB cache for faster repeated access, clearing the cache is done by calling oyGetPersistentStrings(NULL)
  • add oySCOPE_e and use in DB related APIs
  • add JSON device load APIs with oyDeviceFrom/ToJSON()
  • create device filter on the fly from rank map using JSON files
  • add oyOptions_FromJSON()/oyOptions_GetText(oyNAME_JSON) APIs
  • add introspection framework for object to SVG dumps; see oyObjectTreePrintf()
  • add oyProfile_FromName() supporting file name, internal profile names, ICC ID and wildcard names for use in tools
  • filter duplicates in oyProfiles_Create() and support OY_ALLOW_DUPLICATES flag
  • add oyGetInstallPath() and oyProfile_Install() APIs

Tools

  • add profile version selectors (-2|-4)
  • support profile names like file/ID/md5/default profile wildcards for profile arguments
  • add profile --path and --short options to better pass profiles to other tools
  • add oyranos-policy -cfe options to show current policy file name
  • support OY_DEBUG_OBJECTS environment variable for code introspection, writes the object tree as SVG
  • support Qt5 by qcmsevents tool
  • support SVG output in oyranos-profile-graph, beside PNG
  • open graph window after tools exit, needs set OY_DEBUG_OBJECTS
  • improve oyranos-monitor-daemon session daemon by syncing X root window, XRandR and Gnome profiles

Modules

  • new “trds” default threads module, with POSIX pthreads and windows threads support
  • new “elDB” / Elektra and "oiDB" modules , default loaded DB hooks from "elDB" / Elektra if available and a fallback to included libOpenICC
  • add oyMonitorHooks_s interface to write system specific monitor hooks independently and easily
  • support EDID_md5 and EDID meta keys in disp module family for compatibility
  • add "move_color_server_profiles._oyX1" and "clean_profiles._oyX1" handler filters used so far by oyranos-monitor-daemon and CompICC
  • add oyCMM_s.h header to build modules out of tree
  • support HALF reading in PPM image reader
  • add "oJPG" JPEG image reader
  • add "scale", "expose" and "channel" filters in "oyra" module

Examples

  • add more tutorials and examples and link them in the inline documentation
  • support High-DPI monitors in all FLTK based GUIs

oyranos-image-display

  • support scaling [+,-,w,h,0,1, mouse scroll], channel selection [0-9 keys] and exposure [Alt +,-,.]
  • support image flipping [<,>]
  • support full screen view [Alt v,F11]
  • add help [F1] and shortcut help view (Ctrl H)
  • add image info window [Ctrl F]
  • support view of oyHALF and oyDOUBLE sample types
  • support view of object tree with set OY_DEBUG_OBJECTS + Ctrl q in Firefox, The graph can be rather big.
  • make options editor [Ctrl E] selectable with OY_OFORMS_RENDERER variable, default is still oyranos-xforms-fltk

oyranos-config-fltk

  • show CMM selection tab by libOyranos changes
  • show Effect selection by libOyranos changes

Compiling

  • remove cores hard dependency on libelektra, for instant compiling and at a cost of no D-Bus messages
  • include light weight libOpenICC for the default fallback DB handler "oiDB"; The system library can be enforced with cmake -DUSE_SYSTEM_OPENICC switch, similar to USE_SYSTEM_YAJL switch
  • relax dependency on external libXcm; The system library can be enforced with cmake -DUSE_SYSTEM_LIBXCM switch
  • compile in Travis CI with no additional dependencies
  • compile "SANE" module by default; The rank map is in a separately installed file.
  • compile Qt4 and Qt5 tool versions in the same build
  • build OS X Frameworks and rename library names to camel case

Bug Fixes

  • known bugs are fixed, except a multi-monitor display related one, which is stalled to the next release
  • many new tests where added to cover more old and new test cases
  • use prelinearised curves by default in lcms modules to fix gamma 1.0 viewing
  • use no adapt to white point by default in lcms modules to fix strange white viewing with effects
  • Rename URI: bsd-license.php -> BSD-3-Clause
  • allow view of defect profiles in analysis tools without repair