ApTest Manager Release Notes Last Update: 29 August 2013 VERSION 2.27: This is an enhancement release. The following major features have been added: o ApTest Manager will now automatically track the execution history of each test case. You can display this information in each test when viewing and editing, and can also embed the information in reports. See the Admin Guide for more information on 'atm_runhistory'. [Issue #1333] o The folder tree list will now show the count of the requirements or test cases in the folder and the folders below it. [Issue #1543] o Certain "High Level" test suite operations can now be limited to administrator-class users only. [Issue #1593] o Added integrity checking to checkSessions.pl so it ALSO checks the associated test sets and checks to ensure that there are no extra test sessions defined in the system cache. [Issue #1597] o Added use of jQuery and jsTree for folder tree displays on Tests / Requirements and Test Sets to improve performance when there are many thousands of folders. [Issue #1600] o Requirements reports can now include a summary line that reflects the percentage of requirements in the report that have associated tests. [Issue #1601] o It should be possible to manage an independent collection of session variables outside of the 'main' collection. You can now define a VARIABLES.local file for any test suite and those variables will be integrated with the main collection of variables. [Issue #1617] o When creating a new account and when modifying an existing non-LDAP account, it is possible to require that the user change their password on their next login. Some issues from earlier releases were also addressed: o If a user chose a non-standard landing page it was possible for the user's test suite selection to not be remembered so that the next time the user accessed the system they would be placed in a different test suite by default. [Issue #1583] o Previewing a test suite profile template that referenced result data would result in a Run Time Error. [Issue #1612] o If a status report has CSV output selected and session variables are included, the report would error off. [Issue #1616] o Multi-select session variables were not being emitted correctly when exporting sessions or when calling the generateVarXML method. [Issue #1618] o When a session variable was a multi-select list, filtering in the run and reporting screens would only work if multiple values were selected in the filter. [Issue #1623] VERSON 2.26.03.01: This is an emergency patch release to fix a regression in 2.26.03: o When editing multiple requirements, field references were not being expanded. [Issue #1606] VERSION 2.26.03: This is a minor bug-fix release. Issues addressed in this release include: o Submitting results via rpc.mpl failed with a run time error. [Issue #1584] o There were some inefficiencies in user permission updating that could make changing permissions at installations with MANY MANY users and MANY MANY test suites take a long time (and potentially deadlock). [Issue #1585] o Substantial corruption in the user database could exacerbate performance issues. [Issue #1586] o Editing the execution fields or session variables of a test suite profile could result in a run time error. [Issue #1587] o Creating multiple test sessions in the Administer Sets and Sessions interface was ignoring the session variable settings of sets after the first one. [Issue #1589] o When changing assignments via RPC, the assignment meta-data was not updated for the test session. [Issue #1590] o Importing results did not update the session meta data cache when the session results or assignments were updated. [Issue #1591] o If a folder, test case, test set, or requirement had a '#', '?', '+', or other reserved characters in its name certain operations would fail. [Issues #1595, #1599] VERSION 2.26.02: This is a minor bug-fix release. Issues addressed in this release include: o If there was a cache inconsistency in the structure of a test set such that the list of sessions was inaccurate, the Delete Set operation could throw a run time error. o The debug logging level of the ATMHandler initialized and using compression messages was set to 1 - changed it to 3 so it does not introduce messages into the logfile that appear to be errors. o Added a 'skip' parameter to checkSetup.pl - if set, then permission checking and test suite integrity checking will be skipped to speed up execution. o A required module was not being included by the import results component. This could result in a run time error. o Included an example Integration Module for redmine. [Issue #1529] o On systems with versions of Perl < 5.8.9 upgrading could fail if there were more than 1000 test sessions in a test suite. [Issue #1551] o If there is cache corruption in the suite database it was possible to get a run time error when on the run and report selection pages. [Issue #1552] o It was possible for the progress meters to show 100% when the session was not actually quite complete. [Issue #1559] o The Select Report page did not show the filter that permitted selecting by session number. [Issue #1560] o The Result Code editor showed an incorrect context-help file. [Issue #1565] o The search/replace functionality in the edit test case area was incorrectly referencing the change history table. [Issue #1568] o The session summary report was unable to expand arbitrary test case fields. [Issue #1568] o The exportSuite.pl script reported an error when completing its export. [Issue #1575] o Test Case and Requirement names should not have permitted quotation marks, ampersands, nor percents. [Issue #1577] VERSION 2.26.01: This is a minor bug-fix release. Issues addressed in this release include: o If there were execution fields that were not included in the run template, any data in those fields was removed each time a test run run using that run template, even if the value was marked readonly. [Issue #1474] o A test case report that did not require results would display columns for results and notes when 'step-by-step' mode was used for a test procedure. [Issue #1526] o It was not possible to copy *only* the access permissions from one test suite to another. You can now do this through the copySuite.pl command line operation and through the "Change Test Suite Access" item within "Manage Test Suite". [Issue #1531] o When a session had been completed, and then it was refreshed in such a way new tests were added, the end date was not cleared. When the session was subsequently completed again it would not reset the end date nor resend notifications. [Issue #1534] o The Progress Report did not include user-selected test case details fields when customized to emit CSV. [Issue #1536] o It is possible to add ApTest Home Menu and Navigation items as a way to extend the system. These extensions were not showing up in the list of available start pages for the system wide default nor for individual user choices. [Issue #1537] o Exporting Session Results did not include session variables. There is now an option to include session variables in the output. [Issue #1538] o On perl 5.8.8 and earlier a bug in the File::Glob module could cause the system to incorrectly calculate the highest numbered Test Session, and thus result in a corrupt '.nextid' file for Test Sessions. [Issue #1542]. o If the system somehow had a corrupt '.nextid' file for Test Session Creation, it was possible for the system to create multiple sessions with the same identifier but with different folder names. [Issue #1542] o Multi-edit of test cases was displaying field names instead of field contents. [Issue #1544] o Generating a Test Case report with no results could cause a runtime error about a bad call to generateMarkUp. [Issue #1548] o Exporting to XLS could fail if a menu-style field had more than 255 characters of data and data validation was enabled. [Issue #1549] VERSION 2.26.00: IMPORTANT UPGRADE INSTRUCTIONS Because of a bug in a (much) earlier release of ApTest Manager, it is possible that some old Test Sessions may be missing information that connects the test results to their test cases. When performing this upgrade, the system will check for this corruption and report it to you. If you see reports about this issue while performing an upgrade, you can re-run the UPGRADE.pl script with the '-P' option to automatically prune the data or with the '-I' option to skip integrity checking (and therefore not repair the issue, but complete the upgrade). This is an enhancement release. The following major features have been added: o To improve performance, switched into 'static source' mode. If you are making any local changes to your source code, see the config.pl file section on 'Development control' for information on how to force those changes to be visible. o It is now possible to enable automatic updating of some screens (Run Sessions, Select Report). There is a system wide control for this, and an individual preference as well. Note that enabling this feature will 1) place a small extra load on the server, and 2) will mean that users on any of these screens who have the preference enabled will remain logged in and using a license as long as one of their auto-refreshing screens is displayed. o Changed the rules for Requirements and Test Case folder and file names to permit a broader collection of characters. o There is now an administrative option to allow dates and times to be displayed using the historical rules (legacy behavior), using an administrator-defined 'locale', or using a user-defined 'locale' falling back to an administrator-defined default. o Export Tests and Requirements now allow arbitrary ordering of fields in the exported data, and remember your field choices and order to make repeating exports easier. o Added a command line tool to copy a test suite (bin/copySuite.pl). o You can now attach files to results in sessions via the RPC interface [Issue #1424]. o Changed the Test Set administration interface so that controls for set management are all on the set group display page instead of in a sub-menu [Issue #1445]. o Added the ability to renumber tests or requirements within a folder when using autonumber-by-folder mode for naming [Issue #1455]. o Added a getSuiteList method to the rpc system [Issue #1468]. o Added code to the various import tools that will handle two edge-cases. First, if the input 'CSV' file is tab-separated instead of comma separated, the system will silently permit this. Second, if the input file is in an encoding that does match the system-defined encoding (or UTF-8 if there is no system-defined encoding) then the input file will be automatically converted to the system-defined encoding [Issue #1470]. o Some elements of the API documentation were not being published due to the depth of their structure. o If you provide a 'locallogo.png' file in the images directory, your logo will now be used everywhere the default ApTest Manager logo appears. o Increased the maximum number of test sessions supported to 1,000,000 and changed the directory structure so that there are never more than 1000 test sessions per folder to work around a limitation on some Unix file systems [Issue #1475]. o Added an option to set a banner that can display on every page if system administrator configures one [Issue #1480]. o Added ability to export in Excel format [Issue #1483]. o Added ability to import from Excel [Issue #1484]. o Added ability to import and export data to/from multiple sessions in a single file [Issue #1485]. o Added more session details to the getSessionDetails rpc interface. This release also addressed a number of reported issues: o When creating multiple sessions it was possible for the default settings from the set[s] to be ignored. o Changed the logic used when creating zip files for backups to work around some memory / disk space problems [Issue #1422]. o If there were many many changes to the values for sets, the setSelectors.mpl script could cause the server to throw a URI too long error. Also the advanced search / simple search switch did not work correctly [Issue #1486]. o If a different Perl interpreter is selected when running the UPGRADE.pl script from the one originall used, the system will have trouble resolving all the modules. Added a warning to force the administrator to do a reinstall if they are changing perls [Issue #1494]. o Test Cases listed in the detail section of requirement reports were listed in an apparently random order, instead of in test suite order [Issue #1513]. o Several tools in the 'bin' directory that create temporary files were not creating those files in the ApTest Manager 'tmp' area. Note that this can be overridden via the 'TMPDIR' environment variable if you really want temp files to be elsewhere on the file system [Issue #1517]. o Exporting CSV formatted test cases incorrectly included the UUID of associated requirements instead of their display ID. This in turn made it impossible to re-import the test cases with their links to requiements intact [Issue #1520]. VERSION 2.25.01.03: This is a minor bug-fix release (unless you use SQL integration - then it is a major bug fix release). Issues addressed in this release include: o Version 2.25 introduced SQL connection pooling. The changes related to this resulted in run time errors when used in conjunction with some versions of some database drivers (notably MySQL reporting that the DBD module does not implement the AutoCommit attribute). The root cause of this problem was that some objects thought a conneciton was still open when it had in fact been closed. This has been corrected [Issue #1465]. o Added code in bin/checkSessions.pl to examine test sessions for possible data structure damage as a result of a missing 'atm_id' [Issue #1459]. o If a test session had a corrupt entry such that a test had no UUID then it was possible for the ID field of that test to get populaed with the entire collection of UUID to ID mappings [Issue #1459]. o When using the importFromCSV script and supplying a field that contains usernames, if a user was defined with any uppercase letters, they would not match [Issue #1462]. o When using the importFromCSV script to update an existing requirement that had no associated test cases, the script would error out [Issue #1457]. o When using 'simple' search, certain reports would throw a run-time error [Issue #1467]. VERSION 2.25.01.02: This is a minor bug-fix release. Issues addressed in this release include: o Added some documentation about how to configure under IIS 7. o Clarified Strawberry Perl requirements for Windows users. o If a field was referenced in a test case and a user was editing that test case, but at the same time the field definition was removed by another user, the saveTestCase.mpl module would throw a run time error [Issue #1441]. o There were no examples about how to integrate with Subversion in the configuration file [Issue #1443]. o The SQL Session Data tables were incorrectly leaving out some fields [Issue #1454]. VERSION 2.25.01.01: This is a bug-fix release. Issues addressed in this release include: o When synchronizing the SQL store, it was possible that multi-select fields that are in tables would be put into an incorrect SQL database table / field. In addition, the length of SQL fields related to test case or requirement names was declared 4 characters shorter than it should have been (to account for suffixes) [Issue #1444]. VERSION 2.25.01: This is a bug-fix release. Issues addressed in this release include: o The code for updating cookies in customizeReport could throw an error if there was a comma in an existing cookie saved in a user session preference. o It was not possible to create a session "unaffiliated" with a test set when using makeSession.pl or when using rpc.mpl. o The INSTALL.pl script was incorrect retrieving PPM files from the version 2.24 PPM repository when installing on Windows platforms under ActivePerl. It now accesses the ApTest repository for version 2.25. o The code for generating dynamic SQL queries was not correctly searching for UUID patterns to define collections of tests. THIS CODE IS STILL EXPERIMENTAL. o There was no way to retrieve the list of test sets and test sessions via RPC (Issue #1436). o If a session were somehow removed and still displayed in the user interface, some operations (e.g., delete session) might throw a run time error. Also, the associated set was not being correctly updated when multiple sessions were deleted (Issue #1439). VERSION 2.25.00.01: This is a bug-fix release. Issues addressed in this release include: o The 'simple search' operation did not show its selection options in the Test Set definition and Test Set management pages [Issue #1430]. o In the 'advanced search' mode of Test Set definition and changes the ID field defaulted to 'Select from list' instead of 'Select by Folder & Name' [Issue #1430]. o When modifying an existing test set, the ID selection field was being incorrectly set to 'Select from list' when it was actually configured to 'Select by Folder & Name' [Issue #1430]. VERSION 2.25.00: This is an enhancement release. The following major features have been added: o The 'deleted files' repository for each test suite is now located in a subdirectory called '.x.dir', not '.Deleted_Files.dir'. Directories created within this folder are now numbered starting at 1 (e.g., '1.dir'). This is to help alleviate an issue with long path names on systems that do not support long path names (Windows) [Issue #1252]. o Added another permission level that allows users to manage sessions without being able to manage sets [Issue #1296]. o There are now administrative options that allow the easy use of HTTP Basic Authentication to identify users [Issue #1364]. o You can now import uploaded files from another suite as part of the import from another suite operation [Issue #1369]. o You can now do bulk-creation of test sessions against multiple test sets within a folder [Issue #1308]. o You can specify the default landing page for users who have not set their own. The 'default' default remains the simple menu of operations. We suggest setting it to the Execute Tests page, as that is the most intuitive dashboard page. o There is now an example issue tracking integration module for Trac. o Re-enabled row higlighting when selecting rows of tables with checkboxes [Issue #1388]. o The progress report can now show detail ONLY for tests where the results are the same in all sessions included in the report. This release also addressed a number of reported issues: o There was a slim possibility that when long running operations were going on, a test case save in the same test suite would result in a run-time error. This risk has been reduced. The user can always press 'back' and attempt the save again should such an error pop-up [Issue #1257]. o Some users have reported that when renumbering test cases or requirements if the operation is interrupted tests / requirements seem to disappear. Added logic to the synchronize operation to look for files that are remnants of renumber operations and reconnect them to the tree automatically [Issue #1363]. o When exporting tests or requirements in 'raw' csv mode, table field columns were not correctly emitted. The table is now expanded into its columns and each row is emitted as a separate row in the CSV file [Issue #1374]. o When editing a test case from the Run Test Case page, the mandatory field handling code was broken in Internet Explorer due to a JavaScript typo [Issue #1376]. o When toggling the 'show all' option on the Select Reports page, the option could get 'stuck' and would not be overridden when defining new filters [Issue #1377]. o The link to the image for locked folders was incorrect in the Edit tests and Edit Requirements views [Issue #1379]. o When generating CSV output for the Status Report, result fields that are marked as excluded were INCLUDED in the counts by mistake [Issue #1381]. o In certain situations IE8 would refuse to render a perfectly valid page when Arabic text is embedded with non-Arabic text in a line followed by a line break and then followed by a digit [Issue #1383]. o When a Test Set folder was renamed or copied, the description for that folder would get lost or not copied [Issue #1387]. o Requirement fields of type checkbox had an automatic default of the first value in the list AND were unable to be multi-select [Issue #1392]. o Importing tests or requirements required the use of the translated values of list fields, rather than the descriptions. This had a consequence of preventing the use of time notations like 1d or 0.5h if those were used in the definition of a time field [Issue #1393]. o Importing results into a session from a CSV file did not update the cached impression of result counts [Issue #1394]. o Allow a set parameter to be passed to runSessions.mpl to control specifically what set (and therefore sessions) are displayed. o Corrected a situation where the SuiteDB data was not being captured in read mode at the start of processing if the Suite object was opened in write mode [Issue #1399]. o Optimized loading of execution field definitions during Suite object creation to relieve load on the SuiteDB object [Issue #1399]. o Changed the way SQL connections are handled so that each process never has more than a single connection to a SQL store for each test suite to avoid a potential deadlock with some SQL databases [Issue #1399]. o In IE7 the list of folder controls did not display correctly when managing a test set folder [Issue #1403]. o When an imported results CSV file dod not quote data and had extra white-space around commas, the data was not always parsed correctly [Issue #1404]. o If a Test Set used a regular expression to select tests, creating a session would throw a run time error [Issue #1410]. o When there were many many requirements in a folder, the popup list of requirements too took long to display [Issue #1415]. o When editing a test case or requirement by clicking the 'Edit' button while viewing the item, uploads of attachments would be put in the top level folder instead of the current folder [Issue #1426]. o Step-by-step result recording was not being correctly captured in the associated SQL store [Issue #1429]. VERSION 2.24.02.02: This is a bug-fix release. Issues addressed in this release include: o When session execution is complete and you click the close window button, but the parent window had already been closed, and you are using Internet Explorer, IE will throw a JavaScript error. [Issue #1367] o When selecting tests via search or creating a test set, if you select by folder AND only a single other field, that single other field was ignored for selection purposes. [Issue #1368] o In modern versions of Firefox and Opera the wysiwyg editor did not correctly insert ApTest Manager fields from the selectable popups. [Issue #1386] VERSION 2.24.02.01: This is an emergency patch release, but also includes some minor bug-fixes. Items in this release include: o When creating a new test set and selecting tests based ONLY upon their folder name, it was possible for the set to be corrupted in such a way that new sessions created from the set would have bogus test case IDs for their tests. Refreshing the session would resolve this problem. [Issue #1361] VERSION 2.24.02: This is a minor bug-fix release. Issues addressed in this release include: o There was a potential issue with checking for Suite-level locks that could cause a failure when running under mod_perl. o The checkSetup.pl script now is more agressive about reporting progress while it is running [Issue #1286]. o When editing Session Variables, if a variable is of type date and a default value is set, the calendar popup did not close correctly [Issue #1310]. o When doing a search on a multi-select field that is in a table, if any table row had more than one value selected, the search would not correctly match one or more of the values [Issue #1341]. o When the trash was emptied, the tests or requirements thus removed were still being counted as present in the test suite [Issue #1342]. o Added a way to save a test case / requirement and create another new one quickly [Issue #1344]. o If there were errors in the structure of any Test Sessions, it was possible for the exportAll.pl script to include 'dbm' files in the zip file. exportAll.pl now attempts to serialize these manually if the automatic process fails [Issue #1346]. o The template editor appeared to fail on recent versions of Firefox because they fixed a bug we were counting on [Issue #1348]. o Added comments to make it clear that some sourceControl operations are REQUIRED or their corresponding operations will be disabled [Issue #1349]. o There were some inefficiencies in test case and requirement searching that caused performance to be MUCH worse than expected when there were a vary large number of test cases [Issue #1353]. o If the 'notes' execution field was marked as mandatory, the system did not enforce it [Issue #1355]. o In Internet Explorer an empty Test Set folder would throw a JavaScript runtime error [Issue #1356]. o In Internet Explorer, when searching test cases, if there were no requirements enabled in the test suite, date fields would throw a JavaScript runtime error [Issue #1358]. VERSION 2.24.01.01: This is an emergency patch release, but also includes some minor bug-fixes. Items in this release include: o Added a JIRA client example that uses SOAP to support Unicode better. o An image was omitted from the last release but was referenced by some help pages and by the IE6 integration support code. o Added configuration option to control running multiple tests at a time - defaults to allowing this [Issue 1314]. o Added display of the count of tests / requirements in a folder [Issue #1292]. o Test case field searches were missing some selection attributes [Issue #1340]. o Import tests / requirements into the top level folder was putting the new items into a hidden folder [Issue #1340]. VERSION 2.24.01: This is a minor bug-fix release. Issues addressed in this release include: o Removed unused images from the images directory to speed cache refreshes. o The ApTest_A test suite profile had a typo in its Run Many template that caused a layout problem. o The 'locked' test session / test set icon was missing from the distribution. o The default sort order on the Test Suite selection page and the Account display page was backwards. o The "LDAP" and "Admin" columns on the Show Accounts page were swapped [Issue 1329]. o When updating the colors in templates while upgrading to version 2.24, it was possible for some templates to end up with a bad pattern in them which would result in them being uneditable [Issue 1334]. o When a user selected the "Search" button in the Edit Requirements area, there was a javascript error [Issue 1335]. o Changed install/upgrade so that test suite profiles get colors updated to 2.24 scheme if use selects that [Issue 1336]. o The find/replace page threw a javascript error on IE7 and IE8 in both tests and requirements [Issue 1337]. o When editing fields in test suite profiles, incorrect warnings were displayed when fields are deleted or renamed [Issue 1338]. VERSION 2.24.00: This is an enhancement release. The following major features have been added: o The look and feel has been completely re-done. Note that this has resulted in some incompatibilities with Internet Explorer version 6. We are working hard to address these, and will put out a patch release to support IE6 as soon as possible. o The main datafile interface has been changed from the Perl DB_File module to the Perl BerkeleyDB::Hash module. This change has no effect on data, but it does improve support into more modern versions of Perl on Windows platforms [Issue 1189]. o A few Perl modules ApTest Manager relied upon were unavailable in Strawberry Perl 5.12. We have replaced those modules with similar ones that are available [Issue 1189]. o ApTest Manager now works with Strawberry Perl 5.12 on Windows platforms, in addition to continuing to support ActivePerl 5.8 for existing users. New Windows deployments should always use Strawberry Perl [Issue 1189]. o Users can now specify a default start page. o The rpc mechanism can now be used to commit multiple test results into a session with a single call [Issue 1221]. o A number of additional methods were added to expose more test suite details via the rpc mechanism [Issue 1222]. o It is possible to use the renameUser.pl script to change a user's LDAP server [Issue 1234]. o When defining a SQL connection for a test suite (or globally) you can now specify additional table creation options (e.g., to use a specific database engine in MySQL) [Issue 1254]. o When creating an ad hoc test session from the Edit Tests or Edit Requirements area, you can now specify the schedule and session variables for the new session [Issue 1321]. This release also addressed a number of reported issues: o The INSTALL.pl script checks to see if local modifications have been made to any of the provided scripts, but the logic for this was such that it might think changes were made when they had not been. o When selecting multiple checkbox items in a table, if the table had another table embedded within it, not all checkboxes would be selected or cleared when clicking the 'select all' or 'clear all' button [Issue 1261]. o The SQL integration support did not accurately take into account the length of 'index' identifiers when determining if the created database and tables would fit within the restrictions of the chosen database engine [Issue 1270]. o Import from another Suite did not include the javascript component that enabled selecting test cases from a list [Issue 1273]. o Exported archives did not contain the LDAP server configurations [Issue 1276]. o If source control is enabled, exporting a test suite can result in a new repository being created [Issue 1279]. o Oracle supports large data fields, but the Perl driver for this does not work correctly so initialization could fail [Issue 1282]. o When renaming a test case, the automatically generated change history entry did not contain the old name of the test case [Issue 1287]. o When a new user is created, an email was not being sent to that user to inform them [Issue 1288]. o When a test case execution time field was set to be an automatic timer, and there was a submission error (e.g., a missing result on the execution page, or a missing mandatory field) the form might still end up getting submitted [Issue 1289]. o When performing a find/replace on a field that is also a namepart. the cached versions of the test case or requirements names would not get updated [Issue 1293]. o If an ApTest Manager field had data that was longer than it should be it was possible for SQL synchronization to fail because the data would not fit in the SQL field [Issue 1299]. o The colorPicker for the Result Code editor had been mistakenly removed from the distribution, causing the editor to not display correctly [Issue 1303]. o When executing a test case, if the test case was locked, it was still possible to access the edit test case page [Issue 1305]. o When using renameUser.pl, data in history tables was not being updated correctly [Issue 1309]. o If a field of type uuid (atm_id, req_id) was included in a template, the value of that field might be updated when saving a test case or requirement [Issue 1312]. o When using step-by-step testing where there is a single step in a test, and using 'run many' mode, it was possible for a change in the result of the single step to NOT cause the changes for that test case to be recorded [Issue 1313]. o The documentation about how to locate ApTest Manager outside of Apache's DocumentRoot was lacking [Issue 1315]. VERSION 2.23.03: This is a minor bug-fix release. Issues addressed in this release include: o If a the definition of a table field or history table field had a list of field names that ended in a comma, the last field would not be interpreted correctly [Issue 1244]. o If a VALUE was provided for am atm_prid Test Case or Requirement field, that VALUE was populated in test cases and requiremnts by default [Issue 1245]. o If a user's full name had a comma in it, the Progress Report was splitting the name on that comma and reporting statistics about the user twice in tables about execution results [Issue 1248]. o When running importFromCSV with the -n option (do nothing), the program errored because it tried to call the UUID method on a handle that was not defined [Issue 1250]. o When importTests.pl is called with a -C or -A option and a test case referenced in the CSV file was not in the test suite, the system was mistakenly including the test case in the Session anyway [Issue 1251]. o When test cases or requirements are ordered manually and do NOT use outline or automatic numbering, client-side sorting of the test case or requirement table would sort alphabetically on the ID column rather than sort into the manually defined order [Issue 1256]. o When performing a global replace operation on Test Cases or Requirements, change history table information that was entered before previewing results of the replacement would be lost [Issue 1260]. o If the option that permits case insensitive user names was enabled, the system mistakenly created new account records for each different username that a user attempted (e.g., user and USER). This then caused some operations like preference setting to not work correctly. NOTE - if you had this option set, you should use the Show Accounts operation to detect duplicate accounts and delete them [Issue 1262]. o In the Mantis integration module, the assigned user hash was being presented in an effectively random order, and it included a bogus blank entry (to get a real blank entry, the flag includeNotSet should be true in the call to the menu operation) [Issue 1265]. o On some screens that have lists with checkboxes and a 'select all' checkbox at the top, clicking the 'select all' box would not select the last item if the table header had subheadings [Issue 1266]. VERSION 2.23.02: This is a minor bug-fix release. Issues addressed in this release include: o If someone manually created a directory on the server within the SETS hierarchy of a test suite, and placed one or more test sets within that directory (either manually, or because the folder had started out as a real Test Set group, and then been renamed on the server manually), synchronization of the test suite would fail because the libraries were unable to find the sets [Issue 1237]. o An update to the way suites are locked when synchronizing caused exportAll.pl to fail [Issue 1238]. VERSION 2.23.01: This is a minor bug-fix release. Issues addressed in this release include: o Version 2.23.00 added support for multiple LDAP servers, but the release notes failed to mention this. o When upgrading to 2.23.00 existing LDAP users continued to work fine, but some administrative screens did not correctly show that the users were LDAP-based [Issue 1233]. o The Show Accounts and Change Accounts pages did not indicate which LDAP server a user was associated with when there are multiple LDAP servers defined. VERSION 2.23.00: This is an enhancement release. The following major features have been added: o The WYSIWYG editors now work in Opera. o When logged in, the test suite name is now a 'clickable' link back to the top level menu of the test suite. o When using management scripts, the suite lock is now set whenever needed. o It is possible to configure ATM so that login name lookups are case insensitive. o Added an option to disable notifications to users when they perform the operation that caused the notification to be sent [Issue 1186]. o Added methods to dependsOn.js to make it easier to enable / disable whether a field is mandatory at runtime [Issue 1211]. o Added an optional mechanism through which users with Suite Manager level access can change the access level of other users [Issue 1213]. o When there is a series of checkboxes, it is now possible to use shift-click to extend your selection [Issue 1216]. o There is now an option to include a table with a breakdown of information about values from the 'atm_prid' Execution field in the Progress report [Issue 1223]. o When working with Oracle 11g, data tables failed to initialize [Issue 1230]. This release also addressed a number of reported issues: o When a suite object is created, the suiteDB is opened and all of the cached data is loaded into the object. The suiteDB is then released but the handle data was not cleaned up correctly. This could cause random-appearing cache consistency issues because the suiteDB information was not being updated [Issues 1161, 1167, 1201]. o When searching requirements, searching in a subfolder would match items in the parent folder as well [Issue 1203]. o If a test case or requirement field were not included in their respective editing templates, and the field was not marked 'readonly', any value(s) in that field would be cleared when the test case or requirement was edited and saved [Issue 1204]. o When generating a requirements report from the Edit Requirements area, some graphs would not display correctly [Issue 1207]. o When graphing data from a history table, only the most recent value should be used [Issue 1207]. o When upgrading between releases that change the structure of the user database, it was possible for an error to arise in the SQL synchronization [Issue 1212]. o In Requirements, if an atm_prid field was defined, the default value pattern was not being correctly used to create links from the issue names into the associated issue tracking system [Issue 1217]. o If a history table definition was damaged such that it referenced a non-existent field, the multi-test and multi-requirement editors would throw a run time error [Issue 1219]. o When a templated test case report is being grouped by results, only some result fields were available [Issue 1224]. VERSION 2.22.03: This is a minor bug-fix release. Issues addressed in this release include: o Added information about failed read and write locks so it will be easier to determine what resource is hard to obtain [Issue 4]. o Ensure that the suite cache is updated when a test set's data is changed [Issue 1162]. o Added a note that if you are using search and replace on a field in a table, commas must be escaped [Issue 1165]. o When doing a find/replace, using modification history tables, having the fields of the modification history table NOT be mandatory, and not providing any history data, the list of previous modification dates and users would be replaced with a single entry reflecting the current change [Issue 1177]. o If data fields had commas embedded within them (e.g., if a user's full name had a comma in it) the labels in some graphs could get confused [Issue 1179]. o Test cases with names that end in *req were getting incorrectly processed during synchronization. This would cause many side effects, including the name of the test case not showing up when viewing the folder, and some reports running very slowly because the cache of ordered test cases was constantly being re-evaluated [Issue 1181]. o Creating a new requirement always marked it as 'locked' [Issue 1183]. o The account 'disabled' flag was not being put into the account data table when SQL mirroring was enabled [Issue 1184]. o When attempting to view a test case while running that test case, the contents of the test case did not display [Issue 1190]. o When importing test results, there was no way to preserve the value of execution fields that are NOT in the CSV file [Issue 1200]. o Added a '-I' option to the upgrade and installation scripts to skip test suite integrity testing. Useful when test suite data structures will not change as a result of an upgrade or re-install. VERSION 2.22.02: This is a minor bug-fix release. Issues addressed in this release include: o If a test set was corrupt in some way, it was not possible to delete the test set. o When saving a requirement, if the requirement pointed to a test case that was no longer available, the system could throw an error rather than saving the changes. o If a test set file was damaged such that it had no sessions list, the delete set operation could fail. o Under EXTREMELY RARE CIRCUMSTANCES it was possible for a task that was waiting for a 'read lock' to continue even though it had not acquired the lock. This would result in error reports like 'Can't call method "FETCH" on an undefined value'. o When using the special '-X' option to INSTALL.pl (update executables) the ATMHandler, cgi_handler, and .htaccess files were not being updated [Issue 1143]. o When running step-by-step tests in run many at a time mode, per-step notes were not being recorded [Issue 1145]. o When importing tests or requirements, values for menu fields with embedded whitespace were not being correctly mapped to their equivalent values [Issue 1148]. o When refreshing a test session that is not associated with a test set, the refresh would not complete due to a deadlock [Issue 1149]. VERSION 2.22.01: This is a minor bug-fix release. Issues addressed in this release include: o When using step-by-step results, viewing a session summary, and selecting a test case, the resulting window would not show the results and notes for each step [Issue 1103]. o 'dependson' fields in session variables were case sensitive [Issue 1126]. o If a field was removed or renamed AND a user had saved a multi-edit preference where that field was referenced, the field continued to show up on the multi-edit page [ISSUE 1130, 1133]. o When importing tests or requirements from another suite, if the import was many levels deep, sometimes the folder tree in the new suite would not get updated until a synchronization was performed [Issue 1132]. o It was not possible to select the popup list of test in the make tests from requirements module. It was also not possible to select the popup list of requirements in the make requirements from tests module [Issue 1134]. o When importing tests or requirements from another suite, the saved searches were not working [Issue 1135]. o A single select menu requirements field was always defaulting to the first item, regardless of which item was identified as the default in the Requirements Field editor [Issue 1136]. o When using the rpc module, if the username parameter passed in was not a real user, the system would throw a run time error instead of just reporting the mistake to the submitter [Issue 1140]. o When importing tests or requirements from another suite, if you attempted to popup a list of to select from, the list that was shown was from the CURRENT suite, not the OTHER suite. o During installation on some systems, after any missing Perl modules were built, the installer's current working directory was no longer the ApTest Manager home directory. This could cause various confusing messages and, in some cases, cause installation not to complete. VERSION 2.22.00: This is an enhancement release. The following major features have been added: o The 'filter' settings on the Run and Select Report pages have been moved to the top in a hidden region that you toggle open/closed to make filtering more convenient. o You can now save test case and requirement searches and reuse them. o A user with 'suite manager' privileges can now import tests and requirements into one test suite from another. o You can now enable an automatic or manual test execution timer. o On non-Windows systems, if Perl modules are missing during installation, they can now be installed in a local subdirectory or in the main system directories (to help accomodate use in environments where you may not have root access, such as a shared hosting server). We are also now mirroring the Perl CPAN system on a server at ApTest to ensure that required modules are always available. o Fields of type 'file' now have an 'attach' button associated with them so that it is easier to associate files with test cases and requirements. o When test cases or requirements are using the 'plain' name style, you can now create a test case or requirement and not edit it at all. o When selecting multiple items from a folder tree-style list, you can now select a folder and have all the items in that folder and its children selected / deselected. o When executing tests, clicking on the test case name to view the complete test case will now do so in the context of the test session - including interpolating any session variables referenced in the test case. o In the session summary report, you can now personalize the view to include additional execution fields. o There is now a global configuration option that, if set, causes users to be warned if a name they choose for a test case, requirement, or folder would be changed because it uses non-portable characters. This option defaults to off - no prompting. o Under extremely high concurrent user loads, where all users were working on the same test suite, there was a possibility that some operations would time out because resources would not come available in time. There is now more comprehensive access control scheme that gives pending write operations precedence over read operations. This should improve performance in these high load situations, but have no real effect in typical operation. o The previous version introduced a mandatory result of 'incomplete'. Some users objected to this. Now the system allows you to indicate which result, if any, means a step-by-step test is incomplete. o You can now set a system-wide option if you want to permit the inclusion and editing of tables in wysiwyg and wysiwyg2 fields. o Added explicit integration support for FogBugz as an issue tracking system. The following issues were also addressed: o When importing results into a session, it was possible for a result code to have leading or trailing whitespace. This would cause the result to not match defined results, and therefore be ignored in counts, reporting, etc. [Issue 1086]. o When an ID field was numeric, its value (which is the path and the auto-assigned number) was not being put into the SQL store [ISSUE 1087]. o Updated the Mantis integration module to work with modern versions of SOAP::Lite. Also added the ability to have dynamic menus of values retrieved from Mantis during initialization. o In the progress report, the last execution time was not being reported for tests that had been run, and was being reported incorrectly for tests that had not yet been run [Issue 1112]. o Under some circumstances history table entries could get created without recording the modifying user and modification time. o Test case fields in tables that are of type date and style date and time were not correctly converted into SQL for some SQL stores (notably MS SQL) [ISSUE 1066]. o If a user's full name included a comma, it was split into separate parts and treated as 2 names in the Progress Report [Issue 1069]. o The wysiwyg2 field style did not work correctly in the find/replace screen [ISSUE 1073]. o When a readonly field is in a table, removing or reording rows has no effect on the readonly field [ISSUE 1076]. o Modifying a note via the session summary page would reuse the name of the original tester rather than the name of the user updating the note [ISSUE 1079]. o Removing a field on which another fields depends would result in a runtime error when trying to build the javascript for handling dependencies [ISSUE 1088]. o In some cases using a text field for execution times could result in the system mis-interpreting the meaning of the units on times (e.g., 4d or 3h) [ISSUE 1107]. o It was possible to define a table field that refered to itself, resulting in a loop and memory leak [ISSUE 1118]. VERSION 2.21.01: This is a minor bug-fix release. Issues addressed in this release include: o Some debugging code was left in the Result Code Editor that could result in a popup showing up when saving. o The import results operation could timeout if importing a significant number of results. It now reports progress so that the connection to the browser will stay active. o A new '-l' option to bin/updateSuite.pl will check file name lengths and warn about files that are longer than 255 characters. This is a Windows path name limit and the check is automatically done on Windows, but this option can assist when migrating ApTest Manager from a non-Windows platform to Windows. o When importing results, it was not possible to set the time when the test was executed nor the user who executed the test [Issue 1024]. o Report customization permitted the inclusion of per-step execution notes in some report output, but those reports were not actually able to display that information. Also, step-by-step tables had extra columns attached to them when included in reports [Issue 1030]. o Under some circumstances the issue tracking and upload file links in the 'run many' page would link to the wrong place [Issue 1034]. o When some fields are marked as 'hidden', their labels are still displayed when they are used in a template [Issue 1035]. o It was not possible to include test case fields an exported test session [Issue 1036]. o If a field with a numeric datatype had garbage data in it, the SQL initialization would fail [Issue 1041]. o If a test result report were run on a subset of the tests in a session, the percentages in graphs were calculated based upon the total number of tests in the session rather than the number in the report. This resulted in erroneous data in some circumstances [Issue 1043]. o Added processing of 'subprojects' to the Mantis integration module example [Issue 1046]. o In some reports, the order of sessions specified from the Select Report page was not preserved when the report was generated [Issue 1048]. o The 'hours per day' setting for stafftime was not being used when calculating durations in the Session Summary [Issue 1049]. o On some 64bit systems, the encoding of data in the Run Single and Run Many tests pages could be confused [Issue 1050]. o Readonly fields in tables would be cleared during a save of a test case [Issue 1054]. o It was too easy to reset run data fields while running test cases. The user is now asked to confirm it [Issue 1055]. VERSION 2.21.00: This is an enhancement release. The following major features have been added: o Changed the way that temporary data is cached so it is automatically cleaned up each time a user terminates their session (by logging out or timing out) [Issue 148]. o Added an option to save a test case or requirement and continue editing [Issue 936]. o Introduced the ability to set attributes on result codes. Attributes include 'obsolete', 'notify, 'hidden', and 'exclude'. See the Admin Guide for a detailed description [Issue 749] [Issue 978]. o Introduced per-step test results via a test case table field flag of 'Add Result' and per-step execution comments via a test case table field flag 'Add Notes'. Also updated the pre-defined test suite profiles 'ApTest_B' 'ApTest_Y' to take advantage of the new flags. When these flags are set on a table, each table row is given a result selector popup and a textare in which comments can be entered when running a test. The real result is calculated based upon the result selections automatically. See the Admin Guide for a detailed description [Issue 30]. o Introduced option to hide sets that are locked from the list of available set filters on the Select Report and Run pages [Issue 905]. o Added ability to export a test session in CSV format that is either human readable or in a raw format suitable for re-import into ApTest Manager [Issue 950]. o Added ability to mark session variables as "graphable" and graph results by session variable in some reports [Issue 974]. o Added ability to suppress headers, ignore missing tests, and ignore sessions with no matching tests in the Regression Report [Issue 976]. o Added an option to create a zip archive of an individual test suite via the GUI [Issue 981]. o Test and Requirement reports now include both a total count and a percentage of reported items for each value in Selector Tables [Issue 986]. o Added support for Problem Report IDs and Problem Report Links (atm_prid and atm_prlink) fields in test cases and requirements [Issue 989]. o Added support for filtering a coverage report using test case and requirement selectors [Issue 957]. o Added ability to specify an email address to which a notification will be sent when the Archive System Data task completes [Issue 991]. o Added an example 'timer' script in in the examples directory. This could be used to have the execution time of test cases automatically tracked. o Improved the ability to use the keyboard to navigate among fields when editing test cases and requirements. Also added support for using keyboard to add a row to a table field (via Ctrl-Shift-N). This release also addresses the following bugs reported since the last release: o When selecting a test suite, from time to time some information was not cached and as a result the selection page could take a very long time to display (or even appear to hang) [Issue 926]. o Added a note to the documentation to clarify how idle sessions are handled and timed out [Issue 967]. o In some situations the requirement import GUI could throw an error because it could not find its cache file [Issue 983]. o When creating a new account, the list of users from which to copy was being restricted based upon the currently selected test suite instead of showing all users [Issue 984]. o It was not possible to reference %RESULT_field fields in the bug tracking system URI from the session summary page [Issue 992]. o When performing test suite administrative operations, it was possible for the select suite page to throw a run time error. Also, the 'suiteLocked' page should have automatically continued when the suite was available [Issue 993]. o When doing bulk test case or requirement operations, if there was no change history table, the modification date and modifying user were not updated [Issue 1007]. o When changing selectors in multiple test sets, going to the refresh screen and then selecting cancel takes you back to the change selectors page, but the submit buttons were disabled. o When generating a status report and matching test case names by a string, if a test case was no longer defined in the system but was referenced by a test session, the report would fail to generate with a run time error [Issue 1010]. o Under certain circumstances, the Users Report could throw a division by zero error when there was missing planned execution time data [Issue 1013]. o On some pages in the run area, the contents of long session variable values were not being displayed correctly in tooltips [Issue 1017]. o When checking test suite integrity during an upgrade, the collection of requirements was not being examined to ensure there are no duplicate UUIDs [Issue 1020]. o A Users Report could incorrectly count the number of tests when the Schedule Over Time table was reporting by week [Issue 1027]. VERSION 2.20.02: This is a minor bug-fix release. Issues addressed in this release include: o When importing tests or requirements, it was not possible to use default values for fields that were mapped from the input file but whose contents were blank. o When importing tests or requirements, it was not possible to have multiple rows in the input used in a single test case or requirement. o The datatype of the atm_id field in SQL session data tables was being set to an incorrect value when upgrading from a very old version of ApTest Manager [Issue 964]. o The default value of a single-select execution field was always being set to the first item in the list, regardless of what item had an asterisk before it [Issue 965] o The Select Report and Run Sessions pages can limit the number of sessions show. These pages were applying the limit BEFORE sorting the sessions in the user-specified order, resulting in seemingly random sessions being left out of the display [Issue 966]. o When using importResults.pl it was not possible to create a new session unless it was derived from a test set. The new '-C' and '-A' options allow the creation or extension of a test session using the test cases in the imported CSV file [Issue 972]. o Fixed the spelling of the variable newRepository in the config.pl file [Issue 969]. o When a custom report was accessed from the Edit Requirements area, some test sessions were being selected [Issue 973]. o There was no way to determine the UUID for a test case or requirement via the RPC mechanism [Issue 975]. o When using Postgres as the SQL store, in some circumstances the initial creation of tables would fail [Issue 977]. o On certain 64-bit systems, when using utf-8 encoding, the runTestCase page could have utf-8 encoded data double-encoded and thus output as gibberish [Issues 960 & 979]. VERSION 2.20.01: This is a minor bug-fix release. Issues addressed in this release include: o The atm_owner field could not be made "multi-select" [Issue 882]. o When reporting on an individual test result from within a coverage report, the system could use the wrong test case result report template [Issue 932]. o Some customers need a way to always display the year on dates, even when the date is in the current year. Added an option for this to the System Configuration settings [Issue 933]. o The atm_owner field could not be marked as "mandatory" [Issue 935]. o When importing tests and requirements, it was not possible to populate fields with their default values [Issue 938]. o It was not possible to mark a value in a staff time field as obsolete [Issue 939]. o If there was no PlannedStaffTime field in a test suite, the users report could cause a run time error when attempting to display the new Per Session Assignment times table [Issue 940]. o Updated the documentation for the Test Case method newByUUID - it was confusing [Issue 942]. o When entering the Report or Run environment from the main index page (after selecting a new test suite) the user's session preferences were not loaded [Issue 949]. o When previewing replacements on wysiwyg fields where the input data has no embedded newlines, the preview data could be very wide. Changed this to use a 'div' with a monospace font instead of a 'pre' [Issue 951]. o Upgraded to the latest version of tiny_mce (embedded WYSIWYG editor) to improve behavior of pasting from MS Word [Issue 954]. o The dependson flag for execution fields did not work correctly if the values were in uppercase [Issue 955]. o In certain rare circumstances, a user's browser cache would not be reloaded automatically when first accessing ApTest Manager. o A "remove formatting" button has been added to the WYSIWYG editors to make it easier to reset formatting to the default (this was omitted from the previous release at the last minute, and the release notes were incorrect). VERSION 2.20.00: This is an enhancement release. The following major features have been added: o It is now possible to mark Test Case, Requirement, and Execution Fields as "graphable". This is an indication to the system that the information in the field is suitable for use when graphing "Results by Selector" in various reports. By default, all fields that were marked "selectable" before will be marked "graphable" after an upgrade to this version. o When defining report templates, it is now possible to define a default for which fields should be included in the "Results by Selector" tables in the report. If no such default is defined, then all fields marked as "graphable" will be shown. o It is now possible to mark values in various fields as "obsolete". Obsolete values are still defined and will appear wherever they are referenced, but will not be available when working on new content, nor in content where they were not previously referenced. o You can now define custom reports based upon your "Session Filter" settings. Such reports will generate by matching the filters against all sessions, rather than having to choose specific sessions. o Renamed some Test Set and Test Session management options to make their purposes clearer. o Added ability to assign new tests to testers when refreshing a Test Set or Test Session. o When assigning tests to testers via the "assign" page (for either Test Sets or Test Sessions) a table shows how much time is assigned to each tester. o You can now mark an account as being "disabled". o When creating an account, you can copy some or all of the information from another account. o Added a '-r' option to the restore.pl script that permits the interactive renaming of suites during restoration. o The TestSession object now ensures that execution time values are ALWAYS stored as minutes, and that illegal values are rejected. Values using the format described in the documentation are permitted, but translated into minutes before being stored. o The file "frames" in the Requirements and Test Case Management areas now remember your sort settings AND your position on the page after saving changes from child windows (e.g., from Edit Test Case). o Made minor layout changes to the username/test suite bar on each page. Added a tooltip for the role so the user can know their permissions. o Changed the font specifications so there is only one in the stylesheet and it is consistent throughout the product. o Show Accounts administrative page now shows the last time a user accessed the server in addition to the other data. o A "remove formatting" button has been added to the WYSIWYG editors to make it easier to reset formatting to the default. The following reported issues were also addressed: o Under extremely high concurrent use, the performance of deleting large collections of files / folders could be unacceptably slow. o There were some situations where LDAP authentication could fail [Issue 920]. o When using the importFromCSV script, menu field values that had embedded whitespace were not being automatically transformed to use '_' [Issue 925]. o In Internet Explorer, the wysiwyg editor would create numbered lists where each item was numbered 0 when displayed in other user agents [Issue 929]. o When copying a test case or requirement, pressing enter in the dialog box did not cause the copy to occur in Internet Exporer [Issue 930]. VERSION 2.19.02: This is a minor bug-fix release. Issues addressed in this release include: o If using an unusual encoding scheme, and while editing a test case or requirement, someone else edits and saves that test case or requirement, and then the first editor chooses to overwrite their changes, non-ASCII characters could be incorrectly encoded in the resulting saved file [Issue 885]. o In "run" mode, execution data fields now use the user-defined field label, rather than the default prompt text [Issue 895]. o If requirements are stored with an ID style of "plain" searching on requirements could cause a run-time error [Issue 897]. o When generating reports on requirements and customizing the report to filter the requirements by ID and/or other fields, there could be a run-time error [Issues 897, 902]. o Ensured that mandatory fields can't be made empty using the search- and-replace function [Issue 898]. o Added highlighting of search matches in the replace interface [Issue 899]. o Ensured custom report settings can't be saved with whitespace-only titles [Issue 901]. o When generating a test case report, it was possible for a run time error to occur if filtering the test cases based upon requirements [Issue 902]. o Added the ability to mark text and textarea fields of Requirements as selectable [Issue 906]. o Renaming test cases and requirements could result in errors in long-running reports, due to a race condition [Issue 907]. o When using outline numbering with extremely large collections of tests or requirements, performance for many operations was unacceptable due to an inefficient method of dynamically determining the outline number of each folder and test or requirement [Issue 908]. o Renaming a test set could fail to update the set's test sessions with the new set name, which could result in run-time errors for some session operations [Issue 909]. o When editing a wysiwyg style field using multi-edit, if only the contents of the wysiwyg field were changed, those changes were not captured [Issue 910]. o Fixed an issue with renaming test cases and requirements into the suite root in autonumber-by-folder mode [Issue 911]. o The Installation instructions section on Requirements for Windows neglected to describe a required SSL client that brings in the needed libraries. o Identified and fixed a few places where it was possible, although extremely unlikely, that a deadlock could occur when updating cache files. o When determining what calendar year the current day is in, if that day was the day when a time-shift occurred, and that time-shift occurred exactly at mid-night, there could be a run-time error. VERSION 2.19.01: This is a critical bug-fix release. Customers who had upgraded to version 2.19.00 should upgrade to this release immediately. Issues addressed in this release include: o The unused-but-referenced file scripts/ajax/sound.js was missing from the distribution and consequently putting errors into the web server access log [Issue 888]. o When copying / exporting a suite there was a warning in the log about a missing filehandle when trying to unlock the suite [Issue 889]. o When searching by ID and using a string there was an error raised [Issue 890]. o Creating a new suite / copying an existing suite could fail with an error about a call to a missing Suite::copy method [Issue 891]. o The "replacement value" field for WYSIWYG fields in the search/replace interface was showing a non-functional WYSIWYG editor when it should have been a plain text box [Issue 892]. o Under certain circumstances, copying, moving or renaming test cases and importing requirements could produce run-time errors [Issue 893]. o Replacing in text fields could fail after the first replacement [Issue 894]. VERSION 2.19.00: This is an enhancement release. The following major features have been added: o Suite managers can now cleanup deleted but hidden files. o Revamped search / replace functionality. o Added a richer table of contents option to many reports. o Provided a simple web service interface for creating / updating test sessions. o Added the ability to define a template for an issue tracking system URL for use in making problem report IDs "clickable". o Added the ability to automatically make problem report IDs "clickable" when an associated problem report link field is also populated. o Upgraded the WYSIWYG editor to improve its integration with popular web browsers and improve its performance. o Updated the Jira issue tracking system integration module to be more stable and easier to customize. o Added a new reserved "atm_prseverity" field that can be used to track the severity of a problem report o Changed the session management area to be more "hierarchic". o When arranging tests in a set or session, tests you do not want are now marked as "disabled" rather than "deleted", since this was confusing for some users. o Added ability to just create a session / create and manage a session when using the "Run these tests" and "Run associated tests" options. This releases also addresses the following issues: o Fixed a bug in the file browser where quotes in a test case or requirement name weren't being escaped in the checkbox value [Issue 867]. o When a test session was created, the SQL "SD" table was not populated with the information about the test session. [Issue 871] o When importing test cases where the ID field contained "/" into the top level directory, it was possible to end up with hidden, duplicate test cases in the tree. [Issue 875] o If a field was removed from a test suite, and that field was referenced in the customized settings for a report, it was possible to get a run time error when generating the report. [Issue 877] o It was possible for the count of test cases in a test suite to become incorrect in some circumstances. [Issues 880, 886] o It was possible to create test case / requirement names that had characters in the displayID such as <, >, and &. These needed to be escaped to ensure the page displayed correctly. [Issue 883] VERSION 2.18.02: This is a minor bug-fix release. Issues addressed in this release include: o Fixed a bug in the display of requirement field selectors for menu fields where the fields were too small. o ApTest Manager now asserts a minimum version for the JSON component of 2.07 to avoid a missing "latin1" method in much earlier versions [Issue 856]. o Added a note about requiring libssl on Linux systems. o Removed the "run these tests" option from the bulk operations menu when in the Trash directory. VERSION 2.18.01: This is a minor bug-fix release. Issues addressed in this release include: o The buttons related to LDAP operations on the Change Existing Accounts screen did not work as expected in Internet Explorer [Issue 846]. o The progress report did not total execution results per test set correctly when ignoring untested tests [Issue 847]. o Fixed a run-time error during test and requirement import when importing into a history table that has a non-existent field in it [Issue 848]. o There was a potential deadlock situation when the file/folder order cache was cleared during a rename operation and a few other unlikely edge cases [Issue 851]. o Fixed an issue when customizing the regression report, where a customization option appeared in the wrong area [Issue 852]. VERSION 2.18.00: This is an enhancement release. The following major features have been added: o If configured, user account information and authentication can be done via LDAP. o You can now import links between test cases and requirements when importing either test cases or requirements. o You can test the connection between ApTest Manager and your locally configured e-mail server. o You can select which test cases are associated with a requirement from the requirements editor. o You can select and edit multiple test cases or requirements simultaneously. o Changing requirement or test case links when editing a test case or requirement, or when importing, now triggers a "requirement changed" or "test case changed" notification. o You can elect to disable the feature that permits tests to be selected and run directly from the Test Edit and Requirements Edit areas. o Copying folders now also copies their descriptions. o When copying a test suite, you can now elect to also copy the suite access permissions. This release also addresses the following issues: o The various field editors now work correctly with the Apple Safari web browser (version 3 or later) [Issue 213]. o When a requirements report was set to generate a CSV file AND was also set to suppress requirements with no associated test cases, no requirements were included in the report. o When a date field was of style date (as opposed to date and time) the selected date was at the then-current time of day instead of at the beginning or end of the day [issue 721]. o When executing test sessions, uploaded files are stored in separate, incrementally-numbered subfolders to prevent existing file uploads from being overwritten during subsequent re-running of the session [Issue 732]. o Under rare circumstances a race condition could cause a deadlock when multiple requests were operating on the cache of test case information. This has been resolved [Issue 785]. o When submitting a bug from the Session Summary page, the "note" field now only includes the most recent note, in line with submitting from the run pages [Issue 798]. o Folder orders could be corrupted when table fields were shown in the test case ordering screen [Issue 799]. o Certain cookies weren't being accepted by IE due to timezone display problems [Issue 803]. o Fixed an issue with change details when moving multiple test cases or requirements [Issue 804]. o Fixed an issue with conflicting options with time tracking fields in progress reports resulting in a run-time error [Issue 805]. o Test Case numbering mode changed from autonumbered to autooutlined for ApTest_C profile [Issue 806]. o The export.pl and exportAll.pl scripts now also include local.js, local.css, and localconfig.pl [Issue 807]. o Templated test case reports now can have execution data selectors when run against sessions [Issue 808]. o Session summary test fields do not display test data. [Issue 809] o Namepart fields with backslashes in the content could cause javascript runtime errors when using the file browser [Issue 814]. o Notifications of test case assignments now occur when a session is created from a set with default assignments [Issue 817]. o Custom report names were not being URI-escaped when being passed to the customize report component, which could result in URI errors [Issue 818]. o Fixed some issues with version control integration commands not being called correctly during import operations [Issue 819]. o Fixed an issue with file links being broken when the tree is in auto-outline mode [Issue 821]. o The cross-link between a test case and a requirements are cleared when the test case or requirement is deleted from the Trash folder [Issue 822]. o Fixed an issue where certain characters could cause a JavaScript error in the field editors, resulting in the editor not appearing [Issue 825]. o Fixed an issue with previewing changes to test execution templates where session variable references weren't being expanded correctly [Issue 828]. o Synchronizing a test suite failed to refresh the cache for test sessions not attached to a test set [Issue 831]. o Blank values in execution data menu fields are now suppressed when ApTest Manager displays the associated field selector (as occurs with test case and requirement fields) [Issue 834]. o When tests cases used auto-outline mode, in some reports the table and graph of "Results by ID" was sorted incorrectly [Issues 837, 838]. o In the field editors, table values weren't being validated properly [Issue 840]. o The "cover by" setting for saved coverage report settings wasn't being shown properly in the Customize Report screen [Issue 843]. VERSION 2.17.02: This is a minor bug-fix release. Issues addressed in this release include: o Changed message shown when a license is expiring to make it clearer how to resolve the problem. o In the frame showing Set Group contents, the value of the ID selector could be incorrectly suppressed in some instances. o Recursive folder locking from the root of the suite didn't work correctly [Issue 778]. o WYSIWYG editors were encoding some characters as HTML entities when it didn't need to [Issue 779]. o It was possible for a deadlock to occur when showing test cases that cover requirements in the Edit Requirements right hand frame [Issue 780]. o The "creator" of suites created by exportSuite.pl is now set to be the creator of the suite being exported [Issue 781]. o The content of the notes field was not being correctly escaped when being passed to a bug tracking system from the "run multiple" screen [Issue 784]. o There was a warning when compiling TestSession.pm [Issue 788]. o The file order cache could get corrupted when clearing the test case order in a folder [Issue 789]. o When using HTTP Basic Authentication, logging out would cause the user to automatically re-login. o Added ability to suppress the "Per Test Case User Assignments" table in the Users report. o Fixed an issue where mdate and muser fields were not getting default values on import. o Fixed a problem where the "run this test" option from the session summary screen did not update the session end date if running the test completed the session [Issue 791]. o Fixed a problem with alignment of progress bars on some run pages in IE 7 [Issue 794]. o Fixed an issue where submitting a note with no associated run data erases current run data settings [Issue 795]. o Fixed an issue where "run these tests" didn't properly initialize some session variable values [Issue 796]. o Templated reports that were not based upon "results" did not report estimated times. o Fixed an issue where values in radio and checkbox fields were not always treated as being case-insensitive, resulting in duplicate values in some report graphs and tables [Issue 797]. VERSION 2.17.01: This is a minor bug-fix release. Issues addressed in this release include: o Fixed a JavaScript error in IE when the first text field of a form couldn't receive focus [Issue 765]. o Resolved some issues with special character escaping in field defaults [Issue 766]. o Fixed an issue with refreshing the parent window when saving tests or requirements opened from a list of search results [Issue 770]. o Fixed an issue with selecting test cases by requirement [Issue 771]. o Fixed an issue where some field types were being incorrectly mapped to underlying SQL datastore field types [Issue 773]. o Fixed an issue where the importResults command-line script wasn't forcing results to lowercase [Issue 775]. o Fixed some issues relating to creating a set from a session. o SQL configuration screens now re-display the configuration data form when there is a configuration error. o Resolved a potential deadlock situation in the test and requirements databases. o Altered CSS to make labels for checkboxes and radio buttons consistent, regardless of layout. o Users with execute access can now create anonymous sessions. o Suppressed invalid run selector options when opting to "run these tests". o Prohibit rundata fields with the name "id". o Fixed a run-time error for some users with read-only test access when returning to the edit screen after searching for tests. o The bailOut() method of the Framework library now automatically includes a stack trace with the error message. o Fixed an issue with single-select menus not selecting empty values properly. o When displaying notes with no associated result in test sessions, the full name of the user is shown, rather than the username. o Editing test case report templates now ALWAYS shows the execution field pulldown. o Added checks for working with VERY old versions of MySQL, since the Perl drivers are not completely compatible. o Added code so when creating a new session from the Edit Tests or Edit Requirements pages you can specify the name and description for the session. VERSION 2.17.00: This is an enhancement release o Added checkbox and radio button field types to Session Variables and Requirement, Test Case, and Execution Fields. o Made Sessions a link to session display in Administer Sets and Sessions right frame. o Added Customize Report option for Progress Report to only include latest executed result for each test case in report. o Added "% of executed" to results section of summary in Progress Report. o Added Customize Report option for Progress Report for "Results by" calculations include only executed tests. o Added ability to create and run Test Sessions from the Edit Tests and Edit Requirements pages. o Added ability to create a Test Set from a Test Session created from the Edit Requirements/Edit Tests screens o Changed "Search by ID" to Search by any field on the Edit Tests and Edit Requirements screens. o Restructured the user interface of Report customization and Test Set definition to improve usability. o Added ability to pick Test Cases by associated Requirement fields in Test Set definition. o Added ability to pick Requirements and Test Cases from a list in Test Set definition and report customization. This release also addresses the following issues: o Performance of the test set/session assignment and arrangement interfaces could be poor when faced with very large sets or sessions. Made a number of client-side changes to improve this performance, and also to give visual indication when processing is taking longer than expected [Issue 379]. o Fixed results by selectors in progress report so execution fields are included [Issue 734]. o The code that checks for long filename problems on Windows during upgrades could fail to report the list of problematic filenames [Issue 750]. o Fixed issues with corruption of cached folder order data [Issue 752]. o Renaming a folder could cause it to disappear from the folder tree view, requiring a synchonization to make it reappear [Issue 753]. o Fixed an issue where the first tests in a folder might not get copied when copying a folder [Issue 755]. o Fixed an issue with newlines in text fields causing JavaScript errors in the file browser; also removed newlines from text fields during CSV import [Issue 762]. o Some bulk operations on sets within set groups were erroneously being applied to all sets in the group, regardless of the sets that had been selected [Issue 764]. o Fixed a problem with SQL integration where uninitialized times were being set to a time before 1970 when the server was east of UTC. o Improved performance of exportAll.pl script when used with a large number of large test suites. VERSION 2.16.02: This is a minor bug-fix release. Issues addressed in this release include: o A JavaScript error in IE when opening the run or report pages with no sessions listed [Issue 736]. o Fixed issue where copying a suite copied sets and sessions even if those checkboxes weren't checked [Issue 737]. o Fixed an issue with session deletion, where old sessions with four- digit session numbers could fail to be deleted [Issue 738]. o Fixed issue with the field editors, where an error message could appear when creating table fields [Issue 739]. o When importing a CSV file where multiple rows had the same "id" entry, some cache data could become corrupted. Now prevents importing duplicate records [Issue 740]. o Certain settings in requirements reports could cause a generated CSV format report to contain no rows [Issue 741]. o Performing a bulk move of test cases when in auto-number mode could incorrectly report that there would be a collision with names in the destination folder [Issue 744]. o Running multiple tests and uploading a file to a test case that had been renamed after the session had been created could result in a run-time error [Issue 745]. o Copying test sessions could result in the copy containing incorrect counts for results [fix for this was mistakenly NOT in 2.16.01]. o When copying a suite, copying sessions now requires that sets are copied too. o The message about an "invalid license file" has been improved to help people resolve the problem. o When a test case was renamed/moved, the "id" field in the "SD" table of an associated SQL store was not updated. o When a test case was renamed, the record for the test case was removed from the "TC" table of the associated SQL store. o When managing the SQL store configuration for a test suite, some of the previous settings were not displayed. o The default styling for fields of type "table" was such that content was not vertcally aligned "top". Changed that default style, and added a class of "TYPE_tc_table" so it can be locally restyled easily. o Changed field labels so that they are fully enclosed in a span of class "fieldLabel". o Delayed creation of Perl Warning Handler under mod_perl to help work around a bug in Apache for Windows that would cause Apache to fail to startup sometimes. o Changed how file locks and SQL database connections are released in the face of a catastrophic error to help avoid situations where a deadlock might occur when running under mod_perl. o Added a message so it is clearer when a "Search by ID" matches no test cases / requirements. o Select report page is now sorting the list of Sets in the Set selection box. VERSION 2.16.01: This is a minor bug-fix release. Issues addressed in this release include: o Improved performance of the Select Reports and Run pages in the presence of large numbers of sessions [Issue 724]. o The UPGRADE script was not passing command line arguments to the underlying INSTALL.pl script [Issue 725]. o If some Test Set / Test Session meta data had newlines embedded in it, CSV format reports could become corrupted [Issue 728]. o Copying test sessions could result in the copy containing incorrect counts for results. o The checkForUpdates component was incorrectly interpreting messages from the ApTest server. o Fixed a problem in session refresh, where a test entry with no UUID could produce errors. o An error in the ReportCache library could cause errors in some environments. o Removed the non-functioning breadcrumb link which appeared in the navigation bar if you tried to define a set with no name. o Added a workaround for an issue with PPM on Windows when trying to upgrade the DateTime::Locale module. o Fixed an issue with not being able to unlink deleted requirements from test cases. o Fixed an issue with test<->requirement links getting lost when requirements were renamed [Issue 731].