Skip to content
darkv edited this page Jan 6, 2013 · 1 revision

This changelog highlights some of the major changes. For the full list of updates have a look at the commit logs or use the compare link of a specific Wonder version below.

wonder-5.8.2

  • Ajax framework is more HTML5 compliant
  • Update metadata extractor to 2.6.2 in ERAttachment
  • Cleanup of ERXStyleSheet
  • Starting new DirectToWeb framework, ERMootoolsDirectToWeb, based on ERModernDirectToWeb that will use MooTools in place of the Prototype Framework
  • Small fixes on ERXPartials
  • Changes ERXPartialsExampleApp to use H2 out of the box
  • Make sure to preserve the session when resetting caches in ERD2WSwitchComponent
  • Adapt ERXTask for usage with Callable
  • Replace deprecated interfaces in ERXFutureTask
  • Add required libraries to build ERAttachment with Maven
  • Some cleanup and code copy in concurrency classes
  • Adding a listener to the method that times all SQL expressions.
  • Tidies up Javadocs
  • Various little changes

» see all changes since 5.8.1

wonder-5.8.1

  • add support to qualify/sort EOs by hidden PK attribute in-memory (see commit)
  • the H2 adaptor uses native sequences for PK creation instead of the EO_PK_TABLE, if you have already PK sequences that don't follow WO naming schema the adaptor will detect and use them instead of creating new ones (until H2 supports sequence renaming) (see commit)
  • ERXD2WList now propagates validation exceptions to its parent component (see commit)
  • AjaxBusySpinner was updated to spin.js v1.2.6 and got an API file (see commit)
  • a new example application for ERXPartials (see commit) and (see commit)
  • assuming encoding of UTF-16BE for localization files in ERXLocalizationEditor (use property er.extensions.ERXLocalizationEditor.endoding to change it) and UTF-8 for files in ERXFileUtilities (see commit), (see commit), (see commit) and (see commit)
  • add a convenience method to get the current browser object from within a component via browser() (see commit)
  • ERXWOBrowser got an API file (see commit)
  • ERAttachment comes with a new HTML5 multi-file drag and drop upload component (see commit)
  • the generic ant build file will assume UTF-8 encoded files during compilation (see commit)
  • close streams after usage in various methods (see commit) and (see commit)
  • ERXRadioButtonMatrix now has a disabled binding (see commit)
  • ERXMultiKey now returns a copy of its keys when you call keys() but you can call keysNoCopy() if you really want/need the old behavior (see commit)

» see all changes since 5.8.0

wonder-5.8.0

  • add property to ERCaptcha to define characters to use for captcha words (see commit)
  • add property to ERAttachment to define the root path for file attachments (see commit)
  • utility method ERXComponentUtilities.appendHtmlAttributes(associations, excludeKeys, response, component) to add all present associations as HTML attributes except those of excludeKeys (see commit)
  • fix for saving IPv6 addresses to PostgreSQL (see commit)
  • property to log during startup before log4j has been setup has been changed from ERXApplication.Loader to er.extensions.appserver.projectBundleLoading, to enable that logging you have to set it to DEBUG (see commit)
  • the EGWrapper class from Excel Generator creates a more compatible response (see commit)
  • add HTML5 input component ERXWOEmailField (see commit)
  • component ERQMRadioList got a disabled binding (see commit)
  • component ERQMInputTel creates a link on the iPhone to make the telephone number "touchable" (see commit)
  • component ERQMInputMail creates a link beginning with mailto: (see commit)
  • JSONP support added for ERRest. Set the property ERXRest.allowJSONP=true to enable it (see commit)
  • new D2W component ERDDisplayHint to display hint text (see commit)
  • component ERD2WDisplayURL now only generates a link if there is a non null href (see commit)
  • fix ERXPropertyListSerialization.jsonStringFromPropertyList() to produce correct unicode characters (see commit)
  • added utility method ERXEOAccessUtilities.isUniqueFailure() to check if an exception was a DB unique failure (see commit) (see commit)
  • added some utility classes to get data from a remote URL (see commit)
  • added class ERXAccessPermission and interface IERXAccessPermissionInterface to make access permission handling with D2W easier (see commit) (see commit)
  • new framework ERFirebug that adds Firebug Lite to your pages if you drop in <wo:ERFirebug /> (see commit)
  • fix for ERXComponentUtilities.templateUrl() to work with bundle-less builds (see commit)
  • the H2 adaptor now supports CLOB columns (see commit)
  • wotaskd now has REST routes (see commit) (see commit) (see commit) (see commit)
  • utility method to check if a certain framework is present and has already been initialized: ERXFrameworkPrincipal.hasFrameworkInstalled(frameworkName) (see commit)
  • add x-requested-with in requests for the JSONRPCClient (see commit)
  • add variant of ERXEOAccessUtilities.createAggregateAttribute() that supports distinct (see commit)
  • added TextSearchDemo example from WOWODC 2010 (see commit)
  • ERXAndQualifier and ERXOrQualifier now have a varargs constructor (see commit)
  • when registering your REST routes at startup you will now get an error if you have a duplicate URL pattern (see commit)
  • fix bug in ERXSQLHelper.rowCountForFetchSpecification() when entity has a derived attribute that contains the string "from" (see commit)
  • fix bug in PostgreSQL, FrontBase and DB2 adaptor when you have an expression with more than 9 joins (see commit) (see commit)
  • updated some libraries:
    • jUnit from 4.8 to 4.10
    • slf4j from 1.6.5 to 1.6.6
    • log4j from 1.2.16 to 1.2.17
    • commons-cli from 1.1 to 1.2
    • commons-io from 1.4 to 2.2
    • Apache HttpClient from 4.1.3 to v4.2.1
    • joda-time from 1.6.2 to 2.1
    • H2 from 1.3.167 to 1.3.168
    • javassist from 3.11 to 3.16.1
    • javamail from 1.4.2 to 1.4.5
  • EOQualifier.QualifierOperatorContains selector will return the same result as SQL evaluation when used in-memory (see commit)
  • new component CCGoogleAnalytics (see commit)
  • new framework ERXiss to work with XML based on a simple XML parsing/building library (see commit)
  • new facet filter for D2W (see commit)
  • many of other improvements and many minor code/documentation fixes

» see all changes since 5.7.1

wonder-5.7.1

» see all changes since 5.7.0

wonder-5.7.0

  • you can define which class to use for editing contexts by setting the property er.extensions.ERXEC.editingContextClassName (see commit)
  • MooTools got a MTAjaxInPlace component (see commit)
  • ERXApplication has a hook _rewriteResourceURL(String url, WODeployedBundle bundle) where you can change URLs generated by ERXResourceManager (see commit)
  • ERXMultiKey now has a varargs constructor: new ERXMultiKey(obj1, obj2, obj3) (see commit)
  • AjaxModalDialog prevented the use of the space key in editable elements (see commit)
  • add some jodatime support to PostgreSQL adaptor (see commit)
  • AjaxGMap has been deprecated in favor of new CCGoogleMap component (see commit)
  • ERXDisplayGroup allows better manipulation of its selection (see commit)
  • you can set a ValidationDelegate on a ERD2WPage to customize the validation logic (see commit)
  • new ERXKey.notInObjects() and ERXQ.notInObjects() respectively as inverse to inObjects() (see commit)
  • new ERPersistentSessionStorage framework for storing sessions in a database. See recordings of WOWODC2012 or the teaser on youtube (see commit)
  • Iterator of NSMutableSet now supports remove() (see commit)
  • method stringIsParseableInteger moved from ERXExtensions to ERXStringUtilities (see commit)
  • more chaining support for sort orderings (see commit)
  • utility method to prefix a sort ordering or an array of those with a key: Person.COMPANY.prefix(Company.NAME.asc()) or Person.COMPANY.dot(Company.NAME.asc()) (see commit) and (see commit)
  • ERXNavigationItem got a secure binding (see commit)
  • new ERXEmailValidator (see commit)
  • Japanese support for CCDatePicker (see commit)
  • some new HTML5 components: ERXWONumberField (see commit), ERXWOUrlField (see commit), ERXWOTelField (see commit)
  • fix for "Load Average" balancing of Apache adaptor (see commit)
  • Apache 2.2 adaptor will forward correct request port to the instance (see commit)
  • many improvements to JavaMonitor (see commit) and (see commit)
  • Rackspace CloudFiles support was added to ERAttachment (see commit) and (see commit)
  • new ERXThreadStorageAppender to collect logging statements that should not go to normal log (see commit)
  • new class ERXMoney (see commit) and support classes (see commit) and (see commit)
  • better support of NSData primary keys for REST (see commit)
  • updates for many libraries:
    • commons-beanutils from 1.7.0 to 1.8.3
    • commons-codec from 1.3 to 1.6 (and moved to ERJars)
    • commons-lang from 2.5 to 2.6
    • H2 from 1.3.151 to 1.3.167
    • selenium-core from 0.8.3 to 1.0.1
    • slf4j from 1.6.3 to 1.6.5
  • add some jodatime LocalDate support to REST (see commit)
  • the MySQL plugin now has better support of JOINs, table/column name quoting (use the property com.webobjects.jdbcadaptor.MySQLExpression.enableIdentifierQuoting=true for that) and separating SQL commands in log output (use the property com.webobjects.jdbcadaptor.MySQLExpression.enableLinePerClause=true to enable that) (see commit)
  • classes use WOApplication.application().sessionIdKey() instead of hardcoded wosid (see commit)
  • new ERXResponse(int) constructor, if you want to return just a status code (see commit)
  • loading CSS resources during Ajax call for initially hidden components should be fixed (see commit)
  • ERXEnterpriseObjectCache will localinstance any EOs in the qualifier passed in to get cached objects (see commit)
  • new BCrypt hashing system based on Bruce Schneier's Blowfish cipher (see commit)
  • validation templates using @@value@@ have been changed to @@escapedValue@@ to prevent XSS attacks (see commit)
  • new Neo4J adaptor (see commit)
  • lots of other improvements and many minor code/documentation fixes

» see all changes since 5.6.0

wonder-5.6.0

  • ERMD2WEditToOneTypeAhead adds support to hide new and inspect buttons via rules (see commit)
  • add fallback to valueForKeyPath for ERXToManyQualifier if valueForKey didn't return a result. This fixes unexpected results when using that qualifier in memory (see commit)
  • when using a single integer primary key for tables in FrontBase a default clause will be set for that column matching behavior of the PostgreSQL plugin (see commit)
  • ERXRedirect now has a flag if you want the sessionID to be included in the URL for direct actions (see commit)
  • ERXDirectAction will now return a 403 response for direct actions requiring password authentication that were denied. If you have overridden some of the methods check their return type as now all direct actions return WOActionResults instead of WOComponent (see commit) and (see commit)
  • you can now set the property er.extensions.ERXJavaScript.hideInComment=false to globally prevent the insertion of a comment tag within script tags in ERXJavaScript (see commit)
  • the ERAttributeExtension framework needs to come before the JavaEOAccess framework on the classpath to be functional, if the order is wrong an error message is written to the log now (see commit)
  • added a class to check files or streams for viruses (see commit)
  • added ERPDFExamples project to demonstrate the usage of ERPDFGeneration
  • and many minor code/documentation fixes

» see all changes since 5.5.2

wonder-5.5.2

» see all changes since 5.5.1

wonder-5.5.1

  • you can use ERXKey objects to set the prefetching key paths for an ERXFetchSpecification (see commit)
  • SQL comments will be ignored when executing raw SQL text via ERXJDBCUtilities (e.g. when executing an SQL file via ERXJDBCUtilities.executeUpdateScriptFromResourceNamed()) (see commit)
  • ERXFlickrBatchNavigation did display a wrong value for displayNameCount when using an ERXBatchingDisplayGroup (see commit)
  • ERXSimpleTemplateParser uses the same procedure as NSDictionary to resolve key paths. This fixes a bug that prevented usage of keys containing dots within property files that pointed to another property (see commit)
  • ERAttachment had problems with database attachments having special characters in their filename (see commit)
  • MooTools framework got a new Lightbox/Slimbox component called MTMediaBox. Look at the MooToolsExample project for an example usage. (see commit)
  • MooTools framework got an AjaxInPlace component called MTAjaxInPlace. Look at the MooToolsExample project for an example usage. (see commit)
  • several small bugfixes / code cleanup / javadoc changes
  • we got some Japanese javadocs! If your system/browser language is set to prefer Japanese the javadoc pages will switch automatically from English to Japanese texts where available

» see all changes since 5.5.0

wonder-5.5.0

  • A new ajax framework MooTools has been introduced that is based on the MooTools javascript library instead of prototype and scriptaculous. This new and the existing Ajax frameworks are mutually exclusive though so you have to choose one for your project. (see commit)
  • Speaking of ajax frameworks: prototype has been updated to v1.7 and scriptaculous to v1.9.0 (see commit)
  • AjaxDatePicker now supports localization of day and month names if you have appropriate translations in your Localizable.strings file. It has already a set of default day and month names so it is not needed anymore to pass those bindings to this component. (see commit)
  • the MySQLPlugin adds support for the BINARY keyword in fetches. This feature is disabled by default but you can enable it by setting the property com.webobjects.jdbcadaptor.MySQLExpression.enable=true (see commit)
  • and many minor code/documentation fixes

» see all changes since 5.4.4

wonder-5.4.4

  • If you have localized EO attributes using ERXLanguages you can now use the new ERXKey constructor that takes the attribute name and the locale string, i.e. ERXKey frenchCountryNameKey = new ERXKey(Country.NAME_KEY, Locale.FRENCH.getLanguage()); which will represent the attribute named "name_fr" (see commit)
    if you already have an ERXKey for the base attribute you can do even shorter: ERXKey frenchCountryNameKey = Country.NAME.loc(Locale.FRENCH); (see commit)
  • Starting a WO application within Eclipse on a fixed port will now shutdown an already running instance on the very same port if you had forgot to stop it manually. (see commit)
  • ERXBrowserFactory has better fallback for uncommon user agent string to ERXBrowser.UNKNOWN_VERSION (see commit)
  • and many minor code/documentation fixes

» see all changes since 5.4.3

wonder-5.4.3

see all those 11000 commits in git ;-)