The following list contains the new features added to Railo 4.0.
| Type | Issue | Title |
|---|---|---|
| Task | RAILO-1810 | Pull request: Changed inline images/css/script in the Railo admin to external files |
| Task | RAILO-1522 | Typo |
| Task | RAILO-1414 | add function IsIPInRange |
| Task | RAILO-1370 | jars update |
| Feature Request | RAILO-1972 | make the attribute cfthread.name optional |
| Feature Request | RAILO-1971 | add support for application.cfc->javasettings |
| Feature Request | RAILO-1968 | add CSRF functions |
| Feature Request | RAILO-1954 | cfloop - group |
| Feature Request | RAILO-1924 | add RestDeleteApplication() |
| Feature Request | RAILO-1923 | add support for application.cfc->sameFormFieldsAsArray/sameURLFieldsAsArray |
| Feature Request | RAILO-1920 | add support for functions getSystemFreeMemory/getSystemTotalMemory |
| Feature Request | RAILO-1918 | add support for closures/functions to ArraySort |
| Feature Request | RAILO-1916 | add support for closures/functions to ArrayFind/ArrayFindAll |
| Feature Request | RAILO-1904 | add support for cffile-strict |
| Feature Request | RAILO-1903 | allow per application default cache defintion |
| Feature Request | RAILO-1899 | add support for member functions |
| Feature Request | RAILO-1898 | add support for attribute cachedwithin to cffunction/function |
| Feature Request | RAILO-1883 | add support for httponly,preservecase encodevalue to cfhttp |
| Feature Request | RAILO-1882 | allow to set additional data to cookie scope |
| Feature Request | RAILO-1881 | Modifications to the function isCustomFunction |
| Feature Request | RAILO-1880 | implicit constructor for CFCs |
| Feature Request | RAILO-1878 | Implicit notation in application.cfc |
| Feature Request | RAILO-1877 | add function HMAC |
| Feature Request | RAILO-1876 | add function sessionRotate |
| Feature Request | RAILO-1875 | add function SessionInvalidate |
| Feature Request | RAILO-1873 | add function Canonicalize |
| Feature Request | RAILO-1872 | add function ApplicationStartTime |
| Feature Request | RAILO-1871 | add function SessionStartTime |
| Feature Request | RAILO-1870 | restriction for tag form attribute name |
| Feature Request | RAILO-1867 | add support for Application.cfc->onAbort |
| Feature Request | RAILO-1866 | add support for delimiters to function ReplaceList |
| Feature Request | RAILO-1861 | Please add autoDelete true/false option to cfschedule / schedule for interval="once" tasks |
| Feature Request | RAILO-1857 | cfloop - allow usage of index and item |
| Feature Request | RAILO-1854 | add attribute maxlength to tag cfparam |
| Feature Request | RAILO-1852 | add argument format to function lsParseDateTime |
| Feature Request | RAILO-1851 | add function invoke |
| Feature Request | RAILO-1850 | for-in with query |
| Feature Request | RAILO-1840 | dot notation not upper case |
| Feature Request | RAILO-1826 | cfoutput/cfloop attribute query should not only accept string |
| Feature Request | RAILO-1825 | add argument merge to function arrayAppend |
| Feature Request | RAILO-1824 | add function DirectoryCopy |
| Feature Request | RAILO-1817 | createDynamicProxy() Implementation |
| Feature Request | RAILO-1812 | debug - cascaded variable access |
| Feature Request | RAILO-1808 | add function ArrayMid |
| Feature Request | RAILO-1782 | admin frontent for datasource timezone defintion |
| Feature Request | RAILO-1775 | add function ObjectEquals |
| Feature Request | RAILO-1772 | add function transactionSetsavepoint |
| Feature Request | RAILO-1771 | add body support to cffile |
| Feature Request | RAILO-1764 | search cfc in sub directories |
| Feature Request | RAILO-1759 | add SOAP Functions |
| Feature Request | RAILO-1736 | add action "copy" to tag cfdirectory |
| Feature Request | RAILO-1735 | add function ApplicationStop |
| Feature Request | RAILO-1734 | add function isClosure |
| Feature Request | RAILO-1732 | add function CallStackGet/CallStackDump |
| Feature Request | RAILO-1729 | add function FileAppend |
| Feature Request | RAILO-1727 | add function FileGetMimeType |
| Feature Request | RAILO-1726 | add functions ArrayFindAll/ArrayFindAllNoCase |
| Feature Request | RAILO-1725 | add function ArrayEach |
| Feature Request | RAILO-1724 | add function ArrayFilter |
| Feature Request | RAILO-1723 | add function StructEach |
| Feature Request | RAILO-1722 | add function StructFilter |
| Feature Request | RAILO-1721 | add function ListFilter |
| Feature Request | RAILO-1720 | add function ListRemoveDuplicates |
| Feature Request | RAILO-1719 | Ability to obtain current RequestTimeout |
| Feature Request | RAILO-1712 | PATH_INFO does not transfer between IIS and Tomcat when using AJP protocol |
| Feature Request | RAILO-1692 | use nano seconds to calculate,display execution time |
| Feature Request | RAILO-1670 | getFunctionCalledName() - return the current function name |
| Feature Request | RAILO-1659 | Create built in function LSDateTimeFormat |
| Feature Request | RAILO-1637 | Add the runonce attribute to |
| Feature Request | RAILO-1628 | Implement the ESAPI encoding methods as functions |
| Feature Request | RAILO-1615 | query column usage in debug output |
| Feature Request | RAILO-1085 | Allow adding options for the different debugging templates |
| Feature Request | RAILO-1084 | Allow definition of different debugging templates per ip range |
| Feature Request | RAILO-197 | Add closure support to Railo |
The following list contains bugs that were fixed for Railo 4.0.
| Type | Issue | Title |
|---|---|---|
| Bug | RAILO-1958 | create java objects fails when loading more that one jar |
| Bug | RAILO-1953 | specific date formats not supported |
| Bug | RAILO-1948 | cfstoredproc timeout no such method error |
| Bug | RAILO-1944 | Typo |
| Bug | RAILO-1943 | Typo |
| Bug | RAILO-1937 | AxisCaster causes stack overflow on recursive ORM properties |
| Bug | RAILO-1932 | ormsettings.cfclocation doesn't accept absolute paths |
| Bug | RAILO-1931 | this.datasource ignored by ORM when struct is used |
| Bug | RAILO-1930 | Failure to dump this scope in application.cfc |
| Bug | RAILO-1929 | lsParseDateTime() Incompatibility with ACF |
| Bug | RAILO-1893 | Closures set fails with env.local update |
| Bug | RAILO-1888 | imports not possible in interfaces |
| Bug | RAILO-1887 | FileCopy fails with destination path |
| Bug | RAILO-1864 | cfclocation using a mapping no longer works in 3.3.2.009 |
| Bug | RAILO-1862 | listRest throws StringIndexOutOfBoundsException |
| Bug | RAILO-1860 | Entities under application mappings only work when ORMReload is called in request |
| Bug | RAILO-1859 | Passing array to HQL in clause not supported |
| Bug | RAILO-1858 | cfdocument - cfdocumentitem evalatprint crash application |
| Bug | RAILO-1847 | expandPath return first match instead of first existing match |
| Bug | RAILO-1844 | ORM: fails init with interfaces in cfclocation |
| Bug | RAILO-1843 | helper CFCs get not updated |
| Bug | RAILO-1842 | webservice fails if array of complex objects is part of complex object |
| Bug | RAILO-1839 | Typo in directoryRename error message |
| Bug | RAILO-1832 | Function argument names uppercased |
| Bug | RAILO-1829 | Passing argument scope to ormExecuteQuery for named params throws error |
| Bug | RAILO-1828 | Script import doesn't work when placed at the top of component declaration |
| Bug | RAILO-1827 | writeLog("foo") does not log text anywhere |
| Bug | RAILO-1823 | Railo includes the key 'template' in the attributes scope |
| Bug | RAILO-1822 | Railo lowercases attribute key names |
| Bug | RAILO-1821 | plugin lang is missing when admin language is german |
| Bug | RAILO-1818 | Query error "No operations allowed after statement closed." |
| Bug | RAILO-1809 | Array .remove() method has unexpected behavior (ACF compatibility) |
| Bug | RAILO-1807 | arrayFilter() does not filter correctly |
| Bug | RAILO-1806 | MXUnit 2 fails on Railo due to array not implementing sublist() method (ACF compatibility) |
| Bug | RAILO-1805 | Railo does not support function type in return or argument (ACF compatibility) |
| Bug | RAILO-1804 | Typos in / railo-java / railo-core / src / railo / runtime / tag / FileTag.java |
| Bug | RAILO-1803 | orm - relative cfclocation issue on ormReload |
| Bug | RAILO-1788 | cffile action append uses wrong new line |
| Bug | RAILO-1786 | Sessions Stored in a DB Ignore the "Expires" Column |
| Bug | RAILO-1781 | cfquery timezone has a default |
| Bug | RAILO-1778 | ArrayStoreException when returning array of component with webservice |
| Bug | RAILO-1774 | build fails in JDK compiler - cannot find symbol |
| Bug | RAILO-1770 | deserializeJSON(string, false) fails to deserialize queries with spaces in columns. |
| Bug | RAILO-1766 | deprecated attribute dbname throws exception |
| Bug | RAILO-1765 | XML Element type lost when using .iterator() on an array of XMLElement |
| Bug | RAILO-1762 | argument metadata cannot be complex expressions |
| Bug | RAILO-1761 | writedump output="console" creates whitespace |
| Bug | RAILO-1756 | default template cache definition ignored |
| Bug | RAILO-1755 | CFFEED timeout ignored |
| Bug | RAILO-1741 | QoQ fails with "wrong data type" |
| Bug | RAILO-1737 | ACF incompatibility: deprecated attribute "thread" from tag log throws a error when used |
| Bug | RAILO-1718 | parseDateTime() does not support certain date/time formats |
| Bug | RAILO-1717 | entityToQuery on empty array returns a query with no columns but reports 1 record |
| Bug | RAILO-1716 | cfscript param compatibility |
| Bug | RAILO-1714 | Date function fails |
| Bug | RAILO-1703 | Cached query MD5 collisions |
| Bug | RAILO-598 | JDBC URL is corrupted for FusionReactor Wrapped Sources |
| Bug | RAILO-572 | Remove Client |
| Bug | RAILO-554 | Multi-select of datasources in admin fails in IE8 |
| Bug | RAILO-490 | "referral" attribute in CFLDAP tag throws error |