= !MapGuide 2.2 Release Notes = !MapGuide Open Source 2.2 Official Release is now available! * Release wiki: [wiki:Release/2.2] * Milestone: [milestone:2.2 2.2] * [query:?status=closed&group=component&resolution=fixed&milestone=2.2&order=status Resolved Tickets] == Installation == Binaries for Windows and Linux have been posted to OSGeo Windows 32 bit installer packaged in a zip: * [http://download.osgeo.org/mapguide/releases/2.2.0/Release/MapGuideOpenSource-2.2.0.5703-Release.zip MapGuideOpenSource-2.2.0.5703-Release.zip] * size:123,383,930 bytes * md5sum:c59d6afc50ac20f90163e3e743e211c7 Windows 64 bit installer packaged in a zip: * [http://download.osgeo.org/mapguide/releases/2.2.0/Release/MapGuideOpenSource-2.2.0.5703-Release-x64.zip MapGuideOpenSource-2.2.0.5703-Release-x64.zip] * size:123,606,367 bytes * md5sum:19cbe9f862c0eb38641a76738fe0ab1e CentOS 5.4 / !RedHat 5.4 binary tarballs for FDO and !MapGuide: * [http://download.osgeo.org/fdo/3.5.0/release/binaries/linux/fdosdk-centos5-3.5.0.tar.gz fdosdk-centos5-3.5.0.tar.gz] * size:27,082,408 bytes * md5sum:78ee57fd1993794bbbc0e730d8fa64a6 * [http://download.osgeo.org/mapguide/releases/2.2.0/Release/mapguideopensource-2.2.0.5703-centos5.tar.gz mapguideopensource-2.2.0.5703-centos5.tar.gz] * size: 185,288,425 bytes * md5sum:fe908b929d09f66a82afb66caaceac80 Ubuntu 9.10 install script: * Due to compilation limitations, the Ubuntu build is based on CentOS 5.4 binaries. The installation script installs additional Ubuntu packages and creates symlinks to native Ubuntu libraries to resolve package differences between CentOS 5.4 and Ubuntu 9.10. * [http://download.osgeo.org/mapguide/releases/2.2.0/Release/ubuntu9/mginstallubuntu.sh mginstallubuntu.sh] * size:1987 bytes * md5sum:440753be9d36b1ba14ecd4dba50c726d == Fixes from !MapGuide 2.2 RC3 Build == === !MapGuide === * [http://trac.osgeo.org/mapguide/ticket/1601 MgLayer constructor is not thread safe] * [http://trac.osgeo.org/mapguide/ticket/1613 Cannot establish connection with login.php on Ubuntu 10.04 LTS] * [http://trac.osgeo.org/mapguide/ticket/1614 Updated MapGuide Developer's Guide] === Fusion === * [http://trac.osgeo.org/fusion/ticket/428 MapGroup problem with tiled and dynamic mapguide layers] == Major New Items == * GDAL Raster Provider Support. See [http://trac.osgeo.org/mapguide/wiki/MGOS22GdalProvider MapGuide 2.2 GDAL Raster Provider] Thanks to the ever growing team of developers who are contributing to make the !MapGuide Open Source project a more self-sustaining project. Please [wiki:SubmitTicket report any defects]. == Compatibility == Click [wiki:2.2MigrationInstructions here] for instructions on how to migrate to MGOS 2.2 from older releases. MGOS 2.2.0 is compatible with [http://fdo.osgeo.org/content/fdo-350-downloads FDO 3.5.0]. == FDO == FDO is compiled against the Oracle 11.2 instant client available from [http://www.oracle.com/technology/software/tech/oci/instantclient/index.html?rssid=rss_otn_soft Instant Client Downloads]. For a Linux installation, the Oracle shared library path should be included in LD_LIBRARY_PATH or ldconfig. FDO 3.5 (which this release uses) introduces a [http://trac.osgeo.org/fdo/wiki/FDORfc22 simplified CONCAT expression function]. This function is available for theming and filtering purposes. == Installer notes == The installer has been updated to allow for greater customisation of the initial configuration: * User-defined server/web port numbers * User-defined virtual directory name for both Apache and IIS * User-defined Apache port number * The choice of which web site to install the web extensions under (IIS 6.0) Currently the installer is still only 32-bit. == API changes ==#ApiChanges [wiki:MapGuideRfc66 RFC 66] added client side pinging for the !AjaxViewer to keep sessions alive. API changes include a new HTTP GETSESSIONTIMEOUT and !MgSiteConnection.!GetSessionTimeout(). An boolean element was added to !WebLayout. Since these are new APIs, there is no impact on existing code. [wiki:MapGuideRfc70 RFC 70] introduces new API for creating and modifying the schema of a feature source. Delete methods are added to !MgFeatureSchema, !MgClassDefinition and !MgPropertyDefinition. A new !ApplySchema() method was added to !MgFeatureService. A Decimal property was added to !MgPropertyType for schema purposes. Since these are new APIs, there is no impact on existing code. [wiki:MapGuideRfc73 RFC 73] introduces a new !GetResourceContents() API to !MgResourceService. This new functionality is used internally by !MgMap to reduce web extensions / server crosstalk when creating an !MgMap object from a map definition. Since this is new API, there is no impact on existing code. [wiki:MapGuideRfc74 RFC 74] introduces a boolean "cascade" parameter to !MgResourceService.!MoveResource(). If cascade is enabled, dependant resources will be updated to point at the new location for the moved resource. Since this is new API, there is no impact on existing code. [wiki:MapGuideRfc78 RFC 77] allows !MgFeatureService.!CreateFeatureSource() to create a feature source without defining the feature class and spatial context. The previous implementation would throw an !MgInvalidArgumentException. '''This behaviour change may affect existing code.'''[[BR]] [wiki:MapGuideRfc78 RFC 78] introduces explicit transaction management for Feature Service. A new !MgTransaction object is created and !MgFeatureService !ExecuteSqlQuery, !ExecuteSqlNonQuery, and !UpdateFeatures are overloaded to use the new transaction object. Since this is new API, there is no impact on existing code. [wiki:MapGuideRfc79 RFC 79] adds more detailed exception classes derived from !MgFdoException. The derived classes provide more information than the generic !MgFdoException. Existing code should continue to work with !MgFdoException and should be updated to make use of the derived exception classes. [wiki:MapGuideRfc80 RFC 80] adds parameter binding support to !MgFeatureService !ExecuteSqlQuery and !ExecuteSqlNonQuery. Since this is new API, there is no impact on existing code. [wiki:MapGuideRfc82 RFC 82] extends the !MapGuide readers to support property access by index in addition to property name. Accessing properties by index instead of property name may be faster for tight loop processing. Since this is new API, there is no impact on existing code. [wiki:MapGuideRfc84 RFC 84] adds database row fetch size to !MgFeatureQueryOptions and !MgFeatureService.!ExecuteSqlQuery. Specifying a fetch size may improve FDO performance by reducing database round trips. Since this is new API, there is no impact on existing code. [wiki:MapGuideRfc87 RFC 87] adds to the schema returned from the HTTP GETSITEINFO request. If version 2.2.0 of GETSITEINFO is used, the following addiitional information will be returned working set, virtual memory, server cache size and server cache dropped entries. Since this is new version of GETSITEINFO, there is no impact on existing code.[[BR]][[BR]] [wiki:MapGuideRfc89 RFC 89] introduced a number of changes required by the upgrade to PHP 5.3. '''These changes break existing code.''' {{{ MgException class changes: Change GetMessage() to GetExceptionMessage() MgResources class changes: Change GetMessage() to GetResourceMessage() MgCoodinateSystem class changes: Change GetCode() to GetCsCode() Change SetCode() to SetCsCode() for consistency. Change IsLegalCode() to IsLegalCsCode() for consistency. MgCoodinateSystemDatum class changes: Change GetCode() to GetDtCode() Change SetCode() to SetDtCode() for consistency. Change IsLegalCode() to IsLegalDtCode() for consistency. MgCoodinateSystemEllipsoid class changes: Change GetCode() to GetElCode() Change SetCode() to SetElCode() for consistency. Change IsLegalCode() to IsLegalElCode() for consistency. MgWebInvokeScriptCommand class changes: Change GetCode() to GetScriptCode() Change SetCode() to SetScriptCode() for consistency. }}} The RFC 87 API changes will impact: * Viewers * Sample applications * Development guides * Existing applications == New Server Configuration (serverconfig.ini) Options == == New Web Configuration (webconfig.ini) Options == == Disk Space == The installer requires at least 1.5GB of disk space on C: during installation. Otherwise installation may not proceed. If you do not have sufficient space on C:, you can open the installer file with [http://www.7-zip.org 7-zip] and extract the contents to another drive, and run the extracted setup.exe from there. It may also be helpful to set your TEMP environment variable to a different drive. == Submissions == The complete list of submissions can be found [http://trac.osgeo.org/mapguide/timeline?from=05%2F3%2F10&daysback=348&changeset=on&update=Update here].