LSB Navigator Releases
This release primarily consists of the work done during Google Summer of Code 2016 with several additional improvements and fixes. The main feature is possibility to investigate "provides" and "requires" attributes of packages in different distributions.
- On the main Applications and Distributions pages only the latest versions of apps and distros are displayed.
- Added separate set of packages for browsing CompRequires and CompProvides data
- A note about libraries with the same soname (if any) is displayed in the Library usage by Applications sections
- "Statistics" page now takes into account changes of function return types and introduction of new versions of already included symbols
- Constants can be now ordered by names, values and explicit ordering values (ArchConst.ACorder field)
- Added explicit search targets for Provides, Requires, Perl modules and Python modules
- Provides and requires are now looked for when overall search is performed
- Structure of virtual tables for distribution classes can be now observed at class home pages. Just go to "Presence in Distributions" section on the class home page and click on "Details" in the appropriate column to get structure of virtual tables of this class in particular distribution. Note that this information is available only for the latest distributions, since the database support for these data was added only recently
- Handle migration of commands, libraries and interfaces between modules/submodules
- Added a dozen of new consistency checkers
- Added support for CSrefspecurl field, so now one can go to the document referenced by the primary command documentation, if any
- Minor improvements in page layouts
- Due to bug in the internal Query_value() function, some basic check queries could return incorrect values. In particular, one could get a note that 'all official releases of every distribution provide this interface/class/library/...', even though some official releases were missing the item in question
- "Count Unofficial" filter worked incorrectly on class home pages
- Fix displaying of binary symbols whose version in LSB was uplifted more than once
- Fix displaying of application identifiers in consistency reports
- Fix processing of "pointer to array" type members
- PDO driver is now used instead of mysqli
- Many queries are rewritten to be more compatible with the SQL standard
- Completely redesigned 'Everywhere' search results: instead of a huge single page with ToC, we now use several tabs with results for different kinds of artifacts (similar to the tabs used in the AppChecker)
- In tables with search results for some element (in particular, in all tables from the 'Everywhere' search page) it is now possible to sort rows according to values of any column
- Library sonames in the 'Libraries shipped with application' page are now clickable and lead to a page displaying detailed information about library with given soname
- In declaration of complex types, members added in later LSB version than the type itself, are marked with appropriate comments
- 'Distribution compliance page' (available in the admin mode only) now takes into account modules of interpreted languages
- When displaying documentation URL for interface marked as 'not documented' in the db, Navigator now adds a warning that the documentation doesn't contain description of the interface itself
- In the list of symbols used by application, for symbols for which we can't decide from which library they come from, Navigator displays list of libraries required by application for which the database has no data (it is likely that symbols in question come from one of these libraries).
- 'Status in LSB: included' was sometimes incorrectly displayed for library sonames never been in LSB
- Search for 'ld-lsb' provided no result
- Added 'Counted Unofficial' filter in 'Presence in distributions' sections for all elements
- More flexible 'Everywhere' search - users can now adjust maximum number of results for each category
- 20 new DB consistency checkers (available in the Administration mode only)
- Many pages (~30) with consistency violations now provide a list of possible fixes that can be applied to the DB in order to fix the issues detected. The fixes can be either applied to the DB directly or saved to file. Note that suggested fixes are not guaranteed to be 100% correct; this is just a suggestion/assumption, so after the fixes are applied one should check that nothing is broken.
- Dropped some checkers that are now duplicated by complex Foreign Keys checker
- Rows in the "Libraries Shipped with Application" table can now be sorted according to values of any column
- Query_* functions common to browse/db.inc, admin/db.inc and futures_tracker/db.inc files are now located in a separate commons/query.inc file
- Search for constants is now always case insensitive (previously in some cases user was provided with results of case sensitive search)
- Fixed issue with calculation of LSB status of a library in the "Libraries Shipped with Application" pages
- Got rid of 'mysqli_result expected, boolean given' warnings when running in debug mode
- Redesigned the main RawLibrary page to display less details and more summarized information not to overload the page and decrease the time of its generation
- Type search now recognizes type specifiers, so one can query, for example, 'strcut foo' to look for structs containing 'foo' word in their names
- Component description and url are now displayed when displaying components by name or by id
- Implemented filter by architecture in 'Presence in Distribution' tables on home pages of libraries, interfaces, classes, commands and language modules
- On the RawLibraries pages, 'Select by Letter' selector now starts immediately with 'lib' prefix, keeping in mind that almost all libraries interesting for users start with 'lib'
- cache_AppLibName table is now used to speed up queries in the Application Analysis Center
- Improved queries in the Statistics section not to slowdown as new standard versions are introduced
- When forming comments for interfaces used by application, interface version is now taken into account (to handle situations when particular interface versions are marked as deprecated)
- AppStats section - in summary tables from the 'Applications by vendor/license/category' subsections, every number is now clickable and leads to a detailed page with appropriate data
- Improved Interface Coverage page - library and submodule names are now clickable and lead to appropriate home pages, modules names are displayed in addition to submodule ones
- Display synopsis for inline functions, if it is available in pre-generated static files
- Implemented 'Count rejected' and architecture filters in the Future Tracker's 'Uplift' section
- Added support for new 'Rejection_soname' LibraryAttribute records
- Reimplemented "Distribution" filter in the style of Architecture and LSB Version filters
- In the table summarizing results of db consistency checks, rows now have different background color according to inconsistency criticality
- Implemented 30 new consistency checkers (in particular, added those that were previously implemented as shell scripts)
- Work with pages when changing filters was not fully correct and could cause claimings about undefined 'offset' variable in the web server logs
- Quotes in Standard names were not escaped properly on some pages
- Architecture filter was not taken into account when counting total number of distributions on the main Component and RawCommand pages
- URLs in table with RawInterfaces starting with given prefix could lead to incorrect interface home pages
- Fixed issue with special symbol escaping in Component descriptions
- Fixed issue with filtering in the AppStats section - value of filters that are not visible in this section could affect content of its pages
- Implemented separate config file with db connection attributes to make Navigator more easily localizable (bug 2846).
- Navigator now uses modern MySQL Improved PHP extension (mysqli) to work with the database.
- 'Statistics' page - added data about types and constants.
- In tables with search results for interface, library, class and command, it is now possible to sort rows according to values of any column.
- Home pages of libraries, classes and interfaces now take in to account library symlinks in distributions.
- Added support for the new ILModAttribute table (now comments are displayed for interpreted language modules in different places).
- The new 'fill_lib_loaded_deps*' procedures are now used when calculating interface presence in distributions statistics to get more accurate reports and detect situations when symbol is provided by library loaded as indirect dependency.
- Type home page - number of typedefs on type and its derivatives is now limited to 100; since for some types (e.g. void) there are thousands of typedefs and this made their pages very large.
- Added possibility to calculate compliance report for particular distribution from the database.
- Navigator now uses RILMBuiltin table to inform users about modules that can be implemented as builtins and for which 'presence in distributions' statistics can be incomplete.
- Status in the specification ("included since ...", "withdrawn in ...", etc.) is now displayed in header, type and constant search results.
- 'Applications Requiring Library' page - added application filters (by size, functional category, etc.).
- Library home page now provides information about applications that ship the library.
- New cache tables (cache_IntsIncludedEver*) are used to speed up queries when 'LSB Version' filter is not set.
- Application home page - added informtion about used interpreters.
- Futures Tracker now displays information about interface usage in applications on 'Library Uplift' pages.
- For types never included in LSB, sometimers both generic and arch-specific declarations were displayed.
- Different improvements to avoid problems with PHP 5.3 and MySQL 5.1, rewrote pieces that used deprecated PHP functions.
- Links to interface home page in the "Interfaces Used by Application" list didn't include library information, so user was sometimes redirected to library selection dialog.
- In 'Everywhere' search result, an exact application match (if any) was displayed twice.
- Component aliases were treated incorrectly when displaying component by id.
- Issue with class search - due to incorrect LIMITs in SQL statements, the search process could finish too early.
- Type search could lead to incorrect results if a pointer to type is requested.
- Status in the specification ('Included since', 'Trial since', etc.) is now displayed for library, interface and class search results.
- On the 'Libraries' and 'Commands' pages general status in the specification is now displayed instead of four separate columns.
- 'Trial' status of modules is now taken into account when calculating specification status for commands.
- 'Usage of Deprecated Interface' section now displays a reasoning on why interface is deprecated.
- 'Usage of Non-LSB Interfaces' section now contains comments about spec status of the interface's library.
- When requesting a type by name, Ttype can be now additionally specified to distinguish structures and typedefs with the same names.
- Allow to additionally specify a header when requesting class, type or constant by name.
- If search for interface, class, type or constant in the 'Eclipse' mode finds only one entity in the 'Eclipse' mode, it automatically displays home page for that entity.
- Synopsis was displayed incorrectly for Data and Object symbols of 'FuncPtr' kind.
- LSB status for classes was sometimes displayed incorrectly on the class lib selection page.
- LSB status for some interfaces was displayed incorrectly in the search results.
- Fixed bug with basetype calculation for internal typedefs (for which the db doesn't have basetype information).
- The 'Member of ...' link on interface home page could lead to incorrect class page if class is provided by several different libraries.
- Search for class members couldn't find anything for classes with underscores in their names
- Added support for Component aliases.
- Improvements in the 'Eclipse' mode:
- Do not perform 'intellegent' search (with dropping brackets, looking for similar C++ functions with different parameters or from different classes, etc.) when called from Eclipse plugin, since it already knows what class and parameters it wants.
- If 'everywhere' search finds only one entity in the 'Eclipse' mode, it automatically displays home page for that entity.
- When a class home page is requested but library name is not specified and there are several libs that provide the class, a library selection dialog is displayed (similarly as it is done for interfaces).
- Redesigned 'Interfaces by Component' page - more detailed information is provided now - LSB status of interface, binding type, etc.
- 'Interfaces by Distribution' page is redesigned in the similar way.
- Allow to additionally specify a header when invoking search for interfaces, types, constants and classes, as well as 'overall' search.
- There are much less hardcoded 'LSB' words in the Navigator code. Appropriate global variables are used instead.
- Fixed class search issue - in some cases the exact match was displayed in the 'Not-exact Match' section.
- Fixed bug with base type calculation in case when namespace is met during the type chain resolution.
- 'Distribution compliance' page - fixed a problem with too many opened temporary tables (due to large amount of distributions).
- Implemented special 'Eclipse' mode for better integration with the LSB Eclipse Plugin. Features specific for this mode:
- An interface home page can be requested by interface name and header (instead of library).
- When requesting home pages for interfaces, both mangled and unmangled names can be used.
- C interface can be requested by names with a list of parameters assigned to them.
- Home pages for C++ interfaces can be requested by a 'short' name (unmangled name without parameters). Navigator automatically performs a search for the interface and displays either a home page (if there is only one result) or invitation to choose the proper symbol (in case of multiple results).
- Headers can also be requested by their base names (i.e. without directory prefixes stored in the database).
- If a search for type is performed and the only one result is found, then instant redirection is performed to appropriate home pages.
- If requested class is not found, then additional search is performed for a structure with the same name.
- Added pages with usage statistics for Perl/Python modules.
- Used Perl/Python modules are now displayed on the main 'Application Statistics' page.
- Added possibility of switching between source level and binary level information for classes.
- Information about data completeness is now displayed for classes.
- Added possibility of getting a list of classes and interfaces in a header on the main Headers page.
- Speed up of filtering interfaces by LSB version (Navigator now performs direct calls to cache tables instead of creating temporary ones).
- On the 'Commands Coverage' page total number of commands and number of tested commands are now displayed.
- List of interfaces tested by a particular test suite is now divided on pages. For every tested interface, its library is displayed.
- Decreased number of vendors displayed in the 'Application by Vendor' filter - only vendors for whom the db has at least 3 different applications are displayed, other vendors are grouped under 'Other' value.
- 'ELF Dynamic Entries' page now provides a link to the spec where every DE is described.
- Records on the Applications main page are now joined by names and summaries.
- Added warnings about interfaces used by applications but provided by libraries that are not present in the application's NEEDED list.
- For every library used by application a full set of used interfaces is now provided.
- For libraries whose architecture differs from the distribution's one appropriate comment is displayed on library home page in the 'Presence in Distributions' section. The same comment is displayed on home pages of interfaces and classes provided by such libraries.
- Solution Support Center now doesn't take into account libraries whose architecture differs from the distribution's one.
- More noticeable decorations for recommendations on int, lib and command home pages
- Implemented 'quick jump to a given page' possibility.
- Fixed issue with incorrect library id in the URL from the list of interfaces provided by particular class in particular distribution.
- Fixed bug with URL for OpenGL specification.
- Fixed bug with duplication of 'offset' parameter in URLs in some cases.
- Added pages representing command coverage by test suites (requested in 2463).
- Redesigned type home pages:
- Type names inside type declaration are now clickable and point to appropriate type home pages
- Usage statistics is displayed not only for type itself, but for all its derivatives (pointers, consts, etc.)
- Usage statistics now displays not only functions having parameters of the given type, but also functions that return the value of this type.
- Type search doesn't take into account derivatives any more.
- Redesigned application home pages - display libraries shipped with the application, comments, non-LSB modules of Perl and Python.
- New pages with source-level information for C++ elements - the data from the new C++-relative tables is now used.
- Created a page to show uploaded distributions data compliance with LSB (a rough version of libchk and cmdchk). The page is accessible in the 'Admin' mode and for 'localhost' users only.
- Prototype of the new LSB Futures Tracker (available in the 'Workgroup Services' section).
- Added modules of interpreted languages to the 'everywhere' search targets.
- In large tables with interfaces (lists by header, by library, etc.) short status (from the new cache_IntStatus table) is now displayed instead of four columns (appeared, withdrawn, mandatory, deprecated).
- Added 'approved' information for commands on their home pages.
- Created a statistics page with information about 'approved' commands presence in distributions.
- Components and RawCommands pages are redesigned - in their previous form these pages became almost useless due to large amount of data.
- Added LSB version value to short LSB status on home pages of different items to make them more valuable (e.g. 'Included since 1.0').
- 'Presence in distribution' section on home pages of every element now provides more detailed summary, detecting cases when the symbol is specific for 32-bit or 64-bit platforms or when the symbol is provided by all latest releases.
- Added filter by categories on the main application page.
- Significant code refactoring, better organization of sql statements.
- When exploring class members, the same list of members was displayed for a class on all distributions.
- Handle situations when LSB symbol is located not in the library specified by LSB, but in one of libraries loaded as a dependency of that library.
- Added opensearch support.
- Added 'everywhere' search target to search among all main tables.
- Added support for the new CmdStd table, as well as TMEdeclaration field and CAdeclaration constant attribute.
- Number of tests for certain interface, as well as library coverage information on appropriate home pages are now separated by LSB versions.
- List of included class members is now displayed on class home page.
- Added coverage information for class members on class home page.
- For every class member a link to its class is now provided on its home page.
- Added information about interfaces and libraries that became deprecated in certain LSB versions on Statistics page.
- 'Appearance' statistics for commands and headers is now displayed for every LSB version.
- For interfaces included in LSB but assigned to library that differs from the one which is currently observed, appropriate note is displayed.
- More detailed short status of every interface in the list of symbols used by application - deprecated and 'trial use' statuses are now taken into account. New cache_IntStatus table is used for these purposes.
- Added short LSB status for every IL module and library used by application on appropriate pages.
- For libraries required by application but whose symbols are not actually used, appropriate comment is now displayed.
- Components and RawCommands tables are now divided by 500 rows pages.
- Added information about soname on 'Libraries Providing Interface' pages.
- When counting withdrawn interfaces used by application, Navigator indirectly implied that every such interface is assigned to libgroup. This is not correct and could sometimes lead to incorrect numbers.
- Fixes in types declarations:
- dropped extra 'ifdef' statements
- fixed 'volatile' qualifier representation
- fixed 'anon' types representation
- fixed LSB status calculation for types that were included, then withdrawn and then included again
- The library filter on statistics pages was not working properly when selecting library containing special symbols in its name
- New subsection in the 'Linux Applications Analysis Center' - 'Interpreters Usage Frequency'
- Comments for non-LSB libraries used by applications is now showed on the basis of the LibraryAttribute table.
- More consistency checks - excluded types used as parameters and return types of included interfaces.
- Tests and Coverage pages speed up (about 2 times faster now).
- Interface search speed up (about 2 times faster now).
- Support for several versions of one included symbol on the same architecture.
- The concept of manually maintained 'List of Approved Libraries' is introduced, for which we guarantee presence status in distributions (i.e. explicitly search for each library from the list while analyzing distributions).
- New section in the admin mode - 'Approved Libraries Presence in Distributions'.
- Notes about data completeness on libraries and interfaces home pages (on the basis of the new ApprovedLibrary table).
- Architecture filter is now disabled on those pages where it doesn't make any sense
- 'Class Usage by Applications' statistics is displayed on the class homepage (with possibility of obtaining list of such applications as well as lists of particular symbols used by every app).
- Added search for headers.
- In the Interface search results sometimes less than 500 entries were displayed while actually there are more than 500 corresponding records in the db.
- If interpreted language module in a distribution is provided by several components, then only one component was displayed.
- When requesting applications using the symbol on the 'excluded ints usage' page (clicking on 'list...'), incorrect data was sometimes displayed for symbols provided by more than one library.
- New Decision Making Support section gathering different statistics for any given set of symbols in one table (available in the Administration mode only).
- Filter by library is implemented on 'Included Ints Usage', 'Deprecated Ints Usage' and 'Excluded Ints Usage' pages
- 'Voting' for interfaces in addition to comments. One can vote for adding symbol to the LSB (for not-included symbols) or for deprecating symbol (for included ones).
- 'Count Rejected Libs/Ints' filters on pages from the AppStats section.
- New consistency checks:
- Checks for function kind (are constructors/destructors marked properly)
- Inconsistencies between some ClassInfo fields and Vtable records
- Incorrect Vtable entries
- Included Headers with incorrect libs
- Excluded types used as parameters of included interfaces
- Easy configurable email notification about new interface comments/votes.
- Elimination of filter side effects (tricky cases when one sees '7 (list...)' but after clicking on 'list' gets 2 entries due to filters).
- 'Exact match' for interface search is now case insensitive. Previously symbols with the same name as search pattern but with case differs went to 'Not Exact Match'.
- 'Standards' subsection in the 'Workgroup Services' is redesigned. Main page now contains the number of interfaces, commands and ELF section types documented in each referenced standard (with the availability of getting the full list of such items). Every standard has a home page with more detailed information. Values in the 'Standard' column in interfaces, commands and section types lists are now urls to home pages of the appropriate standards.
- Return type names in interface lists are now urls to home pages of appropriate types.
- Filter by functional category added to the AppStats pages. Filter by library added to the 'Excluded Interfaces Used by Apps' page.
- Advanced filters are available on AppStats pages.
- New subsection in the 'LSB Elements' - 'Interpreted Languages'. Administrative interface for interpreted languages is also available.
- Now the number of perl/python modules used is displayed for every application.
- Information from new Ldeprecatedsince and SMdeprecatedsince fields is displayed.
- Command recommendations (if any) are displayed on command home page.
- 'Deep', 'Normal', and 'Shallow' values are used as possible test quality levels in the test coverage statistics (to replace the obsolete Primary, Secondary, Called).
- New 'Total tested' column on the 'Tested Interfaces' page.
- Application list is now divided into pages (500 apps per page).
- Links to application home pages were formed incorrectly for Aurl fields not starting with 'http'.
- At the 'Statistics' page, when list of included interfaces was displayed, compiler specific c++ things (vtables, typeinfos, etc.) with the same names from different libs were counted as one entry. The main statistics page was not affected and contained correct numbers.
- For early LSB versions (1.0 - 1.3) 'included' elements were displayed on some pages for architectures that were not actually supported at that time.
- Pages from 'Tests and Coverage' section now contain filters for documented/undocumented and deprecated interfaces.
- New 'Deprecated Interfaces Usage' subsection in the Application Statistics
- Tooltips with short explanations added for filters in 'App Stats' section.
- "Distribution Type" in Application Statistics filters renamed "Licensing". New possible value - 'Mixed' - added. 'Command Line' renamed to 'non-GUI'. 'Application Group' renamed to 'Vendor'.
- New 'Mandatory since' column in tables with lists of libraries, commands and interfaces + on library and command home pages.
- For libraries, classes, commands, types and constants on their home pages a short status is displayed now directly in title, as it was already done for interfaces ('Included'/'Never Been in LSB', etc.)
- For interfaces that were not mandatory for some time (such as Qt4 or new 'Trial Use' modules) additional field is displayed in LSB Status with LSB version where the interface became mandatory. For interfaces from 'trial use' modules 'Trial Use' is also displayed in short status.
- On 'Interfaces Required by Application' and 'Non-LSB Interfaces Required by Application' pages interface recommendations are now displayed, if any. The latter page will also contain notification in case when interface is included in LSB version which is greater than current 'LSB Version' filter value.
- In titles like '... used/required, but not included in LSB' LSB version is now added (version is taken from filter, if it has some real value; if 'No filter' is set, then 'any LSB version' will be used).
- Private interfaces are not taken into account when calculating test coverage statistics. Note, however, that at the moment the database provides such information for Qt3 interfaces only (will be fixed as we re-import other data).
- Interfaces on Statistics pages are sorted first by Library name, then by Interface name.
- On 'DB Consistency' page Ireturn=0 is not considered as error for constructors, destructors, thunks, 'vtable for' and 'typeinfo' interfaces, as discussed in Bug 1774 (Note, however, that constructors are detected using 'Ifkind' field, which is set properly for Qt3 only.)
- Components are now divided on pages (500 components on each page). So 'Components' page is displayed much more faster now.
- 'Libraries' page speed up.
- On 'Interfaces from ... Library' pages in the 'Distro & Apps' section links to interface pages were set using only interface names. This sometimes led to inconsistency for interfaces which are present both in Qt3 and Qt4 - when clicking on interface from Qt4, one could be redirected to page for the same interface from Qt3, and vise versa.
- All constant search results, even in case of exact match, were placed in the 'Not Exact Match' section.
- 'Presence in Distributions' section on class home pages could be empty when the page is requested by mangled class name.
- Speed up of pages from 'Application Statistics' section. They now work faster though there is still a lot to do in this area. Some other pages concerning interfaces and classes also work faster.
- Type members are displayed for complex types on their pages.
- Number of search results is limited to 500 in order to not overload server.
- In application statistics, for non-LSB interfaces, additional comments are now displayed:
- for those interfaces that were withdrawn from the specification, LSB version where they were withdrawn is displayed;
- for interfaces included in the LSB but assigned to a library that is not in application NEEDED libraries list, the appropriate message is displayed.
- Thunks, guard variables and typeinfo* interfaces are not taken into account when calculating test coverage.
- 'Presence in all distributions' verdict could be shown sometimes even if interface is absent on Debian 3.1r2.
- Users can now leave comments on single interface pages. In order to do it, users should first log in in the linux-foundation wiki. Note: 'lsbuser' should be granted to perform 'INSERT' into the InterfaceComment table.
- Library usage on all pages is now calculated on the basis of interface usage and interface<->library mapping, in addition to usage calculated on the basis of 'DT_NEEDED' sections.
- Filters by application category on statistics pages.
- Thanks to the fact that new distribution data was uploaded, 'Presence in Distributions' pages now do correlate with the real state of affairs. I.e. if an interface is reported to be missed in some distributions, then it is really absent there (at least, without any additional packages not included in the standard repository).
- Single pages for every type with short information and usage in interfaces.
- Parameter types in the interface synopsis are now clickable and lead to the appropriate type pages.
- Search for constants is now available; search is performed by name and by value. Constants can be also selected by first letters.
- Search for types is also available, and types can also be selected by first letters.
- Redesigned LibGroups and Header Sections main pages - lib groups are grouped by libraries, header sections - by headers, short content information is displayed.
- Interfaces in 'Interfaces used by application' lists are now grouped by libraries for more comfortable analysis.
- 'Consistency Check' page now contains summary table with all checks results.
- For interfaces which have been withdrawn and then put back the "Appearance in the LSB" section now shows short information about every period of 'presence'.
- 'Statistics on LSB Elements' page now contains statistics for libraries and classes. By default, statistics is shown for the last released LSB version and development versions (if any), information for older versions can be obtained by simple click.
- Interfaces in 'Non-LSB ints used by applications' in 'App Stats' section are now grouped by name & library.
- On the 'Headers' page number of classes for each header is displayed (with possibility to get a list of these classes).
- 'Interface Parameters' page in the admin mode now displays current interface synopsis.
- In 'Non-LSB Ints used by Application' there is a new column showing how many apps use the interface.
- List of apps that use interfaces from a given library is available on single library pages.
- Attributes for RawInterfaces can be added and modified in the admin mode now. Just switch to the 'Administrtion' mode from the interface individual page.
- For each distribution release date is displayed.
- Extra version was assigned to raw library name when the name itself contained version (e.g. 'libgtk-x11-2.0-2.0').
- When returning to 'browse' mode from the 'admin' on 'Interface Parameters' or 'Interface Attributes' page, user was redirected to main interface page. Now he is redirected to the appropriate interface page.
- New 'Linux Applications Analytical Center' (App Stats section of Workgroup Services) with different statistics on interfaces and libraries used by applications in LSB perspective.
- Search for applications - search is performed both in application names and summaries.
- Individual application 'home pages' containing summary information about each application (original homepage, versions uploaded to the database, LSB compliancy, etc.).
- Navigator now uses LSBVersion table to form different version filters.
- Interface lists are now collapsed and grouped by name; architecture specific information (if any) can be observed on the interface home page.
- Orphan constants are now displayed in browse mode. Previously only information about constants assigned to any header could be obtained.
- Unmangled type names are used in the 'Types' section.
- Statistics about distributions (number of components, libraries, commands and classes) is now displayed on the main 'Distributions' page.
- "No filter" value is now on the top of all possible values in all filters.
- Library is displayed for the full lists of LSB and 'raw' interfaces.
- Links to module for libraries and commands on their individual pages, link to header on interface pages.
- Interface status is now displayed shortly on home page directly in 'LSB Status' heading.
- 'Show Full Information' link is available for lists of interfaces from a given library.
- Library names are now displayed instead of Standards in the interface search results.
- In the 'Interfaces Used by Application' libraries required by applications is now taken into account, so in case when more than one interface with the same name exists in the database the proper one will be selected with libraries taken into account.
- 'Coverage Provided by Test Suites' page now has a 'Total' line.
- On 'Coverage Provided by Test Suite' page records are grouped by test case.
- 'Select by letter' bar for Classes, RawLibraries, RawClasses, RawCommands, RawInterfaces and Applications pages.
- Classes are now sorted by unmangled names instead of mangled ones.
- Library name on home class pages is now a hyperlink to the appropriate library page.
- New style - the new one from the linux-foundation.org.
Administration Mode Changes
- New folder - admin_community. This folder is aimed to store scripts for community tables administration. Note: Access to this folder should be restricted as well as to 'admin' folder.
- Interface for uploading applications (on the 'Applications' page in the Administration mode).
- After adding new entity in the administration mode, page reloading doesn't lead to new insertion attempt.
- 'Select by Letter' is available for Classes and Commands in the Administration mode.
- Error messages in the administration mode are now displayed using red bold font.
- Links to libraries from "Libraries Used by Application" page could become broken on architecture filter change. Now architecture filter is disabled on such pages, since the page contents always belongs to the particular architecture and cannot be affected by filters.
- Fixed interface synopsis: for parameters of 'FuncPtr' kind the arguments were not displayed and sometimes MySQL errors appeared.
- MySQL error arose on some class pages in the "BaseType Entries" section. Corrected.
- Synopsis of 'Common' and 'Data' interfaces is now displayed correctly.
- New pages for adding interfaces and types. See http://ispras.freestandards.org/index.php/LSB_DB_Navigator#Add_New_Type and http://ispras.freestandards.org/index.php/LSB_DB_Navigator#Add_New_Interface for details.
- Browsing of tests provided by test suites is improved - cross-links added, comments (useful for cases of calls from libraries), target LSB versions are now taken into account (and there is a version filter on pages with tests information).
- Unmangled type names are now displayed in interface synopsis.
- For a single interface not only presence but also absence in distributions is displayed now.
- Full information about interface presence in distributions is now shown on demand only. By default a short summary is displayed.
- Brief information about tests for interface (if any) is displayed on its page.
- When displaying interface covered by test suite, records are grouped by interface names and ordered first by quality and then by name.
- References to System V ABI and LSB in Elf Sections and Section Types descriptions are now hyperlinks and lead to the appropriate documents.
- The 'Search' field value is not erased now after 'Search' button is pushed.
- Multicolumn lists with no decorations in the LSB Elements section are replaced with decorated tables.
- Values of interface attributes of 'Recommendation' type (from the new InterfaceAttribute table) are now displayed in the 'Recommendations' section of interface page.
- Page in the Administration mode for the new InterfaceAttribute table. Recommendations for interfaces as well as 'BinOnly' flag can be set there.
- Links from search results in the admin mode now lead to the appropriate pages in the administration mode.
- Icandidatefor information is displayed (if any) for interfaces not included in the LSB on their pages.
- Class information (base classes and virtual tables) is now displayed in a more structured and clear way.
- Improved search results look; now some additional information about elements found is displayed.
- Improved interface search; now class methods are handled in a more intelligent way.
- When deleting elements in the admin mode, confirmation is asked.
- In 'Interfaces by Header' and 'Interfaces by LibGroup' lists unmangled names are displayed for c interfaces.
- All pages are now valid XHTML 1.0 transitionals.
- Empty lines could appear in comboboxes in the administration mode.
- LibGroup names on the interface page in the admin mode are now displayed without character escaping.
- Class search - for not exact match found in the RawClass only invalid link was printed.
- Some more situations leading to php warnings in webserver log are wrapped. However, some situations of this kind still exist.
- Some problems concerning MySQL 4 usage and its handling of 'join' statements corrected. Sometimes they could lead to MySQL 'ambiguous field' errors.
- 'tmp_Interface table already exists' error was shown on the Interface page when requesting interface list from a given library on a given architecture.
- When modifying a single interface information, the same Iurl was set for all entries.
- If there was no record in the LGInt table for the given interface, then after assigning it to a certain libgroup new record was not added and actually interface was not assigned.
- Synopsis for interfaces of 'Alias' type was displayed incorrectly (Bugzilla 1649).
- Browsing of Test Suites and interfaces covered by them using improved specdb tables.
- Navigator now uses 'lsbtester' instead of 'lsbadmin' in the 'browse' mode. Note that this user should have 'CREATE TEMPORARY TABLES' privilegy. 'DROP' privilegy is not required any more.
- New 'Provide Feadback' page and link in the upper-right corner.
- Switching to/from 'Administration' mode is improved. On some pages (About, Help, Provide Feedbach, Search Results) switching to the 'Administration' mode is denied. On all other pages after clicking 'Administration' link user will be redirected to a file from the 'admin' folder, so it is available to protect 'Administration' mode by means of web server by setting special access permissions for the 'admin' folder. In the 'admin' mode user can switch between different sectiones without leaving to the 'browse' mode (even between sectiones where 'admin' mode is not supported).
- '\' symbols are not displayed in macro values.
- Names in raw libraries and raw commands lists are now clickable - they link to the appropriate pages for library or command with this name.
- On the main Classes list classes are now grouped by their names.
- '3.2 (devel)' added to possible LSB versions
- New logo.
- When redirecting from LSB Elements section to a single page for a class, command, library or interface, section was switched to the 'Distribution'. Corrected.
- A lot of php warnings that were printed to a web server's log eliminated for both 'admin' and 'browse' mode.
- Back slashes sometimes were not escaped correctly when entered in the 'search' field.
- When browsing multipage list, filter changes could lead to total number of pages decreasing and if the current page number was greater than the new total number, "no records" warning was shown. Now on filter changes the current page number is always set to 1.
- Browsing of Distributions and Application contents.
- Search among interfaces, classes, libraries and commands.
- Individual pages for interfaces, commands, libraries and classes with the following key features:
- Links to documentation for interfaces and commands.
- Presence in distribution for all elements.
- Full LSB history (in which version appeared/was withdrawn on every supported architecture).
- Synopsis and usage by applications for interfaces.
- Base class information for every class.
- New Workgroup Services section involving information about test suites and their coverage, statistics and list of standards referenced by the LSB Specification.
- Filtering by architecture and LSB version.
- Bug 1167 (incorrect writes for special symbols in 'admin' mode).
- Bug 1106 (dbadmin doesn't handle quotes inside strings).
- New design, the same as used on freestandards.org site, new navigation panel.
- Regrouping pages describing LSB artifacts. LSB artifacts are now subdivided to LSB ABI, Commands, ELF Artifacts and RPM Artifacts.
- New 'Tests and Coverage' page that includes some queries from old 'Status' page and two new summary reports ('Covered interfaces' and 'Coverage by test suites').
- Pages for browsing and adding commands are implemented.
- New pages to browse module contents.
- All interfaces for a given library (i.e. from all its libgroups) can be now obtained directly from 'Library' page, by pressing new 'Interfaces' button.
- On 'Constant' and 'Type' pages when displaying a list of headers the number of constants/types in each header is displayed in the brackets.
- New 'DB Consistency' page that includes all consistency checks from old 'Status' page. New checks should be added here in future.
- Speed improvements - with the specdb release 0.2 queries dealing with Constant and Header in DB Navigator work much more faster. With the specdb release 0.3 queries dealing with TypeMember and ArchType also work faster.
Bug Fixes (bugs in the old dbadmin)
- Corrections in queries for browsing interfaces to make them MySQL5-compatible.
- Trouble when going to interface from 'Status' page.
- Trouble when going to header from 'Status' page.
- Sometimes in the list of interfaces the interfaces without names were displayed (i.e. only "()" string), clicking by such "interface" led to mysql error.