# Courier V3.0.4

#### 3.0.4-1 Message Processing

A new [Courier::ViewPlaceholderReqMsg](http://dev.doc.cgistudio.at/APILINK/class_courier_1_1_view_placeholder_req_msg.html) message and the corresponding [Courier::ViewPlaceholderResMsg](http://dev.doc.cgistudio.at/APILINK/class_courier_1_1_view_placeholder_res_msg.html) have been added to Visualization messages.

These provide a better control of the loading/unloading of the render targets associated with a view. It gives the possibility to keep the render targets uploaded even if no corresponding view is loaded or activated.

#### 3.0.4-2 Input Handling

A new Courier::InputHandling::InputContext class has been added, which is the generalize version of [Courier::InputHandling::DisplayInputContext](http://dev.doc.cgistudio.at/APILINK/class_courier_1_1_input_handling_1_1_display_input_context.html) class without the dependency to Candera::Display. This gives the possibility to better handle the input for applications which don't handle a display (i.e. simple console/terminal applications)

[Courier::InputHandling::DisplayInputContext](http://dev.doc.cgistudio.at/APILINK/class_courier_1_1_input_handling_1_1_display_input_context.html) has been reworked to inherit from Courier::InputHandling::InputContext and also handles the Candera::Display and [Courier::InputHandling::DisplayConfiguration](http://dev.doc.cgistudio.at/APILINK/struct_courier_1_1_input_handling_1_1_display_configuration.html).

[Courier::InputHandling::InputHandler](http://dev.doc.cgistudio.at/APILINK/class_courier_1_1_input_handling_1_1_input_handler.html "Base class for external communication window input handler.") and [Courier::InputHandling::InputThread](http://dev.doc.cgistudio.at/APILINK/class_courier_1_1_input_handling_1_1_input_thread.html) have been reworked to use the new Courier::InputHandling::InputContext class.

#### 3.0.4-3 Widgets

New interface method [Courier::FrameworkWidget::GetBindingsIterator](http://dev.doc.cgistudio.at/APILINK/class_courier_1_1_framework_widget.html#a91bb83e196e80c691eab421768f17323) has been added. For this also a new class [Courier::FrameworkWidget::ConstBindingIterator](http://dev.doc.cgistudio.at/APILINK/class_courier_1_1_framework_widget_1_1_const_binding_iterator.html) has been implemented. This gives the possibility to iterate through the bindings of a widget. This can be further used to check various binding data (e.g. the target name to which the binding is bound).

---