Progress OpenEdge 11.6.0.0 Readme Ports: All Date: October, 2015 -------------------------------- Copyright (c) 1984-2015 Progress Software Corporation. All rights reserved. Read these On-line Release Notes ================================ It is important to read these on-line release notes. They are the exclusive release notes for this release. The on-line release notes are on the distribution medium as one text file, readme.txt. The readme.txt file includes a list of known issues followed by a list of the issues fixed in this release. In addition, the distribution medium includes the following HTML report files which list the issues addressed in this release - organized by version, issue number (CR ID), or product component. * PROGRESS_OE__VERSION.htm (Lists fixed issues by Version) * PROGRESS_OE__ISSUE.htm (Lists fixed issues by Issue Number) * PROGRESS_OE__COMPONENT.htm (Lists fixed issues by Component) --------------------------------------- PRODUCT NOTES for 11.6.0.0 a. ADE Tools and Runtime PSC00333643 : IHttpRequest AcceptContentType property removed ================================================================================ The AcceptContentType property has been removed from the IHttpRequest interface and all implementing classes. To retrieve the content types that the request will accept, call the GetHeader('Accept') method on the request, and extract the value via the Value property on the HttpHeader object returned. The RequestBuilder API is unchanged: Accept() , AcceptJson(), and other variants may still be called. PSC00200793 : Initial value rules for logical fields in the GUI Dictionary ================================================================================ By default, when you create a logical field through the GUI Data Dictionary, it sets the Initial Value as the first value in the Format. For example, if the Format is "male/female", the Initial value defaults to male. The exception to the first item rule is when the format is "yes/no" or "true/false". For those cases, the tool uses the OpenEdge default value for a logical field, "no" and "false", respectively. PSC00172720 : Mandatory fields are not marked as NOT NULL during protoodbc ================================================================================ When running a pro-to-odbc migration against a DB2 data source, fields marked as "mandatory" in the OpenEdge database were being created in generated SQL script and the foreign data source without the NOT NULL syntax. This leads to a situation where these fields are null capable in the foreign database. To make DB2 consistent with the MS SQL Server and Oracle DataServers, the OpenEdge DataServer for ODBC will now set the NOT NULL constraint on SQL columns derived from mandatory fields for DB2 data sources. PSC00155578 : Generic comment deletion code removed from triggers ================================================================================ Deletion triggers have been updated to not generically remove comments, security allocation and multi-media records due to performance impact. A new ERWin trigger template db/af/erw/afercustrg.i has been provided that customers can use to re-generate their own triggers without the generic deletion code. Customers can also update their triggers with specific code to do the deletion in such a specific way that should not have any performance impact. PSC00240314 : Migrating Progress Dynamics to Release 11.0+ ================================================================================ Before attempting any migration, convert the physical database to Release 11.0+, using the proutil conv1011. Progress Software Corporation recommends making a backup at this time. Before migrating to Release 11.0+, Progress Dynamics currently using Version 2.1B must upgraded to Version 2.1B02. The following steps are the only supported path to migrate a Version 2.1B Repository to OpenEdge 10.2B: - Ensure the Repository is upgraded to Version 2.1B02 (db version: 020030). The migration does not work properly on earlier versions of the Repository. - Create a new shortcut for the Dynamics Configuration Utility (DCU), based on the existing shortcut from the install. - Modify the -icfparam parameter in the target. Change 'DCUSETUPTYPE=ProgressSetup' to 'DCUSETUPTYPE=Migrate21Setup'. - Run the Dynamic Configuration Utility (DCU) from this shortcut to upgrade the Repository from Version 2.1B02 to Release 11.0+. To migrate from Release 10.0B05 to Release 11.0+, follow these steps: - Ensure the Repository is upgraded to Release 10.0B05 (db version: 100005). The migration does not work properly on earlier versions of the Repository. - Create a new shortcut for the Dynamics Configuration Utility (DCU), based on the existing shortcut from the install. - Modify the -icfparam parameter in the target. Change DCUSETUPTYPE=ProgressSetup to DCUSETUPTYPE=Migrate100Setup. - Running the DCU from this shortcut upgrades the Repository from Release 10.0B05 to Release 11.0+. To migrate from Release 10.1A02 to Release 11.0+, follow these steps: - Ensure the Repository is upgraded to Release 10.1A02 (db version: 101002). The migration does not work properly on earlier versions of the Repository. - Create a new shortcut for the Dynamics Configuration Utility (DCU), based on the existing shortcut from the install. - Modify the -icfparam parameter in the target. Change DCUSETUPTYPE=ProgressSetup to DCUSETUPTYPE=Migrate101ASetup. - Running the DCU from this shortcut upgrades the Repository from Release 10.1A02 to Release 11.0+. To migrate from Release 10.1B03 to Release 11.0+, follow these steps: - Ensure the Repository is upgraded to Release 10.1B03 (db version: 101101). The migration does not work properly on earlier versions of the Repository. - Create a new shortcut for the Dynamics Configuration Utility (DCU), based on the existing shortcut from the install. - Modify the -icfparam parameter in the target. Change DCUSETUPTYPE=ProgressSetup to DCUSETUPTYPE=Migrate101BSetup. - Running the DCU from this shortcut upgrades the Repository from Release 10.1B03 to Release 11.0+. To migrate from Release 10.1C to Release 11.0+, follow these steps: - Ensure the Repository is upgraded to Release 10.1C (db version: 101201). The migration does not work properly on earlier versions of the Repository. The migration will also work for service packs 1 and 2. - Create a new shortcut for the Dynamics Configuration Utility (DCU), based on the existing shortcut from the install. - Modify the -icfparam parameter in the target. Change DCUSETUPTYPE=ProgressSetup to DCUSETUPTYPE=Migrate101CSetup. - Running the DCU from this shortcut upgrades the Repository from Release 10.1C to Release 11.0+. To migrate from Release 10.2A to Release 11.0+, follow these steps: - There were no updates made to the Repository between 10.2A and 11.0, and so no migration is necessary. To migrate from Release 10.2B to Release 11.0+, follow these steps: - There were no updates made to the Repository between 10.2B and 11.0, and so no migration is necessary. PSC00178641 : DCU enforces MinVersion with migrations ================================================================================ If a setup XML file has migration setup types (defined by having a migration_source_branch session property with a non-blank value), then a check is performed to ensure that the DB version sequence matches that of the MinimumVersion in the Database node of the setup_type. If these 2 versions don't match an error is raised and a message shown. This message is a new message and has a code of 'MSG_cannot_migrate', and appears in the shipped setup101B.xml. If customers have created their own setup.xml files, they need to add this message to all the setup types contained in those XML files. PSC00174297 : Dynamics translated application: performance problems on login ================================================================================ Support has been added for a session property called "cached_translations_only" which is set via the session definition (in the XML file and/or repository). In the absence of such a property in the session, the default is YES (the historical value). If cached_translations_only is false, then translations are not retrieved at startup, but rather on demand when an object is translated. PSC00162290 : Static Object Deployment Tool - Option to generate source listing ================================================================================ The Deploy Static Objects tool has the ability to produce a listing file of all the files that are packaged into a deployment produced by the tool. The listing file is specified in the UI before the deployment starts building. If no listing file is specified, then the listing will not be produced. A default value is provided by the tool, and is for a file called 'listing.log' in the session's temporary directory. The listing file consists of the following fields, tab-delimited: File name Relative path Deployment type Design-only flag This functionality can be used to determine which files are required for compilation on 64-bit platforms. A Dynamics client is only supported on Windows, which is a 32-bit platform, and customers may connect to an AppServer running on a 64-bit platform; in such a case the code would need to be compiled against the 64-bit platform, and the listing file will give the ability to determine which files are required. PSC00140234 : Notes on using the Deploy Static Objects tool ================================================================================ When deploying static objects using the Deploy Static Objects tool, please note the following: 1) You must specify the following extra directories in the Deploy Static Objects tool, in order for a standard Progress Dynamics WebClient install to work: adeicon ry/img adm2/image adeicon.pl can be used instead of the adeicon directory, but you must manually copy this file into the target directory. These image directories are not required for a server install (AppServer of Web). 2) You must manually copy the adm2/dyntreew.wrx file into the target directory, for WebClient installs. 3) You must manually copy adecomm.pl into the target directory for a WebClient install. PSC00314904 : The adm2/dyntreeview.w SmartObject only works in 32-bit installs ================================================================================ The adm2/dyntreeview SmartObject is implemented using a 32-bit OCX control. An error message about the OCX not being registered or moved will be thrown if you attempt to run or drop this SmartObject on a container in a 64-bit install. PSC00240288 : The DynamicsVersion session property must be manually updated ================================================================================ If you are working in an OpenEdge release later than 10.2B, the DynamicsVersion session property may be set to the wrong release number. This property is not automatically updated. To workaround this issue, modify $DLC/src/dynamics/db/icf/dfd/update_dynamics_version_property.p so that the value of the DYNAMICS-VERSION preprocessor is set to the relevant OpenEdge release number (11.2, for example). Compile this file and copy to $DLC/gui, which is important because the DCU does not run against source code. PSC00224776 : ADM2 default data management ignores orphaned/unlinked SDOs on Viewers ================================================================================ A SmartDataObject (SDO) placed on a Viewer without being linked to a data source or to a field is not included in the container's first request to the AppServer and will thus not get any data. This was not the case in old releases of OpenEdge (before v10). You can uncheck the Appserver Aware option in the Procedure Settings of the container to get the old behavior. This makes the SDOs revert to the old request behavior with one AppServer request per SDO. Note that this can add a substantial overhead to the data retrieval from the AppServer. Alternatively, you can move the SDO to the SmartContainer and use the pass-thru link mechanisms to make it accessible to the Viewer, or override initializeObject in the Viewer and call openQuery in the SDO. This approach may require one extra AppServer request specifically for the SDO. PSC00219897 : Dynamic SDO with join require calculated fields to be defined in table order ================================================================================ In a Dynamic SDO based on a join, calculated fields will behave incorrectly under these circumstances: - Both tables in the join have calculated fields defined in the Repository's entity definitions. - Both tables also have one or more of these SDO Entity calculated fields included in the SDO. - The calculated fields from the right-hand table of the join appear before those of the left-hand table in the list of fields in the SDO. Symptoms include incorrect formatting and incorrect initial values being provided, as well as calls to the SDO data logic procedure failing with errors relating to temp-table schema mismatches. PSC00207823 : dynlaunch.i fails in thin client with DATETIME, DATETIME-TZ, RAW or ROWID param ================================================================================ Calling a PLIP using dynlaunch.i fails in a thin-client environment if the procedure call includes DATETIME, DATETIME-TZ, RAW or ROWID parameters. The client will report this error: Mismatched number of parameters passed to routine . (3234) The AppServer agent will report these errors: BUFFER-FIELD was not found in buffer ttSeqType. (7351) Lead attributes in a chained-attribute expression (a:b:c) must be type HANDLE or a user-defined type and valid (not UNKNOWN). (10068) The workaround is to implement calls with these data types to run as external procedure calls on the AppServer. e.g. RUN xxx on gshAstraAppServer (INPUT ...) Alternatively, you might add CASE statements for the 4 data types in obtainInitialValueField in adm2/caller.p. (This has not been tested, but is assumed to be the problem.) PSC00195316 : **Widget ID not unique () error for recursive Dyn TreeViews ================================================================================ The "Runtime Widget-ID Assignment" tool assigns default gap values for the imported SmartObjects. These default values should work without problems in most cases. But, for Dynamic TreeViews with structure nodes, the default gap value of 2000 for "TreeNode" might not be large enough. Since the nodes are created at runtime according to the database data, it is impossible to know how many tree node levels are going to be created in the Dynamic TreeView. If this happens and the default gap value of 2000 is not enough, that default value should be increased as specified in the "Application Development Environment (ADE) Addenda" Web paper in the "Widget IDs for ADM2 and Progress Dynamics" section. PSC00194792 : Toolbar never creates a Band more than once per toolbar instance ================================================================================ The toolbar creates only a single instance of each Band for a toolbar instance. However, the Repository allows multiple instances of the same Band on a toolbar. Before Release 10.1C, the toolbar created the multiple instances of the same Band, but the second instance had no menu items. In Release 10.1C, the second instance of a Band is ignored completely. PSC00180829 : DynLookup limit on number of joins may vary on DataServers ================================================================================ In Release 10.1C, the DynLookup supports a join with up to 18 tables instead of 10. But, this limit might not apply when using a DataServer, because there also is a limit decided by the size of the ROWIDs in the tables. The ROWIDs of the tables are added to an indexed RowIdent field and the ABL has a limit on the size of an index. Starting with Release 10.1B, as long as -tmpbsize 4 (default) or larger is used, temp-tables use large index keys and can store up to 1970 characters. This means that, in theory, you can store and index up to 16 ROWIDs returned from MSSQL server ( 16 * ( 116 + 1 ) - 1 = 1871 characters for rowids + separators). The different DataServers will return ROWIDs with different lengths, so the limit will vary. If this limit is an issue, then you can edit the af/app/afgettemp.p procedure and remove the following index definition. ---- hTT:ADD-NEW-INDEX("idxRowIdent":U,FALSE,FALSE). hTT:ADD-INDEX-FIELD("idxRowIdent":U,"RowIdent":U,"asc":U). ---- The index is used in certain reposition operations on the client. Removing it has an affect on performance, but this might be unnoticeable or acceptable since the operation is done on the temp-table on the client. PSC00170305 : UndoChange action added to all tableio toolbars ================================================================================ Beginning with version 10.1B all shipped toolbars and tableio bands contain a new UndoChange action. This action replaces the old Reset action as the default in these toolbars. This constitutes a behavior change (label and accelerator) for existing applications that use the shipped toolbars or bands, since the caption is changed to "Undo" instead of "Reset" and the accelerator is changed to "CTRL-Z" from "ALT-R". The new UndoChange action defines some of the translatable text needed for the context sensitive text in the admmsgs.i include, message number 97. Customers that use the shipped toolbars or bands and want to remove the new action and get the old one back need to customize the class or toolbar. Customers that already have specific toolbars might need changes either to be able to use the new action or to remove it. To remove (hide) the new UndoChange action and get Reset back in shipped toolbar or band: ------------------------------------------------------------------- The Reset action is already present in the toolbar, so in order to make the Reset into default, the UndoChange needs to be added to the comma-separated HiddenActions property. Existing customer toolbars -------------------------- Existing customer toolbars may or may not get the new UndoChange action. If the toolbar or menu is defined with the "Tableio" category or one of the tableio bands, then the action is added automatically. But, many toolbars add tableio actions specifically in initAction() or initMenu() overrides in order to control the order and add rules. The "UndoChange" will need to be added to these. customized initAction --------------------- Since the getTableioUndoNew may need to load the actions if it is called from a visual object before the toolbar is initialized, the toolbar initAction has been changed to setIsActionsLoaded(true). Overrides of initAction that do not call super must add the same call, using dynamic-function or the {set~ include. PSC00167044 : The Export to Excel functionality removes leading zeros from character strings ================================================================================ The Export to Excel functionality removes leading zeros from character strings. PSC00162037 : IndexInformation property only contains information for primary table(s) ================================================================================ The IndexInformation property has been changed to only contain index information for the table(s) that are uniquely represented in one row in the SDO query. The default table(s) are the EnabledTables or the first table for read-only SDOs. The getIndexInfoTables function determines which tables' info is added to the property. This is not implemented as a property, but can be overridden if different behavior is needed. If you want the old behavior all data objects, then add a custom version that returns the value from getTables (all tables in the query). PSC00161048 : Changes to how decimal values are managed in dynamic combos ================================================================================ There were several problems in previous releases developing decimal dynamic combos with default flag values that contain a numeric decimal point and deploying with different numeric formats. Default flag values were always stored in the format used during development. This prevented deployment to numeric formats other than the one used for development. Either errors displayed and no data displayed in the combo or incorrect data was stored in the repository for the or option. With 2.1B01, 10.0B03 and 10.1A this has changed to store default flag values with American numeric format. They should be entered in the SmartDataField maintenance tool using the session's format but the tool will replace the numeric decimal point with a period in the stored value. At runtime, any stored periods in the data are replaced with the current session's numeric decimal point. A fix program runs as part of the DCU Upgrade to convert existing default flag values for decimal dynamic combos to American format. The DCU must run in the format that was used to develop dynamic combos. The fix program writes a message to the log file for each default flag value it attempts to convert. It writes a message when a value is converted successfully or writes a message if the conversion fails. Review the DCU log file after the upgrade and manually correct any failures. Any failures that are not corrected may not behave properly at runtime as the runtime has changed to attempt to convert stored American formats to the format of the running session. There are several Dynamics objects in the repository that store blank default flag value instance attributes and give messages in the log file. These are for the cbSCMTool dynamic combo on the following viewer objects: gsmsxgenviewv gsmsxotviewv gsmsxpmviewv The messages for these objects are expected and you can ignore them. Any dynamic combo instance attributes stored in static viewer code in your application must be converted manually to American numeric format. PSC00159054 : assignNewValue w/ invalid values behaves different in new lookup API ================================================================================ The old and new lookup APIs behave differently when passing invalid value parameters to assignNewValue if the lookup key field is different from the lookup displayed field. With the old API (pre-2.1B/10.0B02 behavior and 2.1B/10.0B02 behavior with keep_old_api set to TRUE), passing an invalid key field value or an invalid displayed field value to assignNewValue displays blank in the lookup field when assignNewValue is invoked. If changes to the record are saved, blank is stored in the record's key field. With the new API (2.1B/10.0B02 default behavior), passing an invalid key field parameter displays blank in the lookup field when assignNewValue is invoked. If changes to the record are saved, the previous value displays in the lookup field and the value is not changed in the record's key field. Passing an invalid displayed field parameter displays the invalid value in the lookup field when assignNewValue is invoked. If changes to the record are saved, the previous value displays in the lookup PSC00158854 : Widgets on static SmartDataBrowser are not enabled on dynamic containers ================================================================================ When a static SmartDataBrowser contains other objects on its frame, those objects are not enabled when the static SmartDataBrowser is run on a dynamic container. When that static SmartDataBrowser is run on a static container, those objects are enabled. PSC00158601 : BaseQuery must have NO-LOCK after WHERE ================================================================================ A child SDO loses parent filter criteria if its BaseQuery has the NO-LOCK option before the WHERE criteria. When two SmartDataObjects are linked in a parent/child relationship, with or without a SmartBusinessObject, the child SDO might lose its filtering by the parent SDO. In previous versions, this happened if the child SDO was generated by the Object Generator with Follow joins turned on. This generated a BaseQuery with NO-LOCKs before the join criteria and caused the ADM to add the foreignfield criteria to the query incorrectly. As a workaround, opening and saving the SDO in the AppBuilder alters the BaseQuery to put the NO-LOCKs after the join criteria as expected by the ADM. PSC00158372 : DynCombo support for a DataObject as data source does not include static SDO ================================================================================ The option to define an SDO DataSource for a DynCombo is not supported for static SDOs. PSC00158340 : Sharing data object, browse and viewer out of sync showing data ================================================================================ The support for SharedData does not actively refresh viewers or browse viewports when data is changed by another DataObject. To refresh a browse, you must currently scroll the record out of the viewport. To refresh a viewer, you must currently navigate to another record and back. Note that a viewer on a hidden page does not refresh itself if it is on the same record as when it was hidden. So, in this case, it does not help to navigate to another record and back in the browser. PSC00157892 : SDO Cache does not include Auditing & Comments tick-information ================================================================================ The data caching and data sharing support does not always cache auditing and comment information. This information is retrieved only for certain instances and would only be cached if the actual object that did the initial server retrieval was set up to include this information. Data objects that retrieve their data from the cache may thus be unable to show the correct tick-mark in the toolbar if the initial server request did not include this information. PSC00157071 : stripLookupfields is not used in the new lookup API ================================================================================ In previous versions, the stripLookupFields procedure was called on each display to figure out if the SmartDataFields could be resolved by the viewer's DataSource. The new lookup API does not use this procedure. PSC00156968 : Setting of BaseQuery in initializeObject requires synchronization of QueryWhere ================================================================================ If any other query manipulation has been done before changes to the BaseQuery are made, you need to synchronize QueryWhere and possibly the QueryString. If the BaseQuery is set in an initializeObject override before SUPER, you might also need to synchronize QueryWhere in an SDO without any custom query manipulation. The only cases where BaseQuery can be set without synchronizing the QueryWhere are on the client (AsDivision = 'client') and in dynamic SDOs on the server (AsDivision = 'server'). Static SDOs calls setOpenQuery, which calls setQueryWhere, from the main block (query.i) when connected to the database. Dynamic objects that are connected to the database will call prepareQuery from createObjects. Background: The BaseQuery is the design-time, fixed part of the query. It is part of the object definition. The design philosophy is that runtime query manipulation can be done without violating the integrity of this part of the expression. Consequently, the BaseQuery should not be changed after any query manipulation has been done. However, it is quite common for applications to need to set this when an SDO instance is launched. (For example, to filter data on department or company key based on the userid.) Various examples and documentation have shown and stated that this can be done in an initializeObject override before the call to SUPER. In particular, older documentation examples showed this being done with setOpenQuery, which also synchronizes the physical query by calling QueryWhere. This was a problem on a client since setQueryWhere used to always prepare the physical query. setQueryWhere has since become more lightweight, but setOpenQuery still calls the server and should still be avoided in an AppServer session. PSC00156174 : Translation tool does not include SmartDataBrowser search field ================================================================================ The optional search field of a SmartDataBrowser doesn't show up in the translation window to allow you to add a translation. PSC00156171 : The SmartDataBrowser sort profile is not used with SBO data-sources ================================================================================ The sort profile saved for a SmartDataBrowser with a SmartBusinessObject as its data-source is not used upon restart. PSC00155989 : Changes in how Dynamics Window dimension profiles store WINDOW-MAXIMIZED ================================================================================ Progress Dynamics windows now store the WINDOW-MAXIMIZED state together with the previously stored dimensions in the user profile. The state is stored as a 5th entry in the profile value. In previous versions, this state just overwrote the old profile. If you close a maximized window and no dimensions have been saved previously, the window still stores "WINDOW-MAXIMIZED" as the only entry. With the new behavior, a window can store the WINDOW-MAXIMIZED state without loosing the stored dimensions for the previously saved WINDOW-NORMAL state. The next time you launch the window, it displays maximized. But, when the WINDOW-NORMAL state is applied, the window resumes its previously stored size. PSC00154960 : Dynamic Lookup maintenance window does not destroy its maintenenance SDO ================================================================================ The Dynamic Lookup maintenance window does not destroy its SDO and associated Data Logic Procedure Whenever you open the maintenance window of the dynamic lookup from the dynamic lookup browse, the system launches a new instance of the maintenance window's SDO and its associated DLP. However, these objects are not destroyed upon closing the maintenance window. PSC00154765 : Error messages for child SDO not returned when CLOB involved ================================================================================ A detailed error message may not be returned to the client while adding a record to a SmartDataObject under the following circumstances: - the SDO is running on AppServer - the SDO contains large object fields - AutoCommit is false (commit is used to commit multiple updates at once) The client does receive an "update cancelled" message but should have a detailed error. The detailed error is written to the AppServer log file. This situation is more likely to occur with an SDO that is part of a SmartBusinessObject. PSC00154671 : SmartFrame objects stored with .w in object name may need two translations ================================================================================ For SmartFrames or SmartWindows that are launched from a static container, the object name for Title and Page Label translations is resolved from the procedure:FILE-NAME without path and extension. Therefore, SmartFrame objects that have the .w extension in their Repository object names might need two translations, one without the extension for usage in static containers and one with the extension for dynamic containers. PSC00151672 : CallerProcedure, CallerObject, and CallerWindow are not set in createObjects ================================================================================ The Session Manager's launch in Progress Dynamics sets properties like CallerProcedure, CallerObject, and CallerWindow in the launched container. These properties are set before the container is initialized and can thus be used in an initializeObject override. However, they are not intended for use during the construction (the execution of the main block) of the container. The createObjects call is typically done as part of the construction. However, in previous releases, static non-window containers, like SmartFames and SmartDataViewers, did call createObjects from initializeObject allowing these properties to be used also in createObjects. Now, createObjects is called during the construction of almost all containers. If a createObject override uses these properties, it is unlikely to work. Any logic referring to these properties in createObjects should be moved to an initializeObject override instead. Moving this logic to initializeObject should not cause any change in behaviour. PSC00150794 : Read only SDO tables can be specified to remain NO-LOCKed during transaction ================================================================================ The NoLockReadOnlyTables property can hold a comma-separated list of read-only (non-updatable) tables that should remain NO-LOCKed during the transaction. A value of 'ALL' means that all read-only tables should remain NO-LOCKed. Note that read-only tables defined by this property also are excluded from the optimistic lock check of changes. PSC00144084 : Error 4054 (.. does not fit..) if ToolbarDrawDirection is "vertical" ================================================================================ The Dynamics layout manager does not handle toolbars where the ToolbarDrawDirection is set to 'vertical'. PSC00140279 : Static browsers/browsers in static windows don't get Repository column labels ================================================================================ Browsers running in static windows linked to a static SDO on an AppServer will not get the column-label from the Repository's EntityField. Instead, the browser gets the column-label from the database schema. This problem also applies to any static browser. PSC00140138 : A single toolbar cannot switch navigation between SDOs and SBOs ================================================================================ In a paged container where a SDO is the Data-source of a SBO, you cannot use a single toolbar to navigate both the SDO and the SBO. PSC00140135 : Loss of data when changing page while browse is in add ================================================================================ When adding a new record in a browser that is part of a tabbed user interface, the entered data can be lost or appended to the next record in the browser under the following conditions: - The browser is the update source for an SDO. - The user did not enter all of the required fields in the browser row. - The user selects a different page before saving the new record. PSC00133069 : ADM2 does not support the READ-ONLY attribute on browse columns ================================================================================ The ADM2 does not support setting the READ-ONLY attribute directly on browse columns as a way to disable fields. Field enabling is controlled by the EnabledFields property, that is, you make columns read-only by removing them from the enabled fields list. This is not considered to be a bug. Dynamic browser columns are all read-only at start up, so it would be very difficult to implement a solution to detect if the READ-ONLY attribute has been set in initializeObject. PSC00130471 : New records can be duplicated when reading new batch if added while batching ================================================================================ If new records are created that sort higher than the last record in the current batch, the new record is duplicated when a batch includes the new record. To prevent this, either ensure that the user is at the last batch when adding the new records that will get key values that sort higher than the currently last record or avoid batching when such records can be created. PSC00130387 : RowObjUpd.ChangedFields is obsolete ================================================================================ Prior to Version 10.0A, the RowObjUpd.ChangedFields field was used to figure out which fields to save in an SDO. This is now obsolete and no longer used. The SDO now figures out which fields to save to the database tables based on a comparison of the before-image and the changed record. The ChangedFields field is not used in any logic, except for a call to bufferCollectChanges, which updates this field. Since it does not capture all changes, this update is not reliable and the method will be deprecated in the future. PSC00129126 : Avoid changing Foreign Keys in Web Objects with joined queries ================================================================================ When you use the Detail Wizard to create a Web object that contains a join, do not make the foreign key field updateable. If you change the value of the foreign key in a record, the next stateless request might not be able to find that record. When this happens, you get an error that the query could not reposition to that record. If your application needs the ability to update the value of the foreign key in a joined query, you must make sure that the list of ROWIDs in the "CurrentRowids" attribute contains ROWIDs of the newly joined table, instead of the originally-joined table. PSC00128303 : Static data objects do not get initial value from Repository ================================================================================ Static SDO proxies (_cl) do not get the INITIAL-VALUE from the Repository's EntityField DefaultValue at run time. The temp-table's INITIAL-VALUE attribute is a read-only attribute that is compiled into the SDO temp-table definition from the SDO include. PSC00124754 : Print Preview and Export to Excel do not work when the data source is an SBO ================================================================================ Print Preview and Export to Excel options available on various browse toolbars are not supported for visual objects whose data sources are SmartBusinessObjects. These options will do nothing when chosen. PSC00121785 : Record level transaction hooks must be implemented in the Data Logic Procedure ================================================================================ You must implement a static SmartDataObject's record level transaction hooks (create*, write*, and delete*) in the Data Logic Procedure. They will only fire from the SDO if the SDO does not have a Data Logic Procedure. PSC00156243 : Help cannot be mapped to static container run from the AppBuilder ================================================================================ It is not possible to map help for a static container that has been run from the AppBuilder. The container must be run from the Dynamic Launcher to map help for it. PSC00173682 : Progress Dynamics can't find the help file during AppServer sessions ================================================================================ When the help file is set in the "security control" window, Progress Dynamics can't find the help file using the help-menu-item in an AppServer session. PSC00171808 : Translated labels and widgets on same row but different column ================================================================================ When translating static viewers where KeepChildPositions=Yes, translated labels now use the existing label's width only. Also when translating static viewers, the label's font, rather than the widget's font, is used to determine the width of the label. The translation of simple (LIST-ITEMS) combo-box labels is now supported for dynamic viewers. When translating dynamic viewers with KeepChildPositions=Yes, the label moves to the bottom (back) so that it doesn't overlay any widgets to its left. The label is not truncated, unless it is longer than the space available. PSC00168877 : The DataView does not support Dynamics Comments and Auditing ================================================================================ There is no default support for Comments and Auditing when DataViews and ProDataSets are used. The following error is returned when attempting to save a comment for a DataView: BUFFER-FIELD RowUserProp was not found in buffer .(7351) The Server Interface implementation could define a RowUserPropfield in the entity temp-table to store the information needed to trigger Auto Comment and show tick marks in the Dynamics toolbar's Auditing and Comment actions, similar to how the SDO handles it. Using this field might make it easier to use existing Repository Manager APIs and reuse existing SDO code. Note that the Auditing and Comment information is stored with delimiters in the field. This makes it difficult to use outside of the ADM and difficult to populate. The population have to be done for each record and will likely affect performance. PSC00155275 : Info for all users sent to client ================================================================================ When a user attempts to login in a client-AppServer configuration, the entire list of users is sent from the AppServer back to the client. This may be an expensive operation when there is a large number of users in the repository. To reduce this overhead, adding the session property "abbreviatedUserTable" to all client and AppServer session types and setting its value to "YES" will result in only the user that is logging in having his data shipped across from the AppServer, thereby reducing the traffic. PSC00153575 : Static SmartDataFields (e.g. SmartSelect) cannot be translated. ================================================================================ SmartSelect objects are not presented for translation in the Translation window at runtime. The work around is to enter translations of SmartSelects in the Translation Control tool. The same naming convention as for Lookups is used. You must specify the Widget Type as 'FILL-IN' and the Widget Name as 'fiLookup' in all cases. You must enter the Object Name as :. If the static SmartDataViewer containing the SmartSelect is used in a static container, you must enter the file name of the viewer, including the extension (.w), in the Object Name. If the viewer is used in a dynamic container, you must enter the object name of the viewer, without any extension. This is an example based on a viewer for the Warehouse table using a SmartSelect for the 'State' field. The file name of the viewer is 'warehousesdv.w'. Translation for use in a static container: Object Name: warehousesdv.w:state Widget Type: Fill In Widget Name: fiLookup Translation for use in a dynamic container: Object Name: warehousesdv:state Widget Type: Fill In Widget Name: fiLookup PSC00201988 : Error: The Root node code must be specified. (AF:1) when creating Dyn TreeViews ================================================================================ When entering data in the "Dynamic TreeView Builder" tool, you must enter the "Object filename" value first. If you do not enter the Object filename first, you see the "Root node code must be specified. (AF:1)" error upon saving the data. PSC00200646 : Error 7452 in Dynamics Dataset Export Filter ================================================================================ Customers using European numeric settings might see the 7452 error when pressing the filter button on the Dataset Export screen. PSC00155024 : Cascading security allocations does not work for Data Security ================================================================================ The option to cascade security allocations from a profile user does not work for Data security. PSC00151136 : RTB: Problems when dyn object and super proc in different module ================================================================================ When modifying a dynamic object where the dynamic object and its super procedure were created in different product modules, the following error may occur: The product module and the product module must be the same. (AF:110) PSC00146842 : Error 560 Generating Objects From SDO ================================================================================ Error 560 (Entry outside the range of list) is raised when the Object Generator is used to create dynamic objects from a prebuilt SDO when the SDO has been created by the Object Generator, and has subsequently had other tables manually added, and the product module has sublevels in the path. PSC00146243 : Client cache viewer tool returns errors ================================================================================ The client cache viewer tool no longer works when run against a current version of the Repository API. PSC00143666 : Copy-Paste in DynView is not keeping all the attributes of the widgets ================================================================================ When copying widgets from a DynView to another DynView, some widget attribute values are missed. For example, when a fill-in is copied, the values of the ShowPopup and Label attributes are missed in the target DynView. This happens for all attributes that are read from the Repository. PSC00140156 : DataFields cut/copied then pasted are associated with RowObject ================================================================================ There is an issue when you cut or copy DataFields from one dynamic viewer and then paste them to another dynamic viewer built from the same SDO. Until you save and reopen the second viewer, the AppBuilder shows the new fields as being associated with the RowObject table instead of their actual database table. PSC00131772 : Toolbar object modifications are not updated in the Toolbar ================================================================================ 011A90108 Toolbar data are cached on the client as soon as they have been read once from the server, so when actions, bands and/or toolbars are changed in the Toolbar and menu designer these changes will not always be reflected in new instances of toolbars. Running the Dynamic Launcher and checking the 'Destroy ADM super-procedures' option will ensure that toolbar data are refreshed. The other option is to restart the session. PSC00128502 : Fields hidden on DynView master layout in design mode if custom layout exists ================================================================================ If a field on a master layout has its HIDDEN attribute set to TRUE, the viewer typically displays the field in design mode. However, if a customized layout is made for the viewer, the viewer does not display the hidden field when the viewer reopens. This is inconsistent with the normal behavior for displaying hidden fields in master layouts. If you need to modify a hidden field in this situation, use the ROM tool. Do not modify the hidden field by using the 'List Objects' button to bring up the property sheet. Doing so removes the field instance. PSC00125407 : scm_checks_on in Security Control is not supported ================================================================================ In Security Control, there is a toggle that switches on and off checks for the use of an SCM tool. The use of this setting is not yet implemented in all the places where it is relevant to check for this setting. SCM functionality is always enabled when the SCM tool (Roundtable) is in use with Progress Dynamics. PSC00247292 : Creating a .zip file on removable media from Visual Translator causes errors ================================================================================ Creating .zip file on removable media from Visual Translator causes the following errors: Error occurred while accessing component property/method: MultiVolumeControl. Out of present range. Error code: 0x8002000a Zip adetran/common/_zipmgr.w (5890) Zip: Couldn't open to write. (15). Note: Creating a .zip file on non-removable storage functions properly. PSC00150235 : Changing the TranMan Language combo may cause error (132) ================================================================================ Changing the selected language on the TranMan Data Tab combo does not display the correct translations after using the 'View', 'Sort' option from the pull down Menu. Double clicking on some rows might give the following error: ** This Translation already exists with Sequence number Instance Number Language Name "". (132) PSC00181371 : Two undo/reset buttons on the Standardtoolbar ================================================================================ The new UndoChange toolbar action is not supported in Dynamics Web. By default, UndoChange replaces the Reset action in shipped toolbars and Tableio bands. When these toobars and bands are realized in the Web, the Reset button and menu item remain and function correctly. However, the UndoChange action may also be realized at runtime as a non-functioning button and menu item, labeled "Undo 1 (CTRL-Z)". In order to suppress the UndoChange button and menu item, the UndoChange action can be set to Hidden, or added to the HiddenActions property, for the toolbar. For additional information, please see the note for the new UndoChange action under GUIRENDR / SmartToolbar in this document. PSC00144996 : The compileAll option in WebTools has a limitation of URL length of 4096 chars ================================================================================ The compileAll option on AppManager in WebTools has a limitation of URL length being more than 4096 chars, depending of what web browser is being used. Try to limit the size of the compiles, number of files if you run into this problem. PSC00139229 : HTML after WSTag not sent if WSTag runs another WebSpeed object ================================================================================ If a SpeedScript file contains a WSTag tag that runs another WebSpeed object, the remaining HTML after the WSTag tag is not sent to the Web browser. PSC00130586 : WebSpeed detail program called from a WebSpeed report program hangs ================================================================================ A WebSpeed detail program called from a WebSpeed report program might hang when the Add button is used a second time or the Delete button is used. If the detail program is used separately from the report program, the problem does not occur. b. Adapter for SonicESB PSC00240333 : Connnection string limitation for session-managed native ESB Adapter ================================================================================ The combined length of the connection string (composed of a user-id, password, and information fields) must not exceed 30,000 non-Unicode characters when connecting to an AppServer. Exceeding the string length causes an AppServer exception. PSC00220618 : Agents remain locked when ESB Adapter returns a Fault in Sonic Workbench ================================================================================ When using the OpenEdge Adapter for Sonic ESB with a session-free AppServer and persistent procedures, it is important that you release the persistent procedure when your ESB process completes, to prevent having a locked agent. When the adapter returns a fault, you must ensure the Release operation is done in your Fault process. This requires you to keep track of your process ID and have access to it in your Fault process. In the Progress Developer Studio for OpenEdge/Sonic Workbench development environment, Sonic intercepts all fault returns so that it can display the result. Consequently, Fault processes are never run. Setting the Command Parameter ESB Fault Return Mode to "Continue Process with Fault" discards the original message where your Procedure ID is stored, so this is not a viable solution. To free up locked agents on the AppServer, you must restart your development container. Using Persistent Procedures within Sonic ESB processes is discouraged because it greatly complicates the handling of Faults and makes your session-free AppServer operate no differently than a session-managed AppServer. c. Adapter for SonicMQ PSC00329878 : ABL commit does not work properly for Pub-Sub sessions ================================================================================ ABL commit does not properly commit messages received during a subscription when WebSphereMQ is the JMS Provider. The issue is with the way WebSphereMQ handles acknowledgements in Pub-Sub sessions during asynchronous reception. d. AdminServer PSC00340608 : Start the AdminService using Administrator account ================================================================================ When starting the AdminService with the System account on Windows, you might observe Java Null Pointer Exceptions. As a workaround, change the user to a valid user with admin privileges. To change the user: 1. Go to Control Panel>Administrative Tools>Services 2. Select the "AdminService for OpenEdge 11.6" 3. Right-click and choose Properties 4. In the Properties dialog, select the "Log On" tab 5. Change the radio selection to "This account:" 6. Enter the username and password of a valid admin user and click Apply 7. Restart the AdminService in the Services dialog box e. AppServer PSC00342063 : ADH-* ciphers need to set explicitly for Broker. ================================================================================ Ciphers like ADH-AES128-SHA256, ADH-AES128-GCM-SHA256 & ADH-AES128-SHA256 need to set explicitly to work. 1) If someone needs work with ciphers which are started with ADH-* then that needs to set explicitly using PSC_SSLSERVER_CIPHERS in broker environment section. 2) For example: [Environment.asbroker1] PSC_SSLSERVER_CIPHERS=ADH-AES128-SHA256 3) After that broker needs to restart to pick up this new ciphers. PSC00229780 : Startup time of AppServer broker increases when SSL is enabled (Linux and UNIX) ================================================================================ After upgrading to OpenEdge Appserver V11, the AppServer broker's startup time might increase if SSL is enabled. This happens if /dev/random is not populated with random data. The SSL libraries used by the AppServer broker require several kilobytes of random data to properly secure SSL connections to the broker. To resolve the issue, ensure that /dev/random is populated with enough random data. There are two possible solutions: - Move /dev/random to /dev/random_bak, and then add a simlink from /dev/random to /dev/urandom. This makes /dev/random reference /dev/urandom. Note that /dev/urandom is less secure. - Install and run rngd, the random number generator daemon. It increases the entropy pool used /dev/random to provide random data. PSC00244975 : Support for Actional is removed ================================================================================ Support for Progress Actional (including all Actional interceptors for OpenEdge), which was first introduced in OpenEdge 10.2B, is removed from OpenEdge Release 11.1. f. AppServer Internet Adapter PSC00342125 : SSL/TLS communication between AIA and AppServer ================================================================================ SSL/TLS communication between AIA and AppServer has problem when using ADH-AES256-SHA256, ADH-AES128-SHA256 or ADH-AES128-GCM-SHA256 ciphers suite with default SSL protocol (i.e. TLS 1.2). It is recommended that these cipher suites are not used for SSL/TLS communication between AIA and AppServer. PSC00342127 : SSL/TLS communication between AIA and AppServer ================================================================================ SSL/TLS communication between AIA and AppServer has problem when using ADH-AES256-SHA256, ADH-AES128-SHA256 or ADH-AES128-GCM-SHA256 ciphers suite with default SSL protocol (i.e. TLSv1.2). It is recommended that these cipher suites are not used for SSL/TLS communication between AIA and AppServer. g. Command Line Tools PSC00341901 : Adding Agents during an AppServer Refresh operation ================================================================================ When you issue a refresh command using asbman or wtbman utility, the busy or running agents are marked to be refreshed. If you add more agents using -addserver option while there are agents running and marked to be refreshed, you will observe that the agents marked to be refreshed are also included in counting the maximum server permitted as per the license limitation. h. DATASERVER PSC00242574 : Always run r-code against the schema image of the original database ================================================================================ Prior to OpenEdge 11.3, any change to the record structure or to compile-dependent characteristics of a column would create a schema mismatch between compiled r-code and the schema holder database representing a foreign schema. Starting in OpenEdge 11.3, the Oracle and MS SQL Server DataServers introduce "position-independent r-code" which is r-code whose schema references are "independent" of the physical positioning of a column in the foreign data source. In OpenEdge 11.3, position-independent r-code means that column positions on the server table can be rearranged with only the need to perform a schema pull but not the need to recompile ABL code. In OpenEdge 11.3, introducing a new column or deleting an existing column from an existing record structure still requires the r-code to be recompiled against the new schema layout. With "position-independent r-code, the r-code is dependent only on a logical identification of the column, and not the physical position of the column. The logical identification of a column takes place in the OpenEdge database before migrating to a foreign data source and that logical identification never changes once the column is defined in the OpenEdge table. Therefore, if the columns on the server are simply rearranged, the code need not be recompiled. But, changes to the foreign schema do need to be pulled back into the schema image to ensure that the new physical position of a column is re-matched against the proper logical identifiers known to the r-code. To avoid run-time data corruption, never run r-code or load data (.d file) while connected through a schema image that does not reflect the actual schema on the server. Starting in OpenEdge 11.4, the Oracle and MS SQL Server DataServers can also accept certain changes to column attributes that would have previously caused a schema mismatch. The only schema attributes that cannot change are the data type, the number of extents in an extent column and the column name. Now, like the online schema capability of the OpenEdge database, these are the only attributes that require a recompile. Again however, any changes to the server schema still must be pulled back into the schema image to ensure the proper attributes are known to the run-time code. Starting in OpenEdge 11.4, the Oracle MS SQL Server DataServers can also allow new columns to be added to a server record's column layout that would have previously caused a schema mismatch. While adding a new field will no longer require a recompile, it is still important to always perform a schema pull so that the schema image accurately reflects the schema structure on the server. If the added server column is not reflected in the schema image, then future references to that field in DataServer applications will not recognize the field reference on any subsequent re-compiles. PSC00215517 : Techniques to load .d file when table has non-updatable column on MSSQLServer ================================================================================ In MSS DataServers, there is a restriction to a load operation from a .d file when the table has non-updatable columns (i.e. columns on MS SQL server are of type 'identity' or 'timestamp' or 'rowguid'). You can work-around this restriction by following one of the two options described below. Option 1:- Use dump/load tools of the foreign data source instead of data from a .d file to load your foreign table. Note: This is the only way to retain the original values from non-updatable columns. Option 2:- If the user wants newly generated values for non-updatable columns stored along side updatable fields from the given '.d' file, write an ABL program to read data from the .d file into a temp table and then skip non-updatable fields while writing the temp table records to the foreign table. Sample ABL code provided below to perform this task. Consider a table named "test" on SQL Server side with the structure as, TABLE [test]( [fld1] [int] IDENTITY(1,1) NOT NULL, [fld2] [varchar](50) NULL, [fld3] [varchar](50) NULL ) ****** sample ABL code ****** /* define temp table with the name Temptbl for table test */ define temp-table Temptbl like test. /* pouplate temp-table Temptbl from the records in the .d file name test.d */ INPUT FROM test.d. REPEAT: CREATE Temptbl. IMPORT Temptbl. /* create a record in the foreign DB */ CREATE test. BUFFER-COPY Temptbl EXCEPT fld1 TO test. END. INPUT CLOSE. ***************************** PSC00246724 : R-code compiled in OpenEdge 11 before and after this fix must be recompiled ================================================================================ 32-bit and 64-bit datasever r-code compiled in OpenEdge 11.2.0 is incompatible with OE 11 releases before and after it due to a change of data stored in r-code. Corrections are required for all r-code compiled against the DataServer for MS SQL Server in releases other than 11.2.0. Release 11.2.0 r-code is only compatible with its own run-time. Moving Release 11.2.0 MSS DataServer r-code to later releases (11.2.1+ or 11.3+) requires a recompile even if you recompiled once already in moving to 11.2.0. PSC00246559 : Recompile r-code in 11.2.1/11.3.0 from OpenEdge 11.2 or previous V11 versions ================================================================================ 32-bit and 64-bit platform r-code compiled on OpenEdge 11.2 (or previous versions) must be recompiled at least once before being executed on OpenEdge 11.2.1 or later versions. Corrections were required for all r-code compiled against the DataServer for MS SQL Server due to 64-bit alignment issues associated with stored r-code that affect run-time capabilities on both 32 and 64 bit platforms. PSC00242586 : Always run r-code against the schema image of the original database ================================================================================ Prior to OpenEdge 11.3, any change to the record structure or to compile-dependent characteristics of a column would create a schema mismatch between compiled r-code and the schema holder database representing a foreign schema. Starting in OpenEdge 11.3, the Oracle and MS SQL Server DataServers introduce "position-independent r-code" which is r-code whose schema references are "independent" of the physical positioning of a column in the foreign data source. In OpenEdge 11.3, position-independent r-code means that column positions on the server table can be rearranged with only the need to perform a schema pull but not the need to recompile ABL code. In OpenEdge 11.3, introducing a new column or deleting an existing column from an existing record structure still requires the r-code to be recompiled against the new schema layout. With "position-independent r-code, the r-code is dependent only on a logical identification of the column, and not the physical position of the column. The logical identification of a column takes place in the OpenEdge database before migrating to a foreign data source and that logical identification never changes once the column is defined in the OpenEdge table. Therefore, if the columns on the server are simply rearranged, the code need not be recompiled. But, changes to the foreign schema do need to be pulled back into the schema image to ensure that the new physical position of a column is re-matched against the proper logical identifiers known to the r-code. To avoid run-time data corruption, never run r-code or load data (.d file) while connected through a schema image that does not reflect the actual schema on the server. Starting in OpenEdge 11.4, the Oracle and MS SQL Server DataServers can also accept certain changes to column attributes that would have previously caused a schema mismatch. The only schema attributes that cannot change are the data type, the number of extents in an extent column and the column name. Now, like the online schema capability of the OpenEdge database, these are the only attributes that require a recompile. Again however, any changes to the server schema still must be pulled back into the schema image to ensure the proper attributes are known to the run-time code. Starting in OpenEdge 11.4, the Oracle MS SQL Server DataServers can also allow new columns to be added to a server record's column layout that would have previously caused a schema mismatch. While adding a new field will no longer require a recompile, it is still important to always perform a schema pull so that the schema image accurately reflects the schema structure on the server. If the added server column is not reflected in the schema image, then future references to that field in DataServer applications will not recognize the field reference on any subsequent re-compiles. PSC00242399 : Existing MSS logical schema requires an update to enable certain LOB operations ================================================================================ In MS SQL DataServer, partial LOB operations with non-native MS SQL Server drivers had resulted in an error. The schema image has been modified to include additional information that allows for important LOB data type distinctions in the non-native drivers. As a result, a newly created logical schema with re-pulled server definitions will no longer experience errors when non-native drivers are processing DataServer LOB operations. If you want to successfully use an existing logical schema with non-native driver connections, you must first run the attached, upd_sqlcols_buf.p, script and then re-pull your table definitions with LOB data types from the server into the schema holder database. PSC00223191 : ZPRGRS_RECID_BUF_SIZE Option minimum value changed from 44 to 52 ================================================================================ The ZPRGRS_RECID_BUF_SIZE option allows the RECID buffer size to be configured to a customized size for the DataServer session. This is a legacy option occasionally used by ODBC DataServer customers and MS SQL Server DataServer customers up until OpenEdge 11.6 where it essentially becomes obsolete. Prior to 11.6, the option allowed for an expansion of the ROWID format size for customers who chose their ROWID values from large natural keys. It was also used occasionally by customers who used PROGRESS_RECID surrogate key to represent ROWID throughout their database structure. In that case, the ROWID buffer size could be minimized to 52 after 10.2B01 and 44 prior to 10.2B01. The minimum RECID buffer size was changed to 52 (from 44) beginning OpenEdge 10.2B01 release up until the OpenEdge 11.5.1 release . In OpenEdge 11.6 release, the minimum value of RECID buffer size has been modified from 52 to 15 as part of the RECID area restructuring that introduced a new ROWID format (PRGRS_ROWID_VER,1). While ZPRGRS_RECID_BUF_SIZE was originally made available to expand the default ROWID format size to something that would fit the largest natural key you had in your database (if that key was greater than the ZPRGRS_RECID_BUF_SIZE default). But it can also be used to keep RECID buffer size as small as possible in the record buffer (assuming you are using small keys like the PROGRESS_RECID index that can be generated by a DataServer migration. The minimum limit of 52 (which is the size of the PROGRESS_RECID surrogate key format) would still hold true in OpenEdge 11.6 and greater if you were to revert back to the old ROWID format using the -Dsrv PRGRS_ROWID_VER,0 connection switch. NOTE: The "old" (PRGRS_ROWID_VER,0) ROWID format is the format of the ROWID before version 11.6. NOTE: DO NOT INCREASE THIS VALUE IF THERE IS NO REQUIREMENT FOR IT. INCREASED BUFFER SIZES CAN HAVE A NEGATIVE EFFECT ON NETWORK PERFORMANCE RUNNING DATASERVER'S CLIENT/SERVER. This syntax is for setting the buffer size for the RECID area, -Dsrv ZPRGRS_RECID_BUF_SIZE,nnnn (where nnnn is the new size of the area in bytes. The range limits for nnnn are inclusive of values between 52 to 1024.) Note: Applications that have stored ROWIDs on permanent media prior to 11.5.0 (using PRGRS_ROWID_VER,0) will not be able to use those stored references with an 11.6 DataServer application because 11.6 uses a new ROWID format (PRGRS_ROWID_VER,1). Starting with OpenEdge 11.5.0, the in-memory format was modified to consolidate ROWID information to reduce the network bandwidth for client/server configurations. However, If you write ROWID's out to permanent storage media during your 11.5.0 run-time session and then try to read records back using your stored ROWID's in a non-11.5.0 run-time, a new ROWID format implemented in the 11.5.0 release is rendered incompatible with all releases before it or after it. On the other way, If your application stores ROWID's on permanent media in a non-11.5.0 run-time (such as 11.5.1) but tries to locate those records using an OE 11.5.0 run-time, they would not be identified. This is because of the ROWID's of the 11.5.0 run-time are not formatted the same as other releases, the incompatibility will prevent you from finding records with ROWIDs stored permanently in one run-time format and retrieved for record lookup in the format of a different run-time. PSC00218590 : SQLError not getting message with SNAC-10 driver. ================================================================================ New trigger solution (CR#OE00178470) generates 'PSC-init' and 'PSC-end' messages on trigger execution. Modified DataServer code gets these messages using SQLFetch()- SQLError - api calls for 2 times. Observed that SNAC-10 driver is not returning the PSC-end message as part of the 2nd time SQLFetch() with SQLError()- API calls. This is a 3rd party SNAC-10 driver issue. Confirmed the same by using a sample ODBC program. Note: This behavior has NO impact on DataServer functionality. PSC00251163 : Recompile r-code in 11.2.1/11.3.0 from OpenEdge 11.2 or previous versions ================================================================================ 32-bit and 64-bit platform r-code compiled on OpenEdge 11.2 (or previous versions) must be recompiled at least once before being executed on OpenEdge 11.2.1 or later versions. Corrections were required due to the byte ordering of data stored in r-code compiled against any DataServer (ODBC, MSS, or ORACLE). The byte-ordering of r-code storage and run-time retrieval affects run-time capabilities on both Little Endian (LE) and Big Endian (BE) machine types. i. DB PSC00342161 : Crash recovery status options are deactivated ================================================================================ The newly added crash recovery status options, -crStatus and -crTXDisplay, are deactivated. The options are accepted on the command line, but are benign and shut off internally. If specified on the command line, the options do not produce any errors or the expected output. PSC00330626 : Failure to load LOB data for certain records when binary loading data into a table partition [11.4.0.x and 11.5.0.x] ================================================================================ When loading data into a table partition using the binary load utility, there is a problem where the LOB fields may be skipped for some records. This error will not bring down the database, or disconnect a client. The records which have lost the LOBs will still behave normally, except in the following scenarios: 1. Read/Update/Delete of the LOB fields of the record, where the error of ôStorage object for blob is not allocated (16510)ö will occur. 2. Delete the record with lost LOB fields, where the error of ôSYSTEM ERROR: unexpected return code from dsmRecordDelete -11ö will occur. The problem occurs under the following conditions: 1. Table Partitioning must be enabled 2. Must load data into a certain partition: the ôpartition ö qualifier must be used 3. The source data in binary dump file(s) has more data to be loaded into the target partition (some records are skipped by the loading process) 4. The LOBs of the a record may not be loaded if its previous record has been skipped by the loading process 5. Using OpenEdge 11.4.0 or 11.5.0, or any hotfixes on those releases To completely recover any lost LOBs, service pack 11.5.1 can be used to binary load data again if the binary dump file(s) are still available. To work around the record delete error, or partially recover the record without LOBs, the following steps can be used: 1. Find the record with lost LOBs 2. Copy each field (except the LOBs) from the record 3. Delete the record with dbrpr (option 3: Remove bad record fragment) 4. Remove index entries for the record with idxfix 5. Create a new record with the saved fields PSC00220715 : dbutil.bat supports nine command line parameters ================================================================================ dbutil.bat supports 9 command line parameters. Use proutil.bat if your command line requires more than 9 parameters. proutil.bat supports 27 parameters. PSC00220401 : An encryption-enabled, manual start db cannot be started by failover clusters ================================================================================ You cannot start a database enabled for failover clusters with your operating system cluster resource manager if it is also enabled for transparent data encryption and configured for manual start. Failover cluster and encryption-enabled databases must be configured for autostart to be started by the cluster resource manager. If you attempt to start an encryption-enabled database configured for manual start with the operating system cluster resource manager, the actual startup fails, but the cluster resource manager may incorrectly report that the database has been started. PSC00226402 : Promon output format is changed to include additional fields ================================================================================ In Release 11.0.0, new columns are inserted into promon reports to provide information on new fields, for example domains, tenants, and partitions. Refer to "OpenEdge Data Management: Database Administration" for more details. Understanding the change in column location is particularly important if you have scripts that parse promon output and act on the parsed results. PSC00299582 : Utilities performing index operations on a UTF-8 database requires -cpinternal UTF-8 ================================================================================ Utilities performing index key operations within PROUTIL require you to include "-cpinternal UTF-8" on the command line when operating on a UTF-8 database. If PROUTIL detects that your database is a UTF-8 database and -cpinternal UTF-8 is not specified, a message is generated and the utility exits. The utilities are: LOAD, IDXACTIVATE, IDXFIX, IDXCHECK, IDXBUILD, CONV1011, PARTITIONMANAGE SPLIT, PARTITIONMANAGE MERGE, PARTITIONMANAGE TRUNCATE, and TPIDXBUILD. PSC00256028 : Database log messages contain GMT timestamps ================================================================================ During regular execution, when OpenEdge processes write to the database log file (.lg) the timestamp header of the message shows the time in local time format. This header with local time information includes the offset of the local time from Greenwich Mean Time (GMT). For example: "[2013/04/25@11:00:34.123-0400]" which shows that the time is 4 hours offset from GMT. On UNIX systems, when OpenEdge processes field exceptions (either internal fatal errors or signals from other processes), messages may be written to the database log (.lg) file from within the process' Signal Handler code. These messages, when written from the Signal Handler, show a timestamp header in Greenwich Mean Time (GMT) format. For example: "[2013/04/25@15:01:07.000+0000]" which shows that the time is actual GMT with 0 hours offset. In addition, the time information written from the process' Signal Handler does not show millisecond values. This change in timestamp formatting allows OpenEdge to avoid calling certain UNIX system functions which can cause a process to hang or not properly terminate if called from within the Signal Handler code. j. Doc PSC00342161 : Crash recovery status options are deactivated ================================================================================ The crash recovery status options, -crStatus and -crTXDisplay, are deactivated, even though they are documented in the following locations: - OpenEdge Deployment: Startup Command and Parameter Reference - OpenEdge Data Management: Database Administration If specified on a command line, they are ignored and do not produce an error or the described output. PSC00240336 : Problems with context-sensitve help in Progress Developer Studio for OpenEdge ================================================================================ When launching context-sensitive help in Eclipse, Help Not Found errors sometime occur even when help is available. The error message is, "The context help for this user interface element could not be found." If you get a Help Not Found error after pressing F1, or clicking the help icon in the UI, try one of the following: 1. Click on some other element in the UI and press F1, or click the help icon again. 2. Click on "Search for . . ." link in the help pane. A list of relevant topics appears. PSC00232614 : Incorrect file location reference ================================================================================ In OpenEdge Development: Progress Dynamics Administration, there are incorrect references to the location of the intmplframe.w file. The file can be found at src/dynamics/install/obj/intmplframe.w. PSC00183192 : Search of PDF files for UNIX Platforms ================================================================================ On UNIX platforms, the search index is not automatically attached to the documentation PDF files. To attach the index file so that you will have search capabilities, follow these steps: 1. From the Adobe Acrobat Reader, click on the Search icon. The Adobe Acrobat Search dialog box appears. 2. In the Adobe Acrobat Search dialog box, click on the Index button and choose Add. 3. From the drop down list of files, select the oeidx.pdx file and choose OK. PSC00183191 : Non-existing examples mentioned in online help for CSSPIN ================================================================================ The CSSpin Active X Control Help file mentions the following example: Example Location Project File Form/Basic File SPINDEMO.VBP SPINDEMO.FRM These example files do not exist. PSC00183183 : Microsoft Security Update may affect remote access of Online Help ================================================================================ If you receive the following error when accessing the help remotely: "Action cancelled Internet Explorer was unable to link the web page you requested. The page might be temporarily unavailable", see the Microsoft Knowledge Base article titled: "Certain Web sites and HTML Help features may not work after you install security update 896358 or security update 890175" located at http://support.microsoft.com/kb/892675/. The article describes the reasons for the issue and provides workarounds. PSC00342160 : Enhancements to DBMAN not documented ================================================================================ Several enhancements to the DBMAN utility are not documented. DBMAN supports: * New output options when -vst is specified. You can format the output generated by -vst with the -format parameter. The -format parameter accepts one of the following qualifiers: csv, json, or tab. * New filtering options when -all is specified. You can refine the -all selection based on status with the -status parameter. The ûstatus parameter accepts one of the following qualifiers: starting, started, stopping, and stopped. For more information see the command line help. PSC00342231 : Certified web browsers for BPM Portal online help ================================================================================ When viewing the BPM Portal online help, please note that Google Chrome version 45 is not yet fully supported. When using Google Chrome 45, the help system's table of contents does not synchronize with the pages when using the Next and Previous buttons to page through the help system, and the Next and Previous buttons appear inactive. The certified web browsers and versions for using this help system are: - Google Chrome 44.x and all earlier versions - Internet Explorer 7.x, 8.x, 9.x, 10.x, 11.x - Firefox 3.x, - 39.x - Safari 5.x k. GUI PSC00244792 : Behavior changes when cropping and stretching images ================================================================================ In OpenEdge releases earlier than 11.3, cropping images (using the FROM option of the Image phrase, or the optional parameters of the LOAD-IMAGE ( ) method) and stretching images (using the STRETCH-TO-FIT attribute of the IMAGE widget) did not always work as specified. In many cases, the cropping and stretching were ignored or were performed incorrectly. These issues are fixed in OpenEdge Release 11.3. Applications which use these features may display images differently than in earlier releases. PSC00238681 : VideoSoft IndexTab control does not display properly on certain platforms ================================================================================ The VideoSoft vsIndexTab OCX does not display at runtime on certain platforms (for example, Windows 7 64-bit). This is a third-party issue, and occurs whether developing in Visual Studio 2010 or with OpenEdge. PSC00237832 : Crystal Reports XI causes crash in some environments ================================================================================ Adding an instance of the Crystal Reports XI ActiveX Report Viewer to a window causes a crash on certain platforms (such as Windows 7 or Windows 2008 Server) and with certain Report Viewer versions (namely V11.5 or later 11.X versions). This is a third-party issue, and occurs whether developing in Visual Studio 2010 or with OpenEdge. PSC00258689 : AppBuilder in Developer Studio does not support SHIFT in accelerators ================================================================================ The ABL does not support SHIFT as second modifier for modified single key accelerators. Developer Studio bindings defined with ALT-SHIFT-X or CTRL-SHIFT-X (The "x" refers to any printable char.) will thus not work when the focus is in the design window. Progress will send CTRL-X or ALT-X to Eclipse ignoring the SHIFT and fire corresponding bindings if defined. This means that the ABL UI Designer do not respond to CTRL-SHIFT-W (Close all) and CTRL-SHIFT-S (save all) in the Developer Studio default Theme. l. Install PSC00322063 : 32-bit client fails to load COM objects on a Win-64 machine ================================================================================ When you install 64-bit OpenEdge on a Win-64 machine that already has a 32-bit OpenEdge (version before 11.5) installed, the existing 32-bit installation generates the following error message when the client tries to load a COM object: Error occurred while creating CONTROL-FRAME: . 0x800700c1 Error code: 0x800700c1 (5898) To resolve this issue, the following command from the 32-bit versionÆs proenv prompt: regsvr32 %DLC%\bin\prox.dll PSC00200154 : Sonic container startup shortcut requires quotes for directories with spaces ================================================================================ If you install OpenEdge into a directory with a space in the name (e.g. C:\Program Files\OpenEdge), the shortcut to start up the sonic container does not function properly. You can fix the problem by editing the shortcut and enclosing the Target: and Start in: fields in double quotes. PSC00341557 : Installing PDSOE to an external eclipse has path constraints ================================================================================ PDSOE cannot be installed into an external eclipse container with plug-ins if the external eclipse path contains an underscore ("_") in the name. To install successfully install to an external eclipse container, you must provide an external eclipse path that does not contain underscores ("_"). PSC00196833 : .Net Framework not installed with unknown default language ================================================================================ Progress Developer Studio and OpenEdge Advanced UI Controls have a dependency on the Microsoft .NET Framework v4.0. The OpenEdge installation media includes the English version of the Microsoft .NET Framework, and the OpenEdge installation process will automatically install the framework if it is not already your system, provided that your system's locale is set to English. If the locale on your system is set to something other than English and the .NET Framework 4.0 for your locale is not already installed, then Progress Developer Studio and OpenEdge Advanced UI Controls do not install properly. OpenEdge will not install the English version of the .NET Framework when the system locale is not English, and the Advanced UI controls will not install without the .NET Framework installed. To work around this problem, install the Microsoft .NET Framework v4.0 for your locale, prior to installing OpenEdge. To download different languages of the .NET Framework 4.0 as well as the Windows 64-bit version: - Login to http://www.progress.com/esd - Choose "Progress OpenEdge Deployment Components" - Choose "Microsoft .NET Framework" download page PSC00196736 : Unknown Publisher message with a Netsetup Install ================================================================================ After performing a Netsetup install on Windows the user may see an Unknown Publisher message when running any OpenEdge .EXE files from a network drive. To resolve this issue, add the network drive share to the client's trusted zone. To add the network drive to your trusted zone: 1. Open the Internet Options Dialog Box from an Internet Explorer session. 2. Select the Security Tab. 3. Select the Local Intranet icon from the zones shown. 4. Click the Sites command button, which opens a Local Intranet Dialog Box. 5. Click the Advanced command button, which opens a dialog box where you add and remove websites from your intranet. 6. Add \\servername\ to the list of websites. Click Close, then OK to return to the main Internet Options Dialog Box. You may have to reboot the client for this to take effect. PSC00216026 : The WebClient One-Click install fails as a Non-Admin User ================================================================================ The WebClient One-Click install (OCI) (over-the-web install) fails when run by a non-admin on a system that does not already have the Installshield Setup Player installed as an Add-On. For this to work, the add-on must already be installed/registered by an Administrator. Running the WebClient One-Click install as Administrator just one time will get the Setup Player installed. After this is done the WebClient One-Click install can be run as a Non-Administrator. This issue only occurs when installing Over-the-Web. This issue does not occur when running the WebClient installation directly via the setup.exe file. PSC00299643 : Personal install of WebClient fails with Internet Explorer ================================================================================ When you do a web-based install of WebClient using Internet Explorer, you get the following error message: --------------------------- Feature transfer error --------------------------- Feature: Disk<1> Component: Disk1 Files(1) File: C:\Users\User.W764\AppData\Roaming\InstallShield Installation Information\{59728F20-15EE-4C15-BB4F-780CDF156ADA}\ Error: Access is denied. This is a third party limitation. The only workaround is to use a cdimage install of WebClient instead of the web-based install. PSC00281096 : Cannot install WebClient using 64-bit Internet Explorer ================================================================================ The web-based WebClient installation fails if you use 64-bit Internet Explorer (IE). This is a third-party limitation. The workaround is to either use 32-bit IE or use the cdimage install. PSC00255748 : WebClient 11.2.x service pack fails to install on top of WebClient 11.2.0 ================================================================================ The WebClient 11.2.x service pack fails to install on top of WebClient 11.2.0 for a non-admin user. It is a problem in the WebClient 11.2.0 installation and cannot be resolved in this service pack. To install the WebClient 11.2.x service pack properly, you must uninstall the WebClient 11.2.0 and install the WebClient 11.2.x service pack again. PSC00238578 : Slow Webclient installation on the Windows 2003 Server ================================================================================ While installing WebClient on the Windows 2003 Server, the progress bar might reach 90% and then stop for more than 20 minutes before completing the installation. This happens for the non-administrator group users. m. LANG PSC00339768 : MEMPTRs are no longer supported with LENGTH function ================================================================================ In Release 11.0 the LENGTH function was updated to support all variable types in the language. MEMPTRs were not fully supported, and always returned either the UNKNOWN value or zero. In 11.6 MEMPTRs are changed back to their 10.2 behavior. Attempting to use the LENGTH function with a MEMPTR now results in a compile time error and run time error. PSC00334772 : Pathnames may be misinterpreted as single line comments (SLCs) ================================================================================ Single line comments (SLCs) in the language are have the // syntax, which is the industry standard. However, there are statements in the ABL that accept pathnames as arguments, and because there is no requirement for these paths to be quoted, there is a possibility that an unquoted and hardcoded pathname (such as a UNC path) in code that may be interpreted as a single line comment. These are the known statements that are affected by SLCs: ò RUN ò COMPILE ò OS-APPEND/COPY/CREATE-DIR/RENAME ò INPUT ò OUTPUT ò INPUT-OUTPUT ò SYSTEM-DIALOG GET-DIR/FILE Example: RUN //rdlserv/foo/bar.p. In this case, the path is interpreted as an SLC, and the RUN statement uses the code on the next line as its arguments. This can be fixed by quoting all pathnames. Quoting pathnames is considered a good coding practice. Also, double slashes are only interpreted as SLCs when located at the start of a string; they are not interpreted as SLCs if they are in the middle or end. Example: RUN not/an//SLC. This statement functions just fine. PSC00332929 : Behavior Changes when doing reflection ================================================================================ You may encounter behavior changes due to refactoring work in reflection, as follows: * When using either DYNAMIC-INVOKE or the Invoke method of a Progress.Lang.Class instance, you may see: - Error conditions, like not being able to find a matching method or making a call that is ambiguous, resulting in different error messages than in previous releases. - Errors where you did not before, if the code does not pass a valid type. For example, if you pass an INT64 to a method which takes an integer, this now fails even if the value of the INT64 is small enough to fit in an INTEGER since this is not allowed with OO strong typing. Previously, there was no type checking for parameters of a built-in method; now there is. - An error when passing parameters to a method via Invoke that is ambiguous, when before it would erroneously call the first of n matching methods. * The Life Cycle of Progress.Lang.Class instances has changed. In previous releases, once you got an instance of Progress.Lang.Class (P.L.C), that instance would never be deleted. This was done intentionally, but now Progress Software has changed the model and this is no longer the case. Now instances of Progress.Lang.Class are reference counted, as other OO objects are, and will be deleted if it is no longer being used. If you try to get an instance of P.L.C for a particular class, say classA, and that instance already exists, the AVM still returns the existing instance. However, if you got an instance for classA in the past, and it has already been garbage collected, if you ask for it again, you will get a new instance. The effect of this on an ABL program is that previously you would always get the same P.L.C instance, with the same handle Id for each class type. Now you may get a different Id. It is still the case that you cannot explicitly delete an instance of a P.L.C using the DELETE OBJECT statement. PSC00183853 : INT64 ActiveX support requires oleaut32.dll version 5.1.2600.2180 or later ================================================================================ To support the INT64 data type with ActiveX controls or ActiveX Automation objects, C:\windows\system32\oleaut32.dll must be version 5.1.2600.2180 or later. If your application uses an earlier version of oleaut32.dll and a parameter of INT64 data type is passed to a COM object, the results are unpredictable and may result in an error. This is true even if it is an input parameter and the number in the variable is within the 32-bit range. Therefore, if you do not have the correct version of oleaut32.dll, you should not use the INT64 data type with COM objects. PSC00183705 : CAN-FIND X field-list problem ================================================================================ The FIELDS clause does not guarantee the inclusion or exclusion of fields in any given query. The AVM may require additional fields, for example, to accommodate a key value required by an index. The application must not reference fields that are missing from the FIELDS list. In most cases when this occurs a run-time error is generated indicating that the field is unavailable. There are situations, for example with a function that includes the NO-ERROR attribute by default, where it is legitimate to satisfy function requirements using a field that is missing from the FIELDS list. Such instances equate the missing field to the Unknown value (?) or null (for DataServers) in order to resolve an expression. In other words, the ABL attempts to detect missing fields with run-time errors where possible. However, there are cases where it is legitimate to use a missing field in an expression. In such cases, the missing field will resolve to the Unknown value (?) or native data source null. PSC00132307 : Thai characters or complex scripts do not display in command prompt or console ================================================================================ The Windows command prompt or console is not enabled for Thai characters or complex scripts on any version of Windows (XP, Vista or Windows 7). When trying to read Progress messages sent to the Console while using Thai or complex scripts, you can: * Use the English PROMSGS file. * Use the Thai character or complex script PROMSGS file, but pipe the output of the command to a file that can be read by any Windows editor. PSC00340035 : No support for enums in WHERE clauses ================================================================================ You may get incorrect or unpredictable behavior if you specify an expression that involves an enum instance in a WHERE clause. To avoid this problem, move the part of the expression that involves an enum to an IF statement so that it is not part of the WHERE clause. PSC00169627 : Memory violation when connecting to a Web Service on AIX 5.3 ================================================================================ In order to use WebServices on AIX 5.3, the minimum Operating System requirement is AIX 5.3.04. You can find the version of AIX you are running using the oslevel -r command. PSC00151150 : Data types defined in imported schemas are not seen by the WSDL Analyzer ================================================================================ RN# 100B-00168 ============== When a WSDL document contains an XML Schema import element, the type and element definitions of the imported schema are not seen by the analyzer. A message indicating that a type or element definition could not be found will appear in the generated documentation. To work around the problem, copy the xsd:schema elements (and their contents) from the imported schema document and paste them as children of the wsdl:types element of the WSDL document. Also comment out the xsd:import element in the xsd:schema element. Double check namespace prefix definitions to ensure the prefixes in the copied XML are properly defined and can be referenced by other parts of the WSDL document. PSC00148993 : Time zone information lost for some XML datatypes ================================================================================ The XML Schema datatypes, gYearMonth, gYear, gMonthDay, gDay, and gMonth, can optionally include time zone information. OpenEdge does not handle time zone information correctly for these datatypes. Any time zone input from the ABL is lost, as is any time zone information returned from a Web service for these datatypes. For example, "1953-10-4:00" becomes "1953-10". The one exception is that Z, indicating Universal Time (UTC), is retained (for example, 1953-10Z remains 1953-10Z). PSC00333559 : XML security issues ================================================================================ There was a vulnerability where the internal DTD of an XML document might point to a well known or common location of a sensitive file for extracting to the caller. For example, ]> &xxe90539; In 11.6.0, we now prohibit this extraction unless SCHEMA-PATH allows it. This applies to both the DOM and SAX parsers: :LOAD( ), :SAX-PARSE( ) and :SAX-PARSE-FIRST( ) . This also applies to the WEB-CONTEXT:X-DOCUMENT attribute. Using the following DOM example, where the above XML document is xxe.xml: DEFINE VARIABLE hx AS HANDLE. CREATE X-DOCUMENT hx. hx:LOAD( "file", "xxe.xml", FALSE ). This will produce the following error: X-NODEREF or X-DOCUMENT LOAD got an error: FATAL ERROR: file 'C:\temp/xxe.xml', line '3', column '0', message 'unable to open external entity 'file:///c:/windows/win.ini''. (9082) To turn off this behavior, you can specify ûstrictEntityResolution 0 on the command-line. There was also an issue with XML ENTITY expansion. We added an ENTITY-EXPANSION-LIMIT attribute to the DOM and SAX parsers. The default is 50000. This default can be set by using the -entityExpansionLimit startup parameter. See the 11.6.0 documentation for more information. n. Management PSC00340004 : Report creation fails on chrome browser ================================================================================ Report creation in OEM fails on chrome browser due to pre-filled username and password. As a workaround for this issue, on the report creation page, enter the report name and clear the pre-filled username and password field, and then click on save button. PSC00327243 : Workaround to Edit Areas for tenant partitions ================================================================================ In 11.6, it is not possible to edit areas when enabling a table for multi-tenancy. As a workaround for this issue, the user has to first enable multi-tenancy for the table. The user can then go to individual delayed allocated tenant partitions and assign the areas there. PSC00183176 : Cannot use an older version of PROMSGS with a current release ================================================================================ Through the automated OpenEdge installation process, Progress Software Corporation programmatically ensures that a current OpenEdge installation has the most recent OpenEdge messages in the PROMSGS files. This approach also ensures that you always have the most up-to-date OpenEdge messages throughout a release's lifecycle. Do not perform any tasks related to the PROMSGS files outside of the standard OpenEdge installation process; for example, attempting to use the PROMSGS environment variable to point to any versions of a PROMSGS will have unpredictable and potentially undesirable results. For example, the PROMSGS files installed with the OpenEdge Release 10.1B contain the most up-to-date messages to support OpenEdge Release 10.1B. After the initial install, if you install add-on products, or OpenEdge install service packs that are released after the 10.1B Release date, Progress again programmatically provides any newer or more recently updated PROMSGS files. As each OpenEdge add-on product or service pack is installed, the installation program checks to ensure that the newest copy of the PROMSGS file is being used by all products. PSC00183170 : ubroker.properties file is renamed ubroker.properties-sav ================================================================================ When uninstalling the ubroker.properties file is renamed ubroker.properties-sav and copied to the temp directory. PSC00183166 : Uninstall fails with Proshell.dll in use ================================================================================ The uninstall will fail if any of the files it attempts to remove are busy. Use of the Windows Explorer has been known to cause this condition of rendering the file proshell.dll as in use, thus preventing the uninstall from succeeding, however this may not be obvious at the time of uninstall. PSC00183165 : Error when default language not installed ================================================================================ While adding a product after an installation has been completed, if you attempt to change the default language to a language that has not yet been installed, and the language is one listed with a non-alphabetic character (e.g. -, (, )) an error will result that will not accurately reflect the problem. The error should not prevent the installation from continuing. This problem is apparent on Windows/NT platforms only and does not occur on UNIX. The workaround is to select entries from the pull-down list boxes. PSC00183164 : Random errors with mapped drives on MSW ================================================================================ Due to Microsoft Knowledge Base Article #294816, we do not support the running of a Progress application from a Network Share for Windows Terminal Services or Citrix running on Windows 2000 Server or Windows 2000 Advanced Server. Terminal Services users might see errors like "Disk or Network Error" or "C0000006: In Page I/O Error", etc. This happens due to a bug in the Windows operating system where the network redirector only creates one file control block (FCB) for all user connections so that when the first user to open the files logs off, the other users lose their connections to files. To work around this problem, place the program and associated data files on a localvolume, not network share. PSC00182944 : Working with Properties ================================================================================ If an "-Xbootclasspath:", "-Xbootclasspath/a:", or "-Xbootclasspath/p:" entry that contains spaces in the argument value has been added to the JavaTools.properties or AdminServerPlugins.properties file, the entry must be manually edited to include quotes around the entire argument value (value to the right of the colon). o. NETUI PSC00211451 : All dates exchanged between ABL and .NET are now the same except 12 ================================================================================ All dates going from .NET to ABL and from ABL to .NET will be exactly the same except for 12 days. These are the dates 2/29 in the leap years that are represented by the Julian Calendar (on the Progress side) but not represented by the Gregorian Calendar (on the .NET side). (Since the Gregorian Calendar was not created until 10/15/1582, the .NET DateTime implementation is not correct.) These dates are: 2/29/100 2/29/200 2/29/300 2/29/500 2/29/600 2/29/700 2/29/900 2/29/1000 2/29/1100 2/29/1300 2/29/1400 2/29/1500 PSC00210591 : ABL extended .NET object subscribed to .NET event may be deleted prematurely ================================================================================ An ABL extended .NET object subscribed to a .NET event may be deleted prematurely. This bug can be observed with the following conditions: - An ABL extended .NET object, for example AForm, is visualized - A .NET object, for example a button, is not on AForm, but one of AForm's methods is subscribed as the handler for this button's event. - There is no reference to the button in the implementation of AForm. If AForm is closed, and therefore Disposed, and all ABL references to it go away, it will be deleted even though the button subscription is still outstanding. In other words, the button, in essense, still has a reference to the class due to the subscription. But this does not prevent the object from being deleted, as it should. PSC00225230 : .NET controls that call back to the AVM on other threads are not supported ================================================================================ A .NET object might call back to the AVM to handle an event on a thread other than the main UI thread. It might also call a .NET method on a different thread where the method was overridden in a derived ABL class. The AVM does not support either of these cases and raises a run-time error if they occur. PSC00204789 : Workaround for Elegant Ribbon control and IsolatedStorageException ================================================================================ The Foss PersistentStateManager class automatically loads and saves application state in isolated storage, which does not work with the current OpenEdge .NET bridge architecture. Setting the LoadStateAutomaticallyFromIsolatedStorageForDomain property to FALSE disables the automatic state loading at application startup. Add this line to your program that uses the Elegant Ribbon control: Elegant.Ui.PersistentStateManager:LoadStateAutomaticallyFromIsolatedStorageForD omain = FALSE. This also means that changes in the quick access toolbar will not be loaded and saved automatically. If you need the changes to be kept, manually use the Load() and Save() methods of the PersistentStateManager class. p. Next Gen AppServer PSC00341791 : Exceptions show up in server log while performing a CLEAN operation ================================================================================ When performing a CLEAN operation from PDSOE while your server is running, you may see property file exceptions in your server log. These are caused during the uninstall part of clean when the webapp still running after the relevant sections in the openedge.propertries have been removed. These exceptions can be safely ignored. PSC00339600 : Tagextract is not supported by WebSpeed on PASOE ================================================================================ Tagextract is not supported by the WebSpeed for PASOE Compatibility handler. PSC00342404 : Legacy binary file upload not working in WebSpeed ================================================================================ Classic WebSpeed supported uploading a binary file if it met certain conditions: 1. Agent properties specifying an upload directory and maximum file size must first be set. 2. The client would have to do an HTTP POST with the payload being a multipart/form-data message containing the file. This is not working in the WEB transport for PAS for OpenEdege. As a workaround, you can support binary file upload through an OpenHTTP handler. There are no restrictions to the HTTP verbs or payloads supported with an OpenHTTP handler. However, you will be required to write the ABL code to process the payload and save the file to disk or a database. PSC00339508 : SAML support for WEB transport ================================================================================ The WEB transport in PAS for OpenEdge does not support SAML as an authentication source. PSC00334471 : HTML Mapped objects are not supported in PASOE ================================================================================ HTML Mapped objects are not supported by the PASOE WebSpeed Comapatibility handler. PSC00342056 : When collectMetrics is enabled, the agent crashes if there are more than 100 client sessions running ================================================================================ The collectMetrics property is enabled (collectMetics=1) in a PAS for OpenEdge openedge.properties file. If this property is enabled and a Multi-Session Agent is running more than 100 client sessions, the agent will crash. As a workaround. you can disable the property (set collectMetics=0). Another alternative is to configure the instance to rum more agents and to limit the number of sessions per agent to less than 100. See the openedge.properties.README file for more information on how to configure agents. PSC00339599 : &DISPLAY not supported by WebSpeed on PASOE ================================================================================ &DISPLAY, a WebSpeed Preprocessor directive for "DISPLAY {&WEBSTREAM}", is not supported by WebSpeed on PASOE. PSC00337743 : PAS for OpenEdge through IIS fails if "request Chunking" is enabled ================================================================================ If using an IIS web server in front of a PAS for OpenEdge instance then the APSV transport (ABL client to PAS for OpenEdge) fails if "request Chunking" is enabled. IIS is erroring on the initial HEAD request and disconnecting the client. To disable chunking run the following script: /bin/oeprop.sh .ROOT.APSV.enableRequestChunking=0 Since HTTP Sessions are disabled if Chunking is disabled, to eliminate the WARNING message in the log file, you can run the following script: /bin/oeprop.sh .ROOT.APSV.useHTTPSessions=0 After running the disable script, the client and PAS for OpenEdge will not chunk requests, and will stream data as it has with all previous releases. However, with HTTP Session disabled, load balancing using the JSESSIONID is not available for the APSV transport. q. OEBPM PSC00334985 : TimeZone support in ProDataSet/TempTable visualization ================================================================================ Currently, the Kendo UI does not have support for handling time-zones in the DateTimePicker widget. You can view the date in correct time-zone format for a DateTimeTZ datatype, if the date is created using ABL or the JST tool, but you can not edit the time-zone, because the DateTimePicker does not have support for handling time-zones. If you create a new record using ProDataSet/TempTable visualization, the default time-zone is stored for the date. PSC00255318 : BP Server DataSet CLOB supports only UTF-8 ================================================================================ When you populate a dataslot with a DataSet value that contains a CLOB field, the format must be UTF-8. If your source data is in another format, it must be converted to UTF-8 using ABL statements. For example: COPY-LOB FROM m2 TO etable1.clobFld CONVERT TARGET UTF-8. PSC00326708 : New SSL property ================================================================================ The property, "sslProtocol="TLS" protocols="TLSv1,TLSv1.1,TLSv1.2" was added and should be used in ejbserver and portalserver's server.xml when the configuration is performed using HTTPS. PSC00256482 : EJB Server does not start when hostname has _ ================================================================================ The EJB Server does not start when hostname has "_". This is a limitation with JBoss application server. PSC00341272 : Error on the publish dialog box while publishing a process to BP Server using Publish Wizard. ================================================================================ In OE BPM Studio, while publishing a process to BP Server using Publish Wizard, the following error is observed intermittently on the process publish dialog box. "The BizPulse server could not be found". Workaround: Cancel the publish dialog box, and publish the process again using the Publish Wizard. This will publish the project successfully. PSC00323401 : Improvement in refreshing Path Analysis tab. ================================================================================ The Path Analysis tab will now refresh only when a change has been made to the process. A progress monitor bar is added to indicate status. r. OEMobile PSC00342308 : Form Authentication in Telerik AppBuilder ================================================================================ When doing Mobile development with Telerik Platform emulators, you may encounter errors of the following nature in applications that use CORS (Cross Origin Resource Sharing) with Form authentication to the Progress Data Service (you will see them in the browser debug console): "XMLHttpRequest cannot load http://myhostname:8980/ttCust/static/home.html?_ts=144536038-4982647239-1. The request was redirected to 'http://myhostname:8980/ttCust/static/auth/login.html', which is disallowed for cross-origin requests that require preflight." These errors should only occur when using device emulators in a browser, and not when deployed to actual devices as mobile apps. To work around the issue at development time, you can configure CORS to allow files from different domains to be loaded. s. Open Client PSC00194437 : Multiple Dataset parameters and RPC Encoded Web Services with Axis java clients ================================================================================ When defining multiple INPUT DATASET parameters for an OpenEdge web service that uses RPC/Encoded SOAP messages, do not use the NAMESPACE-URI option in the DEFINE DATASET statements. The Apache Axis Java client does not properly handle namepsace declarations when it sends a SOAP request for an RPC/Encoded SOAP message. As a result, an incorrect message will be sent and the data will not be loaded into the ProDataSet. Axis may have similar issues with OUTPUT DATASET parameters. SOAP responses from OpenEdge may not be properly deserialized. If the NAMESPACE-URI option is required, then either define the OpenEdge Web service to use Document/Literal or RPC/Literal SOAP messages. Alternatively, avoid the issue by passing only one dataset in the Web service call. t. PDSOE PSC00333710 : Focus shifts from the Editor to the Class browser ================================================================================ If you are working on the Class browser, perform a search, edit and save files, the focus shifts to the Class browser from the Editor. Workaround: Clear the Class browser search field. PSC00335317 : Issue in exporting and importing of .df file on same sports2000 type database ================================================================================ Importing .df file to a sports2000 type database returns a null pointer exception and the tables are not imported if the .df file is exported from the same database. Workaround: To import the tables properly, user must associate a fresh sports2000 type database to the project, delete all its tables and import the exported .df to this new database. PSC00240112 : Progress Developer Studio for OpenEdge debugger behavior change ================================================================================ Starting in OpenEdge Release 11.0 and continuing in all subsequent releases, the Progress Developer Studio for OpenEdge debugger does not stop at the first executable line. Instead, the debugger stops at the line containing the first breakpoint. PSC00340457 : Unable to associate the database connection while converting OpenEdge project to Data Object project type ================================================================================ While converting OpenEdge project to Data Object project type using the Modify Faceted Project wizard, the Create an Express Data Object application page is shown instead of the Database Connections page and the following error message is shown: Widget is disposed. As a result, the database connection will not be associated to the project. Users can associate the database to the project from Project Properties> Progress OpenEdge> Database Connections> Configure database connections. PSC00342037 : Overriding methods causes systax errors ================================================================================ Overriding methods using 'Source>Override/Implement Members' option, will cause syntax errors if any of the parameters contain the INDEX keyword. PSC00342017 : Mobile web app deployment is no longer supported ================================================================================ Reusing an OpenEdge 11.5 workspace that has a mobile web app deployed on a classic OpenEdge server will not start the server in OpenEdge 11.6. In OpenEdge 11.6, mobile web app deployment is not supported, therefore the server will not be started if the workspace has a mobile web app deployed on the server. Progress recommends that you remove the deployed mobile web app from the Servers view and start the server manually. PSC00340155 : Erroneous content assist proposals in database statements ================================================================================ Content assist proposals in database statements list extra proposals and the order of the proposals is incorrect. PSC00342310 : Exported WAR/ZIP files of ABL WebApp project do not contain r-codes of WebHandlers or ABL files. ================================================================================ After migrating REST or Mobile (Data Object) projects from Progress OpenEdge 11.5 to ABL WebApp type project in Progress OpenEdge 11.6, the exported WAR/ZIP files do not contain r-codes of the WebHandlers or ABL files located at /PASOEContent/WEB-INF/openedge. Workaround: Remove the entry @{ROOT}/PASOEContent from Exclusion Rules window to compile handler classes and export WAR/ZIP files with r-codes of handler classes. Location: Project > Properties > Progress OpenEdge > Build > Source tab > @{ROOT} > Excluded entry > Edit PSC00342250 : Non-English locale causes flicker in profiler viewer ================================================================================ Launching PDSOE with a Non-English locale causes the values in the tables on the Module Details and the Call Tree tab to flicker. To resolve this issue add the following arguments at the end of eclipse.ini file in the location - $DLC/oeide/eclipse. -Duser.language=en -Duser.country=US -Duser.variant=EN PSC00342140 : Separate source and r-code folders built for ABL Web App project ================================================================================ Creating an ABL Web App project always add the build destination folder of /PASOEContent/WEB-INF/openedge to itself. Even if you select the "Use separate source and rcode directories" option while project creation, it is not honored for the openedge directory present under /PASOEContent/WEB-INF. In order to get separate source and r-code directories for the openedge folder as well, you must manually change the build destination of the openedge folder at the following location after the project gets created: Project properties -> Progress OpenEdge -> Build -> Source tab. PSC00341945 : Selecting an existing handler in ABL Web App project ================================================================================ While creating a new ABL Web App project, the "Select existing" option under WebHandlers section does not display the list of existing handlers. However, once the project gets created, you can use the "New ABL Service" wizard to select a handler from the existing handlers available in the project PROPATH. PSC00341559 : While creating the AppServer project, AppServer content is published to the default AppServer erroneously ================================================================================ While creating traditional AppServer project, default AppServer that was selected in the Startup page (Windows -> Preferences -> Progress OpenEdge -> Startup) is selected in Define AppServer content module page by default. This causes the project AppServer content to be published to the selected server on clicking Finish. To avoid this, user user should navigate to Define AppServer content module page and deselect the default selected server before clicking Finish. PSC00338499 : Call Tree tab in Profiler Editor displays inaccurate execution sequence ================================================================================ When you profile UI applications and view it in the Call tree tab of the Profiler Editor, it displays inaccurate execution sequence of the modules. PSC00338237 : Call Tree tab takes a long time to expand tree nodes ================================================================================ When you expand the tree nodes in the Call Tree tab in Profiler Editor, it may sometimes take longer if the generated profiler output file is large. PSC00338088 : Cumulative times displayed for a session is inaccuarate ================================================================================ When you view the call tree hierarchy of a session in the Call Tree tab of the Profiler Editor, the data displayed in the Cumulative times column in inaccurate in recursive cases. PSC00335812 : PDSOE workspace does not launch after killing it. ================================================================================ PDSOE does not open after killing PDSOE and launching it with the same workspace. This is an intermittent issue. Even if the workspace does open, the Progress OpenEdge page in Project properties is empty and the following error message is returned: The currently displayed page contains invalid values. Workaround: Launch PDSOE with a new workspace and import the projects from the old workspace to the new workspace. PSC00257927 : Support for starting non-modal .Net Forms in an AVM project session ================================================================================ With release 11.5, Progress Developer Studio for OpenEdge uses the wait-for System.Windows.Forms.Application:run () method as the top level wait-for method in a projectÆs ABL session. This allows customized tools and _idestartup.p to start non modal .Net forms in the project session. However, any code started on the project session with its own wait-for System.Windows.Forms.Application:run () method (as in the previous releases) returns an error. The wait-for System.Windows.Forms.Application:run () method must be replaced with wait-for
:ShowDialog or Show() to work. The Show() method allows the form to open in a non-modal mode so that you can use Eclipse actions and tools like Check Syntax and Data Dictionary while the form is open. Launch Configuration still does not allow the launch of .Net forms in a project session. PSC00341378 : The Rest Manager does not start with spaces in work dir ================================================================================ Rest Manager will not start when the work directory specified during the install has spaces or special characters. Work around this issue by specifying a work directory without spaces or special characters in the name. PSC00331266 : REST Services not published if PAS for OpenEdge is stopped ================================================================================ REST Services will not be published to a PAS for OpenEdge instance that is not running. Start the instance before you publish. PSC00342226 : To deploy migrated REST/Mobile projects to PAS for Openedge server instance, add ABL REST/ABL Data facets ================================================================================ Users will not be able to publish the REST/Mobile projects that are migrated from a pre 11.6 OpenEdge workspace to a 11.6 workspace to PAS for OpenEdge instance. In order to publish them to the PAS instance user should add ABL REST/ABL Data Object facets to the migrated projects. For more information, refer to Migrating a Data Object Project to ABL Web App Project topic in Progress Developer Studio for OpenEdge Online Help. PSC00341951 : The publish location of a PAS for OpenEdge instance cannot contain backward slashes ================================================================================ A PAS for OpenEdge instance will not start if the publish directory path contains backward ("\") slashes. Providing the publish directory with forward slashes ("/") in its path resolves the issue. Also, changing the default publish location in the Start up tab causes the values on PROPATH tab to point to incorrect location. You should manually update the PROPATH to point to //WEB-INF/openedge. PSC00339862 : WebHandler updates not applied when PAS for OpenEdge is stopped ================================================================================ If you publish an ABL WebApp project with the WebSpeed service to a PAS for OpenEdge instance, the instance must be running. If the instance is stopped, WebHandler information will not be updated in the openedge.properties file. PSC00222815 : OpenEdge cannot compile/run GUI for .NET code generated using previous versions ================================================================================ When you edit GUI for .NET code generated using a previous version of OpenEdge Visual Designer, the generated code is updated to the current version of Progress Developer Studio for OpenEdge and thus might contain new language constructs that are not compatible with the previous versions of the compiler and the AVM, and wizard-generated code is incompatible with previous versions. Such incompatibilities can occur even when you do not explicitly use new features of the current version. To compile and execute GUI for .NET code, you must use an OpenEdge version that matches or is later than the Visual Designer version in which the code was generated. For example, source code opened in version 11.0 of the Visual Designer will no longer compile in 10.2B. u. Porting PSC00187938 : On Windows 7 platforms, sqlexp only works with a numeric port number ================================================================================ On Windows 7 platforms, sqlexp can only connect to the database server if the port is numeric. For example, specify the port number as 4050 rather than using a service name like "mydbservice". PSC00208050 : Windows 64bit requires more memory for the Operating System ================================================================================ In Windows 64-bit, the operating system requires 2GB of free memory for acceptable OpenEdge performance. If your shared memory allocation (database buffer pool) leaves less that 2GB of free memory, then performing even simple operations, such as finding a record that is in memory, is extremely slow. v. REST Adapter PSC00305570 : Unable to deploy REST application on a remote AdminServer ================================================================================ You might observe timeout issues when deploying a REST application on a remote AdminServer. This can happen when large REST application zip files take longer to deploy than the default request timeout allows. Work around this issue by increasing the fathom.activemq.timeout Java system property value. By default, this property is set to 20000ms. Increase the value to 40000ms by adding "fathom.activemq.timeout=40000" to the $DLC/fathom.init.params file. w. SQL PSC00334862 : Unordered output for DISTINCT without ORDER BY ================================================================================ In 11.6 as part of the new optimizations done in the SQL, most of the DISTINCT queries are now transformed to GROUP BY to get significantly better performance in most cases. For example, Assume the user given query as below select distinct c1,c2 ,c3 from Test_tabl1; Is now transformed internally as Select c1,c2,c3 from Test_tabl1 Group By c1,c2,c3; Side effects of the above transformation : - --------------------------------------------------- 1) Without any transformation, DISTINCT is performed by Sorting the input rows. Because of the SORT the output will be in the sorted order of distinct columns. Since the query is not having any ORDER BY clause, it is not required to give the output in the sorted order. But due the distinct operation user will see the sorted output even though there is no order by clause in the query. With the new transformation, GROUP BY query is processed with HASH aggregation, because of the HASH aggregation output results may not be in the order. If user wants the output to be in the sorted order, user must specify the ORDER BY clause in the query. 2) Above same ordering problem manifested in a different way. Select distinct top 10 c1,c2,c3 from test_tabl1; for the above query without any transformation, first distinct operation is performed on the result of distinct, TOP 10 rows are returned. Since the DISTINCT needs sorting, the TOP 10 rows will be the first 10 rows in the order. In a way the above query returns the output equivalent to below query Select distinct top 10 c1,c2,c3 from test_tabl1 order by c1,c2,c3; Whereas with the new transformation, DISTINCT is transformed to GROUP By, if GROUP BY processed with HASH aggregation, the input to the TOP operation may not be in the sorted ORDER hence results would vary (i.e the output may not be the first 10 rows). To get the consistent output it is required to have ORDER BY clause. Note that the sql standards have no requirement that the output of SELECT DISTINCT need to be in any particular order. PSC00313386 : OE SQL supports OS authentication ================================================================================ OpenEdge SQL now supports password authentication of users based on a user-id defined to the operating system's user identification system. This capability is called OS authentication. To use this capability, there must be an OpenEdge authentication domain defined in the database schema. Currently, a domain is defined in the ABL Data Administration tools. Use the methods described in the Basic Database Tools section of the ABL documentation to define the domain. To use the domain when connecting to SQL, connect with the UserID set to "username@mydomain" where "mydomain" is the new domain you have defined in Basic Database Tools. PSC00192905 : ESQLC clients can specify an IP protocol version using a parameter ================================================================================ ESQLC clients will default to using the IPv4 protocol. The use of the IPv6 protocol can be selected by using the -ipv6 parameter on the connection URL. The following is an example of a connection URL where the use the of IPv6 protocol is desired: progress:T:myhost:5000:mydb:[-ipv6] The parameter is also available to use with connection URLs for the SQLDump, SQLoad, and SQLSChema utilities. PSC00287562 : Error in data access for TP table when data is not moved to respective partitions. ================================================================================ For a TP table data access, user may experience failure when one or more partitions of that table are marked for "prepare for split target". If query tries to access such partitions, SQL server returns failure saying "Table is in maintenance mode". This happens for local index scan and table scan. However, SQL server does not report error when Global index scan is used by the query. Below is the illustration of above behavior using an example. --Alter the table to a list partition table ALTER TABLE TAB PARTITION BY LIST I USING TABLE AREA "tpCustomerArea60" ( PARTITION PART_1 VALUES IN (1), PARTITION PART_2 VALUES IN (2) )USING INDEX IDX_TAB; ALTER TABLE TAB PREPARE FOR SPLIT PRO_INITIAL TARGET PARTITION PART_1; --Access data using local index scan. Error shall be thrown in this case SELECT * FROM TAB; [DataDirect][OpenEdge JDBC Driver][OpenEdge] Table "HUM.TAB" cannot be accessed for a partition (partition id=1) due to incomplete db maintenance operation.(17736) --Access data using global index scan. We shall get result in this case SELECT * FROM TAB FORCE(INDEX(INDX_GLOBAL)) WHERE I>0; I ----------- 1 2 So, it is recommended to the users to move the data to respective partition as soon as the partition is marked as "prepare for split target" to have unrestricted data access. PSC00224136 : Error message for DhSQLException ================================================================================ If a DhSQLException is encountered while executing a stored procedure/trigger, SQL then returns the error code and error message defined in the DhSQLException. If the error code defined in DhSQLException matches any of the SQL error codes, the error message defined in DhSQLException is ignored and the corresponding error message defined in SQL is returned. Customers should avoid using SQL defined error codes while defining DhSQLException. As all SQL error codes are of negative value, it is advisable that customers should use positive error codes while defining DhSQLException, though it is not enforced that negative error codes are reserved. For example: CREATE PROCEDURE sp (IN i INT) IMPORT import java.sql.*; BEGIN if (i == 0) throw new DhSQLException ( 666 , new String("Sample user defined new DhSQLException object") ); else if(i==1) throw new DhSQLException ( -666 , new String("Sample user defined new DhSQLException object") ); else if(i==2) throw new DhSQLException ( -210083 , new String("Sample user defined new DhSQLException object") ); END; 1) Call sp(0) : This returns the error code and error message defined in DhSQLException . ErrorCode=666 [DataDirect][OpenEdge JDBC Driver][OpenEdge] Sample user defined new DhSQLException object 2) Call sp(1): This returns the error code and error message defined in DhSQLException. ErrorCode=-666 [DataDirect][OpenEdge JDBC Driver][OpenEdge] Sample user defined new DhSQLException object 3) Call sp(2) : This returns the error message defined against the error code defined in SQL ignoring the error message defined in DhSQLException. ErrorCode=-210083 [DataDirect][OpenEdge JDBC Driver][OpenEdge] Table/view/synonynm %s cannot be found. (15814) PSC00334730 : Some ANY subqueries containing COUNT function return incorrect results. ================================================================================ Some of the ANY subqueries which contain a COUNT function might return incorrect results. The problem may occur in a sql query in which the form has an ANY subquery and: ò the ANY Subquery contains a COUNT () aggregation function ò the ANY Subquery that has an outer reference. I.e., the ANY subquery refers back to data in the outer (or ôtop-mostö) query. ò the outer reference in the ANY subquery is used in a predicate in the subquery. For example, the following artificial query has the form described above, and might experience this problem: Select custnum, name, city, country from pub.customer c where number_visits > ANY (select count(favorite_country) from popularity_survey ps where ps.favorite_country = c.country and àà.) PSC00329851 : Join condition on numeric and character column ================================================================================ SQL does not generate SQL_ERR_INVNUMSTR error when the join condition compares integer data type with character data type. If the character data does not have a numeric form, the comparison for the joining rows, is evaluated as False. SQL no longer returns an error ôInvalid number stringö to the application in this case. PSC00188599 : SQL uses the Java compiler to compile the Java code for a CREATE ================================================================================ TRIGGER or CREATE PROCEDURE statement. If the Java compiler finds errors in this Java source code, it outputs diagnostic information describing the errors. A subset of the diagnostics is appended to the SQL-92 error message which is returned to the client. The entire set of diagnostics is stored on the server, in the SQL server's WRKDIR (working directory). If the owner of the stored procedure/trigger is OWNER, and the procedure/trigger name is XX, then all the diagnostics are in the file named OWNER.XX.LST in the SQL server's WRKDIR (working directory). The WRKDIR is identified by either the environment variable $WRKDIR, or on NT by the registry entry WRKDIR under the registry key for the Progress software installation. x. Security PSC00326616 : .NET client does not connect to 11.6 SSL AppServer (WinXP only) ================================================================================ Windows XP does not have support for AES-* ciphers and TLSv1.2 protocol. In order to make successful TLS/SSL communication between the .Net client running in winxp and 11.6 AppServer, user need to downgrade the cipher and protcol at AppServer side. Best combination to make successful SSL/TLS communication is SSL Protocol: SSLv3 SSL Cipher : RC4-MD5 Should be configured at both end (i.e. client & server). PSC00341796 : Connecting AppServerS/DCS using -sslprotocols ================================================================================ This is a known issue with Java distribution.The local_policy.jar that is shipped in $DLC\jre\lib\security & $DLC\jdk\jre\lib\security has restriction not to use key encryption size more than 128 bit. That why ciphers like AES256-SHA256, ADH-AES256-SHA256 etc never work for AppServer broker and the client connection. ava recommends that one downloads a new local_policy.jar (with all the permissions) from Oracle site and use it instead of what is shipped in JDK. http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.h tml Thus in 11.6, we are ship this new local_policy.jar inside $DLC/java/ext folder. Workaround: --------------- - Take the backup of local_policy.jar present inside $DLC\jre\lib\security & $DLC\jdk\jre\lib\security folders. - Copy new local_policy.jar from $DLC/java/ext folder and put it inside $DLC\jre\lib\security & $DLC\jdk\jre\lib\security. - Then start the broker or AppServer adapter (like AIA,WSA,REST) that you want to use. - Make sure this is only required if you are using ciphers like 1) AES256-SHA256 2) DHE-RSA-AES256-SHA256 3) ADH-AES256-SHA256 4) AES256-GCM-SHA384 5) DHE-RSA-AES256-GCM-SHA384 6) ADH-AES256-GCM-SHA384 PSC00326921 : OE client instance is started without a ô-sslö ================================================================================ When an OE client instance is started without a ô-sslö startup parameter and sends connection request to proserved DB running in ssl mode, the DB server fails to authenticate the client connection request and message is returned to client to send back a ssl enabled handshake request. If the client is capable of sending an ssl request, the connection can be established. y. Server Technology PSC00335833 : Connecting to a WebSphereMQ via ABL Client using Connection Factory ================================================================================ You must use WebSphereMQ's binding mode to connect to WebSphereMQ server remotely. For this you will need to create the connection factory that is compatible with jms session type used in the ABL client. Following are the compatible combinations: * ABL jmsSession can connect using WebSphereMQ's ConnectionFactory, QueueConnectionFactory or TopicConnectionFactory * ABL ptpSession can only connect using QueueConnectionFactory * ABL pubsubSession can only connect using TopicConnectionFactory PSC00222182 : 11.1 Webspeed Messenger installation behavior for Windows ================================================================================ From OpenEdge Release 11.1, Webspeed Messenger installation behavior on Windows has changed as below: 1) WebSpeed Messenger only installation: The msngrs.properties file is created in the $DLC/properties location. Prior to OpenEdge Release 11.1, it used to be the ubroker.properties file. This changed behavior on Windows is now consistent with the behavior on UNIX. Note: You can rename the msngrs.properties file to the ubroker.properties file. 2) WebSpeed Messenger only installation performed over the existing OpenEdge installation: a) The msngrs.properties file is created in $DLC/properties. b) The existing ubroker.properties file is saved as ubroker.properties-sav. This changed behavior on Windows is also consistent with the behavior on UNIX. PSC00167391 : OpenEdge installation may install Sonic client and container code ================================================================================ RN#: 101A-00291 =============== The OpenEdge installation program may install Sonic Software client and container code depending on which products get installed. Because the installation program requires it run as ROOT on Unix, the Sonic Software code gets installed with those permission set. The OpenEdge installation program attempts to set the correct permissions for the Sonic code, but this fails on the HPUX operating system. This will cause the Sonic ESB Container created by OpenEdge to fail when started unless it is started as ROOT. To resolve this, run the command 'chmod -R o+w *' from $DLC/sonic as ROOT. z. WebClient PSC00310993 : WebClient install fails from IIS ================================================================================ If hosting the WebClient install image on an IIS Web Server, the install might fail with the following error message: An error (-5005 : 0x8007000d) has occurred while running the setup. If this occurs, make sure to define the following MIME types in your IIS web server and re-try: .inx application/octet-stream .ini application/octet-stream .hdr application/octet-stream PSC00183963 : DLLs and EXEs That You May Have to Package with Your Application ================================================================================ Be aware that there may be Progress-supplied DLLs or EXEs that are used by your application that are not included in the end-user WebClient install. Strictly speaking, these DLLs and EXEs are not a part of ABL. For example, there are some DLLS or EXEs only used during application installation. Other DLLS may be required if the application uses procedures in the adecomm or adeshar directories that indirectly use DLLs. Progress excludes them from the install to keep WebClient as small as possible and keep install time over the Internet as fast as possible. If you need any of these files to install or run your application, include them in your application installation. Examples of these files are listed below by category. DLLs used by some procedures in adecomm/adeshar: dirsrch.dll fileinfo.dll proprint.dll EXEs that could be used by your install: * ini2reg.exe * regsvr32.exe (A Microsoft tool usually, but not always, installed on a typical PC) PSC00183961 : Do Not Use Notepad to Edit .htm Files ================================================================================ Do not use Notepad to edit the webclient.htm file or bootstrap.htm file for customizing your application install. When Notepad saves the file, it changes the line terminator characters and may make the file work improperly in the browser. PSC00183171 : The WebClient install does not accurately calculate disk space required ================================================================================ The WebClient install does not accurately calculate the amount of disk space required on the client side to do the install. Prior to the install the user should probably have around 25 meg of available disk space. Some of this is for temporary storage of installation files. LIST OF ISSUES ADDRESSED a. ADE Tools and Runtime PSC00339337 ============================= The HTTP client crashes when an HTTP GET request contains a URL that uses escaped characters. PSC00339077 ============================= The http client allows a dev to specify a proxy server for a request or client, similar to the below code def var oClient as IHttpClient. def var oReq as IHttpRequest. /* all requests */ oClient = ClientBuilder:Build() :ViaProxy('http://proxy.example.com') :Client. /* single request */ oReq = RequestBuilder:Get('http://www.example.com') :ViaProxy('http://proxy.example.com') :Request. This creates a correct request and also the correct payload (ie the Host: header is correct and the request line too). But the client connects to the target URI and not the proxy URI. PSC00338278 ============================= ABL HTTP Client does not work for HEAD operation if the content-length is more than 0 PSC00337814 ============================= Error 4088 for ALLOW-COLUMN-SEARCHING occurs when running a SmartDataBrowser in a TTY client. PSC00337135 ============================= Using the new HTTP client, requests that returns a large-ish XML document (8mb+) can fail. Errors are raised within the scope of the HttpClient:Execute() method. Errors can vary. Most failures give some form of "X-NODEREF or X-DOCUMENT Load got an error: . (9082)", which must be coming from the point where the received data gets loaded into the DOM X-document that should be returned via HttpResponse:Entity. This seems in part tied to how fast the machine running the request can handle incoming data PSC00334668 ============================= A simple program which uses OpenEdge.Net.pl to encode the string "14 Oak Bedford ma" using the URI:Encode method fails to convert the third space in the string. PSC00333868 ============================= Various miscellaneous memory leaks were encountered when running OpenEdge.Net.HTTP code. This resulted in a significant memory leak in applications that call into this code repeatedly. PSC00333697 ============================= When executing an http request, in a session that was started using -cpinternal utf-8 -cpstream utf-8, using the OpenEdge.Net.HTTP.ClientBuilder class, either a crash or the following error is thrown: Invalid character data found in MEMPTR for codepage UTF-8 (12012) Both the crash and the error occur on the following line of ABL code: Write OpenEdge.Net.HTTP.Filter.Payload.StringBodyResponseFilter at line 61 Stack trace from protrace shows the following Call Stack: utCpTotalBytes rnImportBlob rncopyblob rnexec_entry rninterpret rnDisallowFuncInASSIGN rnudfpshi rnudfpopo rnudfunc_run PSC00333643 ============================= Even though AcceptJson() method specified, its not being included in the HTTP headers request when using the HTTPClient PSC00329286 ============================= When performing a FIND/REPLACE operation, using Search all Sections option, in an AppBuilder generated program that has over 350 triggers defined, the AppBuilder throws the following error: ** No b_SEW_TRG record is available. (91) This problem did not occur in 10.2B. PSC00328149 ============================= Dynamics Login Company lookups no longer display company records with European startup parameters, after upgrading from 10.2B07. PSC00327823 ============================= After upgrading ADM2 application from 10.2B08 to 11.x, some SmartWindows with folders have scrollbars on them. PSC00326600 ============================= When using the stand alone AppBuilder, the message 'The relative path.... resolves to a different file" is wrong and references the same file with a relative and absolute path. PSC00326341 ============================= Groupassign link between SmartDataViewers causes Reset/Undo button to be enabled when adding new record. PSC00325642 ============================= The file import of the temp-db maintenance tool no longer shows the list of files to import. The "Fetch files" button doesn't fetch anything even if there's files matching the criteria on the filesystem. b. Adapter for SonicESB PSC00324324 ============================= The OpenEdge Native ESB Adapter does not escape invalid XML characters within a SOAP Fault. c. Adapter for SonicMQ PSC00327002 ============================= OE Sonic Adapter errors with (12371) if it receives a map message with element larger than 32000 bytes. d. AdminServer PSC00336832 ============================= Network error: "Handshake Failure. No supported cipher suites (9996) (10770)" occurs when connecting to remote secure wsa. PSC00326778 ============================= Random errors: [14/04/14 05:34:03] [2] [Security] username:105: System generated password has expired (9908) PSC00310785 ============================= Admin server restart on hpux platform always fails with "port already in use" error. Will have to wait for some period of time. PSC00257318 ============================= Remote shutdown of AdminServer stops the local AdminService **************************************** Remote shutdown of AdminServer stops the local AdminService when they are both listening on the same port number. e. AppServer PSC00336838 ============================= Client error 9407 when stopping stateless Appserver agent. PSC00326640 ============================= SSL connection between .NET client through AIA to AppServer fails with connection reset error PSC00288458 ============================= Intermittent java.lang.NullPointerException errors when stopping and starting an appserver under OpenEdge 11.3, 11.4 or 11.5. f. AppServer Internet Adapter PSC00326952 ============================= Connection between SSL enable AIA and AppServer is failing during handshake. g. Auditing PSC00323141 ============================= cust_audit.xml export file contains non printable ASCII characters that make the .xml file unusable in most programs that can read .xml files. (like Microsoft Excel) h. DATASERVER PSC00339675 ============================= When using a dynamic query that features a LOOKUP function against DataServer for Oracle, the LOOKUP is not taken into account and the result-set is not filtered. PSC00338995 ============================= Using OpenEdge DataServer for Oracle when running a specific program that executes the REPOSITION TO ROWID, it crashes. PSC00338175 ============================= 1436 error is still experienced even with hotfix 11.3.3.014 PSC00336284 ============================= Dumped .df from an Oracle schema holder gets corrupted and can't be loaded back to a new wmpty database. PSC00333257 ============================= Oracle error -907 when running ABL query with join query PSC00333127 ============================= Error 1436 when compilation foreign owner is different than run time foreign owner. PSC00332306 ============================= Queries using FOR-EACH, FIRST, FIND fail to return results. PSC00332087 ============================= ORA-00920 thrown for some queries PSC00330908 ============================= Browse query fails with errors 3782 and 480 when executed against DataServer for Oracle in 11.4.0 32-bit / 64-bit PSC00328910 ============================= Oracle data server QUERY-TUNING phrase HINT causes memory leak. PSC00322883 ============================= Foreign owner in query's inner select is different from Oracle user name used in SchemaHolder connection string. PSC00322751 ============================= Executing dynamic query, referencing 2 separate tables, via DataServer for Oracle returns the wrong results due to incorrect ORDER BY clause PSC00320781 ============================= The following error will trigger followed by the abnormal termination of the AppServer server process: SYSTEM ERROR: fmget: bad record or unknown value. (13) PSC00310780 ============================= Oracle DataServer generates wrong SQL query with missing bracket. PSC00280680 ============================= Generate Delta.sql OpenEdge to MSS utility fails if the database changes include adding additional extents to an array field. PSC00261840 ============================= Updating a logical database field using Oracle Dataserver gets the following error: ** Input value: should be . (87) PSC00261202 ============================= The client <-> remote dataserver communication is not encrypted **************************************** The communication stream between the ABL client and the remote dataserver was not covered by the SSL implementation until now, causing the data to flow in plain text through the network. PSC00227223 ============================= Problem when number of un-Updateable columns in a SQL SERVER table exceeds 20. i. DB PSC00340812 ============================= For tables in Type I storage areas that were created using OpenEdge 9.x or earlier, using either the -DbCheck option for run-time validation checks, or dbtool option 5, when inserting, updating or deleting records or validating the record blocks of that table you receive the error: (17853) rmBlockValid error: sum of block parts != blocksize for dbkey The problem exists in OpenEdge 11.5.0 and 11.5.1. PSC00340735 ============================= DB cannot get through crash recovery after normal shutdown with open live JTA transactions. PSC00339435 ============================= DB cannot get through crash recovery after normal shutdown with open live JTA transactions. Fails with: (-----) dbxaUndoLogical: after dbxaGlobalTxnReserve call PSC00338437 ============================= In some cases, proutil -C dumpspecified does not export information even if there is information in the database table that meets the dumpspecified criteria. PSC00335356 ============================= Command line prostrct builddb fails to recreate the .db file for databases converted from OpenEdge 10.x to 11.x. It issues a 'Database has the wrong version number' message. Databases created in 11.x succeed. PSC00334196 ============================= Incorrect values reported by _IndexStat-split/_IndexStat-blockdelete PSC00333069 ============================= FIND ... BEGINS statement starts to return only the first record that meets its criteria and the AMBIGUOUS function returns FALSE when primary index is unique + multi-component. PSC00331850 ============================= Querying VST where its Id field <= 0 unexpectedly returns all records. PSC00331643 ============================= When restoring a backup over a current database, the confirmation question comes before displaying information about when the backup was taken and of what database it was take from. PSC00331500 ============================= When a second ai archiver directory is specified with either the database startup parameter: -aiarcdir or online with RFUTIL -C aiarchiver setdir, the AI Archiver fails to archive AI extents to next aiarc directory when the first is full. PSC00331365 ============================= proutil -C dbdes does not display the list of enabled features if a required license is missing PSC00329294 ============================= Mixing wrong version executables will cause database failed to print out the correct database version number. PSC00328928 ============================= Under certain cases involving multiple database updates, you may end up with logical index corruption if you undo certain sub-transactions. The problem may occur on undo of certain sub-transactions when indexed fields of tables from multiple databases are updated in different nested sub-transactions. This issue can be avoided by running with the -nosavepoints option. PSC00328268 ============================= A small BI cluster size may not be able to support as many concurrent transactions as may be expected by the -n value. PSC00327777 ============================= Grammar error Stand by in the proutil output PSC00326196 ============================= The statement cache data for a user may be incorrect (all unknown values) or possible garbage. PSC00322250 ============================= In 11.4.0 through 11.5.0, the order that active locks are returned when querying _Lock was changed. This increased the likelihood of UNKNOWN appearing at the top of the list. Starting in 11.4.0.009, 11.5.1, and later, it now returns only the active lock entries. PSC00321219 ============================= promon "Summary: Record Reads" and the VST "_ActSummary._Summary-RecReads" are inconsistent. Promon is incorrect. Each are to report the number of individual records read from the database (buffer pool). PSC00318660 ============================= The Scatter Factor is incorrect in table analysis after loading into a multi-tenant table or a partitioned table. PSC00307637 ============================= After adding new indexes online with the "Add Objects Online" option queries that use the new index fail with error 16488: Index of table is not active. (16488) VST query (_active) reports the new index as Active (by design). IDXBUILD by inactive activation or by Table inactive indexes does not find the newly added indexes as inactive indexes to build. http://knowledgebase.progress.com/articles/Article/000051550 PSC00299348 ============================= When binary dump encounters the user's ulimit on solaris, hp, or linux, it fails with: File size limit exceeded. (3697) PSC00296025 ============================= IDXANALYS reports take longer to run in OpenEdge 11 than 10 PSC00287388 ============================= DBRPR tool doesn't report rebuilding Free/RM/IDXDC chains when fixing cluster chains at the same time. PSC00286508 ============================= Trying to convert an 11.3 1252 audit enabled database to UTF-8 fails with the errors: Read permission denied by DB (14323) SYSTEM ERROR: error (-1218) fetching template record (3970) SYSTEM ERROR: scanning template for table _aud-file-policy (3968) ** Conversion failed, database is unusable. (3942) PSC00285575 ============================= When the Alternate Buffer Pool is assigned at the database objects level as opposed to the Storage Area level, PROMON correctly shows the current state: "LRU2 replacement policy disabled" when OS reads GT -B2. The lru2 mechanism is not enabled even though it should be. PSC00259992 ============================= rfutil with endtime option processes incorrect ai extent **************************************** Rfutil roll forward with the endtime option may attempt to process AI notes from the AI extent that follows the one that reached the endtime, causing errors (4554), or (1028) and (8999). PSC00259130 ============================= IDXBUILD, IDXCHECK, and IDXFIX with option SOME will fail with "Index not found. (2755)" when Tablename is 32 chars. PSC00246082 ============================= IDXFIX option "6. Delete one record and it's index entries." Should error 1895 when the RECID entered is for a Template record. Instead it reports "Index fix completed successfully. (4332)" PSC00232336 ============================= Binary dump fails on a table with no fields **************************************** Binary dump fails on a table with no fields Internal error in upLobSearchTable, errno 4. (11158) SYSTEM ERROR: Binary Dump/Load failed in upBlobSearchTable. (9194) PSC00230189 ============================= OE 11 logs additional 7129 connection messages for client connection authentication context. j. Diagnostics PSC00320795 ============================= Using the COMPILE ... SAVE ... DEBUG-LIST statement to compile an inherited class inserts a reference to the inherited class's debug listing in the r-code for the base class. This reference causes the ABL Debugger to display the wrong code when debugging the base class. PSC00315039 ============================= During debugging error 4354 sometimes occurs: Invalid syntax for the ASSIGN command. (4354) PSC00306498 ============================= Properties using a collection name are not evaluated in the PDSOE debugger expressions view unless the debugger option "Enable property evaluation" is checked ON. Properties should be evaluated in the Expressions view regardless of this setting. PSC00286506 ============================= QryInfo loggigng triggers error "** FIND FIRST/LAST failed for table _IndexStat. (565)" if logging level is set to 3 or higher, when the info is logged for a query on a temp-table. PSC00225575 ============================= logentrytypes QryInfo causes session crash on Linux **************************************** The QryInfo logentrytypes option causes a session crash on Linux. k. GUI PSC00333809 ============================= Setting the FGCOLOR attribute has no effect on the appearance of the text of radio buttons in a radio set widget when the Windows Themes interface is used. The text color does change if the Windows Classic interface is used or the prowin32.exe.manifest file is removed. PSC00331676 ============================= When there are two OpenEdge client sessions and changes are made to the records in one session, refreshing a browse widget in the other session using the REFRESH() method does not show the updated records. The updated records are displayed if they are scrolled out of the browse's viewport and then scrolled back into the viewport. PSC00329283 ============================= An AppBuilder session may crash when opening a program which contains a browse which has the ROW-HEIGHT option in the DEFINE BROWSE statement. PSC00327988 ============================= ENTRY and LEAVE events of field-level widgets in an ABL window or an ABL window embedded in a .NET form may not fire when another ABL window which is disabled is displayed. PSC00327538 ============================= The FOCUS handle returns the unknown value when an input-blocking statement (e.g., WAIT-FOR or UPDATE) has ended and no other input-blocking statement is executing. PSC00323696 ============================= Client may crash after setting FORMAT for a browse column multiple times to formats of different sizes. PSC00319547 ============================= In the GUI client, for certain datatypes, if the cursor is placed at the end of a fill-in (after the last character), and a trigger fires that redisplays the value in the field, the cursor will move before the last character. This affects the following datatypes and formats: - INTEGERs and DECIMALs with formats using "z" or "9" instead of ">" (no sliding decimals) - DATE, DATETIME and DATETIME-TZ - LOGICAL PSC00318677 ============================= Applying an 11.3.2.x hotfix introduces a regression issue where triggers may stop firing on LEAVE of a fill-in in an ABL window which is embedded in a .NET form. PSC00318409 ============================= NUM-SELECTED-ROWS returns Incorrect Value when the browse is multi-select and at least one field is editable. If the same row is selected multiple times holding shift key + left mouse click, NUM-SELECTED-ROWS is increasing, every time the row is clicked. If you change to the control key and click again and again on the very same row that is already selected. The value of NUM-SELECTED-ROWS decrements each time regardless of whether or not the row is selected which will be selected / deselected alternately. PSC00306155 ============================= Application crashes in a specific browse window when the VALUE-CHANGED event is executed. PSC00241399 ============================= Events cannot be trapped in a combo box on a browse **************************************** It's not possible to trap a keyboard event in a combo box on a browse column. This works when the combo isn't on the browse. PSC00237266 ============================= NO-LABELS has no effect if browse includes VIEW-AS phrase **************************************** If a browse widget has a field with a VIEW-AS phrase and the NO-LABELS option is used, the latter is ignored and the browse is displayed with column labels. l. Install PSC00337357 ============================= 10.2B 32-bit Adminservice fails to start after installing 11.5 64-bit on WINDOWS PSC00336442 ============================= Error when specify Script and Doc folder during Webspeed installation as Webspeed/Script PSC00335715 ============================= After installing both 32-bit and 64-bit OpenEdge 11.5 on Windows, under the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\PSC\PROGRESS\11.5\JAVA There's a JRE entry that points to the JRE shipped with the 64-bit OpenEdge installation. PSC00317171 ============================= Installing 64-bit OpenEdge on Windows incorrectly copies 64-bit versions of the evntlog.dll and pstimer.ocx to %windir%\SysWOW64. That directory should only hold 32-bit libraries, 64-bit libraries should go to %windir%\System32 instead. PSC00252989 ============================= Application is not launched after WebClient installation **************************************** WebClient application is not launched after WebClient installation PSC00245576 ============================= OpenEdge Service Pack installation disables enabled Debugger **************************************** Installing a Service Pack in Openedge will disable Debugger if it had been enabled. m. LANG PSC00341334 ============================= If TODAY is used as the INITIAL of a NO-UNDO variable, then it is not adjusted for SESSION:TIMEZONE. This also applies to NO-UNDO variables with INITIAL NOW. PSC00339873 ============================= The Web Service client declares an invalid namespace in the SOAP Header. For example: ns0:ns1="http://MyNamespace.xsd" PSC00339768 ============================= In Open Edge 11.x releases, no compile error is raised when LENGTH used with MEMPTR input. In previous versions error (223) was raised. At run time the value returned is always zero regardless of the length of the MEMPTR. PSC00339424 ============================= The WSDL Analyzer generates a Temp-Table and ProDataset definition with an empty namespace instead of the correct value. PSC00339302 ============================= A query with a complex CONTAINS expression can hang when a client is connected client/server to a database. A complex CONTAINS expression would contain more than 5 words with '&' and '|' operators. PSC00339281 ============================= Reading JSON containing a dataset with nested/foreign-key-hidden data-relations where one of the arrays for a child record is empty generates error: "Error parsing JSON: expected string, but found brace. (15358). PSC00338855 ============================= The OpenEdge Web Service client does not process a SOAP fault if the HTTP status code is not 500. PSC00337748 ============================= The OpenEdge 32-bit session crashes when serializing a large Temp-Table to a LONGCHAR variable via the WRITE-XML() method. PSC00337365 ============================= The AVM might crash under the following conditions - you have a query on a non-OpenEdge table (i.e. DataServer) - you insert a row into the table while the query is still open - you execute REPOSITION TO ROWID on the query The crash occurs while executing REPOSITION TO ROWID. PSC00337149 ============================= FOR EACH with CAN-DO in WHERE clause not functioning correctly when connected to the database with Runtime Permission checking active. PSC00336649 ============================= An AppError that was thrown in an ABL class can cause error 984 (Error attempting to push run time parameters onto the stack). This is caused when a method being used in a method argument throws a .net error. PSC00336638 ============================= There is no command-line facility to set the XML entity expansion limit from the default of 50000, for customers who determined the 50000 limit was too high. This is especially problematic for handling the WEB-CONTEXT:X-DOCUMENT, as there is no way to set the entity expansion limit before the XML document is parsed. PSC00336437 ============================= A query with an OUTER-JOIN on a table-partitioned or multi-tenant table may cause unexpected behaviour if the table-partition/multi-tenant table has no row in the result list. The unexpected behaviour could either be a crash, or the following error message: SYSTEM ERROR: Cannot insert a key of size into a sort buffer of size 8192. (4219) PSC00335770 ============================= The following error is returned when trying to connect to multiple Web Services via HTTPS from the same OpenEdge client session: Error loading WSDL document : Internal error: Receive status (11748) PSC00335430 ============================= If you specify an instance method to the SET-CALLBACK() method on a dataset, buffer or query object, the instance may get garbage collected sooner than expected (after the dataset, buffer or query is deleted). If the method is static, the static instance may get improperly reinitialized under the same scenario. PSC00335216 ============================= In 11.5.1, the first call to the NORMALIZE function in a session will give an error "Cannot load ICU version for NORMALIZE (17625)". Note the code still runs as expected despite the error. PSC00334314 ============================= Value of a shared variable changes unexpectedly The value of a shared variable may be changed when the SET option of a .NET WAIT-FOR statement is used. In this case, the value which is supposed to be stored in the variable specified by the SET option is instead stored in an unrelated shared variable. PSC00334026 ============================= When an unexplained delay or timeout occurs in a WebService while making a method call into the Web Service, the ABL client can sometimes timeout and crash. PSC00333669 ============================= Appserver agent cannot recover a shared memory database connection without error 8025. PSC00333559 ============================= X-DOCUMENT and SAX-READER are susceptible to XML External Entity Processing vulnerability - can expose contents of targeted files. PSC00333499 ============================= The X-DOCUMENT and SAX-READER handles are vulnerable to an XML Entity Expansion Attack. PSC00332809 ============================= CLOB is truncated at 512K while load via client/server connection. If loading via shared memory connection, it loads fine. PSC00331692 ============================= Adding LONGCHAR to ParameterList object isn't passing in the value correctly, causing subsequent Class:Invoke() to fail. Either Invoke() crashes the session or the LONGCHAR value in the invoked method is left blank where it should contain text. PSC00331621 ============================= In character mode, the SCREEN-VALUE of a LIST-ITEM-PAIRS combo-box with no selected item is the value of the first item in the list. This is a change from previous releases, in which the SCREEN-VALUE would be the unknown value in this case. PSC00331601 ============================= Getting error 455 when a browse on a query for a table that has a database FIND trigger that returns error. Unable to read record buffer because it is empty. (455) When browsers are not involved, the program gets an error condition raised (as if the RETURN ERROR was still in effect). PSC00331506 ============================= The OpenEdge AVM sets the window width to 80 columns when running in batch mode. There is no way to override this setting in batch mode. This can lead to errors when compiling ABL code which expects a wider window (for example, a 132-column terminal). PSC00331300 ============================= Progress.LangClass:Invoke() method fails silently when calling the AddMessage method of an inherited Progress.Lang.AppError class. PSC00331147 ============================= Attempting to write a JSON string stored in a LONGCHAR variable to the database crashes the client when the JSON string stored n the LONGCHAR variable exceeded the maximum record size of the table. PSC00330947 ============================= The OpenEdge client crashes due to an invalid SOAP Response that does not correspond to the WSDL document. PSC00330226 ============================= If the ABL session's decimal seperator isn't a period ("."), JsonObject:GetDecimal() and JsonArray:GetDecimal() ignore the decimal point in the JSON and return wrong values. (Note that JSON standard enforces the period as decimal point.) PSC00329866 ============================= If a .NET object gets a property from an ABL hybrid, and the ABL hybrid has a get accessor implementation for the property, the AVM leaks a small amount of memory. Calling this property repeatedly will eventually exceed the -s threshold of the AVM, resulting in error messages such as the following: SYSTEM ERROR: -s exceeded. Raising STOP condition and attempting to write stack trace to file 'procore'. Consider increasing -s startup parameter. (5635) PSC00329820 ============================= Failure in large object operation error when reading no-lock and writing CLOB field of a table at about the same time PSC00329416 ============================= Code which does a RUN ON SomeHandle ASYNC statement where SomeHandle = SESSION:HANDLE the code will leak memory. PSC00329313 ============================= Using the READ-JSON function when dealing with escaped JSON strings can cause a stack overflow error, and then a crash. PSC00328731 ============================= -undothrow 2 does not throw errors from blocks with no explicit error directive that are inside a user interface trigger. PSC00328424 ============================= Exceptionally long expressions that worked in 10.2B will no longer compile in OpenEdge 11. PSC00328232 ============================= Row in the browse is result of the OUTER-JOIN of two tables order and ordeline. When the orderline for the corresponding order is deleted and :refresh() is executed, the row disappears from the browse, even though the order columns are still populated with data. PSC00328106 ============================= Client may raise error "Array subscript 0 is out of range" when executing the BUFFER-COPY statement or function and the table has an assign trigger for one or more fields. PSC00327891 ============================= ABL code subscribes to several .NET events. The code compiles successfully, but at runtime, when the events fire, exceptions are raised or the program crashes. The events were .NET events whose signatures do not conform to the .NET convention for event signatures (void return and 2 parameters, where the 1st parameter is of type System.Object and the 2nd is derived from System.EventArgs). ABL does not support .NET events that do not conform to the signature convention, though some may work. The ABL compiler should issue an error or warning when code tries to subscribe to such events. PSC00327816 ============================= The client may crash trying to compile a EXPORT statement where a field has a compile error in the VIEW-AS phrase. We were trying to display information for an error message that couldn't actually be captured in this particular case. We updated this to make sure that we were only trying to display information that we had stored as part of the error handling process. PSC00327786 ============================= When XML-NODE-NAME or SERIALIZE-NAME attribute is set for a database buffer field like this: BUFFER table:BUFFER-FIELD("field"):XML-NODE-NAME = "value", it crashes with ACCESS_VIOLATION. PSC00327552 ============================= When using MERGE-CHANGES with copy-all-mode set to TRUE, the changes dataset ends up with records from a table in the dataset that has no BEFORE-TABLEs. PSC00326425 ============================= The following errors are returned during READ-JSON on a Temp-Table that has a BLOB field with escaped characters in the base64 encoded JSON string : Base64 decode of raw data failed. (13074) Unable to convert JSON to native data type for field '' in temp-table ''. (15363) PSC00326413 ============================= Unlike SET-ATTRIBUTE, REMOVE-ATTRIBUTE silently fails when attribute contains extended characters. PSC00326198 ============================= When running a 32-bit client that has statement cache enabled for the full stack option, and it sends a long ABL stacktrace to a 64-bit server process, the data presented can be incorrect. It can either display the line numbers instead of the procedure names in the _Connect-CacheInfo field, or display unknown values or display the wrong line number, depending on how big the ABL stacktrace is. PSC00326175 ============================= In some circumstances with a dynamic buffer, if an error message is displayed that displays the name of the buffer, the buffer name is missing from the message e.g: "** Unable to update Field. (142)" The table name should appear between "update" and "Field". PSC00325845 ============================= Having a BUFFER parameter on a table in a protected temp-table or dataset in a sub-class as the only reference in the derived class causes either a session crash or error 566. PSC00325661 ============================= If a GUI client (prowin32.exe/prowin.exe) process is started from (thus parented to) a Windows Service, on Windows 2012 server this causes a system-wide delay in applying Windows Group Policies when a user logs in. As the GUI client is a GUI process, it interacts with the UI through Windows messages. Newer versions of Windows prevent services from interacting with the UI, with Session 0 Isolation. The OpenEdge GUI clients should not be used for running Windows Services, even when using -b. Instead, use the OpenEdge character client (_progres.exe). PSC00325355 ============================= A loop reading a file via INPUT .. BINARY / SEEK / IMPORT / starts skipping over data when reading from a file that's more than 2gb in size. The skipping starts the moment the 2gb mark is crossed. PSC00325343 ============================= LOAD NEW crashes the client if it references a non existing key PSC00324987 ============================= When UNKNOWN MEMPTR variables are passed as INPUT or OUTPUT PARAMETERs. The NE operator returns incorrect result when the passed parameter is compared to the unknown value '?' in the called procedure. It returns TRUE when it is expected to return FALSE. PSC00324984 ============================= READ-JSON fails when there is corrupted data in the target code page. It might cause an "error -26 in longchar to file" error to be returned. PSC00324239 ============================= Trying to set a non-static property using the overload of Progress.Lang.Class:SetPropertyValue() meant for statics will cause the AVM to crash. For example, this will crash if the TestGetClass:CharacterProperty property is not static. DEFINE VARIABLE oPLCTestGetClass AS Progress.Lang.Class NO-UNDO. oPLCTestGetClass = GET-CLASS(TestGetClass). oPLCTestGetClass:SetPropertyValue("CharacterProperty", "NewCharacterValue"). PSC00324066 ============================= Defining a dataset with a partial data-relation causes the session to crash. PSC00323921 ============================= _proinventory hangs on "Validating Unified Broker" in a netsetup environment PSC00323745 ============================= Insufficient privileges error is thrown when calling SET-DB-CLIENT or SET-CLIENT with a client-principal created by an external security system (such as the REST Adapter), when a multi-tenant database in involved. PSC00323460 ============================= Changing the FORMAT of a character variable with a FORMAT containing characters other than "X" can truncate values containing non-ASCII characters when using -cpinternal UTF-8. E.g. DEF VAR cvar AS CHAR FORMAT "XXXX" NO-UNDO. cvar = "T" + CHR(128,"UTF-8","1252") + "st". /* Display Euro */ DISPLAY cvar. cvar:FORMAT = "NNNN". This displays only "T". PSC00323293 ============================= When using GET-BYTES to read a source MEMPTR, using a starting position larger than the source MEMPTR and passing zero as the numbytes parameter, instead of returning the unknown value (as documented) the result is that the entire source MEMPTR is assigned to the target MEMPTR. PSC00323227 ============================= You may see some attributes in the RCODE-INFO system handle returning the wrong info if you specified the XREF-XML option when the r-code was generated. PSC00323011 ============================= Assignment of a UTF-8 LONGCHAR to a System.Object results in a different string. The AVM was not doing the correct codepage conversion when passing a LONGCHAR value to .NET. PSC00322775 ============================= Client session crashes with error 2733 when doing a simple FOR EACH with an OR statement. When the result of an OR in a query returns greater than 129,000 rows then the query will fail with the 2733 error PSC00322482 ============================= Behavior is inconsistent if a parent class constructor throws an error. The child class can catch the error if the parent's constructor has a FINALLY block, whereas if there is no FINALLY block, the error cannot be caught. If it can be caught, the child class may allow the class to become fully instantiated (by not rethrowing the error) even though the parent's constructor threw an error. This is not the correct behavior. PSC00322246 ============================= In 11.4 the prowin32.exe client crashes when calling a secure webservice without importing the required certificates. PSC00321705 ============================= Client crashes with SYSTEM ERROR: I/O error 0 in readfrmb, ret 0, file 18(srtckPVid), addr 99822668. (290) after upgrading to 11.4+ PSC00319271 ============================= The OUTPUT TO "CLIPBOARD" statement has a limit of 63K on the amount of text which can be written to the Windows clipboard. Error 769 "Clipboard Buffer area is full, output ignored" is generated if the limit is exceeded. PSC00318371 ============================= The database server may hang or crash under the following circumstances: - a client sends a query on a multi-component index, - the combined size of the search criteria for the index exceeds the maximum allowable size of an index entry This would typically happen on a multi-component index where one of the components is a CHARACTER field, and the query specifies a very long value for this field. PSC00317831 ============================= Client may end up in an infinite loop trying to send a message to a remote database that hasn't been connected yet if a signal is received during the database connection. PSC00316449 ============================= Error 16388 when trying to use a Client-Principal object in OE 11.X that is authenticated against a user-defined authentication system in a database running on OpenEdge 10.X. PSC00316156 ============================= Error: ICU source string error: 3, when temp tables do not use correct word break tables, causing the CONTAINS statement to function incorrectly. PSC00315657 ============================= If you have a custom codepage defined in convmap.cp, non-ASCII characters might not be correctly handled when using XML. This can occur for reading or writing documents, with either DOM or SAX APIs. PSC00313892 ============================= When attempting to compile an include file that defines a CASE statement and references preprocessors and compile-time arguments causes a crash in prow32.dll. PSC00310252 ============================= Windows 8 and Windows 2012 no longer support RAW printing. Consequently neither the -Wa -wpp nor embedding printer control codes using PUT CONTROL work. PSC00309881 ============================= The WSDL Analyzer (bprowsdldoc) fails with an error message similar to the following when it tries to generate a file with a name that is longer than the limit allowed by Windows: Error writing portType file '.html' - Error creating No such file or directory file '???????????4W??????' PSC00301606 ============================= The 64-bit OpenEdge 11.3.2 version might raise error 9082 "attempt is made to create or change an object in a way which is incorrect with respect to namespaces" when using the XML SAVE method. PSC00300893 ============================= The 64-Bit ABL COPY-LOB statement successfully copies a file (FILE ->MEMPTR->FILE) when the source file size is 4499999744 bytes but fails when the source file size 4500000768 bytes which is just 1KB larger. Due to 32 bit restrictions, some operating system calls were failing for files over this size. PSC00269199 ============================= The COMPILE statement with XREF option does not list database table REFERENCE for DATA-SOURCE definitions. PSC00248677 ============================= Dynamics treeview doesn't show folder page details **************************************** In some circumstances a dependent window attached to a Dynamics treeview that contains a folder, doesn't show data on page one unless the page is refreshed by clicking on another page or Treeview node. PSC00140768 ============================= Operation 0 (1987) fills WebSpeed log **************************************** When error 1987 is encountered in WebSpeed with operation 0, the client code falls into an infinite loop and writes the message to the WebSpeed log file until the disc is full. n. Management PSC00340903 ============================= ActiveMQ on some platforms such as AIX do not properly expose their remote adminserver socket server via ActiveMQ to other machines depending on how the DNS is setup. This is because the socket server for ActiveMQ is bound to the hostname and not the wildcard address 0.0.0.0. PSC00339268 ============================= Access to fathomRealm.policy does not follow fathomEtcDir variable PSC00338068 ============================= If the number of work items queued for processing exceeds the work queue size, that item will be dropped and any work that was to be performed by the resource will not be performed. When a pollable resource such as AppServer, database or similar is dropped because the queue is full, its status will stay at "Not Checked" and will never be polled again until OpenEdge Management is restarted. This fix addresses the incorrect resource state and will allow the resource to be polled again. The default queue size of 250 may be too small if the OpenEdge Management installation has more than about 200 resources. Even with this fix it will still be necessary to increase the fathomWorkQueueSize java system property high enough to avoid dropped work items. PSC00338058 ============================= Scheduled fathom jobs run with admin server startup even though it is scheduled to run daily at a set time. PSC00333104 ============================= If you have more than one Web Service application deployed, then it is not possible to change the active Web Service from the WSA view within OpenEdge Explorer. PSC00330955 ============================= OEM (Linux) with a remote container (Windows) corrupts the ubroker.properties file if more than one environment variables exists for an appserver or webspeed configuration. Attempts to add more than one environment variable to a WebSpeed or Appserver configuration will result in the brokers configuration displaying as a blank page in the browser. The ubroker.properties will be corrupted with an extra character in the environment section. PSC00330763 ============================= HTTP Error 500 when adding a rule to an existing monitoring Plan PSC00328913 ============================= Scrolling within tenant object area selection loses focus PSC00327809 ============================= Failure on deleting remote adminserver;some resources are partially deleted and cannot access data administration page. PSC00327715 ============================= Multiple ParseExceptions of sampleLock for CPU resources in a Trace files PSC00327244 ============================= 11.3.3 SP install caused OEM jobs to fail with no information written to the job logs. PSC00327133 ============================= File monitor rules such as file age, file exists, file growth rate, file modified or file size for File resources would not send email for every failure when Throw additional alerts is checked. PSC00326904 ============================= OpenEdge Multitenancy fails to assign at Tenant object to the specified area PSC00326800 ============================= Max connections increased to 4000 PSC00326665 ============================= Overflow error (7485) Db_TableStat.TableStat_Create PSC00326662 ============================= Overflow error (7485) Db_TableStat.TableStat_Read PSC00326272 ============================= Under some circumstances the OEM Database Administration page does not always return an error when it can't access the database under database connections and it only says "Cannot connect". PSC00324031 ============================= Defined log file monitor to monitor online backup finish message. and have always throw new alert checked, chose default mail action. As long as the previous alert not cleared up under alerts tab, it will not send new alert out. PSC00323612 ============================= OEM Failed to support TLS1 on AIX PSC00323541 ============================= Waiting for active work threads to complete. (11218) Plugins and task scheduler are shutdown too early and prevent the completion of the active work threads for the Fathom Graph Cache DB. PSC00323538 ============================= Race condition with OEMGT at startup PSC00322479 ============================= Default Mail action contains variables with no values. PSC00320724 ============================= Fathom trend database is unavailable when started using a service name instead of a port number PSC00320486 ============================= Prowin32 crashes when connected via TCP to database running on the same machine when the AdminServer polls the database. PSC00320435 ============================= Unable to use I18N characters for table partitioning policy details in OE Management/Explorer PSC00317189 ============================= Overflow error (7485) ;INSERT INTO PUB.Db_IndexStat failed PSC00302261 ============================= System plugin (osmetrics) fails to load when ProspectCRM service is running. PSC00280635 ============================= The DataAdminService should have an option to tell that the passwords that are passed are encoded. PSC00252828 ============================= OEM "Resources" customized view is not saved **************************************** Every time one returns to the resources screen, the whole resource set is displayed with the default settings. The previously set criteria are not saved. There is no option to save or set the default criteria when opening the resource screen. The following settings are not saved: - Position of the columns - Column width - Treeview expansion, enabling to show or hide some resources. PSC00247345 ============================= OEE: DBAGENT fails to start **************************************** DBAGENT fails to start when the 'configuration' is not 'defaultconfiguration' PSC00221930 ============================= Cannot disable "LogFileNameChanged" alert in OE Management **************************************** When ubroker logfile threshold limit is set, "LogFileNameChanged" can generate many alerts. This is a "hard coded" alert at this time. There is no way to disable this alert. o. NETUI PSC00338430 ============================= Under certain circumstances, instantiating multiple ABL Dialog-boxes from within a .NET form results in error "**Unable to realize DIALOG-BOX ... (4025)" PSC00333882 ============================= The session crashes when compiling code that has a back-tic within a reference to a .NET class (instead of failing to compile). For example: oResult = GetConfirmation(System.Windows.Forms.`BoxButtons:OK). PSC00333842 ============================= The proBindingSource object offEnd event doesn't work with the Telerik RadGridView. PSC00331072 ============================= Passing 'System.Collections.Generic.ICollection' to a method causes a crash in 11.4 and 11.5.0. The same code worked up till 11.3.3. PSC00328621 ============================= The AVM can crash after getting a LEAVE on a browse row that brings up a dialog box which is then dismissed by hitting the Escape key. PSC00328459 ============================= When satisfying the WAIT-FOR of a Dialog-Box, a LEAVE trigger on a field in an underlying window can fire unexpectedly if the Dialog-Box is started by the APPLY of an event to a non-field object. For example: - c-win1.w has field fld1 with a LEAVE trigger - c-win1.w has a menubar, with menu-item menu1 to launch dialog-f.w - fld1 in c-win1.w has a trigger on the F3 key, which executes APPLY CHOOSE to menu1 - dialog-f.w has a WAIT-FOR GO,UI of the dialog-frame - double-clicking on a browse row in dialog-f.w will APPLY U1 to the dialog-frame - Pressing F3 with focus in fld1 will APPLY CHOOSE to menu1, which will start the dialog.w - double-clicking a browse row in dialog-f.w will satisfy the WAIT-FOR, and the LEAVE trigger of f1 will fire unexpectedly. PSC00328332 ============================= Error "System.NullReferenceException: Object reference not set to an object instance" may occur when closing a form of type Progress.Windows.Form. The application continues to run when the error message is dismissed. PSC00325904 ============================= Error messages may appear repeatedly in a loop when the user tries to change focus in an application which uses embedded ABL windows. PSC00324948 ============================= Silent crash when assigning a ProDataset handle to a Progress.Data.Bindingsource, where the dataset contains a buffer for a temp-table defined as REFERENCE-ONLY and the temp-table has been bound (via parameter passing with the BIND option). PSC00323018 ============================= The scenario is: * An ABL class is implementing an interface that resides in a .NET Class Library (.dll). * A method in that interface returns System.String and the strings that are returned are large. * The implementation of the method in the ABL class specifies the return type as LONGCHAR. When compiling this class the following compiler error is returned: Method 'SomeLargeString' in interface definition 'ProgressTestClass.ILargeStringTest' returns 'character', but the method implementation returns 'longchar'. (12951) According to the OpenEdge GUI for .NET Mapping Reference in the documentation, there are two possible data types that are implicitly mapped to the System.String data type. Those are CHARACTER and LONGCHAR. This is also true of ABSTRACT method implementations. When an ABSTRACT .NET method that returns System.String is overridden by an implementation that returns LONGCHAR the following compiler error is returned: myAbstractMethod already defined in inherited class with return type 'character'. (12950) PSC00322696 ============================= Error 14081 ("Error loading the .NET runtime") is generated when using the .Net Interface from ABL if the session is started with -cpinternal 620-2533 (Thai codepage). PSC00319794 ============================= The OpenEdge GUI Client may crash if no ABL menu-items have been created and the user presses the Enter key in an ABL window which has no active focus widget. This issue occurs when a .NET WAIT-FOR [WAIT-FOR System.Windows.Forms.Application:Run()] is used. PSC00319684 ============================= The cursor position in a numeric fill-in may move if the application applies the CHOOSE event to a button whose NO-FOCUS attribute is set to TRUE. PSC00307270 ============================= An ABL dialog box appears on the Windows taskbar when it is displayed from an ABL window which is embedded in a .NET form. The expected behavior is that the dialog box will only appear on the taskbar if the parent form is not displayed on the taskbar. PSC00305401 ============================= An infinite loop may occur in an application which uses multiple embedded windows. The loop may occur when a LEAVE trigger executes the RETURN NO-APPLY statement after displaying a message in an alert box. PSC00283726 ============================= When multiple batches of data are present in an UltraGrid, then the source temp-table is emptied and reloaded with only a single batch, the UltraGrid is filled with blank rows. PSC00262016 ============================= Deleting object causes error when implicit query is deleted **************************************** When disposing of the components variable in the destructor of a relatively simple form with a dataset, the following error is thrown: Cannot delete a dataset relation auto-generated query. (12349) PSC00255733 ============================= Dialogs are not centered over floating child forms **************************************** ABL dialog boxes are not centered over floating (undocked) .NET child forms. They are parented and centered over the parent .NET form. p. Next Gen AppServer PSC00335049 ============================= When a .NET Open Client application connects to PASOE it fails if the .NET Open Client has compression enabled. Communication layer message: General Error: 9986. (7175) PSC00333267 ============================= No error information is being returned from a Business Entity. PSC00330192 ============================= PASOE: Configured -Mm value is not reflected in the agent log file if multiple sessions in the Appserver agent try to simultaneously connect to one or more databases. PSC00320370 ============================= When making an async call on an AppServer and attaching a CLIENT-PRINCIPAL object to the REQUEST-INFO attribute of the SERVER object handle, the CP object gets transferred to the request object handle. q. OEBPM PSC00336826 ============================= QueryService API does not return workitems if filtered on ALL_USERS and case-sensitivity is set to false. PSC00335246 ============================= After applying the Brazilian Portuguese language bundle package, BPM Portal calendars are not translated and it's showing with English format. PSC00332800 ============================= After migrating a process from Savvion 7.6 to OE BPM 11.4, any update to one of the Web forms will update the page format at save time and corrupt the final layout and content when displayed in a web browser. PSC00329262 ============================= Null pointer exception when accessing the "audit history" page of some processes. Error occurs on setDataSlot() internal method. PSC00326287 ============================= Process Refresh fails after adding a new dataslot to the process. PSC00325566 ============================= Delay while loading the dashboard page for the logged-in user. The introduction of a cache mechanism for the database results set now substantially reduces the delay for the dashboard page to load when displaying a list of records. PSC00323878 ============================= SESSIONID generated is not random enough to prevent security vulnerability PSC00323401 ============================= When switching to the "Path Analysis" TAB in BPM Studio the path analysis is being reloaded every time it is switched to from another TAB. This is unnecessary if the path has already been reloaded previously and the process flow has not changed. PSC00323383 ============================= The file 'user-det.jsp' in sbm.war has an embedded line of code that causes errors at runtime because the single-quote characters are invalid: File 'user-det.jsp' in /oebpm/jboss/webapps/deploy/sbm.war/bpmportal/administration contains an error on line 182: bad single quotes. PSC00322265 ============================= For other than English language, the OEBPM perspective names are showing without the BPM word such as OpenEdge Designer instead of OpenEdge BPM Designer. PSC00321263 ============================= DateTimeTZ (datetime dataslot) not persisted for locales other than English - exception thrown in bpmportal.log PSC00313083 ============================= Runtime exception occurs when BizPulse rule makes use of custom Java class on Windows platforms. PSC00291767 ============================= When user accesses Delegated task settings, the Start-End dates do not show the pre-configured range for Spanish/Portuguese/Chinese users of BPM Portal. r. Open Client PSC00339429 ============================= Generating a .NET proxy where two programs define temp-tables with the same name but different schema will cause the generation to fail with this error: error CS0103: The name 'SettApplicantOEProps' does not exist in the current context. Compilation error occurs in the 2nd generated DataTable Class. PSC00338304 ============================= A .NET OpenClient application which is calling an OE 11.4 appserver on a Linux machine is failing with the following exception: ??Broker System failure: Invalid state for deallocate: Current state = STATE_RECEIVING (7249) (7209). This appears very similar to defects numbered PSC00323149 and PSC00328342, however this is reproducible in 11.5.1 and 11.6.0. PSC00328077 ============================= Unable to generate a Java Open Client proxy for a ProDataSet that contains more than 46 data-relation objects. PSC00321310 ============================= The .NET Open Client is unable to make a connection to a NameServer which is located on a different network subnet when using the IP address. PSC00269026 ============================= Using relative path for the -xpxgfile and -startdir parameters in the generated runbproxygen.bat file fails with the following errors: Proxy Generation Failed. For details see the log file C:\DLCWORK\test.log The log file shows: >>ERROR generating .NET proxies Default directory is not an absolute path The same thing works in 11.2.1. s. PDSOE PSC00334972 ============================= It is impossible to change the debugger port in a AppServer debug configuration from 3099. The user interface allows the change to be made, however once the debug configuration is closed and re-opened, the port is reset back to 3099. PSC00334553 ============================= When using an external directory in a projects PROPATH, code completion will no longer work. PSC00333343 ============================= Library conflict when generating .war files using the following wizards: 1. Export REST Application 2. Export Data Object Web Application 3. Export ABL Web Application The war file generated using first two wizards is supported only on traditional OEWebServer and the one generated using the third wizard supported on "Pacific Application Server for OpenEdge". PSC00331579 ============================= PDOSE hang modify some properties of a control and then moving of scroll bar PSC00331577 ============================= Visual designer hangs after moving scrollbar PSC00330235 ============================= If code uses code uses nested built-in ABL functions, the "Organize USING statements" feature can insert excess USING statements. This happens if a token (function name, variable name etc.) has a name matching a known class type in the project, and the token is on the 2nd level of nesting (or deeper). PSC00330210 ============================= Organize USING Statements inserts unused USING if a variable that matches a class name is passed as input parameter to a procedure/method/function call, if the invocation does not qualify the parameter with the INPUT keyword. PSC00330142 ============================= If a .p file defines a function with a buffer parameter, or a .cls file defines a method with a buffer parameter, using the "Organize USING statements" will incorrectly insert the line "USING System.Buffer FROM ASSEMBLY." in the code. PSC00326979 ============================= The Developer Studio Database connections preferences blanks database connections parameters when there are many connections defined. PSC00326558 ============================= Visual Designer hangs when double-clicking event in Properties view PSC00326466 ============================= "Organise USING statements" feature can incorrectly generate statements for generic classes such as 'USING "System.Progress" FROM ASSEMBLY.' This will then stop the code from compiling. PSC00325153 ============================= When executing the ABL Unit Test on UNIX via the command-line, specifying a .JSON configuration file, the "location" setting is not respected. PSC00325022 ============================= When starting up PDSOE is started up using Team Foundation Server, the /.settings/org.eclipse.wst.common.project.facet.core.xml file is checked out and on most occasions never changed. PSC00324538 ============================= prowin32 hangs, spikes memory, crashes when clicking on inherited controls that have been copied and pasted in Visual Designer PSC00324376 ============================= Form is not loaded after modifying the source view of the form and switching back to design view PSC00323245 ============================= Cannot generate REST Invocation file in PDS-OE 11.5, if procedure uses a TABLE-HANDLE. PSC00322149 ============================= If auto bracketing is active, deleting the first bracket also deletes the first character after the bracket PSC00321457 ============================= When a form containing user controls is opened in Visual Designer using the SHIFT-F9 key combination from the source code editor, and Visual Designer is closed without touching any of the user controls. an error message is displayed. If the user clicks on some of the user controls while the form is open in Visual Designer and closes the form, when the form is reopened again using SHIFT-F9 Visual Designer hangs while opening the form. PSC00320838 ============================= The "Automatically add USING statement instead of qualified name" feature enabled in the PSDOE OpenEdge Editor, breaks include files because the feature adds USING statements at the top of the include file thus preventing the code of the containing procedure or class from correctly compiling. PSC00318994 ============================= In the Developer studio, when adding a trigger via the AppBuilder integration, other pieces of code can go missing/be lost PSC00318368 ============================= When editing a FreeForm Widget in Developer Studio it is a bit cumbersome because every time a character is typed there is a delay and it will sometimes miss several characters. PSC00318225 ============================= Unable to use Path Variables to define a relative Build Destination path. PSC00315588 ============================= After adding multiple fields to a frame in the AppBuilder UI, only the field with the highest alphanumeric name appears in the Outline View. This problem only persists until the procedure has been saved, closed and re-opened. PSC00313909 ============================= When developing with a SmartDataViewer in OE 11.4 PDSOE IDE and selecting the ADM2 DB Fields palette option, the following message is displayed: --------------------------- You must have at least one connected database to add DB Fields. Do you want to connect to a database? OK Cancel --------------------------- The issue is that a database is already connected through the _idestartup.p hook (and not through the Project Properties - Database Connections section), so the above message should not display (and force you to create a dummy database connection within the Project Properties - Database Connections section). PSC00313853 ============================= In PDS 11.3x the outline view lists internal procedures and functions in alphabetic order, ignoring CASE. In 11.4, any procedures or functions whose names begin with upper case characters are shown first, in alphabetic order, then lower case names are listed in alphabetic order. PSC00313037 ============================= Progress Developer Studio's auto complete functionality is working and only shows "No Proposals" message PSC00312133 ============================= When associating a verb with an operation in REST Editor, system gets real slow. This happens when the current project has large number of ABL sources that has compilation errors. PSC00305408 ============================= The PDSOE debugger doesn't open include files for debugging if they are contained in linked folders. PSC00294114 ============================= When using the option "Make AppBuilder generated code read-only", this can prevent the user editing code in non-read only sections of code. PSC00261603 ============================= Unable to type in a section above read-only section in Appbuilder generated file. Part of the section or line above the read-only section is also read-only when it shouldn't be. PSC00204286 ============================= In the Developer Studio's "Outline" view the methods are sorted incorrectly. Methods with upper case are sorted first, then lower case second. t. Porting PSC00324969 ============================= Client bkIOWrite error causes database to crash. Error 9450, 3645, 5028. u. QPE PSC00335642 ============================= The SonicMQ Adapter is unavailable within the OpenEdge Explorer / Management on the Linux 64-bit platform. v. REST Adapter PSC00338898 ============================= The ClientContextId is 0 when using the appSecurity-form-oerealm.xml security template for a REST Service. PSC00336842 ============================= The REST Adapter is logging some of the startup messages in the REST Adapter log files as a warning, instead they should be logged as informational messages. PSC00317486 ============================= When using OERealm for security, throwing back a Progress.Lang.AppError from the AppServer OERealm security class does not pass the error back to the REST client. Instead the standard HTML for error 401 is returned. w. Replication PSC00321527 ============================= Replication agent re-syncs instead of terminating when a dsrutil command is executed. PSC00292521 ============================= The status code return by dsrutil is wrong for secondary target regardless of if the secondary target database is up or down. x. Report Builder PSC00315557 ============================= Report Engine (PRORE32.EXE) may crash when printing a single page from the print preview window using the "Print Current Page" button. y. SQL PSC00339957 ============================= Field (column) of type "Array of Decimals" if contains values which are more than the defined size is causing SQL statements to run forever PSC00338158 ============================= GRANT WITH OPTION is not supported for GRANT ON SEQUENCE statement. The current documentation is not clear about this option not being supported. The documentation will be enhanced in a future release. PSC00336493 ============================= If total number of index components for all indexes in a table exceeds 500, then querying such a table may lead to sql engine crash. PSC00329867 ============================= UPDATE statement is not working fine when setting multiple lob columns, few with nulls and few with some non-null data. PSC00329851 ============================= SQL will no longer generate SQL_ERR_INVNUMSTR error when a join condition compares integer data type with character data type. PSC00325269 ============================= Permissions are not revoked when the grantor and the grantee are same user. PSC00323979 ============================= When converting an 0 (zero) into a bit data-type using CAST function, it fails with error 7481. Example: SELECT cast(0 as bit) FROM pub.customer PSC00321432 ============================= Join on Table with Derived table where 1) the derived table has UNION of two tables and 2) The Join contains ALL keyword in WHERE clause throws the following Internal Error. === SQL Exception 1 === SQLState=HY000 ErrorCode=-211022 [DataDirect][OpenEdge JDBC Driver][OpenEdge] Encountered internal error in SQL ENGINE at 4045 in /vobs_sql/sql/src/progstub/pro_cache.cxx. Contact Progress Technical Support PSC00319199 ============================= Broker detects death of a _sqlsrv2 server when the ports are being scanned by a 3rd party port scanning software. PSC00297919 ============================= For TP tables, BEFORE UPDATE triggers are not allowed to modify partition key column values. PSC00224136 ============================= SQL Server does not return DhSQLException.MESSAGE_TEXT **************************************** While executing a stored procedure/trigger, if a DhSQLException is encountered then SQL fails to return the error message defined in DhSQLException object. z. Security PSC00335661 ============================= Webclient application is crashing randomly after applying Hotfix 10.2B0836 when connecting to an AIA via TLS and when refreshing a browse. PSC00326351 ============================= You may get the following error when auditing in enabled and you perform an operation that would be audited via a SQL connection: Integrity constraint violation:uniqueness constraint violation (7518) {. Server Technology PSC00337431 ============================= When using CANCEL-REQUESTS to cancel outstanding ASYNC requests while connected to the AppServer via Aia, the session crashes. This problem does not occur on 11.5.1, but it does occur in 10.2B0841, 11.3.2 & 11.4 clients. Below is the stack trace from protrace when the crash occurs: csnet_conn csnet_send_stop_msg ubcExit ub_cleanup_connhdl ub_setStop ub_emptySendQueue csopenGetRequest csopenCancelRequests rncs_cancelRequests umServGetAttr umSuperGetAttr ioGetAttribute rnwdatrEval PSC00326235 ============================= Due to the POODLE vulnerability SSLv3 is being disabled on all web servers. The current implementation of the OpenEdge client only supports SSLv3 hello messages, so if a web server is running in strict mode (only allowing TLS hello messages), the connection to the web server will fail. |. Web Services Adapter PSC00318499 ============================= When using the RETURN ERROR statement with a Web Service procedure, the WSA response gets double escaped. }. WebClient PSC00338882 ============================= If a WebClient application supports both 32-bit and 64-bit WebClient, it is necessary for the application vendor to provide the WebClient Application Assembler with separate URLs for downloading 32-bit and 64-bit WebClient. However, WebClient Deployment Packager does not contain a field for the user to modify the 64-bit WebClient installer URL. PSC00320774 ============================= Uninstalling a WebClient application with a Personal install of 32-bit WebClient on a 64-bit Windows will not uninstall completely if it has System Tasks. The application will be removed, but any System Tasks will not be undone (e.g. shortcuts, unregistering DLLs). ~. WebSpeed PSC00340240 ============================= Pdf file gets corrupted when being uploaded with wsisa.dll messenger. PSC00337475 ============================= wsisa.dll messenger fails when setting loggingLevel > 0 PSC00329894 ============================= WebSpeed agent may receive new request while processing WAIT-FOR on the currently running request PSC00325183 ============================= WebSpeed agent randomly choose the log file sequence after restart of the broker. The last written log file is skipped and writes to much lower sequence number associated wit the log file. PSC00324981 ============================= Webpage with large form submit causes wsasp.dll to crash IIS webserver. PSC00312946 ============================= hen uploading a file to WebSpeed, the get-cgi() function is broken, and returns a lower-case version of the HTTP_USER_AGENT CGI variable. --------------------------------------- Third Party Acknowledgments --------------------------------------- Release Notes - Documentation Third Party Acknowledgements Copyright (c) 2015 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. One or more products in the Progress OpenEdge v11.6 release includes third party components covered by licenses that require that the following documentation notices be provided. If changes in third party components occurred for the current release of the Product, the following Third Party Acknowledgements may contain notice updates to any earlier versions provided in documentation or README file. Progress OpenEdge v11.6 may incorporate ANT v1.5.4. Such technology is subject to the following terms and conditions: The Apache Software License, Version 1.1, applies to all versions of up to ant 1.6.0 included. The Apache Software License, Version 1.1 - Copyright (C) 2000-2003 The Apache Software Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: "This product includes software developed by the Apache Software Foundation (http://www.apache.org/)." Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. 4. The names "Ant" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org. 5. Products derived from this software may not be called "Apache", nor may "Apache" appear in their name, without prior written permission of the Apache Software Foundation. THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation. For more information on the Apache Software Foundation, please see . Progress OpenEdge v11.6 may incorporate Apache Avalon 2002/08/06, Apache Batik v1.1, Apache Jakarta POI v1.1, Apache POI 2003/05/14, Regexp (Pure Java Regular Expression) v1.2, and XMLTask v1.15.1 from The Apache Software Foundation. Such technologies are subject to the following terms and conditions: The Apache Software License, Version 1.1 Copyright (c) 2000 The Apache Software Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: "This product includes software developed by the Apache Software Foundation (http://www.apache.org/)." Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. 4. The names "Apache" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org. 5. Products derived from this software may not be called "Apache", nor may "Apache" appear in their name, without prior written permission of the Apache Software Foundation. THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation. For more information on the Apache Software Foundation, please see . Portions of this software are based upon public domain software originally written at the National Center for Supercomputing Applications, University of Illinois, Urbana-Champaign. Progress OpenEdge v11.6 may incorporate Apache JAXP v1.3.04 from The Apache Software Foundation. Such technology is subject to the following terms and conditions: The Apache Software License, Version 1.1 Copyright (c) 1999-2003 The Apache Software Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: "This product includes software developed by the Apache Software Foundation (http://www.apache.org/)." Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. 4. The names "Xalan" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org. 5. Products derived from this software may not be called "Apache", nor may "Apache" appear in their name, without prior written permission of the Apache Software Foundation. THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation and was originally based on software copyright (c) 1999, Lotus Development Corporation., http://www.lotus.com. For more information on the Apache Software Foundation, please see http://www.apache.org/. Progress OpenEdge v11.6 may incorporate Crimson v1.1.3 (as part of 1PDT Progress Extensions for Eclipse (PEX) v2.4.3). Such technology is subject to the following terms and conditions: The Apache Software License, Version 1.1 Copyright (c) 1999-2003 The Apache Software Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: "This product includes software developed by the Apache Software Foundation (http://www.apache.org/)." Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. 4. The names "Xerces" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org. 5. Products derived from this software may not be called "Apache", nor may "Apache" appear in their name, without prior written permission of the Apache Software Foundation. THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation and was originally based on software copyright (c) 1999, International Business Machines, Inc., http://www.ibm.com. For more information on the Apache Software Foundation, please see . Progress OpenEdge v11.6 may incorporate jfor v0.7.2 from jfor. Such technology is subject to the following terms and conditions: jfor Apache-Style Software License. Copyright (c) 2002 by the jfor project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: "This product includes software developed by the jfor project (http://www.jfor.org)." Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. 4. The name "jfor" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact info@jfor.org. 5. Products derived from this software may not be called "jfor", nor may "jfor" appear in their name, without prior written permission of info@jfor.org. THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE JFOR PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Progress OpenEdge v11.6 may incorporate Apache LogKit v1.2 from The Apache Software Foundation. Such technologies are subject to the following terms and conditions: The Apache Software License, Version 1.1 -- Copyright (C) 1997-2003 The Apache Software Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: "This product includes software developed by the Apache Software Foundation (http://www.apache.org/)." Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. 4. The names "LogKit", "Jakarta" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org. 5. Products derived from this software may not be called "Apache", nor may "Apache" appear in their name, without prior written permission of the Apache Software Foundation. THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation. For more information on the Apache Software Foundation, please see . Progress OpenEdge v11.6 may incorporate Xerces for Java XML Parser v2.6.2. Such technology is subject to the following terms and conditions: The Apache Software License, Version 1.1 Copyright (c) 1999 The Apache Software Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: "This product includes software developed by the Apache Software Foundation (http://www.apache.org/)." Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. 4. The names "Xerces" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org. 5. Products derived from this software may not be called "Apache", nor may "Apache" appear in their name, without prior written permission of the Apache Software Foundation. THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation and was originally based on software copyright (c) 1999, International Business Machines, Inc., http://www.ibm.com. For more information on the Apache Software Foundation, please see . Progress OpenEdge v11.6 may incorporate SOAP v2.3.1 from Apache Foundation. Such technology is subject to the following terms and conditions: The Apache Software License, Version 1.1 Copyright (c) 1999 The Apache Software Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: "This product includes software developed by the Apache Software Foundation (http://www.apache.org/)." Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. 4. The names "SOAP" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org. 5. Products derived from this software may not be called "Apache", nor may "Apache" appear in their name, without prior written permission of the Apache Software Foundation. THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation. For more information on the Apache Software Foundation, please see . Progress OpenEdge v11.6 may incorporate ANTLR (Another Tool for Language Recognition) v2.7.6. Such technology is subject to the following terms and conditions: ANTLR 3 License [The BSD License] Copyright (c) 2003-2006, Terence Parr All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Progress OpenEdge v11.6 may incorporate Castor v0.9.3 from castor.org. Such technology is subject to the following terms and conditions: Original Intalio license - Copyright 1999-2004 (C) Intalio Inc., and others. All Rights Reserved. Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain copyright statements and notices. Redistributions must also contain a copy of this document. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name "ExoLab" must not be used to endorse or promote products derived from this Software without prior written permission of Intalio Inc. For written permission, please contact info@exolab.org. 4. Products derived from this Software may not be called "Castor" nor may "Castor" appear in their names without prior written permission of Intalio Inc. Exolab, Castor and Intalio are trademarks of Intalio Inc. 5. Due credit should be given to the ExoLab Project (http://www.exolab.org/). THIS SOFTWARE IS PROVIDED BY INTALIO AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTALIO OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Progress OpenEdge v11.6 may incorporate Decimal Conversion Code (dtoa.c; g_fmt.c; rnd_prod.s; decstrod.c; decstrtof.c; dmisc.c; gdtoa.c; gdtoa.h; gdtoaimp.h; gethex.c; gmisc.c; hd_init.c; misc.c; smisc.c; strtodg.c; strtord.c; sum.c; ulp.c). Such technologies are subject to the following terms and conditions: dtoa.c License: The author of this software is David M. Gay. Copyright (c) 1991, 2000, 2001 by Lucent Technologies. Permission to use, copy, modify, and distribute this software for any purpose without fee is hereby granted, provided that this entire notice is included in all copies of any software which is or includes a copy or modification of this software and in all copies of the supporting documentation for such software. THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. g_fmt.c License: The author of this software is David M. Gay. Copyright (c) 1991, 1996 by Lucent Technologies. Permission to use, copy, modify, and distribute this software for any purpose without fee is hereby granted, provided that this entire notice is included in all copies of any software which is or includes a copy or modification of this software and in all copies of the supporting documentation for such software. THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. rnd_prod.s License: The author of this software is David M. Gay. Copyright (c) 1991 by Lucent Technologies. Permission to use, copy, modify, and distribute this software for any purpose without fee is hereby granted, provided that this entire notice is included in all copies of any software which is or includes a copy or modification of this software and in all copies of the supporting documentation for such software. THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. decstrtod.c License: The author of this software is David M. Gay. Copyright (C) 1998-2001 by Lucent Technologies All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent or any of its entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. decstrtof.c License: The author of this software is David M. Gay. Copyright (C) 1998, 2000 by Lucent Technologies All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent or any of its entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. dmisc.c License: The author of this software is David M. Gay. Copyright (C) 1998 by Lucent Technologies All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent or any of its entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. gdtoa.c License: The author of this software is David M. Gay. Copyright (C) 1998, 1999 by Lucent Technologies All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent or any of its entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. gdtoa.h License: The author of this software is David M. Gay. Copyright (C) 1998 by Lucent Technologies All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent or any of its entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. gdtoaimp.h License: The author of this software is David M. Gay. Copyright (C) 1998-2000 by Lucent Technologies All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent or any of its entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. gethex.c License: The author of this software is David M. Gay. Copyright (C) 1998 by Lucent Technologies All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent or any of its entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. gmisc.c License: The author of this software is David M. Gay. Copyright (C) 1998 by Lucent Technologies All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent or any of its entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. hd_init.c License: The author of this software is David M. Gay. Copyright (C) 2000 by Lucent Technologies All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent or any of its entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. misc.c License: The author of this software is David M. Gay. Copyright (C) 1998, 1999 by Lucent Technologies All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent or any of its entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. smisc.c License: The author of this software is David M. Gay. Copyright (C) 1998, 1999 by Lucent Technologies All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent or any of its entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. strtodg.c License: The author of this software is David M. Gay. Copyright (C) 1998-2001 by Lucent Technologies All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent or any of its entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. strtord.c License: The author of this software is David M. Gay. Copyright (C) 1998, 2000 by Lucent Technologies All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent or any of its entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. sum.c License: The author of this software is David M. Gay. Copyright (C) 1998 by Lucent Technologies All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent or any of its entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ulp.c License: The author of this software is David M. Gay. Copyright (C) 1998, 1999 by Lucent Technologies All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent or any of its entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Progress OpenEdge v11.6 may incorporate DOM4J v1.6.1 from MetaStuff, Ltd. Such technology is subject to the following terms and conditions: Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain copyright statements and notices. Redistributions must also contain a copy of this document. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name "DOM4J" must not be used to endorse or promote products derived from this Software without prior written permission of MetaStuff, Ltd. For written permission, please contact dom4j-info@metastuff.com. 4. Products derived from this Software may not be called "DOM4J" nor may "DOM4J" appear in their names without prior written permission of MetaStuff, Ltd. DOM4J is a registered trademark of MetaStuff, Ltd. 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Progress OpenEdge v11.6 may incorporate GraphicsMagick v1.3.14 from GraphicsMagick Group. Such technology is subject to the following terms and conditions: .. This text is in reStucturedText format, so it may look a bit odd. .. See http://docutils.sourceforge.net/rst.html for details. ====================================== GraphicsMagick Copyrights and Licenses ====================================== This file is part of the GraphicsMagick software distributed by the GraphicsMagick Group. [*Please note that the legal community considers 15 or more total lines of code or text (not necessarily contiguous) to be significant for the purposes of copyright. Repeated changes such as renaming a symbol has similar significance to changing one line of code.*] The licenses which components of this software fall under are as follows. 1) In November 2002, the GraphicsMagick Group created GraphicsMagick from ImageMagick Studio's ImageMagick and applied the "MIT" style license: Copyright (C) 2002 - 2012 GraphicsMagick Group Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 2) In October 1999, ImageMagick Studio assumed the responsibility for the development of ImageMagick (forking from the distribution by E. I. du Pont de Nemours and Company) and applied a new license: Copyright (C) 2002 ImageMagick Studio, a non-profit organization dedicated to making software imaging solutions freely available. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files ("ImageMagick"), to deal in ImageMagick without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of ImageMagick, and to permit persons to whom the ImageMagick is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of ImageMagick. The software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall ImageMagick Studio be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with ImageMagick or the use or other dealings in ImageMagick. Except as contained in this notice, the name of the ImageMagick Studio shall not be used in advertising or otherwise to promote the sale, use or other dealings in ImageMagick without prior written authorization from the ImageMagick Studio. 3) From 1991 to October 1999 (through ImageMagick 4.2.9), ImageMagick was developed and distributed by E. I. du Pont de Nemours and Company: Copyright 1999 E. I. du Pont de Nemours and Company Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files ("ImageMagick"), to deal in ImageMagick without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of ImageMagick, and to permit persons to whom the ImageMagick is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of ImageMagick. The software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall E. I. du Pont de Nemours and Company be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with ImageMagick or the use or other dealings in ImageMagick. Except as contained in this notice, the name of the E. I. du Pont de Nemours and Company shall not be used in advertising or otherwise to promote the sale, use or other dealings in ImageMagick without prior written authorization from the E. I. du Pont de Nemours and Company. 4) The GraphicsMagick Base64Decode() and Base64Encode() functions are based on source code obtained from OpenSSH. This source code is distributed under the following license: Copyright (c) 2000 Markus Friedl. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE AUTHOR \`\`AS IS\'\' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 5) Many of the pattern images in coders/logo.c are derived from XFig, which is distributed under the following license: | FIG : Facility for Interactive Generation of figures | Copyright (c) 1985-1988 by Supoj Sutanthavibul | Parts Copyright (c) 1989-2000 by Brian V. Smith | Parts Copyright (c) 1991 by Paul King Any party obtaining a copy of these files is granted, free of charge, a full and unrestricted irrevocable, world-wide, paid up, royalty-free, nonexclusive right and license to deal in this software and documentation files (the "Software"), including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons who receive copies from any such party to do so, with the only requirement being that this copyright notice remain intact. 6) The documentation for the composition operators is copied from the rlecomp manual page, which is authored by Rod Bogart and John W. Peterson. Rlecomp is part of the Utah Raster Toolkit distributed by the University of Michigan and the University of Utah. The copyright for this manual page is as follows: Copyright (c) 1986, University of Utah This software is copyrighted as noted below. It may be freely copied, modified, and redistributed, provided that the copyright notice is preserved on all copies. There is no warranty or other guarantee of fitness for this software, it is provided solely "as is". Bug reports or fixes may be sent to the author, who may or may not act on them as he desires. You may not include this software in a program or other software product without supplying the source, or without informing the end-user that the source is available for no extra charge. If you modify this software, you should include a notice giving the name of the person performing the modification, the date of modification, and the reason for such modification. 7) The source code comprising swab.c is originally derived from libtiff which has the following license: | Copyright (c) 1988-1997 Sam Leffler | Copyright (c) 1991-1997 Silicon Graphics, Inc. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that (i) the above copyright notices and this permission notice appear in all copies of the software and related documentation, and (ii) the names of Sam Leffler and Silicon Graphics may not be used in any advertising or publicity relating to the software without the specific, prior written permission of Sam Leffler and Silicon Graphics. THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 8) The C++ API known as "Magick++", and which resides in the Magick++ directory, is distributed under the following license: Copyright 1999 - 2003 Bob Friesenhahn Permission is hereby granted, free of charge, to any person obtaining a copy of the source files and associated documentation files ("Magick++"), to deal in Magick++ without restriction, including without limitation of the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of Magick++, and to permit persons to whom the Magick++ is furnished to do so, subject to the following conditions: This copyright notice shall be included in all copies or substantial portions of Magick++. The copyright to Magick++ is retained by its author and shall not be subsumed or replaced by any other copyright. The software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall Bob Friesenhahn be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with Magick++ or the use or other dealings in Magick++. 9) The GraphicsMagick HaldClutImagePixels() function in magick/hclut.c is based on source code from the HaldCLUT package by Eskil Steenberg (http://www.quelsolaar.com/technology/clut.html) which is distributed under the following license: Copyright (c) 2005 Eskil Steenberg. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE AUTHOR \`\`AS IS\'\' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 10) GraphicsMagick makes use of third-party "delegate" libraries to support certain optional features. These libraries bear their own copyrights and licenses, which may be more or less restrictive than the GraphicsMagick license. For convenience, when GraphicsMagick is bundled with (or compiled with) "delegate" libraries, a copy of the licenses for these libraries is provided in a "licenses" directory. -------------------------------------------------------------------------- ... |copy| unicode:: U+000A9 .. COPYRIGHT SIGN Copyright |copy| GraphicsMagick Group 2002 - 2011 OVERVIEW and LEGAL ISSUES from jpeg.txt file (from GraphicsMagick): The Independent JPEG Group's JPEG software ========================================== README for release 6b of 27-Mar-1998 ==================================== This distribution contains the sixth public release of the Independent JPEG Group's free JPEG software. You are welcome to redistribute this software and to use it for any purpose, subject to the conditions under LEGAL ISSUES, below. Serious users of this software (particularly those incorporating it into larger programs) should contact IJG at jpeg-info@uunet.uu.net to be added to our electronic mailing list. Mailing list members are notified of updates and have a chance to participate in technical discussions, etc. This software is the work of Tom Lane, Philip Gladstone, Jim Boucher, Lee Crocker, Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi, Guido Vollbeding, Ge' Weijers, and other members of the Independent JPEG Group. IJG is not affiliated with the official ISO JPEG standards committee. OVERVIEW ======== This package contains C software to implement JPEG image compression and decompression. JPEG (pronounced "jay-peg") is a standardized compression method for full-color and gray-scale images. JPEG is intended for compressing "real-world" scenes; line drawings, cartoons and other non-realistic images are not its strong suit. JPEG is lossy, meaning that the output image is not exactly identical to the input image. Hence you must not use JPEG if you have to have identical output bits. However, on typical photographic images, very good compression levels can be obtained with no visible change, and remarkably high compression levels are possible if you can tolerate a low-quality image. For more details, see the references, or just experiment with various compression settings. This software implements JPEG baseline, extended-sequential, and progressive compression processes. Provision is made for supporting all variants of these processes, although some uncommon parameter settings aren't implemented yet. For legal reasons, we are not distributing code for the arithmetic-coding variants of JPEG; see LEGAL ISSUES. We have made no provision for supporting the hierarchical or lossless processes defined in the standard. We provide a set of library routines for reading and writing JPEG image files, plus two sample applications "cjpeg" and "djpeg", which use the library to perform conversion between JPEG and some other popular image file formats. The library is intended to be reused in other applications. In order to support file conversion and viewing software, we have included considerable functionality beyond the bare JPEG coding/decoding capability; for example, the color quantization modules are not strictly part of JPEG decoding, but they are essential for output to colormapped file formats or colormapped displays. These extra functions can be compiled out of the library if not required for a particular application. We have also included "jpegtran", a utility for lossless transcoding between different JPEG processes, and "rdjpgcom" and "wrjpgcom", two simple applications for inserting and extracting textual comments in JFIF files. The emphasis in designing this software has been on achieving portability and flexibility, while also making it fast enough to be useful. In particular, the software is not intended to be read as a tutorial on JPEG. (See the REFERENCES section for introductory material.) Rather, it is intended to be reliable, portable, industrial-strength code. We do not claim to have achieved that goal in every aspect of the software, but we strive for it. We welcome the use of this software as a component of commercial products. No royalty is required, but we do ask for an acknowledgement in product documentation, as described under LEGAL ISSUES. LEGAL ISSUES ============ In plain English: 1. We don't promise that this software works. (But if you find any bugs, please let us know!) 2. You can use this software for whatever you want. You don't have to pay us. 3. You may not pretend that you wrote this software. If you use it in a program, you must acknowledge somewhere in your documentation that you've used the IJG code. In legalese: The authors make NO WARRANTY or representation, either express or implied, with respect to this software, its quality, accuracy, merchantability, or fitness for a particular purpose. This software is provided "AS IS", and you, its user, assume the entire risk as to its quality and accuracy. This software is copyright (C) 1991-1998, Thomas G. Lane. All Rights Reserved except as specified below. Permission is hereby granted to use, copy, modify, and distribute this software (or portions thereof) for any purpose, without fee, subject to these conditions: (1) If any part of the source code for this software is distributed, then this README file must be included, with this copyright and no-warranty notice unaltered; and any additions, deletions, or changes to the original files must be clearly indicated in accompanying documentation. (2) If only executable code is distributed, then the accompanying documentation must state that "this software is based in part on the work of the Independent JPEG Group". (3) Permission for use of this software is granted only if the user accepts full responsibility for any undesirable consequences; the authors accept NO LIABILITY for damages of any kind. These conditions apply to any software derived from or based on the IJG code, not just to the unmodified library. If you use our work, you ought to acknowledge us. Permission is NOT granted for the use of any IJG author's name or company name in advertising or publicity relating to this software or products derived from it. This software may be referred to only as "the Independent JPEG Group's software". We specifically permit and encourage the use of this software as the basis of commercial products, provided that all warranty or liability claims are assumed by the product vendor. ansi2knr.c is included in this distribution by permission of L. Peter Deutsch, sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA. ansi2knr.c is NOT covered by the above copyright and conditions, but instead by the usual distribution terms of the Free Software Foundation; principally, that you must include source code if you redistribute it. (See the file ansi2knr.c for full details.) However, since ansi2knr.c is not needed as part of any program generated from the IJG code, this does not limit you more than the foregoing paragraphs do. The Unix configuration script "configure" was produced with GNU Autoconf. It is copyright by the Free Software Foundation but is freely distributable. The same holds for its supporting scripts (config.guess, config.sub, ltconfig, ltmain.sh). Another support script, install-sh, is copyright by M.I.T. but is also freely distributable. It appears that the arithmetic coding option of the JPEG spec is covered by patents owned by IBM, AT&T, and Mitsubishi. Hence arithmetic coding cannot legally be used without obtaining one or more licenses. For this reason, support for arithmetic coding has been removed from the free JPEG software. (Since arithmetic coding provides only a marginal gain over the unpatented Huffman mode, it is unlikely that very many implementations will support it.) So far as we are aware, there are no patent restrictions on the remaining code. The IJG distribution formerly included code to read and write GIF files. To avoid entanglement with the Unisys LZW patent, GIF reading support has been removed altogether, and the GIF writer has been simplified to produce "uncompressed GIFs". This technique does not use the LZW algorithm; the resulting GIF files are larger than usual, but are readable by all standard GIF decoders. We are required to state that "The Graphics Interchange Format(c) is the Copyright property of CompuServe Incorporated. GIF(sm) is a Service Mark property of CompuServe Incorporated." Contents of png.txt file (from GraphicsMagick): This copy of the libpng notices is provided for your convenience. In case of any discrepancy between this copy and the notices in the file png.h that is included in the libpng distribution, the latter shall prevail. COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: If you modify libpng you may insert additional notices immediately following this sentence. libpng versions 1.0.7, July 1, 2000, through 1.2.0, September 1, 2001, are Copyright (c) 2000 Glenn Randers-Pehrson and are distributed according to the same disclaimer and license as libpng-1.0.6 with the following individuals added to the list of Contributing Authors Simon-Pierre Cadieux Eric S. Raymond Gilles Vollant and with the following additions to the disclaimer: There is no warranty against interference with your enjoyment of the library or against infringement. There is no warranty that our efforts or the library will fulfill any of your particular purposes or needs. This library is provided with all faults, and the entire risk of satisfactory quality, performance, accuracy, and effort is with the user. libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are distributed according to the same disclaimer and license as libpng-0.96, with the following individuals added to the list of Contributing Authors: Tom Lane Glenn Randers-Pehrson Willem van Schaik libpng versions 0.89, June 1996, through 0.96, May 1997, are Copyright (c) 1996, 1997 Andreas Dilger Distributed according to the same disclaimer and license as libpng-0.88, with the following individuals added to the list of Contributing Authors: John Bowler Kevin Bracey Sam Bushell Magnus Holmgren Greg Roelofs Tom Tanner libpng versions 0.5, May 1995, through 0.88, January 1996, are Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. For the purposes of this copyright and license, "Contributing Authors" is defined as the following set of individuals: Andreas Dilger Dave Martindale Guy Eric Schalnat Paul Schmidt Tim Wegner The PNG Reference Library is supplied "AS IS". The Contributing Authors and Group 42, Inc. disclaim all warranties, expressed or implied, including, without limitation, the warranties of merchantability and of fitness for any purpose. The Contributing Authors and Group 42, Inc. assume no liability for direct, indirect, incidental, special, exemplary, or consequential damages, which may result from the use of the PNG Reference Library, even if advised of the possibility of such damage. Permission is hereby granted to use, copy, modify, and distribute this source code, or portions hereof, for any purpose, without fee, subject to the following restrictions: 1. The origin of this source code must not be misrepresented. 2. Altered versions must be plainly marked as such and must not be misrepresented as being the original source. 3. This Copyright notice may not be removed or altered from any source or altered source distribution. The Contributing Authors and Group 42, Inc. specifically permit, without fee, and encourage the use of this source code as a component to supporting the PNG file format in commercial products. If you use this source code in a product, acknowledgment is not required but would be appreciated. A "png_get_copyright" function is available, for convenient use in "about" boxes and the like: printf("%s",png_get_copyright(NULL)); Also, the PNG logo (in PNG format, of course) is supplied in the files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31). Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a certification mark of the Open Source Initiative. Glenn Randers-Pehrson randeg@alum.rpi.edu September 1, 2001 Contents of tiff.txt file (from GraphicsMagick): Copyright (c) 1988-1997 Sam Leffler Copyright (c) 1991-1997 Silicon Graphics, Inc. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that (i) the above copyright notices and this permission notice appear in all copies of the software and related documentation, and (ii) the names of Sam Leffler and Silicon Graphics may not be used in any advertising or publicity relating to the software without the specific, prior written permission of Sam Leffler and Silicon Graphics. THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Contents of zlib.txt file (from GraphicsMagick): zlib 1.1.3 is a general purpose data compression library. All the code is thread safe. The data format used by the zlib library is described by RFCs (Request for Comments) 1950 to 1952 in the files ftp://ds.internic.net/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format). These documents are also available in other formats from ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html All functions of the compression library are documented in the file zlib.h (volunteer to write man pages welcome, contact jloup@gzip.org). A usage example of the library is given in the file example.c which also tests that the library is working correctly. Another example is given in the file minigzip.c. The compression library itself is composed of all source files except example.c and minigzip.c. To compile all files and run the test program, follow the instructions given at the top of Makefile. In short "make test; make install" should work for most machines. For Unix: "configure; make test; make install" For MSDOS, use one of the special makefiles such as Makefile.msc. For VMS, use Make_vms.com or descrip.mms. Questions about zlib should be sent to , or to Gilles Vollant for the Windows DLL version. The zlib home page is http://www.cdrom.com/pub/infozip/zlib/ The official zlib ftp site is ftp://ftp.cdrom.com/pub/infozip/zlib/ Before reporting a problem, please check those sites to verify that you have the latest version of zlib; otherwise get the latest version and check whether the problem still exists or not. Mark Nelson wrote an article about zlib for the Jan. 1997 issue of Dr. Dobb's Journal; a copy of the article is available in http://web2.airmail.net/markn/articles/zlibtool/zlibtool.htm The changes made in version 1.1.3 are documented in the file ChangeLog. The main changes since 1.1.2 are: - fix "an inflate input buffer bug that shows up on rare but persistent occasions" (Mark) - fix gzread and gztell for concatenated .gz files (Didier Le Botlan) - fix gzseek(..., SEEK_SET) in write mode - fix crc check after a gzeek (Frank Faubert) - fix miniunzip when the last entry in a zip file is itself a zip file (J Lillge) - add contrib/asm586 and contrib/asm686 (Brian Raiter) See http://www.muppetlabs.com/~breadbox/software/assembly.html - add support for Delphi 3 in contrib/delphi (Bob Dellaca) - add support for C++Builder 3 and Delphi 3 in contrib/delphi2 (Davide Moretti) - do not exit prematurely in untgz if 0 at start of block (Magnus Holmgren) - use macro EXTERN instead of extern to support DLL for BeOS (Sander Stoks) - added a FAQ file plus many changes for portability. Unsupported third party contributions are provided in directory "contrib". A Java implementation of zlib is available in the Java Development Kit 1.1 http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html See the zlib home page http://www.cdrom.com/pub/infozip/zlib/ for details. A Perl interface to zlib written by Paul Marquess is in the CPAN (Comprehensive Perl Archive Network) sites, such as: ftp://ftp.cis.ufl.edu/pub/perl/CPAN/modules/by-module/Compress/Compress-Zlib* A Python interface to zlib written by A.M. Kuchling is available in Python 1.5 and later versions, see http://www.python.org/doc/lib/module-zlib.html A zlib binding for TCL written by Andreas Kupries is availlable at http://www.westend.com/~kupries/doc/trf/man/man.html An experimental package to read and write files in .zip format, written on top of zlib by Gilles Vollant , is available at http://www.winimage.com/zLibDll/unzip.html and also in the contrib/minizip directory of zlib. Notes for some targets: - To build a Windows DLL version, include in a DLL project zlib.def, zlib.rc and all .c files except example.c and minigzip.c; compile with -DZLIB_DLL The zlib DLL support was initially done by Alessandro Iacopetti and is now maintained by Gilles Vollant . Check the zlib DLL home page at http://www.winimage.com/zLibDll From Visual Basic, you can call the DLL functions which do not take a structure as argument: compress, uncompress and all gz* functions. See contrib/visual-basic.txt for more information, or get http://www.tcfb.com/dowseware/cmp-z-it.zip - For 64-bit Irix, deflate.c must be compiled without any optimization. With -O, one libpng test fails. The test works in 32 bit mode (with the -n32 compiler flag). The compiler bug has been reported to SGI. - zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1 it works when compiled with cc. - on Digital Unix 4.0D (formely OSF/1) on AlphaServer, the cc option -std1 is necessary to get gzprintf working correctly. This is done by configure. - zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with other compilers. Use "make test" to check your compiler. - gzdopen is not supported on RISCOS, BEOS and by some Mac compilers. - For Turbo C the small model is supported only with reduced performance to avoid any far allocation; it was tested with -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3 - For PalmOs, see http://www.cs.uit.no/~perm/PASTA/pilot/software.html Per Harald Myrvang Acknowledgments: The deflate format used by zlib was defined by Phil Katz. The deflate and zlib specifications were written by L. Peter Deutsch. Thanks to all the people who reported problems and suggested various improvements in zlib; they are too numerous to cite here. Copyright notice: (C) 1995-1998 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. Jean-loup Gailly Mark Adler jloup@gzip.org madler@alumni.caltech.edu If you use the zlib library in a product, we would appreciate *not* receiving lengthy legal documents to sign. The sources are provided for free but without warranty of any kind. The library has been entirely written by Jean-loup Gailly and Mark Adler; it does not include third-party code. If you redistribute modified sources, we would appreciate that you include in the file ChangeLog history information documenting your changes. Progress OpenEdge v11.6 may incorporate International Classes for Unicode (International Components for Unicode) v2.4 from IBM. Such technology is subject to the following terms and conditions: ICU License - The ICU project is licensed under the X License (see also the x.org original), which is compatible with GPL but non-copyleft. The license allows ICU to be incorporated into a wide variety of software projects using the GPL license. The X license is compatible with the GPL, while also allowing ICU to be incorporated into non-open source products. License ICU License - ICU 1.8.1 and later COPYRIGHT AND PERMISSION NOTICE Copyright (c) 1995-2003 International Business Machines Corporation and others All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, provided that the above copyright notice(s) and this permission notice appear in all copies of the Software and that both the above copyright notice(s) and this permission notice appear in supporting documentation. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder. ------------------------------------------------------------------------- All trademarks and registered trademarks mentioned herein are the property of their respective owners. Progress OpenEdge v11.6 may incorporate International Components for Unicode v4.8.0. Such technology is subject to the following terms and conditions: ICU License - ICU 1.8.1 and later COPYRIGHT AND PERMISSION NOTICE Copyright (c) 1995-2011 International Business Machines Corporation and others All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, provided that the above copyright notice(s) and this permission notice appear in all copies of the Software and that both the above copyright notice(s) and this permission notice appear in supporting documentation. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder. All trademarks and registered trademarks mentioned herein are the property of their respective owners. Progress OpenEdge v11.6 may incorporate java.net args4j v2.0.12 from Kohsuke Kawaguchi. Such technology is subject to the following terms and conditions: Copyright (c) 2003, Kohsuke Kawaguchi All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: *Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. *Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Progress OpenEdge v11.6 may incorporate Jaxen v1.1-beta-3 from jaxen.org. Such technology is subject to the following terms and conditions: Project License $Id: LICENSE.txt 1128 2006-02-05 21:49:04Z elharo $ Copyright 2003-2006 The Werken Company. All Rights Reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the Jaxen Project nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Progress OpenEdge v11.6 may incorporate Jing 20030619 (as part of 1PDT Progress Extensions for Eclipse (PEX) v2.4.3). Such technology is subject to the following terms and conditions: Jing Copying Conditions. Copyright (c) 2001-2003 Thai Open Source Software Center Ltd. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the Thai Open Source Software Center Ltd nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Third-party JARs - This distribution includes some additional JAR files, which have their own copying conditions: saxon.jar Comes from the Saxon 6.5.2 distribution and is covered by these conditions xercesImpl.jar xml-apis.jar Come from the Xerces-J 2.4.0 distribution and are covered by the Apache Software License isorelax.jar Comes from ISO RELAX 2003/01/08 distribution and is covered by the following license: Copyright (c) 2001-2002, SourceForge ISO-RELAX Project (ASAMI Tomoharu, Daisuke Okajima, Kohsuke Kawaguchi, and MURATA Makoto) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Progress OpenEdge v11.6 may incorporate Sun's Jmaki framework v1.0 and Sun's Jmaki framework v1.0.3 from Sun Microsystems, Inc. Such technology is subject to the following terms and conditions: Copyright 1994-2006 Sun Microsystems, Inc. All Rights Reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistribution of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistribution in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of Sun Microsystems, Inc. or the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission. This software is provided "AS IS," without a warranty of any kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. You acknowledge that this software is not designed, licensed or intended for use in the design, construction, operation or maintenance of any nuclear facility. Progress OpenEdge v11.6 may incorporate Jmaki framework v1.8.0 from Sun Microsystems, Inc. Such technology is subject to the following terms and conditions: Copyright 1994-2006 Sun Microsystems, Inc. All Rights Reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistribution of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistribution in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of Sun Microsystems, Inc. or the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission. This software is provided "AS IS," without a warranty of any kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. You acknowledge that this software is not designed, licensed or intended for use in the design, construction, operation or maintenance of any nuclear facility. Progress OpenEdge v11.6 may incorporate JSTL v1.0 from Sun Microsystems, Inc. Such technologies are subject to the following terms and conditions: Code sample License Copyright 1994-2006 Sun Microsystems, Inc. All Rights Reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistribution of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistribution in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of Sun Microsystems, Inc. or the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission. This software is provided "AS IS," without a warranty of any kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. You acknowledge that this software is not designed, licensed or intended for use in the design, construction, operation or maintenance of any nuclear facility. Progress OpenEdge v11.6 may incorporate Looks v2.1.2 from JGoodies. Such technology is subject to the following terms and conditions: The BSD License for the JGoodies Looks - Copyright (c) 2001-2007 JGoodies Karsten Lentzsch. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: o Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of JGoodies Karsten Lentzsch nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Progress OpenEdge v11.6 may incorporate OpenSSL v1.0.1m from The OpenSSL Project. Such technology is subject to the following terms and conditions: LICENSE ISSUES ============== The OpenSSL toolkit stays under a dual license, i.e. both the conditions of the OpenSSL License and the original SSLeay license apply to the toolkit. See below for the actual license texts. Actually both licenses are BSD-style Open Source licenses. In case of any license issues related to OpenSSL please contact openssl-core@openssl.org. OpenSSL License --------------- Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgment: "This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)" 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact openssl-core@openssl.org. 5. Products derived from this software may not be called "OpenSSL" nor may "OpenSSL" appear in their names without prior written permission of the OpenSSL Project. 6. Redistributions of any form whatsoever must retain the following acknowledgment: "This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)" THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product includes software written by Tim Hudson (tjh@cryptsoft.com). Original SSLeay License ----------------------- Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) All rights reserved. This package is an SSL implementation written by Eric Young (eay@cryptsoft.com). The implementation was written so as to conform with Netscapes SSL. This library is free for commercial and non-commercial use as long as the following conditions are aheared to. The following conditions apply to all code found in this distribution, be it the RC4, RSA, lhash, DES, etc., code; not just the SSL code. The SSL documentation included with this distribution is covered by the same copyright terms except that the holder is Tim Hudson (tjh@cryptsoft.com). Copyright remains Eric Young's, and as such any Copyright notices in the code are not to be removed. If this package is used in a product, Eric Young should be given attribution as the author of the parts of the library used. This can be in the form of a textual message at program startup or in documentation (online or textual) provided with the package. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: "This product includes cryptographic software written by Eric Young (eay@cryptsoft.com)" The word 'cryptographic' can be left out if the rouines from the library being used are not cryptographic related :-). 4. If you include any Windows specific code (or a derivative thereof) from the apps directory (application code) you must include an acknowledgement: "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The licence and distribution terms for any publically available version or derivative of this code cannot be changed. i.e. this code cannot simply be copied and put under another distribution licence [including the GNU Public Licence.] Progress OpenEdge v11.6 may incorporate SLF4J v1.6.2 and SLF4J Log4J v1.6.1 from QOS. Such technology is subject to the following terms and conditions: Copyright (c) 2004-2008 QOS.ch All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Progress OpenEdge v11.6 may incorporate SLF4J v1.7.7 from QOS. Such technology is subject to the following terms and conditions: Copyright (c) 2004-2013 QOS.ch All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Progress OpenEdge v11.6 may incorporate STAX API (JSR 173) v3.1.1 from Woodstox Project. Such technology is subject to the following terms and conditions: Copyright (c) 2004-2010, Woodstox Project (http://woodstox.codehaus.org/)All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the Woodstox XML Processor nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Progress OpenEdge v11.6 may incorporate Trang 20030619 (as part of 1PDT Progress Extensions for Eclipse (PEX) v2.4.3). Such technology is subject to the following terms and conditions: Copyright (c) 2002, 2003 Thai Open Source Software Center Ltd. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the Thai Open Source Software Center Ltd nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Progress OpenEdge v11.6 may incorporate Xpp3 v1.1.3.4 from Indiana University (as part of 1PDT Progress Extensions for Eclipse (PEX) v2.4.3). Such technology is subject to the following terms and conditions: Indiana University Extreme! Lab Software License Version 1.1.1 Copyright (c) 2002 Extreme! Lab, Indiana University. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: "This product includes software developed by the Indiana University Extreme! Lab (http://www.extreme.indiana.edu/)." Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. 4. The names "Indiana Univeristy" and "Indiana Univeristy Extreme! Lab" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact http://www.extreme.indiana.edu/. 5. Products derived from this software may not use "Indiana Univeristy" name nor may "Indiana Univeristy" appear in their name, without prior written permission of the Indiana University. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS, COPYRIGHT HOLDERS OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Progress OpenEdge v11.6 may incorporate XStream v1.3.1 from XStream. Such technology is subject to the following terms and conditions: Copyright (c) 2003-2006, Joe Walnes Copyright (c) 2006-2007, XStream Committers All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of XStream nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Progress OpenEdge v11.6 may incorporate YAJL v0.4.0 from Lloyd Hilaiel. Such technology is subject to the following terms and conditions: Copyright 2007, Lloyd Hilaiel. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of Lloyd Hilaiel nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Progress OpenEdge v11.6 may incorporate GNU ZLIB v1.1.4 and GNU ZLIB v1.2.3 from Jean-loup Gailiy & Mark Alder. Such technology is subject to the following terms and conditions: Copyright notice: (C) 1995-2002 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. Jean-loup Gailly Mark Adler jloup@gzip.org madler@alumni.caltech.edu Progress OpenEdge v11.6 may incorporate ZLIB.NET Free v1.0.4 from ComponentAce. Such technology is subject to the following terms and conditions: Copyright (c) 2006-2007, ComponentAce http://www.componentace.com All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of ComponentAce nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Progress OpenEdge v11.6 may incorporate LALR Parser Generator in Java v0.10k. Such technology is subject to the following terms and conditions: CUP Parser Generator Copyright Notice, License, and Disclaimer - Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian - Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the names of the authors or their employers not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. The authors and their employers disclaim all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall the authors or their employers be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software. Progress OpenEdge v11.6 may incorporate the RSA Data Security, Inc. MD5 Message-Digest Algorithm. Copyright (c)1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. (MD5 Encryption Library v3.0 and MD5 Encryption vMD5C.C) These technologies are subject to the following terms and conditions: RSA Data Security MD5 message-digest algorithm RSA Data Security, Inc. MD5C.C - RSA Data Security, Inc., MD5 message-digest algorithm Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing this software or this function. License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing the derived work. RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind. These notices must be retained in any copies of any part of this documentation and/or software. Updated 9/23/2015