[evol] connect_peer: do not open multiple connections to the same peer while one is being attempted already
[fix] ConversationThread: register communication when communication is validated, not when peer info are received
[evol] ConversationThread: added convenience method for notification
[fix] remove traces of old Botnet DSL
[evol] Botnet Conversation: removed old idle check mecanism while preserving notification
[evol] Botnet Conversation: created a new idle threads check (old method is pending for removal)
[evol] Task-based client DSL §6 (added botnet 'ask' subtask)
[fix] Task-based client DSL: use :task instead of :thread from old DSL for task notification shortcut name
[evol] Task-based client DSL §5 (allow running subtasks in callbacks, implement 'meet' command, and fixed a race btw)
[evol] Task-based client DSL §4 (many fixes, helper, bot stop condition, more logging)
[evol] Task-based client DSL §3 (pass errors and results to next step)
[evol] Task-based client DSL §2 (Subtask and logger)
[evol] added preliminary work on new Task-based client DSL
[fix] DSL: correct mistake for outgoing notifications
[evol] DSL: partial implementation for wait_notification with callback (unfinished, but kept as example)
[evol] client DSL: reorganized notification code and move 'acts' (currently sending notifies) in the _start_dsl call
[evol] preliminary work for Conversation synchronization in DSL (action callbacks had to be moved from Protocol to ConversationThread to be able to check idle with the new locks, needed to process notifications without falling idle)
[evol] reworked notification system a bit (global registration)
[fix] corrected silly mistakes in Botnet DSL
[evol] created a DSL for client-side calls (several conditions (calls only at the moment) can be joined together in order to exploit parallel tasks via asynchronous calls)
[evol] improve a bit how interface errors are transmitted
[evol] added convenience method to CALL directly from a thread
[fix] adapted Interface to recent changes, pass bot object, and correct api_methods() calculation
[fix] correct argument passing for send/receive_request_call
[evol] move notification from Protocol to Conversation
[fix] ensure pending threads are removed from the list when destroyed
[fix] ensure pending threads/conversations are uniquely registered
[evol] add system/user notif to bot level and detecte when a conversation is idle, to close it after used in connect_peer() with block
[evol] added a user event queue for NOTIFY EVENT received
[evol] internal notification when thread is idle allowed to mark thread closing pending
[evol] preliminary work for NOTIFY: closed thread are handled but close too early in most situations yet (need request/reply tracking)
[evol] conversation/bot protocol rework §8 (refs #30): preliminary client-side protocol handling
[fix] correct action_id generation (a reply should use the same id as the corresponding request)
[fix] interface: accept no data as empty list of arguments
[fix] interface: pattern check was broken
[fix] ensure ask_to_stop() waits gracefully for conversations to finish while stop() just stopp at once
[evol] partially implement receiving QUIT actions
[fix/evol] conversation/bot protocol rework §8 (refs #30)
[fix] BotNet: handle UNIX Socket connect failure (EM.connect fails at once, not via the handler)
[evol] fix silly mistakes/typos
[evol] add client support to BotNet
[evol] unified BotNet interface for both client and servers (as a client is also a micro server)
[evol] moved EM loop in Cyborg, simplified and enhanced bot interface, and made Conversation common for any connection type
[fix] a few silly mistakes for the conversation
[evol] conversation/bot protocol rework §7 (refs #30)
[evol] conversation/bot protocol rework §6 (refs #30)
[evol] conversation/bot protocol rework §5 (refs #30)
[evol] conversation/bot protocol rework §4 (refs #30)
[evol] conversation/bot protocol rework §3 (refs #30)
[evol] conversation/bot protocol rework §2 (refs #30)
[evol] conversation protocol complete rework + work on action protocol §1 (refs #30)
[fix/security] Cyborg server interface: restrict non-leaf path lookup to containers
[fix] CyborgServerStatefulInterface must be a singleton
[evol] Cyborg server interface: terminate connection after too much protocol errors
[evol] MapMaker / Cyborg server interface: cleanup, reorg, ...
[evol] added session management to the cyborg server (refs #31)
[fix] DNS fixes
[evol] reworked DNS classes (refs #31)
[evol] work on cyborg server protocol and API #9 (refs #31)
[evol] work on cyborg server protocol and API #8 (refs #31)
[evol] work on cyborg server protocol and API #7 (refs #31)
[evol] work on cyborg server protocol and API #6 (refs #31)
[evol] work on cyborg server protocol and API #5 (refs #31)
[evol] work on cyborg server protocol and API #4 (refs #31)
[evol] work on cyborg server protocol and API #3 (refs #31)
[evol] work on cyborg server protocol and API #2 (refs #31)
[evol] work on cyborg server protocol and API (refs #31)
[cleanup] reorganize/split cyborg interface code
[evol] first raw cyborg API exposure implementation for MapMaker (refs #31)
[evol] uncomplete MapMaker bot implementation (global cyborg classes, use of EventMachine with UNIX socket backend, configuration adjustments, ...) (refs #31)