apicompatanamdw/compatanalysercmd/checkbc/group/ReleaseNotes_CompatibilityAnalyser.txt
author shrivatsa
Mon, 27 Sep 2010 14:51:17 +0530
changeset 12 a0eee409ff14
parent 3 ebe3f8f03b59
permissions -rw-r--r--
Updates to CompatibilityAnalyser - The Tool should now work with Symbian^4 - Some minor bug fixes related to Qt headers in the Symbian Platform

===============================================================================

RELEASE NOTES - COMPATIBILITY ANALYSER v2.8.7
RELEASED 06th August 2010

===============================================================================

Product Description:
====================

Compatibility Analyser compares a set of files in two different versions of Symbian
releases against predefined Binary Compatibility (BC) criteria, and reports any
changes that affect BC. The analysis is done on header files or import
libraries of the platform. Preserving BC is central in Symbian development to
ensure that any executable that was built against an older version can be run without 
changes on a newer version of the platform .The comparison is made between a
baseline version of an Symbian release (for example, a Public SDK from Forum Nokia)
and a newer, current SDK version that needs to be verified. Compatibility
reports can be filtered so that they compare the found issues against a known
issues file. This file (knownissues.xml) contains information on whether or not
the same BC problems have occurred before in the Symbian Platform and what should
be done about them.

Compatibility Analyser uses three additional utilities for the analysis process,
HeaderAnalyser, LibraryAnalyser and BCFilter. Please see the release notes of
those tools for details.

Main Features:
==============
- By using static analysis for header and import library files, you can find
  binary and source compatibility issues by comparing a baseline and current
  release
- Analysis can be done for a whole release, for a set of files or for a single
  file
- Generated report files can be filtered by using a known issues file 

===============================================================================

What's New in v2.8.7
====================
-Change: In HA :- forced_shai.h updated with one macro definition
- HA, LA, BCF and Checkbc Test bench updated for taking the space in path.
- Change: In CheckBC:- Platform data files of 9.2 and 10.1 are updated to support new SHAI,Qt,Orbit headers.
- Updated knownissues.xml

===============================================================================

Installation Notes:
===================
Compatibility Analyser is part of the BCTools package. It is preinstalled in
all Symbian Platform/OEM releases under [EPOCROOT]\epoc32\tools\s60rndtools\bctools
directory.

===============================================================================

System Requirements:
====================
Basic Requirements:
- Windows 2000 or XP with 256MB RAM
- Python 2.4-2.6

===============================================================================

Compatibility Issues:
=====================
N/A

===============================================================================

Known Issues:
=============
- From TB9.2 onwards, the epoc32\include\mw\QT folder should be excluded using config_template file.
  This is required because this Qt folder conttains all the duplicate header entries present in other folders like mw\Qtcore,mw\Qtgui,mw\QtSql etc.
  The excluded param in config is EXCLUDE_DIR_HEADERS.
  ex:- EXCLUDE_DIR_HEADERS =Qt
- CA won't support Qt header analysis for SDK version < 9.2 or Symbian^3 (S^3)
- Currently Qt headers are present by dafault in epoc32\include\mw in any TB9.2 or TB10.1 SDK
  Changes in this location path may result in compilation errors for Qt headers. In that case, platform data file needs to be updated.
   
===============================================================================

Version History:
================
Version 2.8.6 - 24th June 2010 
--------------------------------
- Change: In HA:- SHAI-API support done. If the component specific header is forced_shai.h, 
          then the default forced headers will be ignored in order to solve compilation issues of SHAI headers.
- Change: In HA:- forced_10.1.h and forced_9.4v2.h are updated with symbian split macro definition
- Change: In HA:- Unit test bench updated with Symbian^4 headers. This change is basically for EPL license.
- change: Tn LA:-SF related changes done - 
                  - CSL arm tool chain related some executables are deleted from tsrc folder. 
                    Unit test will take the default CSL arm tool chain paths.
                  - All the old libraries are deleted from test bench. Added new libraries from TB9.2.
- Change: In CheckBC:- Platform data files are updated to support SHAI headers and to resolve some compilation issues.
- Change: In CheckBC:-Unit test bench updated with Symbian^4 headers. This change is basically for EPL license
- Updated HeaderAnalyser to version 1.6.6
- Updated LibraryAnalyser to version 3.3.3.1
- All Distribution policy files are deleted from all the CA components.
- Updated knownissues.xml

Version 2.8.5 - 30th April 2010
--------------------------------
- Change: In HA:- forced header for 10.1 or Symbian^4 is added having extra one macro for header split.
- Change: In HA:- forced_9.4v2.h modified to solve compilation issues for TB9.2 wk08 onwards sdks.
- Change: In HA:- typedef and macro related missing feature implementation
                  - macro moved to other included file should not be reported as removed
                  - proper Typedef node check implementation done
- Fix: In HA:- Resource file analysis has one fix for any included file removal.
- Fix: In HA:- Overloaded function related fix done.First time overloading of function is SC break.
- Change: In CheckBC:- CA version related changes done. Symbian 1,2,3,4 versions are introduced. 5.1,5.2 versions are replaced with 9.1 and 9.2 respectively.
- Change: In CheckBC:-1) MCL 10.1 support related Changes done
                      2) Boost API related header having compilation issuea are excluded (around 828 files) in 9.1-10.1 platform data files.
                      3) Orbit related entries are added to 10.1 platformdata file.
                      4) Platform data file for 9.2 and 10.1 updated with latest Rnd sdk infos.
- Change: In StyleSheet:- Removal of Redundant information in Report - 'compilation', 'cannot be analysed' , 'nothing to be analysed' issues.
- Updated HeaderAnalyser to version 1.6.5
- Updated knownissues.xml

Version 2.8.4 - 16th February 2010
--------------------------------
CA supports QT headers and libraries analysis on Symbian.

- Change: In HA:- CA:Re-write the HandleExports() logic in HA to support both Symbian and QT exported logic
- Change: In HA:- QT: Rules implementation
                      1) default arguement value change
                      2) exported function analysis irrespective of its accessibility
                      3)first time over loaded function
- Change: In HA:- Symbian_os.hrh should be included for all round of compilation. Investigated and solved the issue.
- Fix: In HA:- Symian Headers split issue : LineNumber Changes with issue file loc done.
- Change: In LA:- RVCT-4 ToolChain support in Library Analyser.
- Change: In CheckBC:- Implemented the logic to use the common data gloabal_data.xml file created.
- Change: In CheckBC:- 5.2 platformdata file updated with TB9.2 wk02 2010 content along with QT dependency info.
- Change: In CheckBC:- Validation of build target logic changed. Remove the build type option for ure/udeb. Only urel is supported
- Fix: In CheckBC:- Validation of given SDK dir is needed while taking the DLLs from the respective release folder.
- Updated HeaderAnalyser to version 1.6.4
- Updated LibraryAnalyser to version 3.3.3
- Updated knownissues.xml

Version 2.8.3 - 2nd December 2009
--------------------------------
- Change: In HA:- Multiple threading logic is made configurable. By default it is disabled. 
  "-usethread" is the param. If not mentioned in HA command option, threading logic will be disabled.
- Checkbc.py supports Multiple thread using Config param.
  For Public vs Rnd SDK analysis or for small no of header analysis (<3000), set the "USE_THREAD" in config_template as "true".
  For Rnd vs Rnd sdk analysis or large no. of headers analysis, keep the "USE_THREAD" as "false" or empty.  
- Fix: In HA:- For overloaded functions, the mangled attribute wil also be checked with functiion name present in gccxml output.
- Fix: In HA:- For GCC XML compilation, __GNUC__ macro should be enabled instead of __GCCE__.
- Fix: In HA:- The CA core toolset throws error when executed from desktop
- Fix: In HA:- When issue reported as "file cannot be analysed", set the line No to 0 in report.
- Stylesheet is updated with the fix reported by PMO and is having the severity wise sorting also.
- Updated HeaderAnalyser to version 1.6.3
- Updated LibraryAnalyser to version 3.3.2
- Updated BCFilter to version 1.3.1
- Nokia copyright changes are updated in source codes.
- Updated knownissues.xml

Version 2.8.2 - 18th September 2009
--------------------------------
- Change: In HA:- HeaderAnalyser should report the line number for each break in a file
  This will give line number for each file where any break related to macros,struct,enums etc occured.
- Change: In LA:- Performance improvement done.
  Parser logic is changed. Both baseline and current DLL data file will be parsed with SAX parser. 
- Unwanted DLL entries are removed from 5.0,5.1 and 5.2 dll data xml files.
- Checkbc will throw proper error for all error cases.
- Updated HeaderAnalyser to version 1.6.2
- Updated LibraryAnalyser to version 3.3.1
- Updated knownissues.xml

Version 2.8.1 - 17th August 2009
--------------------------------
- Fix: In HA:- files having dupliacted guards in the same bundle of files will be considered invalid and will be compiled individually.
  this solved the problem during both compilation and macro analysis. no need need to compile the headers again during macro analysis.  
- Fix: In HA:- fix for the template class related issue 
- Fix: In HA:- API info will be displayed with header breaks in the report
- Fix: In CDS script:- API info for each header will be queried from kevlar and will be written in platform data file
- Stylesheet is updated to display API info for headers in the report file
- Updated HeaderAnalyser to version 1.6.1
- Updated knownissues.xml

Version 2.8.0 - 19th june 2009
--------------------------------
- Feature: Added support to verify .rh files
- Feature: Possible to view only BC Issues / SC Issues / Both
- Feature: Added 5.1 dll list
- Change: Possible to give multiple build targets
- Change: Informative issues in library report will be hidden
- Change: Library report color coding made similar to Header report
- Change: Compilation error cause displayed on tool tip
- Fix: ChekcBC now throws error if knownissues server path is invalid
- Updated HeaderAnalyser to version 1.6.0
- Updated knownissues.xml. Old invalid issues removed.

Version 2.7.1 - 28th April 2009
--------------------------------
- Fix: Knownissues document type definition fixed to match the updated 
  LibraryAnalyser report format
- Fix: CheckBC now accepts any URL path for knownissues file
- Updated knownissues.xml

Version 2.7.0 - 7th April 2009
--------------------------------
- Change: OrdinalChecker re-branded as LibraryAnalyser
- Feature: LibraryAnalyser now analyses dll files also
- Feature: The tool can now be used with 9.2 and Symbian Foundation codelines
- Feature: Component speicific forced headers introduced through platform data
- Change: CDS scripts parses .mmpi and .mmh files also to create platform data
- Fix: checkbc includes incorrect forced header for 5.0 sdk
- Updated HeaderAnalyser to version 1.5.0
- Updated LibraryAnalyser to version 3.3.0
- Updated knownissues.xml

Version 2.6.0 - 17th February 2009 
--------------------------------
- Feature: Added support to verify source compatibility breaks
- Feature: Added support for displaying baseline and curent platform versions
- Feature: Information to end-user if the issue was found previously but the 
  header has some other unrelated changes
- Change: Updated include paths for Symbian SDK 5.1
- Change: .h;.hrh;.mbg;.rsg;.hpp;.pan are now default file extensions  
- Change: Harmonized default report filenames with Compatibility Analyser 
  carbide plugin
- Change: Default system includes will be included when used with 
  BASELINE_HEADERS & CURRENT_HEADERS tags
- Change: In the CDS scripts, .pan and .hpp files included in platform data
- Fix: Compilation error fixes
- Fix: In the CDS scripts, exports which dint have a target filename but only
  path were not included in the platform data
- Fix: Relative path issues in config file fixed
- Updated HeaderAnalyser to version 1.4.0
- Updated OrdinalChecker to version 3.2.0
- Updated BCFilter to version 1.3.0
- Updated knownissues.xml

Version 2.5.1 - 8th January 2009 
--------------------------------
- Fix: when in "view ok issues" view, "close diff view" does not return to
  report page main view 
- Updated knownissues.xml

Version 2.5.0 - 9th December 2008 
--------------------------------
- Removed checkbc.cmd interface
- Fix: Exclusion of directory did not work
- Fix: knownissues.xml provided with the tool should have been the default file
  for filtering
- Fix: Report file displays "known issues" "platform versions" even if
  filtering is not done
- Updated HeaderAnalyser to version 1.3.2
- Updated knownissues.xml

Version 2.4.0 - 14th November 2008
--------------------------------
- Updated HeaderAnalyser to version 1.3.1
- Updated knownissues.xml

Version 2.3.0 - 21st October 2008
--------------------------------
- Feature: Added support for Symbian SDK 5.1
- Feature: CheckBC interface now works in Linux environment
- Feature: Diff view in the report can be now easily closed
- Fix: Recursive on should been the default setting
- Fix: Empty paths for files to be filtered where handled incorrectly   
- Change: Generated reports are now filtered immediately instead of waiting all
  reports being generated
- Updated HeaderAnalyser to version 1.3.0
- Updated OrdinalChecker to version 3.1.0
- Updated BCFilter to version 1.2.0
- Updated knownissues.xml

Version 2.2.2 - 3rd October 2008
--------------------------------
- Updated knownissues.xml

Version 2.2.1 - 19th September 2008
-----------------------------------
- Updated knownissues.xml

Version 2.2.0 - 29th August 2008
--------------------------------
- Updated HeaderAnalyser to version 1.2.6

Version 2.1.0 - 20th August 2008
--------------------------------
- Feature: Ok cases can be viewed separately in the report file
- Change: Paths of output report files are now optional. If they are not
  specified, they will be created under the "reports" directory
- Change: Diff link in the report opens now in the same window to avoid several
  problems in different environments
- Change: Default system include paths are now platform specific
- Fix: Diff and link to the header file did not work with the Firefox browser
- Fix: Recursion for header files was handled incorrectly
- Fix: Exclude dirs functionality for header files was handled incorrectly
- Fix: Relative paths were not handled correctly
- Updated HeaderAnalyser to version 1.2.5
- Updated OrdinalChecker to version 3.0.7
- Updated BCFilter to version 1.1.6
- Updated knownissues.xml

Version 2.0.0 - 8th July 2008
-----------------------------
- Change: CheckBC has been rebranded as Compatibility Analyser
- Change: Completely renewed commandline parameters and config file format
- Change: The new CheckBC interface can now be found from the root level -
  the old CheckBC interface still exists under the scripts directory for those
  users who do not yet want to migrate to the new one
- Updated HeaderAnalyser to version 1.2.4
- Updated OrdinalChecker to version 3.0.6
- Updated BCFilter to version 1.1.5
- Updated knownissues.xml

===============================================================================

Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). 
All rights reserved.

This component and the accompanying materials are made available
under the terms of the License "Eclipse Public License v1.0"
which accompanies this distribution, and is available
at the URL "http://www.eclipse.org/legal/epl-v10.html".