Yesterday was Friday and we were supposed to have a release which we for different reasons somehow managed to *forget*. Kariem is very busy with a customer project and I have been very busy with
Stacked which is among other things going to be our new forums. Luckily Dave came to the rescue and reminded me about that it was Friday and we managed to get it out today - thanx Dave :)

There are tons of really cool features, but probably the by far coolest one is our new
RSS Ajax Starter-Kit. Though there have also been a lot of really nice things done to the core. Some of the ones I think users will be most happy with is that TreeNode and MenuItem no longer inherits from Panel and RaWebControl but rather from Label in fact. This means that you can set the Text property directly on TreeNode and MenuItem. This means that if all you really want to do is to add up some text into your TreeNode and MenuItem, then you no longer need to create that "dummy Literal" Control to accomplish that :)
Another *killer* thing we've done is to tidy up some pretty severe bugs in the serialization of Styles for Controls. If you have had "funny bugs" with your Style collection, then this is higly likely the reason. The serialization of Styles are now *FAR* more stable and we've tested it in virtually every single scenario and it seems to work 100% accurately now!
I could go on about features and bugfixes all day, but instead I think the changelog speaks for itself;
------------------------------------------------------------------
Version 0.8.6
This is more of a feature release then the previous one,
though we are still mainly focusing on bug fixes - we
still had the time for more features this time then in the
previous release.
------------------------------------------------------------------
* Changed the inheritance chain of the Menu widget. The MenuItems
is now inheriting from Panel and the MenuItem is now inheriting
from Label. This should make it easier for you to construct
"dummy" Menus which only contains text and nothing more due to
that the Label have the Text property. You can still add Child
Controls to MenuItem controls, but if you don't need anything
else then a Text property for your menu items then you can
create smaller and easier understood code by not being forced
to create a Literal control to contain the Text but rather use
the Text property directly from the MenuItem control.
The DOM structure for the Menu however is completely unchanged...
Check out the Ajax-Menu.aspx for a sample of using the Text
property directly instead of adding Literal child controls...
This doesn't render incompatible changes in any way, but it makes
it easier to create Menus in the future and if you wish you also
have the opportunity to change your code to a far easier to
understand code-model.
* Changed the inheritance chain also for the Tree widget. This
means that for Tree Nodes you can just set the Text property
instead of fiddling with Literal controls like you previously
had to. TreeNodes inherits from Panel now and TreeNode
inherits from Label. There are noe changes to the DOM
structure due to this however. See sample of usage in our
Ajax-TreeView.aspx sample. We reduced the amount of code in the
.ASPX page by roughly 20 with this logic and in the C# codebehind
file with roughly 30 lines of code by introducing this logic.
Not to mention the logic is far easier to understand now...
This doesn't render incompatible changes in any way, but it makes
it easier to create Menus in the future and if you wish you also
have the opportunity to change your code to a far easier to
understand code-model.
* Fixed a severe bug in the Style serialization logic which makes
the styles rendered by effects also render into the style
attribute of the control occassionally. This made it impossible
to e.g make a Window initially in-visible while at the same time
fade it into view with an effect since the Window would "flash"
and be initially visible until the effect started running on
the page. This was a pretty obscur and hard to track bug which
would occassionally make the Style serialization logic not work
as intended. If you had problems with Styles serialization logic
previously then this is highly likely the reason. This should
also probably make some of your "advanced logic" render a
*smaller* ViewState for you since often this would fail in such
a way that it would render ViewState value it didn't have to
render as in render changes done before tracking of ViewState
was triggered into the ViewState.
* Added up a new effect called "EffectFocusAndSelect" which is
useful for times when you have something which fades in but
you still want to give focus to some control inside of that
control. The Focus and Select methods will *fail* in such
circumstances and for such scenarios the EffectFocusAndSelect
might come in handy.
* Fixed the Viewport-Sample.aspx so that it have the Login Window
initially IN-visible and fades it into view as the sample is
finished loading.
* Fixed the SelectList so that you can now change it without
experiencing bugs in Ajax Callbacks. Though this means that
the default value of the Size property is now "1" and not "-1"
as it was previously. This fixed it so that you can change the
Size property of it in IE in addition to that you can change it
in Chrome without experiencing funny rendering bugs or errors.
* Added up exceptions for the Tree Control hierarchy in such a way
that you will now get intelligent exceptions if you mess up your
Tree hierarchy by e.g. adding more then one TreeNodes per TreeNode
or have a Tree Control without a TreeNodes collection etc.
This is being done in the rendering phase though so you're still
free to dynamically add up controls in codebehind without
experiencing false positives (exceptions where there shouldn't be)
* Now RadioButton and CheckBox will trigger MouseOver and MouseOut
events also when hovering over/out of the label parts of them.
* You can now trap "EnterPressed" event for TextBox. This will
actually stop the propagating of the event back up and stop the
default action which is submitting the form.
* You can now click carriage return (enter) in InPlaceEdit to submit
the changes you've done without having the form postback.
* Steel skin didn't work on Linux due to a casing bug in inclusion
of CSS file. This is fixed now.
* Added "EscPressed" event for TextBox.
* Added support for clicking Escape key in InPlaceEdit. This will
disable the editing and discard the newly written value.
* Slightly optimized the serialization of forms when initiating an
Ajax callback...
* You can now call RollDown and RollUp on TreeNodes from your own
code which means that you can programmatically expand and collapse
TreeNodes in codebehind. This also means that you can
programmatically (easily) check if a node is expanded or not by
checking the Expanded property since this property now is public.
* Added a new Ajax Starter-Kit - an RSS reader. Sample is called
Viewport-RSS-Starter-Kit.aspx. It features an RSS reader where
you can add and delete RSS feeds and read (fully ajaxified) news
items from those RSS endpoints. Note it currently only support
RSS 2.0 and not Atom or RSS 1.0.
* Added the "CreateExtraControlsAtBottom" event for the Calendar
which if handled can create "extra controls" and append in
between the calendar surface and the "today button". This is
being used in the newly created DateTimePicker...
* Created an Ajax DateTimePicker which can fetch time values in
addition to the date values.
* Added up keyboard shortcuts for most Starter-Kits where it
makes sense. E.g. GridView uses ALT+SHIFT+N/P for next and
previous. Calendar Starter-Kit have ALT+SHIFT+C for creating
a new Activity and ESCAPE for closing "new activity window".
Etc...
* Fixed a bug which made it impossible to enable a timer which
was disabled during an Ajax Callback
* Added support for AccessKey for AutoCompleter.
* Added support for Tooltips for AutoCompleter
Love and regards from Thomas & Kariem :)