What's new in Horizon 20-09-01
Nov 25, 2020
- Horizon has been through a major overhaul of its design and implementation,
- and it is, from this release and on, NO LONGER COMPATIBLE with the previous releases.
New in Horizon 15-05-01 (May 13, 2015)
- The method setContext(...) is removed from horizon.web.RequestHandler.
- The method initParam(...) is added to horizon.web.HorizonServlet and horizon.web.RequestHandler.
- The methods sendMessages(...) and send(...) are added to horizon.mail.MailSession.
New in Horizon 15-03-01 (Mar 2, 2015)
- The method download(...) is added to horizon.web.RequestHandler.
- horizon.database.DBAccess is changed to fix the bug in disabling auto-commit while getting a connection from a datasource.
New in Horizon 15-01-01 (Jan 6, 2015)
- The method notEmpty(...) is added to horizon.system.AbstractObject and horizon.persistence.AbstractPersistent.
- The methods of horizon.database.DBAction's subclasses are changed to handle resources more rigorously on exception.
- The methods doGet(), doPut(), doPost(), doDelete() are added to horizon.web.RequestHandler.
New in Horizon 14-07-01 (Jul 2, 2014)
- The method horizon.web.HorizonServlet.prepare(...) is changed to set character encoding of a ServletRequest only. The behavior that sets headers of a ServletResponse is moved to horizon.web.RequestHandler.
- The methods contentType() and setContentType(...) are added to horizon.web.RequestHandler.Result.
- The methods setHtmlHeader() and setNoCacheHeader() is added to horizon.web.RequestHandler.
- The methods forward(...) and redirect(...) of horizon.web.RequestHandler are changed to set headers of a ServletResponse as text/html if the content type of the response is of text/html.
- The signature of the following methods of horizon.data.Records are changed to take a Collection as an argument. values(...) sum(...), average(...)
New in Horizon 14-05-05 (May 5, 2014)
- This is a release of an after-the-last-minute correction horizon.util.LRUCache is removed from the distribution because it is not a work of Horizon and was included in the last release by mistake
- @Column annotation is changed so that it is inherited through a class hierarchy for methods that are overridden but not @Column-annotated as well as for other inherited methods
New in Horizon 14-05-01 (May 1, 2014)
- tag has an 'info' attribute added.
- horizon.database.DataSetBuilder is changed to throw an exception when it cannot find primary keys from the result of a query specified with a primary table.
- horizon.database.Query is changed to support unnamed database queries as well as named queries.
- The method toString(...) is added to horizon.data.hierarchy.CompositeElement.Support.
New in Horizon 14-03-01 (Mar 3, 2014)
- horizon.util.Args is added to help working with command line arguments.
- The is back to the database configuration(horizon/database.xml) as an optional element.
- horizon.util.FileSupport is changed:
- to have some of its internal methods as public.
- to fix the bug in the copy(...) method.
New in Horizon 14-01-01 (Jan 6, 2014)
- The methods 'getIDs(...)' are added to horizon.data.hierarchy.CompositeElement.
- The bug is fixed in binding null to parameters of PreparedStatements against an Oracle database
- horizon.util.ResourceLoader is changed to look up a resource file either from class path or from file path
New in Horizon 13-11-10 (Nov 11, 2013)
- The method 'primitiveDefault(...)' is added to horizon.data.Convert.
- The horizon.system.Assert.rootCause(...) method is changed to examine an InvocationTargetException as well.
- horizon.persistence.Persistent.Info.Mapper is fixed to handle the case where it is attempted to assign null to primitive fields.
- horizon.util.FileSupport is changed as below:
- The static method get() is added to return the singleton FileSupport.
- The method read(...) is changed to an object method.
- The method config() is added to horizon.jndi.ObjectLocator.
- The NotFound exception is added to the horizon.web.RequestHandler class.
New in Horizon 13-09-01 (Sep 2, 2013)
- The method 'validateAddress(...)' is added to horizon.mail.Mail.
- horizon.data.FieldValues is changed as below:
- The constructor FieldValues(boolean) is removed.
- The method setString(boolean) is added.
- A bug in horizon.system.Assert.isEmpty(Object) is fixed.
- horizon.persistence.Persistent.Info.Mapper is changed to provide easy message on exception.
New in Horizon 13-07-01 (Jul 2, 2013)
- horizon.web.HorizonServlet.prepare(...) is changed.
- A bug in horizon.web.RequestParameter.getUploads(...) is fixed.
New in Horizon 13-05-01 (Jul 2, 2013)
- Database configuration is changed so that you no longer have to specify the catalog name of a database connection.
- The Support utility class is added to the horizon.data.hierarchy.CompositeElement interface.
- horizon.data.hierarchy.* is changed to use String instead of Object for identifiers of HierarchyElements.
- A bug in horizon.util.Xmlement is fixed.
New in Horizon 13-03-18 (Jul 2, 2013)
- horizon.util.ResourceLoader is changed to use the class's ClassLoader instead of the system ClassLoader in loading resources on the CLASSPATH.
- A couple of convenience methods send(...) is added to horizon.jms.TopicAccess and horizon.jms.QueueAccess respectively to help sending messages to a JMS destination.
- horizon.database.DataSetBuilder is changed to use a fixed-size cache of horizon.data.RecordInfo.
- The method 'entries()' is added to horizon.data.FieldValues.
New in Horizon 13-01-21 (Jul 2, 2013)
- The method 'exists(java.lang.String)' is added to horizon.web.RequestParameter.
- The attribute 'ellipsis' is added to the tag.
- horizon.web.RequestHandler is changed as follows: The constructor RequestHandler(ServletContext) is removed. A ServletConfig is added to the class as a member field.
- A bug in the DataRecord.clone method is fixed.
New in Horizon 12-11-24 (Jul 2, 2013)
- Column annotation is added to the persistence framework, making it easy to map fields of a Persistent object and those of a DataRecord.