Today we released the last release candidate for Railo 4.0. The following fixes have been made since version 4.0.0.013, which is the official download release at the moment.
Today we released the last release candidate for Railo 4.0. The following fixes have been made since version 4.0.0.013, which is the official download release at the moment.
→ No CommentsTags: Features · Railo 4.0 · Release

We are really proud to announce the immediate release of Railo 4.0 Beta! It has been months in the making and bringing over 100 new features, the Beta is finally open to the public!
This release of Railo Server brings with it a ton of features such as Closures, Rest services, Member Functions, Method chaining, Annotations and not to mention improvements to the core API, Compiler and Administrator interfaces.
You can check out more of the features in this release over at our website.
And of course, you download the fastest CFML server right now from our Download page!
Bundled with a bunch of new features that we find awesome we have really pushed the boat out in making this release. What new features you might ask? Here you go, a little run down on what we have prepared for you.
Loops have been the staple of the CFML language for years, in this release we have added the ability to use item and index in a <cfloop> statement. This now gives you access to a counter (defined by index attribute) and the actual item in the loop (defined in the item attribute)
Not content with just adding that, we have improved the behaviour of for/in loops so you can do statements like
for(item in Recordset){}
As if that wasn’t enough, we have finally added the group attribute to the tag, now you don’t have to switch out of using a <cfloop>to using a <cfoutput>!
Checkout more about Loops and CFLoop
Closures are the ability to write anonymous functions that encapsulate the whole environment (enclose it) when you define a function. Developers have probably been using them for a long time without even noticing in JavaScript frameworks like JQuery. In Railo 4.0 you can now also use this power yourself!
Talking about functions, here is a simple but awesome feature for you, adding the the cachedwithin to <cffunction>! So simple yet so awesome. Your function output and return variables will now be cached for as long as you need them to.
Checkout more on Closures http://www.getrailo.org/index.cfm/whats-up/railo-40-beta-released/features/closures/ and Function Caching
For a long time we have been used to manipulating arrays, structures and queries using functions in the format of Array(), Struct() and Query*(). In Railo 4.0 you can now access these functions directly on your variable by calling them after the variable itself, for example, instead of doing ArrayLen(MyArray) you can now simply do MyArray.Len(). This goes for all the Array, Structure and Query functions.
If that wasn’t enough you can also iterate over items in an collection by doing MyArray.each(function(item){})! Isn’t that just awesome?
Check out more about Member Functions
Components were not missed out either! We improved the creation of components by adding Implicit Constructors that allow you to populate a component without having to add your own init() code! Added to this you can add accessors to your components (those pesky get<em>()</em> and set() methods ) automatically and they will even allow you to chain set*() statements without the addition of a single character of code!
Check out more about Method Chaining and Magic Functions as well as Implicit Constructors over in our website
There is so much more to Railo 4.0 Beta, why don't you download it today and check out more of the great things we have added such as Tags in CFScript, Rest services, Debugging Improvements, Annotations and much much more.
We are so excited about this release we dedicated this whole newsletter to it! Stay on the look out for more news from Railo in the coming weeks! This is certainly going to be an exciting year!
→ 2 CommentsTags: Railo 4.0 · Release
If you've ever updated Railo, you probably found it very easy to do with our one-click install. Just click the update button on the Server admin and you're done! And if you need to remove an installed update, you can easily uninstall the latest (or all) patches with just a few more clicks.
But what if you need to install version 3.2.2.000, or 3.1.2.001, because that's what your client runs on? Or perhaps you'd like to test how much faster Railo Server became between version 1.0 and 3.3?
Well today, we are happy to announce the Railo Server archive, where you can find versions of Railo Server going all the way back to Railo 1.0! The archive is not yet complete, but almost all main versions and all release candidates for 3.3 are now online and downloadable!
Check it out at http://www.getrailo.org/index.cfm/download/olderversions/
→ 1 CommentTags: New release · Preview · Railo 1.1 · Railo 2.0 · Railo 3.0 · Railo 3.1 · Railo 3.1.2 · Railo 3.2 · Railo 3.3 · Reference · Release
The official announcement: http://www.getrailo.org/index.cfm/whats-up/railo-33-released/
What's new (on the wiki): http://wiki.getrailo.org/wiki/What's_New
What got fixed (also on the wiki): http://wiki.getrailo.org/wiki/What's_Fixed
It's worth noting that Railo 3.3 installers have been rebuilt and it now uses Tomcat 7. Thanks to Jordan and the community for providing it!
Onto the next!
→ 3 CommentsTags: Railo 3.3 · Release
With the upcoming release of Railo Server 3.3 RC, Railo Technologies is now proudly opening up the Railo Extension Store!
The Extension Store is the central marketplace for Railo Extensions,
where visitors can browse through and install the available extensions,
and developers can upload and manage their own extensions. The store
will make sure that your extensions get enough exposure, since all Store
extensions are shown in each and every Railo Administrator around the
globe!
→ 6 CommentsTags: CFML · Extension · Railo 3.3 · Release
<cfset arr=[1,2,3,4]>
<cfset dump(arrayLen(array: arr))>
<cfset dump(arrayLen("array": arr))>
<cfset dump(arrayContains(arr,2))>
<cfset dump(arrayContains(haystack:arr,needle:2))>
<cfset dump(arrayContains(needle:2,haystack:arr))>
<cfset dump(arrayContains(object:2,array:arr))><--- using alias name --->
<cfset dump(arrayContains(o:2,arr:arr))><--- using alias name --->
<cfset dump(listAppend(value:'d',list:'a,b,c'))>
<cfset dump(isValid(type:"string", value:arr))>
<cfset dump(isValid(type:"regex", value:"string",pattern:"*"))>
<cfset dump(isValid(type:"range", value:7,min:1,max:10))>
<cfset dump(isValid(type:"range", value:17,min:1,max:10))>
The implications of this change are that you now don't have to obey the order of the parameters when calling a function. So instead of:
<cfoutput>#dateFormat(now(), "mm-dd-yyyy")#</cfoutput>
you could call:
<cfoutput>#dateFormat(mask:"mm-dd-yyyy",date:now())#</cfoutput>
In addition, if some arguments can be omitted and you need to pass in an argument that is at a latter position, you don't have to pass empty or dummy values for the rest of the arguments. Here's a very good example:
<cfset cachePut(id:myID, value:myVar, cacheName:"myCache")>
For the assignment of the named argument you can either use ":" or "=" as usual.→ No CommentsTags: Features · HowTo · New release · Railo 3.3 · Release · Tips
→ 3 CommentsTags: New release · Open Source · Railo 3.1 · Railo 3.1.2 · Release
→ 10 CommentsTags: Community · Extension · Features · Railo 3.1 · Release
→ 1 CommentTags: Community · Conference · New release · Open Source · Railo 3.1 · Release
→ 1 CommentTags: Open Source · Release