Currently there is only a single major issue that needs fixed before i'm personally happy with ClanLib 4.0.

That is the clanUI TextureView class (Equivalent to the old clanGUI GUIWindowManagerTexture class). It requires a hook to pass window events from the application to the class.
It currently is undecided what the best way to achieve this

Maybe the application can directly call:
Code:
		void on_window_size_changed(); 
		void on_window_render(Canvas &canvas); 
		void on_window_key_event(KeyEvent &e); 
		void on_window_pointer_event(PointerEvent &e); 
		void on_window_close(); 
		void on_window_activated(); 
		void on_window_deactivated(); 
		void on_lost_focus(); 
		void on_got_focus(); 
		void on_resize(int, int); 
		void on_paint(const clan::Rect &); 
		void on_key_down(const clan::InputEvent &); 
		void on_key_up(const clan::InputEvent &); 
		void on_mouse_down(const clan::InputEvent &); 
		void on_mouse_dblclk(const clan::InputEvent &); 
		void on_mouse_up(const clan::InputEvent &); 
		void on_mouse_move(const clan::InputEvent &);
Or a "helper function" that uses the current display window to pass the events.

Once that's done, it's just a matter of fixing the examples, ensuring they are clean and easy to understand.

(Probably need to port some old clanGUI components to clanUI as well).