[fix] IMAP: better handle IDLE sessions, process BYE messages from server, and add disconnection detection as Net::IMAP seems not to send BYE messages everytime it should
[fix] (ported from 0.3.x) intercept GPGME::Error::DecryptFailed happening at least when encrypting with an unknown key
[fix] Messenger: allow repeating same commands
[evol] Interface: added case insensitive node support
[evol] preliminary Messenger cyborg
[evol] Cyborg: advertise when stopping
[evol] Config: when no default config file exist, then do not load cyborg-specific config, it is not needed
[cleanup] unused variable
[fix] backend/UNIX: handle long peer names correctly
[fix] Botnet/Task: a short peer name is an implicit way to look for a local bot
[evol] Clerk: implement batch command execution (error handling needs tobe polished)
[evol] Task: implement loading step from file and a store to help communicate between files
[debug] more precise messages
[evol] Botnet/Task: added 'ask :self' support (useful for Clerk batch processing)
[debug] more logs
[evol] Interface: new method to detect node leaves
[cleanup] the revenge of Mr Proper
[evol] I18n: new helpers to setup gettext domains and deferred translations (and one to inject the correct domain into specific core classes in order to be able to use cyborg-local translations into them (currently only needed for DSL classes))
[evol] Mail: move it into the Postman module
[evol] introduce Cyborg model and compute the name using the model and host fqdn
[debug] Interface: clarify messages for node lookup
[fix] I18n: late-translation fixes (core and Clerk only)
[evol] Conversation: additional preventive rescue and note about a strange reactor error
[fix/evol] I18n: propagate context in order to late-translate back in this context, and cleanup
[evol] Clerk work §1
[evol] adapted current I18n system for late translation
[evol] Botnet: propagate API calls environment (user token and language prefs at the moment), propagate session a bit further too in order to implement a more dynamic API tree
[evol] Records: temporarily disclose object DN until LdapShadows is used
[fix/evol] work on better Interface/Task/Conversation/… sync and bot stop action in order to avoid races and locks
[evol] Protocol: allow returning multiple errors
[fix] DSL: do not hide original methods anymore, as we need too much things (class/is_a?/respond_to?/…, logger, I18n stuff…)
[comments] typo
[debug] log more when connecting to peer
[fix] Protocol: typo leading to error result not detected
[fix] correct TaskAspect to find the bot reference correctly
[evol] Cyborg/Interface: support returning API call replies asynchronously
[debug] Cyborg/DSL: more debug for subtasks
[evol] Cyborg: allow to schedule a task without callback
[evol] Conversation: ensure idle check timer are ready for asynchronous replies on the same thread
[fix] Conversation: don't crash if message parameters cannot be parsed
[evol] Conversation: ensure Message is sent in one block in order to allow asynchronous replies on the same thread
[monkeypatch] added support for to_hash to OpenStruct
[monkeypatch] backported a patch to solve @_rails_html_safe breaking YAML parsing
[evol] ServerApiNode: added task ability
[evol] Cyborg/DSL: temporary setting to know which user we are working for
[evol] cleanup and preliminary work on the Postman (and Needle-ization)
[licence] updated copyright years
[evol] Botnet/Interface: '/?' search now return a Hash in order to get the object name easily for further manipulations, updated Librarian accordingly
[fix] Botnet/Interface: removed silly String cast when searching nodes
[fix] MapMaker/DNS: better handle when zone content is not parseable
[fix] MapMaker/DNS: better check if zone has signed zone file before certain operations
[fix] MapMaker: user correct Needle model to instanciate Zone
[evol] Librarian/API: discover available records automatically
[evol] Librarian API work §3
[fix] Cyborg: try to stop harder (without useless delay)
[fix] Conversation: handle timer better when closing
[evol] Protocol/Interface: don't check for existence before node call, it is already done in call and a loss of time
[fix] method name mistake
[evol] Librarian API work §2
[evol] Librarian API work §1, using DI too
[evol] MapMaker API and internals rework §1, going forward to Dependency Injection using Needle
[evol] DNS API rework §1
[fix] Interface: intercept several possible errors around interface definition
[evol] API: implemented hidden nodes and used it to create a '?' node used to search children based on their attributes
[fix] DNS: don't fail if zone cannot be parsed (not a nice solution yet)
[fix] corrected MapMaker API
[fix] Protocol: check node existence asynchronously for CALL
[evol] Protocol/DSL: implemented node existence check
[evol] allow splitting the API interface declaration over multiple files/directories, split MapMaker interface, and added cross-nodes storage during the interface life (as we can't use closures across files)
[fix] recreate the whole API interface tree, root included, to ensure no clash is possible during concurrent calls
Merge branch '0.3.x' of ssh://rcs-git.duckcorp.org/rcs/git/duckcorp/cyborghood
[fix] Mail: don't forget to reverse-propagate the user into the original mail object when decrypting
[debug] more IMAP debug
[workaround] TMail does not respect RFC2045 §5.2
[evol] select and record I18n locale in DSL Task (future use)
[fix] clarify language/locale in I18nController
[fix] a task must have a name (and be unique, but this is not enforced yet)
[evol] BotnetTask DSL: now that we have one Task per task, close conversation thread as soon as the task is finished
[evol] Task DSL: rework to use the same Task objet for the same task (in order to have a proper count of tasks and be able to transport information easily through steps)
[fix] separate core api version from cyborg service api version
[fix] mistakes in API Interface: forgot to export node_name, and forgot :inspect is not available for nodes
[fix] mistake in variable name
[evol] server API tree reworked using a DSL (reply handling rework is WIP)
[evol] DNS: add better support for signed zones and serials, and partial support for slave zones
[evol] catch all remaining reactor errors
[fix] do not try to stop the bot by default
[fix] DSL: allow scheduled job to send back a reply
[cleanup] minor
[fix] missing config change leading to failure when generating server UNIX socket filename
[layout] reorganization
[evol] connect_peer: made most of the code generic to all backends
[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