= HiLA ChangeLog =
UNICORE Team <unicore-support@lists.sourceforge.net>

== v2.4.1-rc1 ==

This version fixes a number of issues with the implementation of
delegation for EMI-ES.

* Add more values to the job status mapping.
* Add clientDataPush to jobmodel and map it whenever
  possible. Defaults to true, such that the start of an activity is
  deferred where the job description allows for this.
* Fix a minor mix-up of stdin and stdout.
* Added Delegation client to site. Create delegations when necessary
  and add them to the activity description.
* Try to discover Delegation service. Get rid of SiteServices
  container.
* update EMI-ES configuration documentation

== v2.4.0-rc2 ==

* use released version of securityLibrary
* use stable versions of dependencies or at least rcs
* log job location in debug mode
* no need to do several runs of mvn (improved packaging)
* Use default name for stdout and stderr, if not available from ActivityInfo.
* Try to retrieve stageout directory to get output rather than session directory.
* Set default port for gsiftp:// to 2811.
* Fix bug where the wrong ActivityInfo service would be used due to the correct service ID missing in the query.
* update client side test configuration for new securityLibrary

== v2.4.0-rc1 ==
* some package build improvements
* Upate to UNICORE 6.6 client classes
* Additional debug messages for the creation of a Site.
* Support for retrieving EMI-ES sites from EMIR.
* Follow changes in EMI-ES specification. The way to determine stdout and stderr has changed.
* moved README to src/doc
* adding CHANGELOG for each package
* moving SL55 to more generic RedHat packaging configuration
* removing endorsed folder, as it is not needed anymore
* Try multiple protocols to find a usable one to retrieve the session directory.
* Search for Endpoint/InterfaceName as defined in EMI-ES spec. 1.16 sect. 8.1.2.5.
* Derive Site name as the hostname of CreateActivity endpoint URL.
* Update to emir-client version 1.2.1-rc5.
* Use shade rather than assembly plugin to generate plugin JARs.
* Manage securityLibrary to version 3.0.0-SNAPSHOT
* Assembly descriptors not needed anymore, because we're using shade now.
* Empty index.apt files to generate index.html in project documentation.
* Manage version of shade plugin to 1.7.1, which is compatible with Maven 2.
* Updated demo/test certificates and keys after CA expiration
* Reference HTML and PDF manuals in project site.
* Reintroducing multiple profiles feature, which is different to implement with new securityLibrary
* Updated documentation for 2.4.0

== v2.3.0 ==

=== Bug Fixes ===
* Fixing task 3275960: Directly locate sites http://sourceforge.net/tracker/?group_id=102081&func=detail&atid=633902&aid=3275960
* FIXED - task 3405528: Server/server file transfers missing trust delegation - http://sourceforge.net/tracker/?group_id=102081&func=detail&atid=633902&aid=3405528
* task 3454390: Allow HiLA Shell to be started from any directory - http://sourceforge.net/tracker/?group_id=102081&func=detail&atid=633905&aid=3454390
* Task 3486550: ResourceTypeRegistry returns non-derterministic results - http://sourceforge.net/tracker/?group_id=102081&func=detail&atid=633902&aid=3486550
**  Use LinkedHashMap instead of ordinary HashMap. This should return patterns in the order they were inserted and discovered from the ResourceType annotations. It is up the the implementation to list patterns in the right order.
* Work Related to bug http://sourceforge.net/tracker/?func=detail&aid=3486071&group_id=102081&atid=633902
* fix SF bug 3564665 - Do not include demo certificate and password in packages
* fix SF bug 3564666 - Fix file permissions in RPM packages
* fix SF bug 3564668 - Repackaging of HiLA source packages does not work
* FIX for https://sourceforge.net/tracker/?func=detail&aid=3498409&group_id=102081&atid=633902

* Fix NPE when no resources in JSDL.
* Fix NPE occuring when JobIdentification was not set in original JSDL.
* Bug fix in site discovery; avoid deadlock because of synchronized locate() method.
* Fix: start hila-shell from any directory on Windows
* Recreate TSS if it is no longer available.

=== Features ===
* Implementing 3263775 http://sourceforge.net/tracker/?group_id=102081&func=detail&atid=633905&aid=3263775 hold/resume on jobs
* Implementing SF.net FR 3339740 - https://sourceforge.net/tracker/?func=detail&aid=3339740&group_id=102081&atid=633905
* task 3385615: Alias command for HiLA Shell - http://sourceforge.net/tracker/?group_id=102081&func=detail&atid=633905&aid=3385615
* DONE - task 3422339: Ensure backward compatability from 2.2 -> 2.3 - http://sourceforge.net/tracker/?group_id=102081&func=detail&atid=633905&aid=3422339

* Accept Locations as arguments for import and export. Resolving these will then be done later.
* better performance when locating individual jobs
* Resources can be tested for their availability by calling ok()
* Use EHCache for SitesCollections
* Smarter handling of cached sites
* Introducing job model library
** Mapping for EMI-ES ADL
** Mapping for JSDL
** Use Model for submission (in addition to the old, now deprecated, method)
* Centralized executor framework
* Some server side implementations require the explicit setting of stdout and stderr, which will otherwise not be available.
* Documentation about JobModel and GridFTP and EMI-ES implementations; updated class diagram
* GridFTP implementation using gsiftp:// URLs
* Fixed bug in handling of file transfer sizes.
* Improved RPM/Deb packaging
** https://sourceforge.net/tracker/?func=detail&aid=3564664&group_id=102081&atid=633902
** https://sourceforge.net/tracker/?func=detail&aid=3564668&group_id=102081&atid=633902
** https://sourceforge.net/tracker/?func=detail&aid=3564666&group_id=102081&atid=633902
** https://sourceforge.net/tracker/?func=detail&aid=3564665&group_id=102081&atid=633902
* File imports and exports can be configured to prefer certain protocols.
* depend on openjdk-6-jre-headless rather than java6-runtime
* Application and version get mapped to RuntimeEnvironment in EMI ADL.


== v2.2 ==

=== Features ===

- Support for ServiceOrchestrator.
- Support for reservations.
- Import from and export to streams
- Allow for relative paths in UNICORE 6 configuration file.
- Using EHCache instead of an unbounded(!) hash map for Site caching
- Recursive import and export
- Tasks store error conditions for detailed inspection
- Timeout and refresh interval for site discovery configurable. SF Feature 3160069 - https://sourceforge.net/tracker/?func=detail&aid=3160069&group_id=102081&atid=633905
- Mkdir creates recursive directory strucures only if explicitly requested, otherwise refuses to create (resembles mkdir -p behavior)
- improved blocking on local tasks
- improved file caching
- ComputeTask is called Job now for more clarity

=== Bug fixes ===

- r8803 Better naming for orchestrators. Names are determined from the service URL now. Fixes SF Bug 3170586 - http://sourceforge.net/tracker/?func=detail&aid=3170586&group_id=102081&atid=633902
- r8608 update cached status value, fixing #175
- r8515 Better handling of transfer tasks. Improvements and bug fixes.
- r7721 fixed bug where directory copy didn't create the target directory

=== The full list ===

- r7576 BaseResourceTest
- r7577 copying Debian package building files to main development tree
- r7578 copying Debian package building files to main development tree
- r7581 hila 2.x is our new trunk
- r7633 added version command
- r7634 added version command
- r7635 mkdir creates recursive directory strucures only if explicitly requested, otherwise refuses to create (resembles mkdir -p behavior)
- r7665 using pre-defined constant for string comparison
- r7666 import from and export to streams
- r7667 output of run command doesnt need a temporary file anymore
- r7668 a new command using the stream export feature
- r7669 using correct expected size for file round trip test
- r7670 removed unused imports
- r7676 improved maven integration of debian package build
- r7678 conflicts doesnt distinguish versions
- r7684 preliminary RPM building
- r7699 removed unneeded import
- r7700 improved file caching
- r7701 setTaskStatus(); added BaseSimpleTransfer; improved blocking on local tasks
- r7703 quotation marks not accepted everywhere
- r7721 fixed bug where directory copy didn't create the target directory
- r7722 improved test coverage
- r7723 increase allowed deviation by factor 10; 10 seconds are good enough
- r7724 limit deviation to 2 seconds and make it more robust
- r7743 some improvements for RPM building
- r7798 depend on more generic java6-runtime rather than specific product
- r7910 Tasks store error conditions for detailed inspection
- r7926 recursive import and export
- r7927 improve type safety
- r7928 ComputeTask is called Job now. Moved getSite from Task to Job, as it doesn't make sense for generic Tasks.
- r7929 Package level documentation.
- r8394 Improve error messages.
- r8511 Better description about how to make use of HiLA Shell.
- r8512 Using EHCache instead of an unbounded(!) hash map.
- r8513 Base for locally managed tasks that represent remote actions, but are not remote resources.
- r8514 Formatting
- r8515 Better handling of transfer tasks. Improvements and bug fixes.
- r8516 TotalResourceCount
- r8536 a little more testing
- r8537 documentation
- r8568 package documentation
- r8569 depend on eu.unicore.workflow:servorch:2.1.2 zam904 repo not needed anymore
- r8570 submit to a Submittable rather than a site; thus, one can also submit to orchestrators, which are not sites
- r8571 make epr2takskId static to make it usable from everywhere
- r8572 extract static method for building the site name to make it usable from other places
- r8573 Support for ServiceOrchestrator.
- r8608 update cached status value, fixing #175
- r8620 Make timeout and refresh interval for site discovery configurable
- r8726 close InputStream after use
- r8727 A little more testing; formatting
- r8730 A container for actual resource descriptions similar to JobDescription. It is used in conjunction with Reservable.reservre().
- r8731 NotSupporteException
- r8732 Support for reservations.
- r8750 run build script that calls rpmbuild or dpkg-buildpackage based on commandline parameter
- r8752 build script that calls rpmbuild or dpkg-buildpackage based on commandline parameter
- r8780 documentation
- r8803 Better naming for orchestrators. Names are determined from the service URL now. Fixes SF Bug 3170586 - http://sourceforge.net/tracker/?func=detail&aid=3170586&group_id=102081&atid=633902
- r8846 Allow for relative paths in UNICORE 6 configuration file.
- r8855 Relative path is interpreted relative to configuration file.
- r8863 formatting; new relative path handling for keystore and truststore
- r8935 close file streams after every use; fixes SF bug 3178288 - https://sourceforge.net/tracker/?func=detail&aid=3178288&group_id=102081&atid=633902
- r8936 FindBugs suggested to implement equals() and hashCode()
- r8938 Our Bamboo CI doesn't like umlauts.
- r8939 added maven-bugsreporter plugin and dependency
- r8940 DEBUG output reduces test performance; using INFO for now
- r8941 testing regression of http://sourceforge.net/tracker/?group_id=102081&func=detail&atid=633902&aid=3181843

== v2.1 (2010-08-17) ==

=== Features ===

- support for multiple identities and trust delegation
- support for global storages
- windows BAT script for HiLA Shell
- increased test coverage
- recursive transfer and copy operations on files
- expose metadata for Sites (needed to determine available applications)
- isDone method on Progressable interface
- support alternative configuration files
- Tab completion in HiLA Shell
- cleanup now supports explicit file list, export all and export none

=== Bug fixes ===

- Task.start...(...) failed to import files, now it does
- guillemets and other characters can cause trouble when compiling, removed them
- always update sites if none have been discovered yet

=== The full list ===

- r7446 storage discovery can throw an exception
- r7445 support for multiple users and trust delegation
- r7444 config methods can throw exceptions
- r7443 configImplementation convenience method returning default implementation
- r7442 default keystore and truststore type is JKS; support for security profiles
- r7441 Config impmlementations supporing trust delegation
- r7439 he who uses wrong constants get wrong results
- r7436 disallow to cd into non-existing directories or ordinary files
- r7434 Sites and global Storages with profile support for multiple users
- r7433 Unicore6SecurityProperties with profile support
- r7432 cleanup imports
- r7431 get user from location
- r7430 determine the pattern matching a particular location; this allows us to fill the pattern variables like 'user' etc.
- r7416 windows BAT script for HiLA Shell
- r7413 import given files at startup
- r7410 added JSDLBuilder tests
- r7409 hope this fixes the test
- r7407 more tests; transition to JUnit 4
- r7406 some stuff for site building and distribution
- r7323 make the test work again
- r7322 manage log4j dependency
- r7320 tests for StatusChangedListener
- r7319 used JUnit as defined by parent
- r7318 use JUnit 4.8.1; inherit from eu.unicore:unicore-parent:1.0-SNAPSHOT
- r7317 getting rid of shutdown problems
- r7316 debug messages
- r7315 implementation of startASync(StatusChangeListener , File...)
- r7314 using different port so we do not clash with other tests running on the same machine (just in case)
- r7257 isDone() method on Progressable interface
- r7255 recursive transfers
- r7254 copy recursively
- r7253 use JUnit 4.8.1
- r7228 changed Metadata key to resourceProperties, as it was in hila-1.x
- r7225 expose resource properties; simplified code
- r7224 separating uas-core and uas-client via profiles; use -Ptest to run tests; uas-core 1.3.1 requires SecurityManager$NullAuthoriser
- r7223 jsdl-xmlbeans 1.8
- r7211 Metadata is a class; return application information as a Sites's Metadata
- r7200 activate cobertura for all modules
- r7199 generate xml and html coverage reports
- r7198 guillemets can cause trouble when compiling
- r7197 guillemets can cause trouble when compiling
- r7196 added cobertura report
- r7195 making tests run
- r7194 migrated to junit 4; depend on uas-core for the tests until a better solution is available
- r7193 CONFIG_KEY needs to be public
- r7192 getting rid of the backup files
- r7191 added resources necessary for tests
- r7190 fix logical bug spotted by FindBugs (& vs &&); close jarFile after using it
- r7189 support alternative configuration files
- r7188 fix potential bug discovered by FindBugs: addAll() must not be called with null argument
- r7187 throw exception if output directory cannot be created
- r7186 getChildLocation() can throw an Exception; log4j.properties is looked for in the current dir and then on the classpath
- r7185 volatile variables for correct double checked locking
- r7184 tab completion; Exception handling for Location
- r7183 moved more options to OptionConstants
- r7182 close stream
- r7171 always update sites if none have been discovered yet
- r7170 support for global storages
- r7169 removed obsolete getAllSites(); using generic GetServicesFromRegistry now
- r7168 overriding getChildren() as we now support global storages
- r7167 made service discovery more generic
- r7166 initial support for adding resource requirements
- r7163 cleanup now supports explicit file list, export all and export none
- r7159 hila-shell can be deactivated by deactivating the hila-shell profile with -P\!hila-shell
- r7156 asynchronous cleanup
- r7155 log4j.properties contained junk
- r7131 added getOptions()
- r7130 status command added
- r7129 Location constructor throws HiLALocationSyntaxException
- r7128 getStagingURI() added as a helper function for transforming HiLA files to staging URIs
- r7127 transform HiLA Files in DataStaging to BFT imports and exports on submission
- r7126 getLog() implementation
- r7125 default log4j.properties
- r7124 trust delegation on by default
- r7123 Factory not used at the moment
- r7122 tests throw exceptions
- r7121 added getOptions()
- r7120 log4j shouldn't be configured here
- r7119 additional constructor
- r7117 removed sample resources
- r7116 removed sample resources
- r7111 resolve relative file location
- r7109 Run command
- r7108 jsdl-xmlbeans needed by JSDLBuilder
- r7107 isAbsolute() method
- r7106 BaseResources replaces AbstractResource
- r7105 JSDL building
- r7078 obsolete, replaced by common.BaseResource
- r7011 allow relative locations
- r6966 removing obsolete methods; using java.util.ServiceLoader instead of sun.misc.Service; improved error logging
- r6965 do not load sample resource types by default
